skOpticalProperties  2.1
Public Member Functions | List of all members
skOpticalProperties_O3_BassPaurQuadratic Class Reference

#include <skabsorptiontable.h>

Inheritance diagram for skOpticalProperties_O3_BassPaurQuadratic:
skOpticalProperties skOpticalProperty_AdditionalStateInfo_TemperatureDependent skOpticalProperty_AdditionalStateInfo

Public Member Functions

virtual bool SetAtmosphericState (skClimatology *neutralatmosphere, const GEODETIC_INSTANT &pt, bool *crosssectionschanged) override
 Sets the atmospheric state and location for calculating cross-sections, usually temperature, pressure and position.
virtual bool UpdateInternalClimatology (const GEODETIC_INSTANT &pt) override
virtual bool CalculateCrossSections (double wavenumber, double *absxs, double *extxs, double *scattxs, size_t threadindex) override
 Calculate cross-sections at the specified wave-number.
virtual bool IsScatterer () const override
 Returns true if this particles scatters radiation.
virtual bool IsAbsorber () const override
 Returns true if this particles absorbs radiation radiation.
- Public Member Functions inherited from skOpticalProperties
 skOpticalProperties ()
bool GetRotatedPhaseMatrix (double wavenum, double mu, double muprime, double dphi, skRTPhaseMatrix *rotatedmatrix, size_t threadindex)
 Returns the rotated phase matrix necessary for scattering. More...
void CheckCosineRange (double *mu)
bool IsDeltaFunctionForwardScatter () const
 Returns true if this cross-section has a delta function forward scatter element.
virtual bool CalculateCrossSectionsArray (const std::vector< double > &wavenumber, std::vector< double > *absxs, std::vector< double > *extxs, std::vector< double > *scattxs)
 Calculate cross-sections at the specified array of wave-numbers. More...
virtual bool CalculatePhaseMatrix (double wavenumber, double cosscatterangle, skRTPhaseMatrix *phasematrix, size_t threadindex)
 Calculate the phase matrix at the specified wavenumber and scattering angle. More...
- Public Member Functions inherited from skOpticalProperty_AdditionalStateInfo_TemperatureDependent
virtual bool KeyedIndexFromAtmosphericState (skClimatology *neutralatmosphere, const GEODETIC_INSTANT &pt, skOpticalProperty_AdditionalStateInfoKey *index)

Detailed Description

Calculates the O3 cross-section using the Bass-Paur quadratic temperature coefficients. This is in contrast to matching class skOpticalProperties_O3_BassPaur which uses tables of temperature measurements. The data are a world standard but show signs of age and are of limited wavelength extent (no Chappuis measurements). They are are at high wavelength sampling and high wavelength resolution.

Wavelength Range
The table covers the wavelength range 245.0180 .. 342.7800 nm in 1956 samples, approx 0.05 nm per step.
Temperature Range
The Bass-Paur data set uses a quadratic temperature function where the quadratic coeffs are given for each wavelength. The valid temperature range is 203 K to 298 K. The code truncates temperature dependence curves to these limits.
Spectral Resolution
The spectral resolution is better than 0.025 nm.
Data Source
These data are an exact replication of the data in file bp.par on the IGACO site, and was copied between July 15 and July 25 2012. Note that the entries for 282.470 nm and 282.460 nm were swapped around as they are in the wrong order in the original files.
  1. Bass, A. M. and Paur, R. J., The ultraviolet cross-sections of ozone, I. Measurements Proc. Quadrennial Ozone Symp. Halkidiki, Greece, Reidel, Dordrecht, pp. 606610, 1984
  2. Bass, A. M. and Paur, R. J., The ultraviolet cross-sections of ozone, Ii. Results and temperature dependence. Proc. Quadrennial Ozone Symp. Halkidiki, Greece, Reidel, Dordrecht, pp. 611616, 1984

Member Function Documentation

virtual bool skOpticalProperties_O3_BassPaurQuadratic::UpdateInternalClimatology ( const GEODETIC_INSTANT &  pt)
Function that allows the optical properties class to update any internal
climatologies it may be using. This is useful for optical properties that use
internal climatologies to store various parameters (eg aerosols that store geographical distributions
of mode radius and mode width). The call to UpdateInternalClimatology differs from SetAtmosphericState
in its expected usage: a call to UpdateInternalClimatology configures internal climatologies so they
can quickly service the many subsequent calls to SetAtmosphericState.
ptThe time and location at which the next set of cross-sections will be needed. Note thatthe height field is usually ignored as all internal climatologies are expected to cache height profiles of their respective parameters.
True if success otherwise false.

Implements skOpticalProperties.

The documentation for this class was generated from the following files: