PartMC
2.2.0
|
Write data in NetCDF format. More...
Public Member Functions | |
subroutine | output_state (prefix, output_type, aero_data, aero_state, gas_data, gas_state, env_state, index, time, del_t, i_repeat, record_removals, record_optical, uuid) |
Write the current state. | |
subroutine | write_header_and_time (ncid, time, del_t, index, uuid) |
Helper routine to write various global attributes. Do not call directly. | |
subroutine | output_state_to_file (prefix, aero_data, aero_state, gas_data, gas_state, env_state, index, time, del_t, i_repeat, record_removals, record_optical, write_rank, write_n_proc, uuid) |
Write the current state for a single process. Do not call this subroutine directly, but rather call output_state(). | |
subroutine | send_output_state_central (aero_state, gas_state, env_state) |
Send the state for the "central" output method to the root process. | |
subroutine | recv_output_state_central (prefix, aero_data, gas_data, index, time, del_t, i_repeat, record_removals, record_optical, uuid, remote_proc) |
Receive the state for the "central" output method on the root process. | |
subroutine | input_state (filename, index, time, del_t, i_repeat, uuid, aero_data, aero_state, gas_data, gas_state, env_state) |
Read the current state. | |
subroutine | input_filename_list (prefix, filename_list) |
Find all NetCDF (.nc) filenames that match the given prefix. | |
subroutine | output_sectional (prefix, bin_grid, aero_data, aero_binned, gas_data, gas_state, env_state, index, time, del_t, uuid) |
Write the current sectional data. | |
subroutine | input_sectional (filename, index, time, del_t, uuid, bin_grid, aero_data, aero_binned, gas_data, gas_state, env_state) |
Input sectional data. | |
subroutine | spec_file_read_output_type (file, output_type) |
Read the specification for an output type from a spec file and generate it. | |
Public Attributes | |
integer, parameter | OUTPUT_TYPE_INVALID = 0 |
Type code for undefined or invalid output. | |
integer, parameter | OUTPUT_TYPE_CENTRAL = 1 |
Type code for centralized output (one file per process, all written by process 0). | |
integer, parameter | OUTPUT_TYPE_DIST = 2 |
Type code for distributed output (one file per process, written by each process). | |
integer, parameter | OUTPUT_TYPE_SINGLE = 3 |
Type code for single output (one file for all processes, written by process 0). | |
integer, parameter | TAG_OUTPUT_STATE_CENTRAL = 4341 |
Internal-use variable only. | |
integer, parameter | TAG_OUTPUT_STATE_SINGLE = 4342 |
Internal-use variable only. |
Write data in NetCDF format.
Definition at line 68 of file output.F90.
subroutine pmc_output::input_filename_list | ( | character(len=*), intent(in) | prefix, |
character(len=*), dimension(:), intent(inout), allocatable | filename_list | ||
) |
Find all NetCDF (.nc) filenames that match the given prefix.
[in] | prefix | Filename prefix to search for. |
[in,out] | filename_list | Filename list. |
Definition at line 568 of file output.F90.
subroutine pmc_output::input_sectional | ( | character(len=*), intent(in) | filename, |
integer, intent(out) | index, | ||
real(kind=dp), intent(out) | time, | ||
real(kind=dp), intent(out) | del_t, | ||
character(len=PMC_UUID_LEN), intent(out) | uuid, | ||
type(bin_grid_t), intent(inout), optional | bin_grid, | ||
type(aero_data_t), intent(inout), optional | aero_data, | ||
type(aero_binned_t), intent(inout), optional | aero_binned, | ||
type(gas_data_t), intent(inout), optional | gas_data, | ||
type(gas_state_t), intent(inout), optional | gas_state, | ||
type(env_state_t), intent(inout), optional | env_state | ||
) |
Input sectional data.
[in] | filename | Filename to read. |
[out] | index | Filename index. |
[out] | time | Current time (s). |
[out] | del_t | Current output time-step (s). |
[out] | uuid | UUID of the simulation. |
[in,out] | bin_grid | Bin grid. |
[in,out] | aero_data | Aerosol data. |
[in,out] | aero_binned | Binned aerosol data. |
[in,out] | gas_data | Gas data. |
[in,out] | gas_state | Gas state. |
[in,out] | env_state | Environment state. |
Definition at line 669 of file output.F90.
subroutine pmc_output::input_state | ( | character(len=*), intent(in) | filename, |
integer, intent(out) | index, | ||
real(kind=dp), intent(out) | time, | ||
real(kind=dp), intent(out) | del_t, | ||
integer, intent(out) | i_repeat, | ||
character(len=PMC_UUID_LEN), intent(out) | uuid, | ||
type(aero_data_t), intent(inout), optional | aero_data, | ||
type(aero_state_t), intent(inout), optional | aero_state, | ||
type(gas_data_t), intent(inout), optional | gas_data, | ||
type(gas_state_t), intent(inout), optional | gas_state, | ||
type(env_state_t), intent(inout), optional | env_state | ||
) |
Read the current state.
[in] | filename | Prefix of state file. |
[out] | index | Filename index. |
[out] | time | Current time (s). |
[out] | del_t | Current timestep (s). |
[out] | i_repeat | Current repeat number. |
[out] | uuid | UUID of the simulation. |
[in,out] | aero_data | Aerosol data. |
[in,out] | aero_state | Aerosol state. |
[in,out] | gas_data | Gas data. |
[in,out] | gas_state | Gas state. |
[in,out] | env_state | Environment state. |
Definition at line 497 of file output.F90.
subroutine pmc_output::output_sectional | ( | character(len=*), intent(in) | prefix, |
type(bin_grid_t), intent(in) | bin_grid, | ||
type(aero_data_t), intent(in) | aero_data, | ||
type(aero_binned_t), intent(in) | aero_binned, | ||
type(gas_data_t), intent(in) | gas_data, | ||
type(gas_state_t), intent(in) | gas_state, | ||
type(env_state_t), intent(in) | env_state, | ||
integer, intent(in) | index, | ||
real(kind=dp), intent(in) | time, | ||
real(kind=dp), intent(in) | del_t, | ||
character(len=PMC_UUID_LEN), intent(in) | uuid | ||
) |
Write the current sectional data.
[in] | prefix | Prefix of filename to write |
[in] | bin_grid | Bin grid. |
[in] | aero_data | Aerosol data. |
[in] | aero_binned | Binned aerosol data. |
[in] | gas_data | Gas data. |
[in] | gas_state | Gas state. |
[in] | env_state | Environment state. |
[in] | index | Filename index. |
[in] | time | Current time (s). |
[in] | del_t | Current output time-step (s). |
[in] | uuid | UUID of the simulation. |
Definition at line 613 of file output.F90.
subroutine pmc_output::output_state | ( | character(len=*), intent(in) | prefix, |
integer, intent(in) | output_type, | ||
type(aero_data_t), intent(in) | aero_data, | ||
type(aero_state_t), intent(in) | aero_state, | ||
type(gas_data_t), intent(in) | gas_data, | ||
type(gas_state_t), intent(in) | gas_state, | ||
type(env_state_t), intent(in) | env_state, | ||
integer, intent(in) | index, | ||
real(kind=dp), intent(in) | time, | ||
real(kind=dp), intent(in) | del_t, | ||
integer, intent(in) | i_repeat, | ||
logical, intent(in) | record_removals, | ||
logical, intent(in) | record_optical, | ||
character(len=PMC_UUID_LEN), intent(in) | uuid | ||
) |
Write the current state.
[in] | prefix | Prefix of state file. |
[in] | output_type | Output type for parallel runs (see module constants). |
[in] | aero_data | Aerosol data. |
[in] | aero_state | Aerosol state. |
[in] | gas_data | Gas data. |
[in] | gas_state | Gas state. |
[in] | env_state | Environment state. |
[in] | index | Filename index. |
[in] | time | Current time (s). |
[in] | del_t | Current timestep (s). |
[in] | i_repeat | Current repeat number. |
[in] | record_removals | Whether to output particle removal info. |
[in] | record_optical | Whether to output aerosol optical properties. |
[in] | uuid | UUID of the simulation. |
Definition at line 105 of file output.F90.
subroutine pmc_output::output_state_to_file | ( | character(len=*), intent(in) | prefix, |
type(aero_data_t), intent(in) | aero_data, | ||
type(aero_state_t), intent(in) | aero_state, | ||
type(gas_data_t), intent(in) | gas_data, | ||
type(gas_state_t), intent(in) | gas_state, | ||
type(env_state_t), intent(in) | env_state, | ||
integer, intent(in) | index, | ||
real(kind=dp), intent(in) | time, | ||
real(kind=dp), intent(in) | del_t, | ||
integer, intent(in) | i_repeat, | ||
logical, intent(in) | record_removals, | ||
logical, intent(in) | record_optical, | ||
integer, intent(in) | write_rank, | ||
integer, intent(in) | write_n_proc, | ||
character(len=PMC_UUID_LEN), intent(in) | uuid | ||
) |
Write the current state for a single process. Do not call this subroutine directly, but rather call output_state().
[in] | prefix | Prefix of state file. |
[in] | aero_data | Aerosol data. |
[in] | aero_state | Aerosol state. |
[in] | gas_data | Gas data. |
[in] | gas_state | Gas state. |
[in] | env_state | Environment state. |
[in] | index | Filename index. |
[in] | time | Current time (s). |
[in] | del_t | Current timestep (s). |
[in] | i_repeat | Current repeat number. |
[in] | record_removals | Whether to output particle removal info. |
[in] | record_optical | Whether to output aerosol optical properties. |
[in] | write_rank | Rank to write into file. |
[in] | write_n_proc | Number of processes to write into file. |
[in] | uuid | UUID of the simulation. |
Definition at line 252 of file output.F90.
subroutine pmc_output::recv_output_state_central | ( | character(len=*), intent(in) | prefix, |
type(aero_data_t), intent(in) | aero_data, | ||
type(gas_data_t), intent(in) | gas_data, | ||
integer, intent(in) | index, | ||
real(kind=dp), intent(in) | time, | ||
real(kind=dp), intent(in) | del_t, | ||
integer, intent(in) | i_repeat, | ||
logical, intent(in) | record_removals, | ||
logical, intent(in) | record_optical, | ||
character(len=PMC_UUID_LEN), intent(in) | uuid, | ||
integer, intent(in) | remote_proc | ||
) |
Receive the state for the "central" output method on the root process.
[in] | prefix | Prefix of state file. |
[in] | aero_data | Aerosol data. |
[in] | gas_data | Gas data. |
[in] | index | Filename index. |
[in] | time | Current time (s). |
[in] | del_t | Current timestep (s). |
[in] | i_repeat | Current repeat number. |
[in] | record_removals | Whether to output particle removal info. |
[in] | record_optical | Whether to output aerosol_optical_properties. |
[in] | uuid | UUID of the simulation. |
[in] | remote_proc | Process number to receive from. |
Definition at line 421 of file output.F90.
subroutine pmc_output::send_output_state_central | ( | type(aero_state_t), intent(in) | aero_state, |
type(gas_state_t), intent(in) | gas_state, | ||
type(env_state_t), intent(in) | env_state | ||
) |
Send the state for the "central" output method to the root process.
[in] | aero_state | Aerosol state. |
[in] | gas_state | Gas state. |
[in] | env_state | Environment state. |
Definition at line 380 of file output.F90.
subroutine pmc_output::spec_file_read_output_type | ( | type(spec_file_t), intent(inout) | file, |
integer, intent(out) | output_type | ||
) |
Read the specification for an output type from a spec file and generate it.
[in,out] | file | Spec file. |
[out] | output_type | Kernel type. |
Definition at line 744 of file output.F90.
subroutine pmc_output::write_header_and_time | ( | integer, intent(in) | ncid, |
real(kind=dp), intent(in) | time, | ||
real(kind=dp), intent(in) | del_t, | ||
integer, intent(in) | index, | ||
character(len=PMC_UUID_LEN), intent(in) | uuid | ||
) |
Helper routine to write various global attributes. Do not call directly.
[in] | ncid | NetCDF file ID, in data mode. |
[in] | time | Current time (s). |
[in] | del_t | Current timestep (s). |
[in] | index | Filename index. |
[in] | uuid | UUID of the simulation. |
Definition at line 210 of file output.F90.
integer, parameter pmc_output::OUTPUT_TYPE_CENTRAL = 1 |
Type code for centralized output (one file per process, all written by process 0).
Definition at line 87 of file output.F90.
integer, parameter pmc_output::OUTPUT_TYPE_DIST = 2 |
Type code for distributed output (one file per process, written by each process).
Definition at line 90 of file output.F90.
integer, parameter pmc_output::OUTPUT_TYPE_INVALID = 0 |
Type code for undefined or invalid output.
Definition at line 84 of file output.F90.
integer, parameter pmc_output::OUTPUT_TYPE_SINGLE = 3 |
Type code for single output (one file for all processes, written by process 0).
Definition at line 93 of file output.F90.
integer, parameter pmc_output::TAG_OUTPUT_STATE_CENTRAL = 4341 |
Internal-use variable only.
Definition at line 96 of file output.F90.
integer, parameter pmc_output::TAG_OUTPUT_STATE_SINGLE = 4342 |
Internal-use variable only.
Definition at line 98 of file output.F90.