CAMP 1.0.0
Chemistry Across Multiple Phases
camp_camp_box_model_data Module Reference

A simple box model for CAMP mechanisms. More...

Data Types

type  aero_rep_profile_t
 Aerosol representation time profile. More...
 
type  camp_box_model_data_t
 CAMP Box model. More...
 
type  profile_t
 Property time profile. More...
 
type  rxn_profile_t
 Reaction rate time profile. More...
 

Functions/Subroutines

type(camp_box_model_data_t) function, pointer constructor (config_file)
 Constructor for the CAMP box model.
 
subroutine run (this, output_file_unit)
 Run the camp-chem box model.
 
subroutine create_gnuplot_config_file (this, file_prefix)
 Create a gnuplot configuration file for plotting box model results.
 
subroutine do_print (this, file_unit)
 Print out the configuration of the box model.
 
subroutine finalize (this)
 Finalize the box model.
 
type(profile_t) function profile_constructor (json, j_obj)
 Constructor for profile_t.
 
subroutine reset (this)
 Reset the profile to the initial state.
 
subroutine advance (this)
 Advance the profile by one time step.
 
real(kind=dp) function current_value (this)
 Get the current value of the profile.
 
subroutine profile_do_print (this, file_unit)
 Print the profile configuration.
 
type(rxn_profile_t) function rxn_profile_constructor (camp_core, json, j_obj)
 Constructor for rxn_profile_t.
 
subroutine update_rxn (this, camp_core)
 Update a reaction with the current rate from the profile.
 
subroutine rxn_profile_finalize (this)
 Finalize the reaction profile.
 
type(aero_rep_profile_t) function aero_rep_profile_constructor (camp_core, json, j_obj)
 Constructor for aero_rep_profile_t.
 
subroutine update_aero_rep (this, camp_core)
 Update a reaction with the current rate from the profile.
 
subroutine aero_rep_profile_finalize (this)
 Finalize the aerosol representation profile.
 

Variables

character(len= *), parameter new_line = char(10)
 
integer(kind=i_kind), parameter scripts_file_unit = 8
 

Detailed Description

A simple box model for CAMP mechanisms.

Todo

Function/Subroutine Documentation

◆ advance()

subroutine camp_camp_box_model_data::advance ( class(profile_t), intent(inout) this)
private

Advance the profile by one time step.

Parameters
[in,out]thisProperty profile

Definition at line 628 of file camp_box_model_data.F90.

◆ aero_rep_profile_constructor()

type(aero_rep_profile_t) function camp_camp_box_model_data::aero_rep_profile_constructor ( type(camp_core_t), intent(inout) camp_core,
type(json_core), intent(inout) json,
type(json_value), intent(inout), pointer j_obj )
private

Constructor for aero_rep_profile_t.

Returns
New aerosol representation profile
Parameters
[in,out]camp_coreCAMP core
[in,out]jsonJSON core
[in,out]j_objJSON object to build the profile from

Definition at line 806 of file camp_box_model_data.F90.

Here is the call graph for this function:

◆ aero_rep_profile_finalize()

subroutine camp_camp_box_model_data::aero_rep_profile_finalize ( type(aero_rep_profile_t), intent(inout) this)
private

Finalize the aerosol representation profile.

Parameters
[in,out]thisAerosol representation profile

Definition at line 931 of file camp_box_model_data.F90.

Here is the caller graph for this function:

◆ constructor()

type(camp_box_model_data_t) function, pointer camp_camp_box_model_data::constructor ( character(len=*), intent(in) config_file)
private

Constructor for the CAMP box model.

Returns
Pointer to a new box model object
Parameters
[in]config_fileBox model configuration file

Definition at line 145 of file camp_box_model_data.F90.

Here is the call graph for this function:

◆ create_gnuplot_config_file()

subroutine camp_camp_box_model_data::create_gnuplot_config_file ( class(camp_box_model_data_t), intent(in) this,
character(len=*), intent(in) file_prefix )
private

Create a gnuplot configuration file for plotting box model results.

