load_app_config Subroutine

public subroutine load_app_config(path, cfg)

.toml 拡張子の設定ファイルを読み込み、既存値へ上書き適用する。

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: path

読み込む設定ファイルパス(.toml 必須)。

type(app_config), intent(inout) :: cfg

読み込み結果で上書きするアプリ設定。


Calls

proc~~load_app_config~~CallsGraph proc~load_app_config load_app_config proc~has_suffix has_suffix proc~load_app_config->proc~has_suffix proc~load_toml_config load_toml_config proc~load_app_config->proc~load_toml_config proc~lower_ascii lower_ascii proc~load_app_config->proc~lower_ascii proc~load_toml_config->proc~lower_ascii destroy destroy proc~load_toml_config->destroy interface~resolve_batch_duration resolve_batch_duration proc~load_toml_config->interface~resolve_batch_duration interface~resolve_external_e_field resolve_external_e_field proc~load_toml_config->interface~resolve_external_e_field interface~validate_photo_raycast_species validate_photo_raycast_species proc~load_toml_config->interface~validate_photo_raycast_species interface~validate_reservoir_species validate_reservoir_species proc~load_toml_config->interface~validate_reservoir_species proc~apply_toml_document apply_toml_document proc~load_toml_config->proc~apply_toml_document proc~config_uses_conductor_surface_model config_uses_conductor_surface_model proc~load_toml_config->proc~config_uses_conductor_surface_model proc~init_app_config_authoring init_app_config_authoring proc~load_toml_config->proc~init_app_config_authoring proc~normalize_high_level_config normalize_high_level_config proc~load_toml_config->proc~normalize_high_level_config toml_parse toml_parse proc~load_toml_config->toml_parse proc~apply_toml_document->proc~lower_ascii get_keys get_keys proc~apply_toml_document->get_keys get_value get_value proc~apply_toml_document->get_value proc~apply_mesh_toml_table apply_mesh_toml_table proc~apply_toml_document->proc~apply_mesh_toml_table proc~apply_output_toml_table apply_output_toml_table proc~apply_toml_document->proc~apply_output_toml_table proc~apply_particles_toml_table apply_particles_toml_table proc~apply_toml_document->proc~apply_particles_toml_table proc~apply_sim_toml_table apply_sim_toml_table proc~apply_toml_document->proc~apply_sim_toml_table proc~require_toml_success require_toml_success proc~apply_toml_document->proc~require_toml_success proc~normalize_high_level_config->proc~lower_ascii proc~apply_mesh_toml_table->proc~lower_ascii proc~apply_mesh_toml_table->get_keys proc~get_toml_real get_toml_real proc~apply_mesh_toml_table->proc~get_toml_real proc~get_toml_real3 get_toml_real3 proc~apply_mesh_toml_table->proc~get_toml_real3 proc~get_toml_string get_toml_string proc~apply_mesh_toml_table->proc~get_toml_string proc~read_mesh_groups_table read_mesh_groups_table proc~apply_mesh_toml_table->proc~read_mesh_groups_table proc~read_template_array read_template_array proc~apply_mesh_toml_table->proc~read_template_array proc~apply_output_toml_table->proc~lower_ascii proc~apply_output_toml_table->get_keys proc~get_toml_int get_toml_int proc~apply_output_toml_table->proc~get_toml_int proc~get_toml_logical get_toml_logical proc~apply_output_toml_table->proc~get_toml_logical proc~apply_output_toml_table->proc~get_toml_string proc~apply_particles_toml_table->proc~lower_ascii proc~apply_particles_toml_table->get_keys proc~read_particle_species_array read_particle_species_array proc~apply_particles_toml_table->proc~read_particle_species_array proc~apply_sim_toml_table->proc~lower_ascii proc~apply_sim_toml_table->get_keys proc~get_toml_boundary_mode get_toml_boundary_mode proc~apply_sim_toml_table->proc~get_toml_boundary_mode proc~apply_sim_toml_table->proc~get_toml_int proc~apply_sim_toml_table->proc~get_toml_logical proc~apply_sim_toml_table->proc~get_toml_real proc~apply_sim_toml_table->proc~get_toml_real3 proc~apply_sim_toml_table->proc~get_toml_string proc~get_toml_boundary_mode->proc~lower_ascii proc~get_toml_boundary_mode->proc~get_toml_string proc~get_toml_int->get_value proc~get_toml_int->proc~require_toml_success proc~get_toml_logical->get_value proc~get_toml_logical->proc~require_toml_success proc~get_toml_real->get_value proc~get_toml_real->proc~require_toml_success proc~get_toml_real3->get_value proc~get_toml_real3->proc~require_toml_success toml_len toml_len proc~get_toml_real3->toml_len proc~get_toml_string->get_value proc~get_toml_string->proc~require_toml_success proc~read_mesh_groups_table->get_keys proc~read_mesh_groups_table->get_value proc~read_mesh_groups_table->proc~require_toml_success proc~apply_mesh_group_toml_table apply_mesh_group_toml_table proc~read_mesh_groups_table->proc~apply_mesh_group_toml_table proc~ensure_authoring_group_capacity ensure_authoring_group_capacity proc~read_mesh_groups_table->proc~ensure_authoring_group_capacity proc~read_particle_species_array->get_value proc~read_particle_species_array->proc~require_toml_success proc~apply_particles_species_toml_table apply_particles_species_toml_table proc~read_particle_species_array->proc~apply_particles_species_toml_table proc~ensure_authoring_particle_capacity ensure_authoring_particle_capacity proc~read_particle_species_array->proc~ensure_authoring_particle_capacity proc~ensure_particle_species_capacity ensure_particle_species_capacity proc~read_particle_species_array->proc~ensure_particle_species_capacity proc~species_from_defaults species_from_defaults proc~read_particle_species_array->proc~species_from_defaults proc~read_particle_species_array->toml_len proc~read_template_array->get_value proc~read_template_array->proc~require_toml_success proc~apply_template_toml_table apply_template_toml_table proc~read_template_array->proc~apply_template_toml_table proc~ensure_authoring_template_capacity ensure_authoring_template_capacity proc~read_template_array->proc~ensure_authoring_template_capacity proc~ensure_template_capacity ensure_template_capacity proc~read_template_array->proc~ensure_template_capacity proc~read_template_array->toml_len proc~apply_mesh_group_toml_table->proc~lower_ascii proc~apply_mesh_group_toml_table->get_keys proc~apply_mesh_group_toml_table->proc~get_toml_real proc~apply_mesh_group_toml_table->proc~get_toml_real3 proc~apply_mesh_group_toml_table->proc~get_toml_string proc~apply_particles_species_toml_table->proc~lower_ascii proc~apply_particles_species_toml_table->get_keys proc~apply_particles_species_toml_table->proc~get_toml_int proc~apply_particles_species_toml_table->proc~get_toml_logical proc~apply_particles_species_toml_table->proc~get_toml_real proc~apply_particles_species_toml_table->proc~get_toml_real3 proc~apply_particles_species_toml_table->proc~get_toml_string proc~get_toml_real2 get_toml_real2 proc~apply_particles_species_toml_table->proc~get_toml_real2 proc~apply_template_toml_table->proc~lower_ascii proc~apply_template_toml_table->get_keys proc~apply_template_toml_table->proc~get_toml_int proc~apply_template_toml_table->proc~get_toml_logical proc~apply_template_toml_table->proc~get_toml_real proc~apply_template_toml_table->proc~get_toml_real3 proc~apply_template_toml_table->proc~get_toml_string proc~get_toml_real_scalar_or_array3 get_toml_real_scalar_or_array3 proc~apply_template_toml_table->proc~get_toml_real_scalar_or_array3 proc~get_toml_real2->get_value proc~get_toml_real2->proc~require_toml_success proc~get_toml_real2->toml_len proc~get_toml_real_scalar_or_array3->get_value proc~get_toml_real_scalar_or_array3->proc~require_toml_success proc~get_toml_real_scalar_or_array3->toml_len

Called by

proc~~load_app_config~~CalledByGraph proc~load_app_config load_app_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 load_app_config(path, cfg)
    character(len=*), intent(in) :: path
    type(app_config), intent(inout) :: cfg

    if (.not. has_suffix(lower_ascii(trim(path)), '.toml')) then
      error stop 'Only TOML config is supported. Please pass a .toml file.'
    end if
    call load_toml_config(path, cfg)
  end subroutine load_app_config