CAMP 1.0.0
Chemistry Across Multiple Phases
|
The abstract aero_rep_modal_binned_mass_t structure and associated subroutines. More...
Data Types | |
interface | aero_rep_free_update_data |
Free an update data object. More... | |
interface | aero_rep_modal_binned_mass_create_gmd_update_data |
Interface to c aerosol representation functions. More... | |
interface | aero_rep_modal_binned_mass_create_gsd_update_data |
Allocate space for a GSD update object. More... | |
interface | aero_rep_modal_binned_mass_set_gmd_update_data |
Set a new mode GMD. More... | |
interface | aero_rep_modal_binned_mass_set_gsd_update_data |
Set a new mode GSD. More... | |
interface | aero_rep_modal_binned_mass_t |
Modal mass aerosol representation. More... | |
type | aero_rep_update_data_modal_binned_mass_gmd_t |
Update GMD object. More... | |
type | aero_rep_update_data_modal_binned_mass_gsd_t |
Update GSD object. More... | |
Functions/Subroutines | |
type(aero_rep_modal_binned_mass_t) function, pointer | constructor () |
Constructor for aero_rep_modal_binned_mass_t. | |
subroutine | initialize (this, aero_phase_set, spec_state_id) |
Initialize the aerosol representation data, validating component data and loading any required information from the aero_rep_data_t::property_set . This routine should be called once for each aerosol representation at the beginning of a model run after all the input files have been read in. It ensures all data required during the model run are included in the condensed data arrays. | |
logical function | get_section_id (this, section_name, section_id) |
Get an id for a mode or bin by name for use with updates from external modules. | |
integer(kind=i_kind) function | get_size (this) |
Get the size of the section of the camp_camp_state::camp_state_t::state_var array required for this aerosol representation. | |
type(string_t) function, dimension(:), allocatable | unique_names (this, phase_name, tracer_type, spec_name) |
Get a list of unique names for each element on the camp_camp_state::camp_state_t::state_var array for this aerosol representation. The list may be restricted to a particular phase and/or aerosol species by including the phase_name and spec_name arguments. | |
integer(kind=i_kind) function | spec_state_id (this, unique_name) |
Get a species id on the camp_camp_state::camp_state_t::state_var array by its unique name. These are unique ids for each element on the state array for this aerosol representation and are numbered: | |
character(len=:) function, allocatable | spec_name (this, unique_name) |
Get the non-unique name of a species by its unique name. | |
integer(kind=i_kind) function | num_phase_instances (this, phase_name) |
Get the number of instances of a specified aerosol phase. | |
integer(kind=i_kind) function | num_jac_elem (this, phase_id) |
Get the number of Jacobian elements used in calculations of aerosol mass, volume, number, etc. for a particular phase. | |
elemental subroutine | finalize (this) |
Finalize the aerosol representation. | |
subroutine | update_data_init_gmd (this, update_data, aero_rep_type) |
Initialize a GMD update object. | |
subroutine | update_data_set_gmd (this, section_id, gmd) |
Set packed update data for mode GMD. | |
integer(kind=i_kind) function | internal_pack_size_gmd (this, comm) |
Determine the size of a binary required to pack the reaction data. | |
subroutine | internal_bin_pack_gmd (this, buffer, pos, comm) |
Pack the given value to the buffer, advancing position. | |
subroutine | internal_bin_unpack_gmd (this, buffer, pos, comm) |
Unpack the given value from the buffer, advancing position. | |
elemental subroutine | update_data_gmd_finalize (this) |
Finalize a GMD update data object. | |
subroutine | update_data_init_gsd (this, update_data, aero_rep_type) |
Initialize a GSD update data object. | |
subroutine | update_data_set_gsd (this, section_id, gsd) |
Set packed update data for mode GSD. | |
integer(kind=i_kind) function | internal_pack_size_gsd (this, comm) |
Determine the size of a binary required to pack the reaction data. | |
subroutine | internal_bin_pack_gsd (this, buffer, pos, comm) |
Pack the given value to the buffer, advancing position. | |
subroutine | internal_bin_unpack_gsd (this, buffer, pos, comm) |
Unpack the given value from the buffer, advancing position. | |
elemental subroutine | update_data_gsd_finalize (this) |
Finalize a GSD update data object. | |
Variables | |
integer(kind=i_kind), parameter, public | update_gmd = 0 |
integer(kind=i_kind), parameter, public | update_gsd = 1 |
The abstract aero_rep_modal_binned_mass_t structure and associated subroutines.
|
private |
Constructor for aero_rep_modal_binned_mass_t.
Definition at line 317 of file aero_rep_modal_binned_mass.F90.
|
private |
Finalize the aerosol representation.
[in,out] | this | Aerosol representation data |
Definition at line 1007 of file aero_rep_modal_binned_mass.F90.
|
private |
Get an id for a mode or bin by name for use with updates from external modules.
[in] | this | Aerosol representation |
[in] | section_name | Section name |
[out] | section_id | Section id |
Definition at line 671 of file aero_rep_modal_binned_mass.F90.
|
private |
Get the size of the section of the camp_camp_state::camp_state_t::state_var
array required for this aerosol representation.
For a modal/binned mass representation, the size will correspond to the the sum of the sizes of a single instance of each aerosol phase provided to aero_rep_modal_binned_mass::initialize()
[in] | this | Aerosol representation data |
Definition at line 708 of file aero_rep_modal_binned_mass.F90.
|
private |
Initialize the aerosol representation data, validating component data and loading any required information from the aero_rep_data_t::property_set
. This routine should be called once for each aerosol representation at the beginning of a model run after all the input files have been read in. It ensures all data required during the model run are included in the condensed data arrays.
[in,out] | this | Aerosol representation data |
[in] | aero_phase_set | The set of aerosol phases |
[in] | spec_state_id | Beginning state id for this aerosol representationin the model species state array |
Definition at line 334 of file aero_rep_modal_binned_mass.F90.
|
private |
Pack the given value to the buffer, advancing position.
[in] | this | Aerosol representation update data |
[in,out] | buffer | Memory buffer |
[in,out] | pos | Current buffer position |
[in] | comm | MPI communicator |
Definition at line 1092 of file aero_rep_modal_binned_mass.F90.
|
private |
Pack the given value to the buffer, advancing position.
[in] | this | Aerosol representation update data |
[in,out] | buffer | Memory buffer |
[in,out] | pos | Current buffer position |
[in] | comm | MPI communicator |
Definition at line 1219 of file aero_rep_modal_binned_mass.F90.
|
private |
Unpack the given value from the buffer, advancing position.
[in,out] | this | Aerosol representation update data |
[in,out] | buffer | Memory buffer |
[in,out] | pos | Current buffer position |
[in] | comm | MPI communicator |
Definition at line 1118 of file aero_rep_modal_binned_mass.F90.
|
private |
Unpack the given value from the buffer, advancing position.
[in,out] | this | Aerosol representation update data |
[in,out] | buffer | Memory buffer |
[in,out] | pos | Current buffer position |
[in] | comm | MPI communicator |
Definition at line 1245 of file aero_rep_modal_binned_mass.F90.
|
private |
Determine the size of a binary required to pack the reaction data.
[in] | this | Aerosol representation update data |
[in] | comm | MPI communicator |
Definition at line 1075 of file aero_rep_modal_binned_mass.F90.
|
private |
Determine the size of a binary required to pack the reaction data.
[in] | this | Aerosol representation update data |
[in] | comm | MPI communicator |
Definition at line 1202 of file aero_rep_modal_binned_mass.F90.
|
private |
Get the number of Jacobian elements used in calculations of aerosol mass, volume, number, etc. for a particular phase.
[in] | this | Aerosol respresentation data |
[in] | phase_id | Aerosol phase id |
Definition at line 968 of file aero_rep_modal_binned_mass.F90.
|
private |
Get the number of instances of a specified aerosol phase.
[in] | this | Aerosol representation data |
[in] | phase_name | Aerosol phase name |
Definition at line 944 of file aero_rep_modal_binned_mass.F90.
|
private |
Get the non-unique name of a species by its unique name.
[in] | this | Aerosol representation data |
[in] | unique_name | Unique name of the species in this aerosol representation |
Definition at line 905 of file aero_rep_modal_binned_mass.F90.
|
private |
Get a species id on the camp_camp_state::camp_state_t::state_var
array by its unique name. These are unique ids for each element on the state array for this aerosol representation and are numbered:
\[x_u \in x_f ... (x_f+n-1)\]
where \(x_u\) is the id of the element corresponding to the species with unique name \(u\) on the camp_camp_state::camp_state_t::state_var
array, \(x_f\) is the index of the first element for this aerosol representation on the state array and \(n\) is the total number of variables on the state array from this aerosol representation.
[in] | this | Aerosol representation data |
[in] | unique_name | Unique name |
Definition at line 878 of file aero_rep_modal_binned_mass.F90.
|
private |
Get a list of unique names for each element on the camp_camp_state::camp_state_t::state_var
array for this aerosol representation. The list may be restricted to a particular phase and/or aerosol species by including the phase_name and spec_name arguments.
For a modal/binned mass representation, the unique names for bins are:
... and for modes are:
[in] | this | Aerosol representation data |
[in] | phase_name | Aerosol phase name |
[in] | tracer_type | Aerosol-phase species tracer type |
[in] | spec_name | Aerosol-phase species name |
Definition at line 737 of file aero_rep_modal_binned_mass.F90.
|
private |
Finalize a GMD update data object.
[in,out] | this | Update data object to free |
Definition at line 1145 of file aero_rep_modal_binned_mass.F90.
|
private |
Finalize a GSD update data object.
[in,out] | this | Update data object to free |
Definition at line 1272 of file aero_rep_modal_binned_mass.F90.
|
private |
Initialize a GMD update object.
[in,out] | this | Aerosol representation to update |
[out] | update_data | Update data object |
[in] | aero_rep_type | Aerosol representation id |
Definition at line 1030 of file aero_rep_modal_binned_mass.F90.
|
private |
Initialize a GSD update data object.
[in,out] | this | Aerosol representation to update |
[out] | update_data | Update data object |
[in] | aero_rep_type | Aerosol representation id |
Definition at line 1157 of file aero_rep_modal_binned_mass.F90.
|
private |
Set packed update data for mode GMD.
[in,out] | this | Update data |
[in] | section_id | Aerosol section id from camp_aero_rep_modal_binned_mass::aero_rep_modal_binned_mass_t::get_section_id |
[in] | gmd | Updated GMD (m) |
Definition at line 1057 of file aero_rep_modal_binned_mass.F90.
|
private |
Set packed update data for mode GSD.
[in,out] | this | Update data |
[in] | section_id | Aerosol section id from camp_aero_rep_modal_binned_mass::aero_rep_modal_binned_mass_t::get_section_id |
[in] | gsd | Updated GSD (m) |
Definition at line 1184 of file aero_rep_modal_binned_mass.F90.
integer(kind=i_kind), parameter, public camp_aero_rep_modal_binned_mass::update_gmd = 0 |
Definition at line 132 of file aero_rep_modal_binned_mass.F90.
integer(kind=i_kind), parameter, public camp_aero_rep_modal_binned_mass::update_gsd = 1 |
Definition at line 133 of file aero_rep_modal_binned_mass.F90.