root rank で出力先をこの run のものにしてから、設定どおりに history writer を開く。root 以外は全て無効(unit=-1)。
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(app_config), | intent(in) | :: | app | |||
| logical, | intent(in) | :: | resumed | |||
| integer(kind=i32), | intent(in) | :: | resume_batch |
再開した checkpoint の batch 数( |
||
| logical, | intent(in) | :: | is_root | |||
| type(run_outputs_type), | intent(out) | :: | outputs |
subroutine open_run_outputs(app, resumed, resume_batch, is_root, outputs) type(app_config), intent(in) :: app logical, intent(in) :: resumed, is_root integer(i32), intent(in) :: resume_batch type(run_outputs_type), intent(out) :: outputs logical :: opened integer :: unit_id outputs%history_stride = app%history_stride outputs%mesh_potential = app%write_mesh_potential if (.not. is_root) return if (app%write_output) call claim_output_dir(app, resumed, resume_batch) call open_history_writer(app, resumed, opened, unit_id) if (opened) outputs%history_unit = unit_id call open_potential_history_writer(app, resumed, opened, unit_id) if (opened) outputs%potential_history_unit = unit_id call open_top_reference_history_writer(app, resumed, opened, unit_id) if (opened) outputs%top_reference_history_unit = unit_id call open_matching_plane_history_writer(app, resumed, opened, unit_id) if (opened) outputs%matching_plane_history_unit = unit_id call open_fixed_current_history_writer(app, resumed, opened, unit_id) if (opened) outputs%fixed_current_history_unit = unit_id call open_matching_plane_spectrum_history_writer(app, resumed, opened, unit_id) if (opened) outputs%matching_plane_spectrum_history_unit = unit_id call open_secondary_emission_history_writer(app, resumed, opened, unit_id) if (opened) outputs%secondary_emission_history_unit = unit_id end subroutine open_run_outputs