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

The camp_aero_rep_modal_binned_mass module. More...

Go to the source code of this file.

Data Types

interface  camp_aero_rep_modal_binned_mass::aero_rep_modal_binned_mass_t
 Modal mass aerosol representation. More...
 
type  camp_aero_rep_modal_binned_mass::aero_rep_update_data_modal_binned_mass_gmd_t
 Update GMD object. More...
 
type  camp_aero_rep_modal_binned_mass::aero_rep_update_data_modal_binned_mass_gsd_t
 Update GSD object. More...
 
interface  camp_aero_rep_modal_binned_mass::aero_rep_modal_binned_mass_create_gmd_update_data
 Interface to c aerosol representation functions. More...
 
interface  camp_aero_rep_modal_binned_mass::aero_rep_modal_binned_mass_set_gmd_update_data
 Set a new mode GMD. More...
 
interface  camp_aero_rep_modal_binned_mass::aero_rep_modal_binned_mass_create_gsd_update_data
 Allocate space for a GSD update object. More...
 
interface  camp_aero_rep_modal_binned_mass::aero_rep_modal_binned_mass_set_gsd_update_data
 Set a new mode GSD. More...
 
interface  camp_aero_rep_modal_binned_mass::aero_rep_free_update_data
 Free an update data object. More...
 

Modules

module  camp_aero_rep_modal_binned_mass
 The abstract aero_rep_modal_binned_mass_t structure and associated subroutines.
 

Macros

#define BINNED   1
 
#define MODAL   2
 
#define NUM_SECTION_   this%condensed_data_int(1)
 
#define INT_DATA_SIZE_   this%condensed_data_int(2)
 
#define REAL_DATA_SIZE_   this%condensed_data_int(3)
 
#define AERO_REP_ID_   this%condensed_data_int(4)
 
#define NUM_INT_PROP_   4
 
#define NUM_REAL_PROP_   0
 
#define NUM_ENV_PARAM_   0
 
#define MODE_INT_PROP_LOC_(x)   this%condensed_data_int(NUM_INT_PROP_+x)
 
#define MODE_REAL_PROP_LOC_(x)   this%condensed_data_int(NUM_INT_PROP_+NUM_SECTION_+x)
 
#define SECTION_TYPE_(x)   this%condensed_data_int(MODE_INT_PROP_LOC_(x))
 
#define NUM_BINS_(x)   this%condensed_data_int(MODE_INT_PROP_LOC_(x)+1)
 
#define NUM_PHASE_(x)   this%condensed_data_int(MODE_INT_PROP_LOC_(x)+2)
 
#define PHASE_STATE_ID_(x, y, b)   this%condensed_data_int(MODE_INT_PROP_LOC_(x)+2+(b-1)*NUM_PHASE_(x)+y)
 
#define PHASE_MODEL_DATA_ID_(x, y, b)   this%condensed_data_int(MODE_INT_PROP_LOC_(x)+2+NUM_BINS_(x)*NUM_PHASE_(x)+(b-1)*NUM_PHASE_(x)+y)
 
#define PHASE_NUM_JAC_ELEM_(x, y, b)   this%condensed_data_int(MODE_INT_PROP_LOC_(x)+2+2*NUM_BINS_(x)*NUM_PHASE_(x)+(b-1)*NUM_PHASE_(x)+y)
 
#define BIN_DP_(x, b)   this%condensed_data_real(MODE_REAL_PROP_LOC_(x)+(b-1)*3)
 
#define NUMBER_CONC_(x, b)   this%condensed_data_real(MODE_REAL_PROP_LOC_(x)+(b-1)*3+1)
 
#define EFFECTIVE_RADIUS_(x, b)   this%condensed_data_real(MODE_REAL_PROP_LOC_(x)+(b-1)*3+2)
 
#define PHASE_MASS_(x, y, b)   this%condensed_data_real(MODE_REAL_PROP_LOC_(x)+3*NUM_BINS_(x)+(b-1)*NUM_PHASE_(x)+y-1)
 
#define PHASE_AVG_MW_(x, y, b)   this%condensed_data_real(MODE_REAL_PROP_LOC_(x)+(3+NUM_PHASE_(x))*NUM_BINS_(x)+(b-1)*NUM_PHASE_(x)+y-1)
 

