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

Part-MC model data. More...

Collaboration diagram for camp_camp_core::camp_core_t:
Collaboration graph
[legend]

Public Member Functions

procedure load_files (this, input_file_path)
 Load a set of configuration files.
 
procedure load (this, input_file_path)
 Load model data from a configuration file.
 
procedure initialize (this)
 Initialize the model.
 
procedure is_initialized (this)
 Indicate whether the core has been initialized.
 
procedure is_solver_initialized (this)
 Indicate whether the solver has been initialized.
 
procedure get_aero_phase (this, aero_phase_name, aero_phase)
 Get a pointer to an aerosol phase by name.
 
procedure get_aero_rep (this, aero_rep_name, aero_rep)
 Get a pointer to an aerosol representation by name.
 
procedure get_chem_spec_data (this, chem_spec_data)
 Get a pointer to the set of chemical species.
 
procedure get_mechanism (this, mech_name, mechanism)
 Get a pointer to a mechanism by name.
 
procedure get_sub_model (this, sub_model_name, sub_model)
 Get a pointer to a sub-model by name.
 
procedure get_rel_tol (this)
 Get the relative tolerance for the solver.
 
procedure get_abs_tol (this, spec_id)
 Get the absolute tolerance for a species on the state array.
 
procedure new_state_one_cell (this, env_state)
 Get a new model state variable.
 
procedure new_state_multi_cell (this, env_states)
 Get a model state variable based on the this set of model data.
 
generic new_state (this, env_state)
 Get a new model state variable.
 
generic new_state (this, env_states)
 Get a model state variable based on the this set of model data.
 
procedure state_size (this)
 Get the size of the state array.
 
procedure state_size_per_cell (this)
 Get the size of the state array per grid cell.
 
procedure unique_names (this)
 Get an array of unique names for all species on the state array.
 
procedure spec_state_id (this, spec_name, state_id)
 Get the index of a species on the state array by its unique name.
 
procedure solver_initialize (this)
 Initialize the solver.
 
procedure free_solver (this)
 Free the solver.
 
generic initialize_update_object (this, aero_rep, update_data)
 Initialize an update_data object.
 
generic initialize_update_object (this, rxn, update_data)
 Initialize an update data object for a reaction.
 
generic initialize_update_object (this, sub_model, update_data)
 Initialize an update data object for a sub model.
 
generic update_data (this, update_data)
 Update model data.
 
generic update_data (this, update_data)
 Update data associated with a reaction. This function should be called when reaction parameters need updated from the host model. For example, this function can be called to update photolysis rates from a host model's photolysis module.
 
generic update_data (this, update_data)
 Update data associated with a sub-model. This function should be called when sub-model parameters need updated from the host model.
 
procedure solve (this, camp_state, time_step, rxn_phase, solver_stats)
 Run the chemical mechanisms.
 
procedure pack_size (this, comm)
 Determine the number of bytes required to pack the variable.
 
procedure bin_pack (this, buffer, pos, comm)
 Pack the given variable into a buffer, advancing position.
 
procedure bin_unpack (this, buffer, pos, comm)
 Unpack the given variable from a buffer, advancing position.
 
procedure print (this, file_unit, solver_data_only)
 Print the core data.
 
final finalize (this)
 Finalize the core.
 

Public Attributes

type(mechanism_data_ptr), dimension(:), pointer, public mechanism => null()
 Chemical mechanisms FIXME set up an iterator for external modules to use and make all data members private.
 
type(chem_spec_data_t), pointer chem_spec_data => null()
 Chemical species data.
 
type(sub_model_data_ptr), dimension(:), pointer sub_model => null()
 Sub models.
 
type(aero_rep_data_ptr), dimension(:), pointer, public aero_rep => null()
 Aerosol representations.
 
type(aero_phase_data_ptr), dimension(:), pointer aero_phase => null()
 Aerosol phases.
 
integer(kind=i_kind) size_state_per_cell
 Size of the state array per grid cell.
 
integer(kind=i_kind) n_cells = 1
 Number of cells to compute.
 
real(kind=dp), dimension(:), allocatable init_state
 Initial state values.
 
logical split_gas_aero = .false.
 Flag to split gas- and aerosol-phase reactions (for large aerosol representations, like single-particle)
 
real(kind=dp) rel_tol = 0.0
 Relative integration tolerance.
 
real(kind=dp), dimension(:), allocatable abs_tol
 
integer(kind=i_kind), dimension(:), allocatable var_type
 
type(camp_solver_data_t), pointer, public solver_data_gas => null()
 Solver data (gas-phase reactions)
 
type(camp_solver_data_t), pointer, public solver_data_aero => null()
 Solver data (aerosol-phase reactions)
 
type(camp_solver_data_t), pointer, public solver_data_gas_aero => null()
 Solver data (mixed gas- and aerosol-phase reactions)
 
logical core_is_initialized = .false.
 Flag indicating the model data has been initialized.
 
logical solver_is_initialized = .false.
 Flag indicating the solver has been initialized.
 

Private Member Functions

procedure, private initialize_aero_rep_update_object (this, aero_rep, update_data)
 Initialize an update_data object.
 
procedure, private initialize_rxn_update_object (this, rxn, update_data)
 Initialize an update data object for a reaction.
 
procedure, private initialize_sub_model_update_object (this, sub_model, update_data)
 Initialize an update data object for a sub model.
 
procedure, private aero_rep_update_data (this, update_data)
 Update model data.
 
procedure, private rxn_update_data (this, update_data)
 Update data associated with a reaction. This function should be called when reaction parameters need updated from the host model. For example, this function can be called to update photolysis rates from a host model's photolysis module.
 
procedure, private sub_model_update_data (this, update_data)
 Update data associated with a sub-model. This function should be called when sub-model parameters need updated from the host model.
 
procedure, private add_aero_phase (this, phase_name)
 Add an aerosol phase to the model.
 
procedure, private add_aero_rep (this, rep_name)
 Add an aerosol representation to the model.
 
procedure, private add_mechanism (this, mech_name)
 Add a mechanism to the model.
 
procedure, private add_sub_model (this, sub_model_name)
 Add a sub-model to the model.
 

Detailed Description

Part-MC model data.

Constructor for camp_core_t.

Contains all time-invariant data for a Part-MC model run.

Definition at line 121 of file camp_core.F90.

Constructor & Destructor Documentation

◆ finalize()

final camp_camp_core::camp_core_t::finalize ( type(camp_core_t), intent(inout)  this)
final

Finalize the core.

Parameters
[in,out]thisCAMP-core data

Definition at line 229 of file camp_core.F90.

Here is the call graph for this function:

Member Function/Subroutine Documentation

◆ add_aero_phase()

procedure, private camp_camp_core::camp_core_t::add_aero_phase ( class(camp_core_t), intent(inout)  this,
character(len=*), intent(in)  phase_name 
)
private

Add an aerosol phase to the model.

Parameters
[in,out]thisModel data
[in]phase_nameAerosol phase name

Definition at line 233 of file camp_core.F90.

◆ add_aero_rep()

procedure, private camp_camp_core::camp_core_t::add_aero_rep ( class(camp_core_t), intent(inout)  this,
character(len=*), intent(in)  rep_name 
)
private

Add an aerosol representation to the model.

Parameters
[in,out]thisModel data
[in]rep_nameAerosol representation name

Definition at line 235 of file camp_core.F90.

◆ add_mechanism()

procedure, private camp_camp_core::camp_core_t::add_mechanism ( class(camp_core_t), intent(inout)  this,
character(len=*), intent(in)  mech_name 
)
private

Add a mechanism to the model.

Parameters
[in,out]thisModel data
[in]mech_nameMechanism name

Definition at line 237 of file camp_core.F90.

◆ add_sub_model()

procedure, private camp_camp_core::camp_core_t::add_sub_model ( class(camp_core_t), intent(inout)  this,
character(len=*), intent(in)  sub_model_name 
)
private

