CAMP 1.0.0
Chemistry Across Multiple Phases
Public Member Functions | Public Attributes | Private Attributes | List of all members
camp_aero_rep_single_particle::aero_rep_single_particle_t Interface Reference

Single particle aerosol representation. More...

Inheritance diagram for camp_aero_rep_single_particle::aero_rep_single_particle_t:
Inheritance graph
[legend]
Collaboration diagram for camp_aero_rep_single_particle::aero_rep_single_particle_t:
Collaboration graph
[legend]

Public Member Functions

procedure initialize
 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. More...
 
procedure maximum_computational_particles
 Returns the maximum number of computational particles. More...
 
procedure update_data_initialize_number => update_data_init_number
 Initialize an update data number object. More...
 
procedure size => get_size
 Get the size of the section of the camp_camp_state::camp_state_t::state_var array required for this aerosol representation. More...
 
procedure per_particle_size
 Get the number of state variables per-particle. More...
 
procedure unique_names
 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. More...
 
procedure spec_state_id
 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: More...
 
procedure spec_name
 Get the non-unique name of a species by its unique name. More...
 
procedure num_phase_instances
 Get the number of instances of an aerosol phase in this representation. More...
 
procedure num_jac_elem
 Get the number of Jacobian elements used in calculations of aerosol mass, volume, number, etc. for a particular phase. More...
 
procedure num_layers
 Returns the number of layers. More...
 
procedure num_phases
 Returns the number of phases in a layer or overall. More...
 
procedure phase_state_size
 Returns the number of state variables for a layer and phase. More...
 
procedure adjacent_phases
 Returns index_pair_t type with phase_ids of adjacent phases. More...
 
final finalize
 Finalize the aerosol representation. More...
 
 finalize_array
 
- Public Member Functions inherited from camp_aero_rep_data::aero_rep_data_t
procedure(initialize), deferred initialize
 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. More...
 
procedure(get_size), deferred size
 Get the size of the section of the camp_camp_state::camp_state_t::state_var array required for this aerosol representation. More...
 
procedure(unique_names), deferred unique_names
 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. More...
 
procedure(spec_state_id), deferred spec_state_id
 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: More...
 
procedure(spec_name), deferred spec_name
 Get the non-unique name of a species by its unique name. More...
 
procedure(num_phase_instances), deferred num_phase_instances
 Get the number of instances of an aerosol phase. More...
 
procedure(num_jac_elem), deferred num_jac_elem
 Get the number of Jacobian elements for calculations of mass, volume, number, etc for a particular phase. More...
 
procedure load
 Load data from an input file. More...
 
procedure name => get_name
 Get the name of the aerosol representation. More...
 
procedure phase_ids
 Get ids for all instances of a phase in this aerosol representation for use during solving. More...
 
procedure pack_size
 Determine the number of bytes required to pack the given value. More...
 
procedure bin_pack
 Packs the given value into the buffer, advancing position. More...
 
procedure bin_unpack
 Unpacks the given value from the buffer, advancing position. More...
 
procedure print => do_print
 Print the aerosol representation data. More...
 

Public Attributes

integer(kind=i_kind) state_id_start = -99999
 First state id for the representation (only used during initialization) More...
 
- Public Attributes inherited from camp_aero_rep_data::aero_rep_data_t
character(len=:), allocatable, public rep_name
 Name of the aerosol representation. More...
 
type(aero_phase_data_ptr), dimension(:), allocatable, public aero_phase
 Aerosol phases associated with this aerosol scheme. More...
 
type(property_t), pointer, public property_set => null()
 Aerosol representation parameters. These will be available during initialization, but not during solving. All information required by functions of the aerosol representation must be saved by the exdending type in the condensed data arrays. More...
 
real(kind=dp), dimension(:), allocatable, public condensed_data_real
 Condensed representation data. Theses arrays will be available during solving, and should contain any information required by the functions of the aerosol representation that cannot be obtained from the camp_camp_state::camp_state_t object. (floating-point) More...
 
integer(kind=i_kind), dimension(:), allocatable, public condensed_data_int
 Condensed representation data. Theses arrays will be available during solving, and should contain any information required by the functions of the aerosol representation that cannot be obtained from the camp_camp_state::camp_state_t object. (integer) More...
 
logical, dimension(:), allocatable, public aero_phase_is_at_surface
 Array of booleans indicating if phase exists at the surface of a particle. Used in SIMPOL and HL reactions for single particle representation. More...
 