Functions/Subroutines

type(aero_rep_modal_binned_mass_t) function, pointer camp_aero_rep_modal_binned_mass::constructor ()
 Constructor for aero_rep_modal_binned_mass_t. More...
 
subroutine camp_aero_rep_modal_binned_mass::initialize (this, aero_phase_set, spec_state_id)
 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...
 
logical function camp_aero_rep_modal_binned_mass::get_section_id (this, section_name, section_id)
 Get an id for a mode or bin by name for use with updates from external modules. More...
 
integer(kind=i_kind) function camp_aero_rep_modal_binned_mass::get_size (this)
 Get the size of the section of the camp_camp_state::camp_state_t::state_var array required for this aerosol representation. More...
 
type(string_t) function, dimension(:), allocatable camp_aero_rep_modal_binned_mass::unique_names (this, phase_name, tracer_type, spec_name, phase_is_at_surface)
 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...
 
integer(kind=i_kind) function camp_aero_rep_modal_binned_mass::spec_state_id (this, unique_name)
 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...
 
character(len=:) function, allocatable camp_aero_rep_modal_binned_mass::spec_name (this, unique_name)
 Get the non-unique name of a species by its unique name. More...
 
integer(kind=i_kind) function camp_aero_rep_modal_binned_mass::num_phase_instances (this, phase_name, is_at_surface)
 Get the number of instances of a specified aerosol phase. More...
 
integer(kind=i_kind) function camp_aero_rep_modal_binned_mass::num_jac_elem (this, phase_id)
 Get the number of Jacobian elements used in calculations of aerosol mass, volume, number, etc. for a particular phase. More...
 
type(index_pair_t) function, dimension(:), allocatable camp_aero_rep_modal_binned_mass::adjacent_phases (this, phase_name_first, phase_name_second)
 Determine is specified phase(s) exist in adjacent layers. Returns array of phase_ids for adjacent phases first and second. More...
 
subroutine camp_aero_rep_modal_binned_mass::finalize (this)
 Finalize the aerosol representation. More...
 
subroutine camp_aero_rep_modal_binned_mass::finalize_array (aero_reps)
 Finalize the aerosol representation array. More...
 
subroutine camp_aero_rep_modal_binned_mass::update_data_init_gmd (this, update_data, aero_rep_type)
 Initialize a GMD update object. More...
 
subroutine camp_aero_rep_modal_binned_mass::update_data_set_gmd (this, section_id, GMD)
 Set packed update data for mode GMD. More...
 
integer(kind=i_kind) function camp_aero_rep_modal_binned_mass::internal_pack_size_gmd (this, comm)
 Determine the size of a binary required to pack the reaction data. More...
 
subroutine camp_aero_rep_modal_binned_mass::internal_bin_pack_gmd (this, buffer, pos, comm)
 Pack the given value to the buffer, advancing position. More...
 
subroutine camp_aero_rep_modal_binned_mass::internal_bin_unpack_gmd (this, buffer, pos, comm)
 Unpack the given value from the buffer, advancing position. More...
 
subroutine camp_aero_rep_modal_binned_mass::update_data_gmd_finalize (this)
 Finalize a GMD update data object. More...
 
subroutine camp_aero_rep_modal_binned_mass::update_data_gmd_finalize_array (update_data)
 Finalize a GMD update data array. More...
 
subroutine camp_aero_rep_modal_binned_mass::update_data_init_gsd (this, update_data, aero_rep_type)
 Initialize a GSD update data object. More...
 
subroutine camp_aero_rep_modal_binned_mass::update_data_set_gsd (this, section_id, GSD)
 Set packed update data for mode GSD. More...
 
integer(kind=i_kind) function camp_aero_rep_modal_binned_mass::internal_pack_size_gsd (this, comm)
 Determine the size of a binary required to pack the reaction data. More...
 
subroutine camp_aero_rep_modal_binned_mass::internal_bin_pack_gsd (this, buffer, pos, comm)
 Pack the given value to the buffer, advancing position. More...
 
subroutine camp_aero_rep_modal_binned_mass::internal_bin_unpack_gsd (this, buffer, pos, comm)
 Unpack the given value from the buffer, advancing position. More...
 
subroutine camp_aero_rep_modal_binned_mass::update_data_gsd_finalize (this)
 Finalize a GSD update data object. More...
 
