mam  v1.0
A Modal Aerosol Model
Functions/Subroutines
mam_optics_util Module Reference

Constants used to calculate MAM optical properties. More...

Functions/Subroutines

subroutine add_longwave_absorption_optical_depth (extinction_optical_depth, optics)
 Adds absorption optical depth to optical property values. More...
 
subroutine, public add_longwave_property (extinction_optical_depth, optics)
 Adds to longwave property values. More...
 
subroutine add_shortwave_asymmetry_factor (extinction_optical_depth, single_scatter_albedo, asymmetry_factor, optics)
 Adds asymmetry factor to optical property values. More...
 
subroutine add_shortwave_extinction_optical_depth (extinction_optical_depth, single_scatter_albedo, asymmetry_factor, optics)
 Adds extinction optical depths to optical property values. More...
 
subroutine add_shortwave_forward_scattered_fraction (extinction_optical_depth, single_scatter_albedo, asymmetry_factor, optics)
 Adds forward scattered fraction to optical property values. More...
 
subroutine, public add_shortwave_property (extinction_optical_depth, single_scatter_albedo, asymmetry_factor, optics)
 Adds to shortwave property values. More...
 
subroutine add_shortwave_single_scatter_albedo (extinction_optical_depth, single_scatter_albedo, asymmetry_factor, optics)
 Adds single-scatter albedo to optical property values. More...
 
class(optics_t) function, pointer, public create_optics (property, native_shortwave_grid, native_longwave_grid, output_grid, interpolation_strategy)
 Returns an optics_t object for a given property. More...
 

Detailed Description

Constants used to calculate MAM optical properties.

Function/Subroutine Documentation

◆ add_longwave_absorption_optical_depth()

subroutine mam_optics_util::add_longwave_absorption_optical_depth ( real(kind=musica_dk), dimension(:), intent(in)  extinction_optical_depth,
class(optics_absorption_optical_depth_t), intent(inout)  optics 
)

Adds absorption optical depth to optical property values.

Definition at line 199 of file optics_util.F90.

Referenced by add_longwave_property().

◆ add_longwave_property()

subroutine, public mam_optics_util::add_longwave_property ( real(kind=musica_dk), dimension(:), intent(in)  extinction_optical_depth,
class(optics_t), intent(inout)  optics 
)

Adds to longwave property values.

Definition at line 212 of file optics_util.F90.

Referenced by mam_mode::add_longwave_optics(), and test_optics_util_functions().

◆ add_shortwave_asymmetry_factor()

subroutine mam_optics_util::add_shortwave_asymmetry_factor ( real(kind=musica_dk), dimension(:), intent(in)  extinction_optical_depth,
real(kind=musica_dk), dimension(:), intent(in)  single_scatter_albedo,
real(kind=musica_dk), dimension(:), intent(in)  asymmetry_factor,
class(optics_asymmetry_factor_t), intent(inout)  optics 
)
private

Adds asymmetry factor to optical property values.

Todo:
the parameter calculated from the lookup-table is called asymmetry factor, as is the value returned to radiation after multiplying by extinction and single-scatter albedo. Which is correct?

Definition at line 121 of file optics_util.F90.

Referenced by add_shortwave_property().

◆ add_shortwave_extinction_optical_depth()

subroutine mam_optics_util::add_shortwave_extinction_optical_depth ( real(kind=musica_dk), dimension(:), intent(in)  extinction_optical_depth,
real(kind=musica_dk), dimension(:), intent(in)  single_scatter_albedo,
real(kind=musica_dk), dimension(:), intent(in)  asymmetry_factor,
class(optics_extinction_optical_depth_t), intent(inout)  optics 
)

Adds extinction optical depths to optical property values.

Definition at line 85 of file optics_util.F90.

Referenced by add_shortwave_property().

◆ add_shortwave_forward_scattered_fraction()

subroutine mam_optics_util::add_shortwave_forward_scattered_fraction ( real(kind=musica_dk), dimension(:), intent(in)  extinction_optical_depth,
real(kind=musica_dk), dimension(:), intent(in)  single_scatter_albedo,
real(kind=musica_dk), dimension(:), intent(in)  asymmetry_factor,
class(optics_forward_scattered_fraction_t), intent(inout)  optics 
)
private

Adds forward scattered fraction to optical property values.

Definition at line 143 of file optics_util.F90.

Referenced by add_shortwave_property().

◆ add_shortwave_property()

subroutine, public mam_optics_util::add_shortwave_property ( real(kind=musica_dk), dimension(:), intent(in)  extinction_optical_depth,
real(kind=musica_dk), dimension(:), intent(in)  single_scatter_albedo,
real(kind=musica_dk), dimension(:), intent(in)  asymmetry_factor,
class(optics_t), intent(inout)  optics 
)

Adds to shortwave property values.

Definition at line 162 of file optics_util.F90.

Referenced by mam_mode::add_shortwave_optics(), and test_optics_util_functions().

◆ add_shortwave_single_scatter_albedo()

subroutine mam_optics_util::add_shortwave_single_scatter_albedo ( real(kind=musica_dk), dimension(:), intent(in)  extinction_optical_depth,
real(kind=musica_dk), dimension(:), intent(in)  single_scatter_albedo,
real(kind=musica_dk), dimension(:), intent(in)  asymmetry_factor,
class(optics_single_scatter_albedo_t), intent(inout)  optics 
)
private

Adds single-scatter albedo to optical property values.

Todo:
the parameter calculated from the lookup-table is called single-scatter albedo, as is the value returned to radiation after multiplying by extinction. Which is correct?

Definition at line 101 of file optics_util.F90.

Referenced by add_shortwave_property().

◆ create_optics()

class(optics_t) function, pointer, public mam_optics_util::create_optics ( class(property_t), intent(in)  property,
type(wavelength_grid_t), intent(in)  native_shortwave_grid,
type(wavelength_grid_t), intent(in)  native_longwave_grid,
type(wavelength_grid_t), intent(in)  output_grid,
procedure(interpolation_strategy_i), optional  interpolation_strategy 
)

Returns an optics_t object for a given property.

Definition at line 32 of file optics_util.F90.

Referenced by mam_core::new_optics(), mam_mode::new_optics(), and test_optics_util_functions().