apply_output_kv Subroutine

public subroutine apply_output_kv(cfg, line)

[output] セクションのキーを出力制御設定へ適用する。

Arguments

Type IntentOptional Attributes Name
type(app_config), intent(inout) :: cfg

更新対象のアプリ設定。

character(len=*), intent(in) :: line

key = value 形式の設定行。


Calls

proc~~apply_output_kv~~CallsGraph proc~apply_output_kv apply_output_kv interface~parse_int parse_int proc~apply_output_kv->interface~parse_int interface~parse_logical parse_logical proc~apply_output_kv->interface~parse_logical interface~parse_string parse_string proc~apply_output_kv->interface~parse_string interface~split_key_value split_key_value proc~apply_output_kv->interface~split_key_value

Called by

proc~~apply_output_kv~~CalledByGraph proc~apply_output_kv apply_output_kv proc~load_toml_config load_toml_config proc~load_toml_config->proc~apply_output_kv proc~load_app_config load_app_config proc~load_app_config->proc~load_toml_config proc~load_or_init_run_state load_or_init_run_state proc~load_or_init_run_state->proc~load_app_config program~main main program~main->proc~load_or_init_run_state

Source Code

  subroutine apply_output_kv(cfg, line)
    type(app_config), intent(inout) :: cfg
    character(len=*), intent(in) :: line
    character(len=64) :: k
    character(len=256) :: v

    call split_key_value(line, k, v)
    select case (trim(k))
    case ('write_files')
      call parse_logical(v, cfg%write_output)
    case ('write_mesh_potential')
      call parse_logical(v, cfg%write_mesh_potential)
    case ('write_potential_history')
      call parse_logical(v, cfg%write_potential_history)
    case ('dir')
      call parse_string(v, cfg%output_dir)
    case ('history_stride')
      call parse_int(v, cfg%history_stride)
    case ('resume')
      call parse_logical(v, cfg%resume_output)
    case default
      error stop 'Unknown key in [output]: '//trim(k)
    end select
  end subroutine apply_output_kv