init_parameter_scan Subroutine

public subroutine init_parameter_scan(parameter_scan_config_in)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
type(parameter_scan_config_type), intent(in), optional :: parameter_scan_config_in

Contents

Source Code


Source Code

  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