Add a sub-model to the model.

Parameters
[in,out]thisModel data
[in]sub_model_nameSub model name

Definition at line 239 of file camp_core.F90.

◆ aero_rep_update_data()

procedure, private camp_camp_core::camp_core_t::aero_rep_update_data ( class(camp_core_t), intent(in)  this,
class(aero_rep_update_data_t), intent(in)  update_data 
)
private

Update model data.

Parameters
[in]thisChemical model
[in]update_dataUpdate data

Definition at line 211 of file camp_core.F90.

◆ bin_pack()

procedure camp_camp_core::camp_core_t::bin_pack ( class(camp_core_t), intent(in)  this,
character, dimension(:), intent(inout)  buffer,
integer, intent(inout)  pos,
integer, intent(in), optional  comm 
)

Pack the given variable into a buffer, advancing position.

Parameters
[in]thisChemical model
[in,out]bufferMemory buffer
[in,out]posCurrent buffer position
[in]commMPI communicator

Definition at line 223 of file camp_core.F90.

◆ bin_unpack()

procedure camp_camp_core::camp_core_t::bin_unpack ( class(camp_core_t), intent(inout)  this,
character, dimension(:), intent(inout)  buffer,
integer, intent(inout)  pos,
integer, intent(in), optional  comm 
)

Unpack the given variable from a buffer, advancing position.

Parameters
[in,out]thisChemical model
[in,out]bufferMemory buffer
[in,out]posCurrent buffer position
[in]commMPI communicator

Definition at line 225 of file camp_core.F90.

◆ free_solver()

procedure camp_camp_core::camp_core_t::free_solver ( class(camp_core_t), intent(inout)  this)

Free the solver.

Parameters
[in,out]thisCAMP-core

Definition at line 201 of file camp_core.F90.

◆ get_abs_tol()

procedure camp_camp_core::camp_core_t::get_abs_tol ( class(camp_core_t), intent(in)  this,
integer(kind=i_kind), intent(in)  spec_id 
)

Get the absolute tolerance for a species on the state array.

Returns
Absolute tolerance
Parameters
[in]thisModel data
[in]spec_idSpecies id

Definition at line 185 of file camp_core.F90.

◆ get_aero_phase()

procedure camp_camp_core::camp_core_t::get_aero_phase ( class(camp_core_t), intent(in)  this,
character(len=*), intent(in)  aero_phase_name,
class(aero_phase_data_t), intent(out), pointer  aero_phase 
)

Get a pointer to an aerosol phase by name.

Parameters
[in]thisModel data
[in]aero_phase_nameAerosol phase name to search for
[out]aero_phasePointer to the aerosol phase

Definition at line 173 of file camp_core.F90.

◆ get_aero_rep()

procedure camp_camp_core::camp_core_t::get_aero_rep ( class(camp_core_t), intent(in)  this,
character(len=*), intent(in)  aero_rep_name,
class(aero_rep_data_t), intent(out), pointer  aero_rep 
)

Get a pointer to an aerosol representation by name.

Parameters
[in]thisModel data
[in]aero_rep_nameAerosol representation name to search for
[out]aero_repAerosol representation

Definition at line 175 of file camp_core.F90.

◆ get_chem_spec_data()

procedure camp_camp_core::camp_core_t::get_chem_spec_data ( class(camp_core_t), intent(in)  this,
type(chem_spec_data_t), pointer  chem_spec_data 
)

Get a pointer to the set of chemical species.

Parameters
[in]thisModel data
chem_spec_dataPointer to the chemical species data

Definition at line 177 of file camp_core.F90.

◆ get_mechanism()

procedure camp_camp_core::camp_core_t::get_mechanism ( class(camp_core_t), intent(in)  this,
character(len=*), intent(in)  mech_name,
type(mechanism_data_t), intent(out), pointer  mechanism 
)

Get a pointer to a mechanism by name.

Parameters
[in]thisModel data
[in]mech_nameMechanism name to search for
[out]mechanismPointer to the mechanism

Definition at line 179 of file camp_core.F90.

◆ get_rel_tol()

procedure camp_camp_core::camp_core_t::get_rel_tol ( class(camp_core_t), intent(in)  this)

Get the relative tolerance for the solver.

Returns
Relative tolerance
Parameters
[in]thisModel data

Definition at line 183 of file camp_core.F90.

◆ get_sub_model()

procedure camp_camp_core::camp_core_t::get_sub_model ( class(camp_core_t), intent(in)  this,
character(len=*), intent(in)  sub_model_name,
class(sub_model_data_t), intent(out), pointer  sub_model 
)

Get a pointer to a sub-model by name.

Parameters
[in]thisModel data
[in]sub_model_nameSub model name to search for
[out]sub_modelSub model

Definition at line 181 of file camp_core.F90.

◆ initialize()

procedure camp_camp_core::camp_core_t::initialize ( class(camp_core_t), intent(inout), target  this)

Initialize the model.

Parameters
[in,out]thisModel data

Definition at line 167 of file camp_core.F90.

◆ initialize_aero_rep_update_object()

procedure, private camp_camp_core::camp_core_t::initialize_aero_rep_update_object ( class(camp_core_t), intent(in)  this,
class(aero_rep_data_t), intent(inout)  aero_rep,
class(aero_rep_update_data_t), intent(out)  update_data 
)
private

Initialize an update_data object.

Parameters
[in]thisCAMP core
[in,out]aero_repAerosol representation to be updated
[out]update_dataUpdate data object

Definition at line 203 of file camp_core.F90.

◆ initialize_rxn_update_object()

procedure, private camp_camp_core::camp_core_t::initialize_rxn_update_object ( class(camp_core_t), intent(in)  this,
class(rxn_data_t), intent(inout)  rxn,
class(rxn_update_data_t), intent(out)  update_data 
)
private

Initialize an update data object for a reaction.

Parameters
[in]thisCAMP core
[in,out]rxnReaction to be updated
[out]update_dataUpdate data object

Definition at line 204 of file camp_core.F90.

◆ initialize_sub_model_update_object()

procedure, private camp_camp_core::camp_core_t::initialize_sub_model_update_object ( class(camp_core_t), intent(in)  this,
class(sub_model_data_t), intent(inout)  sub_model,
class(sub_model_update_data_t), intent(out)  update_data 
)
private

Initialize an update data object for a sub model.

Parameters
[in]thisCAMP core
[in,out]sub_modelSub model to be updated
[out]update_dataUpdate data object

Definition at line 205 of file camp_core.F90.

◆ initialize_update_object() [1/3]

generic camp_camp_core::camp_core_t::initialize_update_object ( class(camp_core_t), intent(in)  this,
class(aero_rep_data_t), intent(inout)  aero_rep,
class(aero_rep_update_data_t), intent(out)  update_data 
)

Initialize an update_data object.

Parameters
[in]thisCAMP core
[in,out]aero_repAerosol representation to be updated
[out]update_dataUpdate data object

Definition at line 206 of file camp_core.F90.

Here is the call graph for this function:

◆ initialize_update_object() [2/3]

generic camp_camp_core::camp_core_t::initialize_update_object ( class(camp_core_t), intent(in)  this,
class(rxn_data_t), intent(inout)  rxn,
class(rxn_update_data_t), intent(out)  update_data 
)

Initialize an update data object for a reaction.

Parameters
[in]thisCAMP core
[in,out]rxnReaction to be updated
[out]update_dataUpdate data object

Definition at line 206 of file camp_core.F90.

◆ initialize_update_object() [3/3]

generic camp_camp_core::camp_core_t::initialize_update_object ( class(camp_core_t), intent(in)  this,
class(sub_model_data_t), intent(inout)  sub_model,
class(sub_model_update_data_t), intent(out)  update_data 
)

Initialize an update data object for a sub model.

Parameters
[in]thisCAMP core
[in,out]sub_modelSub model to be updated
[out]update_dataUpdate data object

Definition at line 206 of file camp_core.F90.

◆ is_initialized()

procedure camp_camp_core::camp_core_t::is_initialized ( class(camp_core_t), intent(in)  this)

Indicate whether the core has been initialized.

Parameters
[in]thisModel data

Definition at line 169 of file camp_core.F90.

◆ is_solver_initialized()

procedure camp_camp_core::camp_core_t::is_solver_initialized ( class(camp_core_t), intent(in)  this)

Indicate whether the solver has been initialized.

Parameters
[in]thisModel data

Definition at line 171 of file camp_core.F90.

◆ load()

procedure camp_camp_core::camp_core_t::load ( class(camp_core_t), intent(inout)  this,
type(string_t), dimension(:), intent(in), allocatable  input_file_path 
)

Load model data from a configuration file.

See Input File Format: CAMP-Chem Configuration Data for the input file format.

Parameters
[in,out]thisModel data
[in]input_file_pathPart-MC input file paths

Definition at line 165 of file camp_core.F90.

◆ load_files()

procedure camp_camp_core::camp_core_t::load_files ( class(camp_core_t), intent(inout)  this,
character(len=*), intent(in)  input_file_path 
)

Load a set of configuration files.

See Input File Format: CAMP-Chem Configuration File List for the input file format.

Parameters
[in,out]thisModel data
[in]input_file_pathPart-MC input file paths

Definition at line 163 of file camp_core.F90.

◆ new_state() [1/2]

generic camp_camp_core::camp_core_t::new_state ( class(camp_core_t), intent(in)  this,
type(env_state_t), intent(in), optional, target  env_state 
)

Get a new model state variable.

Returns
New model state
Parameters
[in]thisChemical model
[in]env_stateEnvironmental state array (one element per grid cell to solve simultaneously)

Definition at line 189 of file camp_core.F90.

Here is the call graph for this function:

◆ new_state() [2/2]

generic camp_camp_core::camp_core_t::new_state ( class(camp_core_t), intent(in)  this,
type(env_state_ptr), dimension(:), intent(in), target  env_states 
)

Get a model state variable based on the this set of model data.

Returns
New model state
Parameters
[in]thisChemical model
[in]env_statesEnvironmental state array (one element per grid cell to solve simultaneously)

Definition at line 189 of file camp_core.F90.

◆ new_state_multi_cell()

procedure camp_camp_core::camp_core_t::new_state_multi_cell ( class(camp_core_t), intent(in)  this,
type(env_state_ptr), dimension(:), intent(in), target  env_states 
)

Get a model state variable based on the this set of model data.

Returns
New model state
Parameters
[in]thisChemical model
[in]env_statesEnvironmental state array (one element per grid cell to solve simultaneously)

Definition at line 188 of file camp_core.F90.

◆ new_state_one_cell()

procedure camp_camp_core::camp_core_t::new_state_one_cell ( class(camp_core_t), intent(in)  this,
type(env_state_t), intent(in), optional, target  env_state 
)

Get a new model state variable.

Returns
New model state
Parameters
[in]thisChemical model
[in]env_stateEnvironmental state array (one element per grid cell to solve simultaneously)

Definition at line 187 of file camp_core.F90.

◆ pack_size()

procedure camp_camp_core::camp_core_t::pack_size ( class(camp_core_t), intent(in)  this,
integer, intent(in), optional  comm 
)

Determine the number of bytes required to pack the variable.

Parameters
[in]thisChemical model
[in]commMPI communicator

Definition at line 221 of file camp_core.F90.

◆ print()

procedure camp_camp_core::camp_core_t::print ( class(camp_core_t), intent(in)  this,
integer(kind=i_kind), intent(in), optional  file_unit,
logical, intent(in), optional  solver_data_only 
)

Print the core data.

Parameters
[in]thisCore data
[in]file_unitFile unit for output
[in]solver_data_onlyPrint only the solver data (can be used during runtime for debugging)

Definition at line 227 of file camp_core.F90.

◆ rxn_update_data()

