PartMC  2.2.0
Public Member Functions | Public Attributes
pmc_output Module Reference

Write data in NetCDF format. More...

List of all members.

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.

Detailed Description

Write data in NetCDF format.

Definition at line 68 of file output.F90.


Member Function/Subroutine Documentation

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.

Parameters:
[in]prefixFilename prefix to search for.
[in,out]filename_listFilename 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.

Parameters:
[in]filenameFilename to read.
[out]indexFilename index.
[out]timeCurrent time (s).
[out]del_tCurrent output time-step (s).
[out]uuidUUID of the simulation.
[in,out]bin_gridBin grid.
[in,out]aero_dataAerosol data.
[in,out]aero_binnedBinned aerosol data.
[in,out]gas_dataGas data.
[in,out]gas_stateGas state.
[in,out]env_stateEnvironment 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.

Parameters:
[in]filenamePrefix of state file.
[out]indexFilename index.
[out]timeCurrent time (s).
[out]del_tCurrent timestep (s).
[out]i_repeatCurrent repeat number.
[out]uuidUUID of the simulation.
[in,out]aero_dataAerosol data.
[in,out]aero_stateAerosol state.
[in,out]gas_dataGas data.
[in,out]gas_stateGas state.
[in,out]env_stateEnvironment 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.

Parameters:
[in]prefixPrefix of filename to write
[in]bin_gridBin grid.
[in]aero_dataAerosol data.
[in]aero_binnedBinned aerosol data.
[in]gas_dataGas data.
[in]gas_stateGas state.
[in]env_stateEnvironment state.
[in]indexFilename index.
[in]timeCurrent time (s).
[in]del_tCurrent output time-step (s).
[in]uuidUUID 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.

Parameters:
[in]prefixPrefix of state file.
[in]output_typeOutput type for parallel runs (see module constants).
[in]aero_dataAerosol data.
[in]aero_stateAerosol state.
[in]gas_dataGas data.
[in]gas_stateGas state.
[in]env_stateEnvironment state.
[in]indexFilename index.
[in]timeCurrent time (s).
[in]del_tCurrent timestep (s).
[in]i_repeatCurrent repeat number.
[in]record_removalsWhether to output particle removal info.
[in]record_opticalWhether to output aerosol optical properties.
[in]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(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().

Parameters:
[in]prefixPrefix of state file.
[in]aero_dataAerosol data.
[in]aero_stateAerosol state.
[in]gas_dataGas data.
[in]gas_stateGas state.
[in]env_stateEnvironment state.
[in]indexFilename index.
[in]timeCurrent time (s).
[in]del_tCurrent timestep (s).
[in]i_repeatCurrent repeat number.
[in]record_removalsWhether to output particle removal info.
[in]record_opticalWhether to output aerosol optical properties.
[in]write_rankRank to write into file.
[in]write_n_procNumber of processes to write into file.
[in]uuidUUID 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.

Parameters:
[in]prefixPrefix of state file.
[in]aero_dataAerosol data.
[in]gas_dataGas data.
[in]indexFilename index.
[in]timeCurrent time (s).
[in]del_tCurrent timestep (s).
[in]i_repeatCurrent repeat number.
[in]record_removalsWhether to output particle removal info.
[in]record_opticalWhether to output aerosol_optical_properties.
[in]uuidUUID of the simulation.
[in]remote_procProcess 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.

Parameters:
[in]aero_stateAerosol state.
[in]gas_stateGas state.
[in]env_stateEnvironment 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.

Parameters:
[in,out]fileSpec file.
[out]output_typeKernel 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.

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

Definition at line 210 of file output.F90.


Member Data 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.


The documentation for this module was generated from the following file: