mam  v1.0
A Modal Aerosol Model
Data Types | Modules | Functions/Subroutines | Variables
optics_lookup.F90 File Reference

The mam_optics_lookup module. More...

Go to the source code of this file.

Data Types

interface  mam_optics_lookup::optics_data_t
 
interface  mam_optics_lookup::optics_lookup_t
 

Modules

module  mam_optics_lookup
 The optics_lookup_t type and related functions.
 

Functions/Subroutines

type(optics_lookup_t) function mam_optics_lookup::constructor (config)
 Constructor of optics lookup objects. More...
 
type(optics_data_t) function mam_optics_lookup::optics_data_constructor (parameter_name, lookup_file, config)
 Constructor of optics lookup data objects. More...
 
pure subroutine mam_optics_lookup::optics_data_lookup (this, band_index, indices, residuals, axis, chebyshev_values)
 Looks up optical property data at a given wavelength band. More...
 

Variables

integer, parameter mam_optics_lookup::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 mam_optics_lookup::kabsorption = 1
 
integer, parameter mam_optics_lookup::kasymmetryfactor = 3
 
integer, parameter mam_optics_lookup::kextinction = 2
 
optical properties (Chebychev coefficient, wavelength band)

Lookup optics properties for a given wavelength-dependent refractive index

Todo:
there is no check to make sure the requested data is actually present, as this would require making this not a pure function. Check to see if this being a pure function has any benefit
Parameters
[in]refractive_indicesComplex indices of refraction (wavelength band)
real(kind=musica_dk), dimension(:,:), intent(out), optional absorption
 
real(kind=musica_dk), dimension(:,:), intent(out), optional asymmetry_factor
 
real(kind=musica_dk), dimension(:,:), intent(out), optional extinction
 
type(wavelength_grid_t) function mam_optics_lookup::grid (this)
 Returns the wavelength grid that the properties are returned on. More...
 
integer i_band
 
integer, dimension(2) indices
 
real(kind=musica_dk) elemental function mam_optics_lookup::maximum_radius__m (this)
 Returns the maximum radius of the range used to calculate the Chebychev coefficients. More...
 
real(kind=musica_dk) elemental function mam_optics_lookup::minimum_radius__m (this)
 Returns the minimum radius of the range used to calculate the Chebychev coefficients. More...
 
real(kind=musica_dk) elemental function mam_optics_lookup::normalize_radius (this, radius__m)
 Normalizes a radius to the range used to calculate the Chebychev coefficients. More...
 
integer elemental function mam_optics_lookup::number_of_chebyshev_coefficients (this)
 Returns the number of Chebyshev coefficients per band and property. More...
 
integer elemental function mam_optics_lookup::number_of_wavelength_bands (this)
 Returns the number of wavelength bands for each property. More...
 
real(kind=musica_dk), dimension(2) residuals
 
subroutine mam_optics_lookup::set_grid (this, config, lookup_file)
 Sets the wavelength grid for an optics_lookup_t object. More...
 

Detailed Description

The mam_optics_lookup module.

Definition in file optics_lookup.F90.

Variable Documentation

◆ absorption

real(kind=musica_dk), dimension(:,:), intent(out), optional absorption
private

◆ asymmetry_factor

real(kind=musica_dk), dimension(:,:), intent(out), optional asymmetry_factor
private

◆ extinction

real(kind=musica_dk), dimension(:,:), intent(out), optional extinction
private

◆ i_band

integer i_band
private

◆ indices

integer, dimension(2) indices
private

Definition at line 176 of file optics_lookup.F90.

Referenced by mam_optics_lookup::optics_data_lookup().

◆ residuals

real(kind=musica_dk), dimension(2) residuals
private

Definition at line 177 of file optics_lookup.F90.

Referenced by mam_optics_lookup::optics_data_lookup().