THE single entry point for all JSON output
Dispatches to the appropriate JSON writer based on output_mode. This is the ONLY place in the codebase where JSON files are written.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(json_output_data_t), | intent(in) | :: | output_data |
subroutine write_json_output(output_data) !! THE single entry point for all JSON output !! !! Dispatches to the appropriate JSON writer based on output_mode. !! This is the ONLY place in the codebase where JSON files are written. type(json_output_data_t), intent(in) :: output_data select case (output_data%output_mode) case (OUTPUT_MODE_UNFRAGMENTED) if (output_data%has_vibrational) then call write_vibrational_json_impl(output_data) else call write_unfragmented_json_impl(output_data) end if case (OUTPUT_MODE_MBE) if (output_data%has_vibrational) then call write_vibrational_json_impl(output_data) else call write_mbe_breakdown_json_impl(output_data) end if case (OUTPUT_MODE_GMBE_PIE) if (output_data%has_vibrational) then call write_vibrational_json_impl(output_data) else call write_gmbe_pie_json_impl(output_data) end if case default call logger%error("Unknown output mode in write_json_output") end select end subroutine write_json_output