FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(parameter_scan_config_type), | intent(in), | optional | :: | parameter_scan_config_in |
subroutine init_parameter_scan(parameter_scan_config_in)
use gs2_save, only: restore_current_scan_parameter_value
use init_g, only: init_init_g
use file_utils, only: open_output_file
use run_parameters, only: use_old_diagnostics
use mp, only: proc0, mp_abort
use parameter_scan_arrays, only: write_scan_parameter, current_scan_parameter_value
implicit none
type(parameter_scan_config_type), intent(in), optional :: parameter_scan_config_in
if (initialized) return
initialized = .true.
call read_parameters(parameter_scan_config_in)
scanning = .true.
write_scan_parameter = .true.
! Handle different cases and incompatibilities
select case (scan_type_switch)
case (scan_type_none)
scanning = .false.
write_scan_parameter = .false.
return
case (scan_type_target)
if (.not. use_old_diagnostics) then
call mp_abort('Error: Target parameter scans only supported with old_diagnostics')
end if
case (scan_type_root_finding)
call mp_abort('Error: Root finding parameter scans not supported yet')
end select
if (proc0) call open_output_file(scan_output_file, ".par_scan")
! scan_restarted is set manually
if (scan_restarted) then
call init_init_g ! To get restart file name
call restore_current_scan_parameter_value(current_scan_parameter_value)
end if
end subroutine init_parameter_scan