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

The optics_lookup_t type and related functions. More...

Data Types

interface  optics_data_t
 
interface  optics_lookup_t
 

Functions/Subroutines

type(optics_lookup_t) function constructor (config)
 Constructor of optics lookup objects. More...
 
type(optics_data_t) function optics_data_constructor (parameter_name, lookup_file, config)
 Constructor of optics lookup data objects. More...
 
pure subroutine optics_data_lookup (this, band_index, indices, residuals, axis, chebyshev_values)
 Looks up optical property data at a given wavelength band. More...
 
real(kind=musica_dk) elemental function normalize_radius (this, radius__m)
 Normalizes a radius to the range used to calculate the Chebychev coefficients. More...
 
real(kind=musica_dk) elemental function maximum_radius__m (this)
 Returns the maximum radius of the range used to calculate the Chebychev coefficients. More...
 
real(kind=musica_dk) elemental function minimum_radius__m (this)
 Returns the minimum radius of the range used to calculate the Chebychev coefficients. More...
 
integer elemental function number_of_chebyshev_coefficients (this)
 Returns the number of Chebyshev coefficients per band and property. More...
 
integer elemental function number_of_wavelength_bands (this)
 Returns the number of wavelength bands for each property. More...
 
type(wavelength_grid_t) function grid (this)
 Returns the wavelength grid that the properties are returned on. More...
 
subroutine set_grid (this, config, lookup_file)
 Sets the wavelength grid for an optics_lookup_t object. More...
 

Variables

integer, parameter knumberofparameters = 3
 Number of possible optics parameters. More...
 
Local indices for optics parameters
Todo:
are "specific extinction", "specific absorption", and "asymmetry factor" the correct names for the optical properties returned from the lookup tables?
integer, parameter kabsorption = 1
 
integer, parameter kextinction = 2
 
integer, parameter kasymmetryfactor = 3
 

Detailed Description

The optics_lookup_t type and related functions.

Function/Subroutine Documentation

◆ constructor()

type(optics_lookup_t) function mam_optics_lookup::constructor ( class(config_t), intent(inout)  config)
private

Constructor of optics lookup objects.

Definition at line 76 of file optics_lookup.F90.

◆ grid()

type(wavelength_grid_t) function mam_optics_lookup::grid ( class(optics_lookup_t), intent(in)  this)
private

Returns the wavelength grid that the properties are returned on.

Definition at line 278 of file optics_lookup.F90.

Referenced by grid().

◆ maximum_radius__m()

real(kind=musica_dk) elemental function mam_optics_lookup::maximum_radius__m ( class(optics_lookup_t), intent(in)  this)
private

Returns the maximum radius of the range used to calculate the Chebychev coefficients.

Definition at line 233 of file optics_lookup.F90.

Referenced by maximum_radius__m().

◆ minimum_radius__m()

real(kind=musica_dk) elemental function mam_optics_lookup::minimum_radius__m ( class(optics_lookup_t), intent(in)  this)
private

Returns the minimum radius of the range used to calculate the Chebychev coefficients.

Definition at line 245 of file optics_lookup.F90.

Referenced by minimum_radius__m().

◆ normalize_radius()

real(kind=musica_dk) elemental function mam_optics_lookup::normalize_radius ( class(optics_lookup_t), intent(in)  this,
real(kind=musica_dk), intent(in)  radius__m 
)
private

Normalizes a radius to the range used to calculate the Chebychev coefficients.

Radii are converted to ln(radius) prior to normalization

Normalized radii range from -1...1

Parameters
[in]radius__mAerosol surface mode radius (mode radius of the surface area distribution)

Definition at line 211 of file optics_lookup.F90.

Referenced by normalize_radius().

◆ number_of_chebyshev_coefficients()

integer elemental function mam_optics_lookup::number_of_chebyshev_coefficients ( class(optics_lookup_t), intent(in)  this)
private

Returns the number of Chebyshev coefficients per band and property.

Definition at line 256 of file optics_lookup.F90.

Referenced by number_of_chebyshev_coefficients().

◆ number_of_wavelength_bands()

integer elemental function mam_optics_lookup::number_of_wavelength_bands ( class(optics_lookup_t), intent(in)  this)
private

Returns the number of wavelength bands for each property.

Definition at line 267 of file optics_lookup.F90.

Referenced by number_of_wavelength_bands().

◆ optics_data_constructor()

type(optics_data_t) function mam_optics_lookup::optics_data_constructor ( character(len=*), intent(in)  parameter_name,
class(io_t), intent(inout)  lookup_file,
class(config_t), intent(inout)  config 
)

Constructor of optics lookup data objects.

Definition at line 329 of file optics_lookup.F90.

◆ optics_data_lookup()

pure subroutine mam_optics_lookup::optics_data_lookup ( class(optics_data_t), intent(in)  this,
integer, intent(in)  band_index,
integer, dimension(2), intent(in)  indices,
real(kind=musica_dk), dimension(2), intent(in)  residuals,
type(lookup_2d_axis_t), intent(in)  axis,
real(kind=musica_dk), dimension(:), intent(out)  chebyshev_values 
)

Looks up optical property data at a given wavelength band.

Definition at line 360 of file optics_lookup.F90.

◆ set_grid()

subroutine mam_optics_lookup::set_grid ( class(optics_lookup_t), intent(inout)  this,
class(config_t), intent(inout)  config,
class(io_t), intent(inout)  lookup_file 
)
private

Sets the wavelength grid for an optics_lookup_t object.

Definition at line 293 of file optics_lookup.F90.

Variable Documentation

◆ kabsorption

integer, parameter mam_optics_lookup::kabsorption = 1
private

Definition at line 25 of file optics_lookup.F90.

Referenced by constructor().

◆ kasymmetryfactor

integer, parameter mam_optics_lookup::kasymmetryfactor = 3
private

Definition at line 27 of file optics_lookup.F90.

Referenced by constructor().

◆ kextinction

integer, parameter mam_optics_lookup::kextinction = 2
private

Definition at line 26 of file optics_lookup.F90.

Referenced by constructor().

◆ knumberofparameters

integer, parameter mam_optics_lookup::knumberofparameters = 3
private

Number of possible optics parameters.

Definition at line 30 of file optics_lookup.F90.

Referenced by constructor().