Parameters
[in]thisBox model data
[in]file_prefixPrefix for the results file (assumes a results file name of ‘'file_prefix’_results.txt`)

Definition at line 394 of file camp_box_model_data.F90.

◆ current_value()

real(kind=dp) function camp_camp_box_model_data::current_value ( class(profile_t), intent(inout) this)
private

Get the current value of the profile.

Returns
Current value of the profile
Parameters
[in,out]thisProperty profile

Definition at line 647 of file camp_box_model_data.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ do_print()

subroutine camp_camp_box_model_data::do_print ( class(camp_box_model_data_t), intent(in) this,
integer(kind=i_kind), intent(in), optional file_unit )
private

Print out the configuration of the box model.

Parameters
[in]thisBox model data
[in]file_unitOutput file unit

Definition at line 448 of file camp_box_model_data.F90.

◆ finalize()

subroutine camp_camp_box_model_data::finalize ( type(camp_box_model_data_t), intent(inout) this)
private

Finalize the box model.

Parameters
[in,out]thisCAMP box model

Definition at line 518 of file camp_box_model_data.F90.

Here is the caller graph for this function:

◆ profile_constructor()

type(profile_t) function camp_camp_box_model_data::profile_constructor ( type(json_core), intent(inout) json,
type(json_value), intent(inout), pointer j_obj )
private

Constructor for profile_t.

Returns
New profile_t object
Parameters
[in,out]jsonJSON core
[in,out]j_objJSON object to build profile from

Definition at line 542 of file camp_box_model_data.F90.

Here is the call graph for this function:

◆ profile_do_print()

subroutine camp_camp_box_model_data::profile_do_print ( class(profile_t), intent(in) this,
integer(kind=i_kind), intent(in), optional file_unit )
private

Print the profile configuration.

Parameters
[in]thisProperty profile
[in]file_unitOutput file unit

Definition at line 661 of file camp_box_model_data.F90.

◆ reset()

subroutine camp_camp_box_model_data::reset ( class(profile_t), intent(inout) this)
private

Reset the profile to the initial state.

Parameters
[in,out]thisProperty profile

Definition at line 615 of file camp_box_model_data.F90.

◆ run()

subroutine camp_camp_box_model_data::run ( class(camp_box_model_data_t), intent(inout) this,
integer(kind=i_kind), intent(in), optional output_file_unit )
private

Run the camp-chem box model.

Parameters
[in,out]thisCAMP box model
[in]output_file_unitOutput file unit

Definition at line 322 of file camp_box_model_data.F90.

◆ rxn_profile_constructor()

type(rxn_profile_t) function camp_camp_box_model_data::rxn_profile_constructor ( type(camp_core_t), intent(inout) camp_core,
type(json_core), intent(inout) json,
type(json_value), intent(inout), pointer j_obj )
private

Constructor for rxn_profile_t.

Returns
New reaction profile
Parameters
[in,out]camp_coreCAMP core
[in,out]jsonJSON core
[in,out]j_objJSON object to build the profile from

Definition at line 691 of file camp_box_model_data.F90.

Here is the call graph for this function:

◆ rxn_profile_finalize()

subroutine camp_camp_box_model_data::rxn_profile_finalize ( type(rxn_profile_t), intent(inout) this)
private

Finalize the reaction profile.

Parameters
[in,out]thisReaction profile

Definition at line 794 of file camp_box_model_data.F90.

Here is the caller graph for this function:

◆ update_aero_rep()

subroutine camp_camp_box_model_data::update_aero_rep ( class(aero_rep_profile_t) this,
type(camp_core_t), intent(inout) camp_core )
private

Update a reaction with the current rate from the profile.

Parameters
thisAerosol representation profile
[in,out]camp_coreCAMP core

Definition at line 899 of file camp_box_model_data.F90.

Here is the call graph for this function:

◆ update_rxn()

subroutine camp_camp_box_model_data::update_rxn ( class(rxn_profile_t) this,
type(camp_core_t), intent(inout) camp_core )
private

Update a reaction with the current rate from the profile.

Parameters
thisReaction rate profile
[in,out]camp_coreCAMP core

Definition at line 760 of file camp_box_model_data.F90.

Here is the call graph for this function:

Variable Documentation

◆ new_line

character(len=*), parameter camp_camp_box_model_data::new_line = char(10)
private

Definition at line 25 of file camp_box_model_data.F90.

◆ scripts_file_unit

integer(kind=i_kind), parameter camp_camp_box_model_data::scripts_file_unit = 8
private

Definition at line 27 of file camp_box_model_data.F90.