subroutine camp_aero_rep_modal_binned_mass::update_data_gsd_finalize_array (update_data)
 Finalize a GSD update data array. More...
 

Variables

integer(kind=i_kind), parameter, public camp_aero_rep_modal_binned_mass::update_gmd = 0
 
integer(kind=i_kind), parameter, public camp_aero_rep_modal_binned_mass::update_gsd = 1
 

Detailed Description

The camp_aero_rep_modal_binned_mass module.

Definition in file aero_rep_modal_binned_mass.F90.

Macro Definition Documentation

◆ AERO_REP_ID_

#define AERO_REP_ID_   this%condensed_data_int(4)

◆ BIN_DP_

#define BIN_DP_ (   x,
 
)    this%condensed_data_real(MODE_REAL_PROP_LOC_(x)+(b-1)*3)

◆ BINNED

#define BINNED   1

◆ EFFECTIVE_RADIUS_

#define EFFECTIVE_RADIUS_ (   x,
 
)    this%condensed_data_real(MODE_REAL_PROP_LOC_(x)+(b-1)*3+2)

◆ INT_DATA_SIZE_

#define INT_DATA_SIZE_   this%condensed_data_int(2)

◆ MODAL

#define MODAL   2

◆ MODE_INT_PROP_LOC_

#define MODE_INT_PROP_LOC_ (   x)    this%condensed_data_int(NUM_INT_PROP_+x)

◆ MODE_REAL_PROP_LOC_

#define MODE_REAL_PROP_LOC_ (   x)    this%condensed_data_int(NUM_INT_PROP_+NUM_SECTION_+x)

◆ NUM_BINS_

#define NUM_BINS_ (   x)    this%condensed_data_int(MODE_INT_PROP_LOC_(x)+1)

◆ NUM_ENV_PARAM_

#define NUM_ENV_PARAM_   0

◆ NUM_INT_PROP_

#define NUM_INT_PROP_   4

◆ NUM_PHASE_

#define NUM_PHASE_ (   x)    this%condensed_data_int(MODE_INT_PROP_LOC_(x)+2)

◆ NUM_REAL_PROP_

#define NUM_REAL_PROP_   0

◆ NUM_SECTION_

#define NUM_SECTION_   this%condensed_data_int(1)

◆ NUMBER_CONC_

#define NUMBER_CONC_ (   x,
 
)    this%condensed_data_real(MODE_REAL_PROP_LOC_(x)+(b-1)*3+1)

◆ PHASE_AVG_MW_

#define PHASE_AVG_MW_ (   x,
  y,
 
)    this%condensed_data_real(MODE_REAL_PROP_LOC_(x)+(3+NUM_PHASE_(x))*NUM_BINS_(x)+(b-1)*NUM_PHASE_(x)+y-1)

◆ PHASE_MASS_

#define PHASE_MASS_ (   x,
  y,
 
)    this%condensed_data_real(MODE_REAL_PROP_LOC_(x)+3*NUM_BINS_(x)+(b-1)*NUM_PHASE_(x)+y-1)

◆ PHASE_MODEL_DATA_ID_

#define PHASE_MODEL_DATA_ID_ (   x,
  y,
 
)    this%condensed_data_int(MODE_INT_PROP_LOC_(x)+2+NUM_BINS_(x)*NUM_PHASE_(x)+(b-1)*NUM_PHASE_(x)+y)

◆ PHASE_NUM_JAC_ELEM_

#define PHASE_NUM_JAC_ELEM_ (   x,
  y,
 
)    this%condensed_data_int(MODE_INT_PROP_LOC_(x)+2+2*NUM_BINS_(x)*NUM_PHASE_(x)+(b-1)*NUM_PHASE_(x)+y)

◆ PHASE_STATE_ID_

#define PHASE_STATE_ID_ (   x,
  y,
 
)    this%condensed_data_int(MODE_INT_PROP_LOC_(x)+2+(b-1)*NUM_PHASE_(x)+y)

◆ REAL_DATA_SIZE_

#define REAL_DATA_SIZE_   this%condensed_data_int(3)

◆ SECTION_TYPE_

#define SECTION_TYPE_ (   x)    this%condensed_data_int(MODE_INT_PROP_LOC_(x))