procedure, private camp_camp_core::camp_core_t::rxn_update_data ( class(camp_core_t), intent(in)  this,
class(rxn_update_data_t), intent(in)  update_data 
)
private

Update data associated with a reaction. This function should be called when reaction parameters need updated from the host model. For example, this function can be called to update photolysis rates from a host model's photolysis module.

Parameters
[in]thisChemical model
[in]update_dataUpdate data

Definition at line 212 of file camp_core.F90.

◆ solve()

procedure camp_camp_core::camp_core_t::solve ( class(camp_core_t), intent(in)  this,
type(camp_state_t), intent(inout), target  camp_state,
real(kind=dp), intent(in)  time_step,
integer(kind=i_kind), intent(in), optional  rxn_phase,
type(solver_stats_t), intent(inout), optional, target  solver_stats 
)

Run the chemical mechanisms.

Parameters
[in]thisChemical model
[in,out]camp_stateCurrent model state
[in]time_stepTime step over which to integrate (s)
[in]rxn_phasePhase to solve - gas, aerosol, or both (default) Use parameters in camp_rxn_data to specify phase: GAS_RXN, AERO_RXN, GAS_AERO_RXN
[in,out]solver_statsReturn solver statistics to the host model

Definition at line 219 of file camp_core.F90.

◆ solver_initialize()

procedure camp_camp_core::camp_core_t::solver_initialize ( class(camp_core_t), intent(inout)  this)

Initialize the solver.

Parameters
[in,out]thisChemical model

Definition at line 199 of file camp_core.F90.

◆ spec_state_id()

procedure camp_camp_core::camp_core_t::spec_state_id ( class(camp_core_t), intent(in)  this,
character(len=*), intent(in)  spec_name,
integer(kind=i_kind), intent(inout)  state_id 
)

Get the index of a species on the state array by its unique name.

Returns
Flag indicating whether the species was found
Parameters
[in]thisCAMP core
[in]spec_nameSpecies unique name
[in,out]state_idSpecies state id

Definition at line 197 of file camp_core.F90.

◆ state_size()

procedure camp_camp_core::camp_core_t::state_size ( class(camp_core_t), intent(in)  this)

Get the size of the state array.

Returns
State size
Parameters
[in]thisChemical model

Definition at line 191 of file camp_core.F90.

◆ state_size_per_cell()

procedure camp_camp_core::camp_core_t::state_size_per_cell ( class(camp_core_t), intent(in)  this)

Get the size of the state array per grid cell.

Returns
State size
Parameters
[in]thisChemical model

Definition at line 193 of file camp_core.F90.

◆ sub_model_update_data()

procedure, private camp_camp_core::camp_core_t::sub_model_update_data ( class(camp_core_t), intent(in)  this,
class(sub_model_update_data_t), intent(in)  update_data 
)
private

Update data associated with a sub-model. This function should be called when sub-model parameters need updated from the host model.

Parameters
[in]thisChemical model
[in]update_dataUpdate data

Definition at line 213 of file camp_core.F90.

◆ unique_names()

procedure camp_camp_core::camp_core_t::unique_names ( class(camp_core_t), intent(in)  this)

Get an array of unique names for all species on the state array.

The order of this array is the same as the state array for one grid cell

Returns
Array of unique species names
Parameters
[in]thisCAMP core

Definition at line 195 of file camp_core.F90.

◆ update_data() [1/3]

generic camp_camp_core::camp_core_t::update_data ( class(camp_core_t), intent(in)  this,
class(sub_model_update_data_t), intent(in)  update_data 
)

Update data associated with a sub-model. This function should be called when sub-model parameters need updated from the host model.

Parameters
[in]thisChemical model
[in]update_dataUpdate data

Definition at line 214 of file camp_core.F90.

◆ update_data() [2/3]

generic camp_camp_core::camp_core_t::update_data ( class(camp_core_t), intent(in)  this,
class(rxn_update_data_t), intent(in)  update_data 
)

Update data associated with a reaction. This function should be called when reaction parameters need updated from the host model. For example, this function can be called to update photolysis rates from a host model's photolysis module.

