PartMC
2.6.1
|
Write data in NetCDF format. More...
Functions/Subroutines | |
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. More... | |
subroutine | make_filename (filename, prefix, suffix, index, i_repeat, write_rank, write_n_proc) |
Make a filename from a given prefix and other information. More... | |
subroutine | write_time (ncid, time, del_t, index) |
Helper routine to write time variables. Do not call directly. More... | |
subroutine | send_output_state_central (aero_state, gas_state, env_state) |
Send the state for the "central" output method to the root process. More... | |
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. More... | |
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. More... | |
subroutine | input_filename_list (prefix, filename_list) |
Find all NetCDF (.nc) filenames that match the given prefix. More... | |
subroutine | input_n_files (prefix, n_repeat, n_index) |
Find the number of repeats and indices for the given prefix. More... | |
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. More... | |
subroutine | input_sectional (filename, index, time, del_t, uuid, bin_grid, aero_data, aero_binned, gas_data, gas_state, env_state) |
Input sectional data. More... | |
Variables | |
character(len=100), parameter | partmc_version = "2.6.1" |
PartMC verson number. More... | |
integer, parameter | output_type_invalid = 0 |
Type code for undefined or invalid output. More... | |
integer, parameter | output_type_central = 1 |
Type code for centralized output (one file per process, all written by process 0). More... | |
integer, parameter | output_type_dist = 2 |
Type code for distributed output (one file per process, written by each process). More... | |
integer, parameter | output_type_single = 3 |
Type code for single output (one file for all processes, written by process 0). More... | |
integer, parameter | tag_output_state_central = 4341 |
Internal-use variable only. More... | |
integer, parameter | tag_output_state_single = 4342 |
Internal-use variable only. More... | |
Write data in NetCDF format.
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 567 of file output.F90.
subroutine pmc_output::input_n_files | ( | character(len=*), intent(in) | prefix, |
integer, intent(out) | n_repeat, | ||
integer, intent(out) | n_index | ||
) |
Find the number of repeats and indices for the given prefix.
[in] | prefix | Filename prefix to search for. |
[out] | n_repeat | Number of repeats found. |
[out] | n_index | Number of indices found. |
Definition at line 608 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 714 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 496 of file output.F90.
subroutine pmc_output::make_filename | ( | character(len=*), intent(out) | filename, |
character(len=*), intent(in) | prefix, | ||
character(len=*), intent(in) | suffix, | ||
integer, intent(in), optional | index, | ||
integer, intent(in), optional | i_repeat, | ||
integer, intent(in), optional | write_rank, | ||
integer, intent(in), optional | write_n_proc | ||
) |
Make a filename from a given prefix and other information.
[out] | filename | Filename to create. |
[in] | prefix | Filename prefix. |
[in] | suffix | Filename suffix. |
[in] | index | Filename index. |
[in] | i_repeat | Current repeat number. |
[in] | write_rank | Rank to write into file. |
[in] | write_n_proc | Number of processes to write into file. |
Definition at line 207 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 663 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 109 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 427 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 386 of file output.F90.
subroutine pmc_output::write_time | ( | integer, intent(in) | ncid, |
real(kind=dp), intent(in) | time, | ||
real(kind=dp), intent(in) | del_t, | ||
integer, intent(in) | index | ||
) |
Helper routine to write time variables. 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. |
Definition at line 253 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 91 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 94 of file output.F90.
integer, parameter pmc_output::output_type_invalid = 0 |
Type code for undefined or invalid output.
Definition at line 88 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 97 of file output.F90.
character(len=100), parameter pmc_output::partmc_version = "2.6.1" |
PartMC verson number.
Definition at line 85 of file output.F90.
integer, parameter pmc_output::tag_output_state_central = 4341 |
Internal-use variable only.
Definition at line 100 of file output.F90.
integer, parameter pmc_output::tag_output_state_single = 4342 |
Internal-use variable only.
Definition at line 102 of file output.F90.