TUV-x
Loading...
Searching...
No Matches
tuvx_temperature_parameterization_burkholder::temperature_parameterization_burkholder_t Interface Reference

Parameters for calculating cross section values based on temperature using the algoritm in Burkholder et al. Phys. Chem. Chem. Phys. 4, 1432-1437 (2002). More...

Inheritance diagram for tuvx_temperature_parameterization_burkholder::temperature_parameterization_burkholder_t:
tuvx_temperature_parameterization::temperature_parameterization_t

Public Member Functions

procedure calculate (this, temperature, wavelengths, cross_section)
 Calculate the cross section value for a specific temperature and wavelength.
 
procedure pack_size (this, comm)
 Returns the number of bytes required to pack the parameterization onto a character buffer.
 
procedure mpi_pack (this, buffer, position, comm)
 Packs the parameterization onto a character buffer.
 
procedure mpi_unpack (this, buffer, position, comm)
 Unpacks the parameterization from a character buffer.
 
type(temperature_parameterization_burkholder_t) function constructor (config)
 Constructs a Burkholder (2002) temperature-based parameterization.
 
- Public Member Functions inherited from tuvx_temperature_parameterization::temperature_parameterization_t
procedure merge_wavelength_grids (this, input_grid)
 Merges NetCDF wavelength grid with parameterization grid.
 
procedure calculate (this, temperature, wavelengths, cross_section)
 Calculate the cross section value for a specific temperature and wavelength.
 
procedure pack_size (this, comm)
 Returns the number of bytes required to pack the parameterization onto a character buffer.
 
procedure mpi_pack (this, buffer, position, comm)
 Packs the parameterization onto a character buffer.
 
procedure mpi_unpack (this, buffer, position, comm)
 Unpacks the parameterization from a character buffer.
 
type(temperature_parameterization_t) function constructor (config, wavelengths)
 

Public Attributes

real(kind=dk) a_
 
real(kind=dk) b_
 
- Public Attributes inherited from tuvx_temperature_parameterization::temperature_parameterization_t
integer n_sets_ = 0
 
real(kind=dk), dimension(:), allocatable aa_
 
real(kind=dk), dimension(:), allocatable bb_
 
real(kind=dk), dimension(:), allocatable lp_
 
real(kind=dk), dimension(:), allocatable wavelengths_
 Wavelengths in parameterization range [nm].
 
real(kind=dk) base_temperature_ = 0.0_dk
 Base temperature [K] to use in calculations.
 
real(kind=dk) base_wavelength_ = 0.0_dk
 Base wavelength [nm] to use in calcuations.
 
logical is_base_10_ = .true.
 Flag indicating whether cross section algorithm is base 10 (true) or base e (false)
 
logical is_temperature_inverted_ = .false.
 Flad indicating whether to subtract base temperature from actual temperature (false) or to subtract actual temperature from base temperature (true)
 
real(kind=dk) min_wavelength_ = 0.0_dk
 Minimum wavelength [nm] to calculate values for.
 
real(kind=dk) max_wavelength_ = 0.0_dk
 Maximum wavelength [nm] to calculate values for.
 
integer min_wavelength_index_ = 0
 Index of minimum wavelength [nm] to calculate values for.
 
integer max_wavelength_index_ = 0
 Index of maximum wavelength to calculate values for.
 
type(temperature_range_t), dimension(:), allocatable ranges_
 Temperature ranges used in parameterization.
 

Detailed Description

Parameters for calculating cross section values based on temperature using the algoritm in Burkholder et al. Phys. Chem. Chem. Phys. 4, 1432-1437 (2002).

Constructor for temperature_parameterization_burkholder_t.

Cross section elements are calculated as:

\[      Q(T) = 1 + e^{\frac{A}{B*T}}
      \sigma(T,\lambda) = \frac{aa(\lambda)}{Q(T)} + bb(\lambda)*\[1-\frac{1}{Q(T)}\]
\]

where A, B, aa, and bb are constants, T is temperature [K] and $\lambda$ is wavelength [nm].

Member Function/Subroutine Documentation

◆ mpi_pack()

procedure tuvx_temperature_parameterization_burkholder::temperature_parameterization_burkholder_t::mpi_pack ( class(temperature_parameterization_burkholder_t), intent(in) this,
character, dimension(:), intent(inout) buffer,
integer, intent(inout) position,
integer, intent(in) comm )

Packs the parameterization onto a character buffer.

Parameters
[in]thisParameterization to be packed
[in,out]bufferMemory buffer
[in,out]positionCurrent buffer position
[in]commMPI communicator

◆ mpi_unpack()

procedure tuvx_temperature_parameterization_burkholder::temperature_parameterization_burkholder_t::mpi_unpack ( class(temperature_parameterization_burkholder_t), intent(out) this,
character, dimension(:), intent(inout) buffer,
integer, intent(inout) position,
integer, intent(in) comm )

Unpacks the parameterization from a character buffer.

Parameters
[out]thisThe parameterization to be unpacked
[in,out]bufferMemory buffer
[in,out]positionCurrent buffer position
[in]commMPI communicator

◆ pack_size()

procedure tuvx_temperature_parameterization_burkholder::temperature_parameterization_burkholder_t::pack_size ( class(temperature_parameterization_burkholder_t), intent(in) this,
integer, intent(in) comm )

Returns the number of bytes required to pack the parameterization onto a character buffer.

Parameters
[in]thisParameterization to be packed
[in]commMPI communicator

The documentation for this interface was generated from the following file: