CAMP 1.0.0
Chemistry Across Multiple Phases
|
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. | |
The camp_camp_core module.
Definition in file camp_core.F90.