PartMC 2.1.2
Functions/Subroutines | Variables
pmc_output Module Reference

Write data in NetCDF format. More...

Functions/Subroutines

subroutine output_state (prefix, output_type, bin_grid, aero_data, aero_weight, 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, bin_grid, aero_data, aero_weight, 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, bin_grid, aero_data, aero_weight, 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, bin_grid, aero_data, aero_weight, aero_state, gas_data, gas_state, env_state, index, time, del_t, i_repeat, uuid)
 Read the current state.
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 spec_file_read_output_type (file, output_type)
 Read the specification for an output type from a spec file and generate it.

Variables

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.

Detailed Description

Write data in NetCDF format.


Function/Subroutine Documentation

subroutine pmc_output::input_state ( character(len=*),intent(in)  filename,
type(bin_grid_t),intent(in)  bin_grid,
type(aero_data_t),intent(inout)  aero_data,
type(aero_weight_t),intent(inout)  aero_weight,
type(aero_state_t),intent(inout)  aero_state,
type(gas_data_t),intent(inout)  gas_data,
type(gas_state_t),intent(inout)  gas_state,
type(env_state_t),intent(inout)  env_state,
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 
)

Read the current state.

Parameters:
filenamePrefix of state file.
bin_gridBin grid.
aero_dataAerosol data.
aero_weightAerosol weight.
aero_stateAerosol state.
gas_dataGas data.
gas_stateGas state.
env_stateEnvironment state.
indexFilename index.
timeCurrent time (s).
del_tCurrent timestep (s).
i_repeatCurrent repeat number.
uuidUUID of the simulation.

Definition at line 515 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.

Parameters:
prefixPrefix of filename to write
bin_gridBin grid.
aero_dataAerosol data.
aero_binnedBinned aerosol data.
gas_dataGas data.
gas_stateGas state.
env_stateEnvironment state.
indexFilename index.
timeCurrent time (s).
del_tCurrent output time-step (s).
uuidUUID of the simulation.

Definition at line 575 of file output.F90.

subroutine pmc_output::output_state ( character(len=*),intent(in)  prefix,
integer,intent(in)  output_type,
type(bin_grid_t),intent(in)  bin_grid,
type(aero_data_t),intent(in)  aero_data,
type(aero_weight_t),intent(in)  aero_weight,
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.

Parameters:
prefixPrefix of state file.
output_typeOutput type for parallel runs (see module constants).
bin_gridBin grid.
aero_dataAerosol data.
aero_weightAerosol weight.
aero_stateAerosol state.
gas_dataGas data.
gas_stateGas state.
env_stateEnvironment state.
indexFilename index.
timeCurrent time (s).
del_tCurrent timestep (s).
i_repeatCurrent repeat number.
record_removalsWhether to output particle removal info.
record_opticalWhether to output aerosol optical properties.
uuidUUID of the simulation.

Definition at line 105 of file output.F90.

subroutine pmc_output::output_state_to_file ( character(len=*),intent(in)  prefix,
type(bin_grid_t),intent(in)  bin_grid,
type(aero_data_t),intent(in)  aero_data,
type(aero_weight_t),intent(in)  aero_weight,
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().

Parameters:
prefixPrefix of state file.
bin_gridBin grid.
aero_dataAerosol data.
aero_weightAerosol weight.
aero_stateAerosol state.
gas_dataGas data.
gas_stateGas state.
env_stateEnvironment state.
indexFilename index.
timeCurrent time (s).
del_tCurrent timestep (s).
i_repeatCurrent repeat number.
record_removalsWhether to output particle removal info.
record_opticalWhether to output aerosol optical properties.
write_rankRank to write into file.
write_n_procNumber of processes to write into file.
uuidUUID of the simulation.

Definition at line 259 of file output.F90.

subroutine pmc_output::recv_output_state_central ( character(len=*),intent(in)  prefix,
type(bin_grid_t),intent(in)  bin_grid,
type(aero_data_t),intent(in)  aero_data,
type(aero_weight_t),intent(in)  aero_weight,
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.

Parameters:
prefixPrefix of state file.
bin_gridBin grid.
aero_dataAerosol data.
aero_weightAerosol weight.
gas_dataGas data.
indexFilename index.
timeCurrent time (s).
del_tCurrent timestep (s).
i_repeatCurrent repeat number.
record_removalsWhether to output particle removal info.
record_opticalWhether to output aerosol_optical_properties.
uuidUUID of the simulation.
remote_procProcess number to receive from.

Definition at line 434 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.

Parameters:
aero_stateAerosol state.
gas_stateGas state.
env_stateEnvironment state.

Definition at line 393 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.

Parameters:
fileSpec file.
output_typeKernel type.

Definition at line 632 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.

Parameters:
ncidNetCDF file ID, in data mode.
timeCurrent time (s).
del_tCurrent timestep (s).
indexFilename index.
uuidUUID of the simulation.

Definition at line 217 of file output.F90.


Variable Documentation

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.