init_reinit Subroutine

public subroutine init_reinit(reinit_config_in)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
type(reinit_config_type), intent(in), optional :: reinit_config_in

Contents

Source Code


Source Code

  subroutine init_reinit(reinit_config_in)
    use file_utils, only: input_unit, input_unit_exist
    use gs2_time, only: save_dt_min, save_dt_max, code_dt_max
    implicit none
    type(reinit_config_type), intent(in), optional :: reinit_config_in    
    logical :: exist

    if(initialized) return
    initialized = .true.
    if(.not.first)return
    first=.false.

    if (present(reinit_config_in)) reinit_config = reinit_config_in

    !Smart defaults
    if (.not.reinit_config%is_initialised()) then    
       reinit_config%dt0 = code_dt_max
    endif
    
    call reinit_config%init(name = 'reinit_knobs', requires_index = .false.)

    ! Copy out internal values into module level parameters
    abort_rapid_time_step_change = reinit_config%abort_rapid_time_step_change
    delt_adj = reinit_config%delt_adj
    delt_cushion = reinit_config%delt_cushion
    delt_minimum = reinit_config%delt_minimum
    dt0 = reinit_config%dt0
    in_memory = reinit_config%in_memory
    
    exist = reinit_config%exist
    
    call save_dt_min (delt_minimum)
    call save_dt_max (dt0)
  end subroutine init_reinit