integer(kind=i_kind), public num_env_params = 0
 Number of environment-dependent parameters These are parameters that need updated when environmental conditions change. More...
 

Private Attributes

type(string_t), dimension(:), allocatable, private unique_names_
 Unique names for each instance of every chemical species in the aerosol representaiton. More...
 
type(string_t), dimension(:), allocatable, private layer_names_
 Layer names, ordered inner-most to outer-most. More...
 

Detailed Description

Single particle aerosol representation.

Time-invariant data related to a single particle aerosol representation.

Definition at line 86 of file aero_rep_single_particle.F90.

Member Function/Subroutine Documentation

◆ adjacent_phases()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::adjacent_phases

Returns index_pair_t type with phase_ids of adjacent phases.

Definition at line 156 of file aero_rep_single_particle.F90.

◆ finalize()

final camp_aero_rep_single_particle::aero_rep_single_particle_t::finalize
final

Finalize the aerosol representation.

Definition at line 158 of file aero_rep_single_particle.F90.

Here is the call graph for this function:

◆ finalize_array()

camp_aero_rep_single_particle::aero_rep_single_particle_t::finalize_array

Definition at line 158 of file aero_rep_single_particle.F90.

◆ initialize()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::initialize

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.

Definition at line 101 of file aero_rep_single_particle.F90.

◆ maximum_computational_particles()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::maximum_computational_particles

Returns the maximum number of computational particles.

Definition at line 103 of file aero_rep_single_particle.F90.

◆ num_jac_elem()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::num_jac_elem

Get the number of Jacobian elements used in calculations of aerosol mass, volume, number, etc. for a particular phase.

Definition at line 148 of file aero_rep_single_particle.F90.

◆ num_layers()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::num_layers

Returns the number of layers.

Definition at line 150 of file aero_rep_single_particle.F90.

◆ num_phase_instances()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::num_phase_instances

Get the number of instances of an aerosol phase in this representation.

Definition at line 145 of file aero_rep_single_particle.F90.

◆ num_phases()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::num_phases

Returns the number of phases in a layer or overall.

Definition at line 152 of file aero_rep_single_particle.F90.

◆ per_particle_size()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::per_particle_size

Get the number of state variables per-particle.

Calling functions can assume each particle has the same size on the state array, and that individual particle states are contiguous and arranged sequentially

Definition at line 119 of file aero_rep_single_particle.F90.

◆ phase_state_size()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::phase_state_size

Returns the number of state variables for a layer and phase.

Definition at line 154 of file aero_rep_single_particle.F90.

◆ size()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::size

Get the size of the section of the camp_camp_state::camp_state_t::state_var array required for this aerosol representation.

For a single particle representation, the size will correspond to the the sum of the sizes of a single instance of each aerosol phase provided to aero_rep_single_particle::initialize()

Definition at line 113 of file aero_rep_single_particle.F90.

◆ spec_name()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::spec_name

Get the non-unique name of a species by its unique name.

Definition at line 143 of file aero_rep_single_particle.F90.

◆ spec_state_id()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::spec_state_id

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.

Definition at line 141 of file aero_rep_single_particle.F90.

◆ unique_names()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::unique_names

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 single particle representation, the unique names will be the phase name with the species name separated by a '.'

Definition at line 127 of file aero_rep_single_particle.F90.

◆ update_data_initialize_number()

procedure camp_aero_rep_single_particle::aero_rep_single_particle_t::update_data_initialize_number

Initialize an update data number object.

Definition at line 105 of file aero_rep_single_particle.F90.

Member Data Documentation

◆ layer_names_

type(string_t), dimension(:), allocatable, private camp_aero_rep_single_particle::aero_rep_single_particle_t::layer_names_
private

Layer names, ordered inner-most to outer-most.

Definition at line 91 of file aero_rep_single_particle.F90.

◆ state_id_start

integer(kind=i_kind) camp_aero_rep_single_particle::aero_rep_single_particle_t::state_id_start = -99999

First state id for the representation (only used during initialization)

Definition at line 93 of file aero_rep_single_particle.F90.

◆ unique_names_

type(string_t), dimension(:), allocatable, private camp_aero_rep_single_particle::aero_rep_single_particle_t::unique_names_
private

Unique names for each instance of every chemical species in the aerosol representaiton.

Definition at line 89 of file aero_rep_single_particle.F90.


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