CAMP 1.0.0
Chemistry Across Multiple Phases
Public Member Functions | Public Attributes | List of all members
camp_aero_rep_data::aero_rep_data_t Type Reference

Abstract aerosol representation data type. More...

Inheritance diagram for camp_aero_rep_data::aero_rep_data_t:
Inheritance graph
[legend]

Public Member Functions

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

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

Detailed Description

Abstract aerosol representation data type.

Time-invariant data related to an aerosol representation. Derived types extending aero_rep_data_t should describe specific types of aerosol schemes (e.g., binned, modal, particle-resolved).

See Aerosol Representations for details.

Definition at line 55 of file aero_rep_data.F90.

Member Function/Subroutine Documentation

◆ bin_pack()

procedure camp_aero_rep_data::aero_rep_data_t::bin_pack

Packs the given value into the buffer, advancing position.

Definition at line 134 of file aero_rep_data.F90.

◆ bin_unpack()

procedure camp_aero_rep_data::aero_rep_data_t::bin_unpack

Unpacks the given value from the buffer, advancing position.

Definition at line 136 of file aero_rep_data.F90.

◆ initialize()

procedure(initialize), deferred camp_aero_rep_data::aero_rep_data_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 93 of file aero_rep_data.F90.

◆ load()

procedure camp_aero_rep_data::aero_rep_data_t::load

Load data from an input file.

Definition at line 125 of file aero_rep_data.F90.

◆ name()

procedure camp_aero_rep_data::aero_rep_data_t::name

Get the name of the aerosol representation.

Definition at line 127 of file aero_rep_data.F90.

◆ num_jac_elem()

procedure(num_jac_elem), deferred camp_aero_rep_data::aero_rep_data_t::num_jac_elem

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

Definition at line 123 of file aero_rep_data.F90.

◆ num_phase_instances()

procedure(num_phase_instances), deferred camp_aero_rep_data::aero_rep_data_t::num_phase_instances

Get the number of instances of an aerosol phase.

Definition at line 120 of file aero_rep_data.F90.

◆ pack_size()

procedure camp_aero_rep_data::aero_rep_data_t::pack_size

Determine the number of bytes required to pack the given value.

Definition at line 132 of file aero_rep_data.F90.

◆ phase_ids()

procedure camp_aero_rep_data::aero_rep_data_t::phase_ids

Get ids for all instances of a phase in this aerosol representation for use during solving.

Definition at line 130 of file aero_rep_data.F90.

◆ print()

procedure camp_aero_rep_data::aero_rep_data_t::print

Print the aerosol representation data.

Definition at line 138 of file aero_rep_data.F90.

◆ size()

procedure(get_size), deferred camp_aero_rep_data::aero_rep_data_t::size

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

Definition at line 97 of file aero_rep_data.F90.

◆ spec_name()

procedure(spec_name), deferred camp_aero_rep_data::aero_rep_data_t::spec_name

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

Definition at line 118 of file aero_rep_data.F90.

◆ spec_state_id()

procedure(spec_state_id), deferred camp_aero_rep_data::aero_rep_data_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 116 of file aero_rep_data.F90.

◆ unique_names()

procedure(unique_names), deferred camp_aero_rep_data::aero_rep_data_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.

Definition at line 102 of file aero_rep_data.F90.

Member Data Documentation

◆ aero_phase

type(aero_phase_data_ptr), dimension(:), allocatable, public camp_aero_rep_data::aero_rep_data_t::aero_phase

Aerosol phases associated with this aerosol scheme.

See Aerosol Phases for details.

Definition at line 62 of file aero_rep_data.F90.

◆ aero_phase_is_at_surface

logical, dimension(:), allocatable, public camp_aero_rep_data::aero_rep_data_t::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.

Definition at line 81 of file aero_rep_data.F90.

◆ condensed_data_int

integer(kind=i_kind), dimension(:), allocatable, public camp_aero_rep_data::aero_rep_data_t::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)

Definition at line 77 of file aero_rep_data.F90.

◆ condensed_data_real

real(kind=dp), dimension(:), allocatable, public camp_aero_rep_data::aero_rep_data_t::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)

Definition at line 72 of file aero_rep_data.F90.

◆ num_env_params

integer(kind=i_kind), public camp_aero_rep_data::aero_rep_data_t::num_env_params = 0

Number of environment-dependent parameters These are parameters that need updated when environmental conditions change.

Definition at line 85 of file aero_rep_data.F90.

◆ property_set

type(property_t), pointer, public camp_aero_rep_data::aero_rep_data_t::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.

Definition at line 67 of file aero_rep_data.F90.

◆ rep_name

character(len=:), allocatable, public camp_aero_rep_data::aero_rep_data_t::rep_name

Name of the aerosol representation.

Definition at line 58 of file aero_rep_data.F90.


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