|
TUV-x
|
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...
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. | |
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)}\]
\]](form_3.png)
where A, B, aa, and bb are constants, T is temperature [K] and 
| 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.
| [in] | this | Parameterization to be packed |
| [in,out] | buffer | Memory buffer |
| [in,out] | position | Current buffer position |
| [in] | comm | MPI communicator |
| 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.
| [out] | this | The parameterization to be unpacked |
| [in,out] | buffer | Memory buffer |
| [in,out] | position | Current buffer position |
| [in] | comm | MPI communicator |
| 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.
| [in] | this | Parameterization to be packed |
| [in] | comm | MPI communicator |