Initialize chemistry workload diagnostics CSV.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(case_params_t), | intent(in) | :: | params | |||
| type(flow_mpi_t), | intent(in) | :: | flow |
subroutine write_chemistry_diagnostics_header(params, flow) type(case_params_t), intent(in) :: params type(flow_mpi_t), intent(in) :: flow integer :: unit_id, ios character(len=1024) :: filename if (.not. params%enable_reactions) return if (.not. params%write_diagnostics) return if (flow%rank /= 0) return call execute_command_line('mkdir -p ' // trim(params%output_dir) // '/diagnostics') filename = trim(params%output_dir) // '/diagnostics/chemistry_diagnostics.csv' open(newunit=unit_id, file=trim(filename), status='replace', action='write', iostat=ios) if (ios /= 0) then write(output_unit,'(a,a)') 'warning: could not create chemistry diagnostics file: ', trim(filename) return end if write(unit_id,'(a)') 'step,chemistry_dt,nprocs,owned_cells,active_cells,skipped_cells,reactor_calls,'// & 'active_cells_min_rank,active_cells_max_rank,skipped_cells_min_rank,skipped_cells_max_rank,'// & 'total_time_min,total_time_max,total_time_avg,reactor_time_min,reactor_time_max,'// & 'reactor_time_avg,reactor_time_per_call_avg,max_dT_chem,max_dY_chem,'// & 'max_rel_drho_chem,min_source_alpha,raw_max_dT_chem,raw_max_dY_chem,raw_max_rel_drho_chem,'// & 'max_qdot_exact,integrated_qdot_exact,energy_enabled' close(unit_id) end subroutine write_chemistry_diagnostics_header