Parameters
[in]thisChemical model
[in]update_dataUpdate data

Definition at line 214 of file camp_core.F90.

◆ update_data() [3/3]

generic camp_camp_core::camp_core_t::update_data ( class(camp_core_t), intent(in)  this,
class(aero_rep_update_data_t), intent(in)  update_data 
)

Update model data.

Parameters
[in]thisChemical model
[in]update_dataUpdate data

Definition at line 214 of file camp_core.F90.

Member Data Documentation

◆ abs_tol

real(kind=dp), dimension(:), allocatable camp_camp_core::camp_core_t::abs_tol

Definition at line 148 of file camp_core.F90.

◆ aero_phase

type(aero_phase_data_ptr), dimension(:), pointer camp_camp_core::camp_core_t::aero_phase => null()

Aerosol phases.

Definition at line 134 of file camp_core.F90.

◆ aero_rep

type(aero_rep_data_ptr), dimension(:), pointer, public camp_camp_core::camp_core_t::aero_rep => null()

Aerosol representations.

Definition at line 132 of file camp_core.F90.

◆ chem_spec_data

type(chem_spec_data_t), pointer camp_camp_core::camp_core_t::chem_spec_data => null()

Chemical species data.

Definition at line 128 of file camp_core.F90.

◆ core_is_initialized

logical camp_camp_core::camp_core_t::core_is_initialized = .false.

Flag indicating the model data has been initialized.

Definition at line 158 of file camp_core.F90.

◆ init_state

real(kind=dp), dimension(:), allocatable camp_camp_core::camp_core_t::init_state

Initial state values.

Definition at line 140 of file camp_core.F90.

◆ mechanism

type(mechanism_data_ptr), dimension(:), pointer, public camp_camp_core::camp_core_t::mechanism => null()

Chemical mechanisms FIXME set up an iterator for external modules to use and make all data members private.

Definition at line 126 of file camp_core.F90.

◆ n_cells

integer(kind=i_kind) camp_camp_core::camp_core_t::n_cells = 1

Number of cells to compute.

Definition at line 138 of file camp_core.F90.

◆ rel_tol

real(kind=dp) camp_camp_core::camp_core_t::rel_tol = 0.0

Relative integration tolerance.

Definition at line 145 of file camp_core.F90.

◆ size_state_per_cell

integer(kind=i_kind) camp_camp_core::camp_core_t::size_state_per_cell

Size of the state array per grid cell.

Definition at line 136 of file camp_core.F90.

◆ solver_data_aero

type(camp_solver_data_t), pointer, public camp_camp_core::camp_core_t::solver_data_aero => null()

Solver data (aerosol-phase reactions)

Definition at line 154 of file camp_core.F90.

◆ solver_data_gas

type(camp_solver_data_t), pointer, public camp_camp_core::camp_core_t::solver_data_gas => null()

Solver data (gas-phase reactions)

Definition at line 152 of file camp_core.F90.

◆ solver_data_gas_aero

type(camp_solver_data_t), pointer, public camp_camp_core::camp_core_t::solver_data_gas_aero => null()

Solver data (mixed gas- and aerosol-phase reactions)

Definition at line 156 of file camp_core.F90.

◆ solver_is_initialized

logical camp_camp_core::camp_core_t::solver_is_initialized = .false.

Flag indicating the solver has been initialized.

Definition at line 160 of file camp_core.F90.

◆ split_gas_aero

logical camp_camp_core::camp_core_t::split_gas_aero = .false.

Flag to split gas- and aerosol-phase reactions (for large aerosol representations, like single-particle)

Definition at line 143 of file camp_core.F90.

◆ sub_model

type(sub_model_data_ptr), dimension(:), pointer camp_camp_core::camp_core_t::sub_model => null()

Sub models.

Definition at line 130 of file camp_core.F90.

◆ var_type

integer(kind=i_kind), dimension(:), allocatable camp_camp_core::camp_core_t::var_type

Definition at line 150 of file camp_core.F90.


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