mam  v1.0
A Modal Aerosol Model
Data Types | Functions/Subroutines
mam_core Module Reference

The core_t type and related functions. More...

Data Types

interface  core_t
 The Modal Aerosol Model core. More...
 
type  state_t
 Modal aerosol state. More...
 

Functions/Subroutines

type(core_t) function, pointer constructor (config)
 Constructor of the MAM core. More...
 
subroutine dump_state (this, raw_state, index)
 Dumps the raw MAM state data to an array. More...
 
subroutine load_state (this, raw_state, index)
 Loads raw MAM state data to the state_t object. More...
 
subroutine longwave_optics_array (this, environmental_state, aerosol_state, optics)
 Returns longwave optical properties. More...
 
subroutine longwave_optics_scalar (this, environmental_state, aerosol_state, optics)
 Returns longwave optical properties. More...
 
class(optics_t) function, pointer new_optics (this, property, output_grid, interpolation_strategy)
 Creates an optics_t object for a given property. More...
 
class(aerosol_state_t) function, pointer new_state (this)
 Creates a new state object for the modal aerosol. More...
 
subroutine print_state (this, aerosol_state, io_unit)
 Ouptuts the current aerosol state. More...
 
subroutine randomize (this)
 Sets the MAM state to a random, but reasonable, state. For testing only. More...
 
integer function raw_size (this)
 Returns the number of doubles needed to hold the raw MAM aerosol state. More...
 
subroutine shortwave_optics_array (this, environmental_state, aerosol_state, optics)
 Returns shortwave optical properties. More...
 
subroutine shortwave_optics_scalar (this, environmental_state, aerosol_state, optics)
 Returns shortwave optical properties. More...
 

Detailed Description

The core_t type and related functions.

Function/Subroutine Documentation

◆ constructor()

type(core_t) function, pointer mam_core::constructor ( class(config_t), intent(inout)  config)
private

Constructor of the MAM core.

Definition at line 56 of file core.F90.

Referenced by mam_core::core_t::print_state().

◆ dump_state()

subroutine mam_core::dump_state ( class(state_t), intent(in)  this,
real(kind=musica_dk), dimension(:), intent(inout)  raw_state,
integer, intent(inout), optional  index 
)

Dumps the raw MAM state data to an array.

Definition at line 360 of file core.F90.

◆ load_state()

subroutine mam_core::load_state ( class(state_t), intent(inout)  this,
real(kind=musica_dk), dimension(:), intent(in)  raw_state,
integer, intent(inout), optional  index 
)
private

Loads raw MAM state data to the state_t object.

Definition at line 338 of file core.F90.

◆ longwave_optics_array()

subroutine mam_core::longwave_optics_array ( class(core_t), intent(in)  this,
class(environmental_state_t), intent(in)  environmental_state,
class(aerosol_state_t), intent(in)  aerosol_state,
type(optics_ptr), dimension(:), intent(inout)  optics 
)

Returns longwave optical properties.

Definition at line 237 of file core.F90.

◆ longwave_optics_scalar()

subroutine mam_core::longwave_optics_scalar ( class(core_t), intent(in)  this,
class(environmental_state_t), intent(in)  environmental_state,
class(aerosol_state_t), intent(in)  aerosol_state,
class(optics_t), intent(inout), target  optics 
)

Returns longwave optical properties.

Definition at line 214 of file core.F90.

◆ new_optics()

class(optics_t) function, pointer mam_core::new_optics ( class(core_t), intent(in)  this,
class(property_t), intent(in)  property,
type(wavelength_grid_t), intent(in)  output_grid,
procedure(interpolation_strategy_i), optional  interpolation_strategy 
)
private

Creates an optics_t object for a given property.

Definition at line 131 of file core.F90.

Referenced by new_optics().

◆ new_state()

class(aerosol_state_t) function, pointer mam_core::new_state ( class(core_t), intent(in)  this)

Creates a new state object for the modal aerosol.

Definition at line 104 of file core.F90.

Referenced by new_state().

◆ print_state()

subroutine mam_core::print_state ( class(core_t), intent(in)  this,
class(aerosol_state_t), intent(in)  aerosol_state,
integer, intent(in), optional  io_unit 
)

Ouptuts the current aerosol state.

Parameters
[in]thisMAM core
[in]aerosol_stateMAM aerosol state
[in]io_unitOptional output unit (defaults to 6)

Definition at line 274 of file core.F90.

◆ randomize()

subroutine mam_core::randomize ( class(state_t), intent(inout)  this)

Sets the MAM state to a random, but reasonable, state. For testing only.

Definition at line 382 of file core.F90.

◆ raw_size()

integer function mam_core::raw_size ( class(state_t), intent(in)  this)

Returns the number of doubles needed to hold the raw MAM aerosol state.

Definition at line 322 of file core.F90.

Referenced by raw_size().

◆ shortwave_optics_array()

subroutine mam_core::shortwave_optics_array ( class(core_t), intent(in)  this,
class(environmental_state_t), intent(in)  environmental_state,
class(aerosol_state_t), intent(in)  aerosol_state,
type(optics_ptr), dimension(:), intent(inout)  optics 
)

Returns shortwave optical properties.

Definition at line 177 of file core.F90.

◆ shortwave_optics_scalar()

subroutine mam_core::shortwave_optics_scalar ( class(core_t), intent(in)  this,
class(environmental_state_t), intent(in)  environmental_state,
class(aerosol_state_t), intent(in)  aerosol_state,
class(optics_t), intent(inout), target  optics 
)

Returns shortwave optical properties.

Definition at line 154 of file core.F90.