CAMP 1.0.0
Chemistry Across Multiple Phases
Data Types | Modules | Functions/Subroutines
camp_core.F90 File Reference

The camp_camp_core module. More...

Go to the source code of this file.

Data Types

interface  camp_camp_core::camp_core_t
 Part-MC model data. More...
 

Modules

module  camp_camp_core
 The camp_core_t structure and associated subroutines.
 

Functions/Subroutines

type(camp_core_t) function, pointer camp_camp_core::constructor (input_file_path, n_cells)
 Constructor for camp_core_t.
 
subroutine camp_camp_core::load_files (this, input_file_path)
 Load a set of model data files.
 
subroutine camp_camp_core::load (this, input_file_path)
 Load model data from input files.
 
subroutine camp_camp_core::initialize (this)
 Initialize the model data.
 
logical function camp_camp_core::is_initialized (this)
 Inidicate whether the core has been initialized.
 
logical function camp_camp_core::is_solver_initialized (this)
 Inidicate whether the solver has been initialized.
 
logical function camp_camp_core::get_aero_phase (this, aero_phase_name, aero_phase)
 Get a pointer to an aerosol phase by name.
 
logical function camp_camp_core::get_aero_rep (this, aero_rep_name, aero_rep)
 Get a pointer to an aerosol representation by name.
 
logical function camp_camp_core::get_chem_spec_data (this, chem_spec_data)
 Get a pointer to the chemical species data.
 
logical function camp_camp_core::get_mechanism (this, mech_name, mechanism)
 Get a pointer to a mechanism by name.
 
logical function camp_camp_core::get_sub_model (this, sub_model_name, sub_model)
 Find an sub-model by name.
 
real(kind=dp) function camp_camp_core::get_rel_tol (this)
 Get the relative tolerance for the solver.
 
real(kind=dp) function camp_camp_core::get_abs_tol (this, spec_id)
 Get the absolute tolerance for a species on the state array.
 
type(camp_state_t) function, pointer camp_camp_core::new_state_multi_cell (this, env_states)
 Get a model state variable based on the this set of model data.
 
type(camp_state_t) function, pointer camp_camp_core::new_state_one_cell (this, env_state)
 Get a model state variable based on the this set of model data This is also called for multi-cell systems when no env_state_t array is passed.
 
integer(kind=i_kind) function camp_camp_core::state_size (this)
 Get the size of the state array.
 
integer(kind=i_kind) function camp_camp_core::state_size_per_cell (this)
 Get the size of the state array for each grid cell.
 
type(string_t) function, dimension(:), allocatable camp_camp_core::unique_names (this)
 Get an array of unique names for all species on the state array.
 
logical function camp_camp_core::spec_state_id (this, spec_name, state_id)
 Get the id of a species on the state array by its unique name.
 
subroutine camp_camp_core::solver_initialize (this)
 Initialize the solver.
 
subroutine camp_camp_core::free_solver (this)
 Free the solver memory.
 
subroutine camp_camp_core::initialize_aero_rep_update_object (this, aero_rep, update_data)
 Initialize an update data object for an aerosol representation.
 
subroutine camp_camp_core::initialize_rxn_update_object (this, rxn, update_data)
 Initialize an update data object for a reaction.
 
subroutine camp_camp_core::initialize_sub_model_update_object (this, sub_model, update_data)
 Initialize an update data object for a sub model.
 
subroutine camp_camp_core::aero_rep_update_data (this, update_data)
 Update data associated with an aerosol representation. This function should be called by an external aerosol microphysics model whenever the aerosol condensed data needs updated based on changes in, e.g., particle size or number concentration. The update types are aerosol- representation specific.
 
subroutine camp_camp_core::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.
 
subroutine camp_camp_core::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.
 
subroutine camp_camp_core::solve (this, camp_state, time_step, rxn_phase, solver_stats)
 Integrate the chemical mechanism.
 
integer(kind=i_kind) function camp_camp_core::pack_size (this, comm)
 Determine the size of a binary required to pack the mechanism.
 
subroutine camp_camp_core::bin_pack (this, buffer, pos, comm)
 Pack the given value to the buffer, advancing position.
 
subroutine camp_camp_core::bin_unpack (this, buffer, pos, comm)
 Unpack the given value from the buffer, advancing position.
 
subroutine camp_camp_core::do_print (this, file_unit, solver_data_only)
 Print the core data.
 
elemental subroutine camp_camp_core::finalize (this)
 Finalize the core.
 
subroutine camp_camp_core::add_aero_phase (this, phase_name)
 Add a aerosol phase to the model data.
 
subroutine camp_camp_core::add_aero_rep (this, rep_name)
 Add a aerosol representation to the model data.
 
subroutine camp_camp_core::add_mechanism (this, mech_name)
 Add a chemical mechanism to the model data.
 
subroutine camp_camp_core::add_sub_model (this, sub_model_name)
 Add a sub-model to the model data.
 

Detailed Description

The camp_camp_core module.

Definition in file camp_core.F90.