Main Page | User's Guide | Namespace List | Class List | File List | Namespace Members | Class Members

AtmoData namespace. More...


Classes

class  AtmoData::LaeaToLonlat< T >
class  AtmoData::MM5LccIndToLonlat< T >
class  AtmoData::LonlatToMM5LccInd< T >
class  AtmoData::MM5MercIndToLonlat< T >
class  AtmoData::LonlatToMM5MercInd< T >
class  AtmoData::MM5StereIndToLonlat< T >
class  AtmoData::LonlatToMM5StereInd< T >
class  AtmoData::FormatCSV
 Input/ouput class to read files in CSV format (Airparif). More...
class  AtmoData::FormatECMWF< T >
 Input/ouput class to read files in binary format at ECMWF. More...
class  AtmoData::FormatMM5
 Input/ouput class to read MM5 files (version 3). More...
class  AtmoData::MM5SubHeader
 For MM5 sub-headers. More...

Functions

float swap (float &x)
int swap (int &x)
unsigned long swap (unsigned long &x)
template<class T, int N> void swap (Array< T, N > &A)
template<class T> T ComputeWesely (T surface_temperature, T solar_radiation, string species, T reactivity, T diffusivity, T Henry, T Ri, T Rlu, T Rac, T RgsS, T RgsO, T RclS, T RclO, T limit, T D_H2O)
template<class TL, class TD, class TEFI, class TEFT, class TEFN, class TI, class TT, class TN, class TG> void ComputeBiogenicRates (Data< TL, 3, TG > &LUC, Data< TD, 1, TG > &Density, Data< TEFI, 1, TG > &EF_isoprene, Data< TEFT, 1, TG > &EF_terpenes, Data< TEFN, 1, TG > &EF_NO, Data< TI, 2, TG > &Isoprene, Data< TT, 2, TG > &Terpenes, Data< TN, 2, TG > &NO)
template<class TTemp, class TP, class TL, class TD, class TEFI, class TEFT, class TEFN, class TI, class TT, class TN, class TG> void ComputeBiogenicEmissions (Data< TTemp, 3, TG > &Temperature, Data< TP, 3, TG > &PAR, Data< TL, 3, TG > &LUC, Data< TD, 1, TG > &Density, Data< TEFI, 1, TG > &EF_isoprene, Data< TEFT, 1, TG > &EF_terpenes, Data< TEFN, 1, TG > &EF_NO, Data< TI, 3, TG > &Isoprene, Data< TT, 3, TG > &Terpenes, Data< TN, 3, TG > &NO)
 Computes biogenic emissions.
template<class TL, class TD, class TEFI, class TEFT, class TEFN, class TI, class TT, class TN, class TG> void ComputeBiogenicRates (Data< TL, 3, TG > &LUC, Data< TD, 3, TG > &Density, Data< TEFI, 1, TG > &EF_isoprene, Data< TEFT, 1, TG > &EF_terpenes, Data< TEFN, 1, TG > &EF_NO, Data< TL, 3, TG > &Isoprene, Data< TL, 3, TG > &Terpenes, Data< TL, 3, TG > &NO)
template<class TTemp, class TP, class TL, class TD, class TEFI, class TEFT, class TEFN, class TI, class TT, class TN, class TG> void ComputeBiogenicEmissions (Data< TTemp, 3, TG > &Temperature, Data< TP, 3, TG > &PAR, Data< TL, 3, TG > &LUC, Data< TD, 3, TG > &Density, Data< TEFI, 1, TG > &EF_isoprene, Data< TEFT, 1, TG > &EF_terpenes, Data< TEFN, 1, TG > &EF_NO, Data< TL, 3, TG > &Isoprene, Data< TL, 3, TG > &Terpenes, Data< TL, 3, TG > &NO)
template<class T_ref, int N, class TG_ref, class T_comp, class TG_comp> T_ref NGE (Data< T_ref, N, TG_ref > data_ref, Data< T_comp, N, TG_comp > &data_comp, Function_Base< T_ref, bool > &test)
 Computes the normalized gross error between two data sets.
template<class T_ref, int N, class TG_ref, class T_comp, class TG_comp> T_ref Bias (Data< T_ref, N, TG_ref > data_ref, Data< T_comp, N, TG_comp > &data_comp, Function_Base< T_ref, bool > &test)
 Computes the bias between two data sets.
template<class T_ref, int N, class TG_ref, class T_comp, class TG_comp> T_ref RMS (Data< T_ref, N, TG_ref > data_ref, Data< T_comp, N, TG_comp > &data_comp, Function_Base< T_ref, bool > &test)
 Computes the root mean square between two data sets.
template<class T_ref, int N, class TG_ref, class T_comp, class TG_comp> T_ref RelativeRMS (Data< T_ref, N, TG_ref > data_ref, Data< T_comp, N, TG_comp > &data_comp, Function_Base< T_ref, bool > &test)
 Computes the relative root mean square between two data sets.
template<class T_ref, int N, class TG_ref, class T_comp, class TG_comp> T_ref Corr (Data< T_ref, N, TG_ref > data_ref, Data< T_comp, N, TG_comp > &data_comp, Function_Base< T_ref, bool > &test)
 Computes the correlation between two data sets.
template<class TU, class TV, class TTp, class T, class TG> void ComputeLouisKz (Data< TU, 4, TG > &U, Data< TV, 4, TG > &V, Data< TTp, 4, TG > &Tp, Data< T, 4, TG > &Kz, T L0, T B, T C, T D, T z0, T a, T b, T delta_z0, T Ka)
 Computes vertical diffusion according to the Louis formula (1979).
template<class T, class T0> T min (T x, T0 y)
 Returns the minimum of two elements.
template<class T, class T0> T max (T x, T0 y)
 Returns the maximum of two elements.
template<class TU, class TV, class TTp, class T, class TG> void ComputeRichardson (Data< TU, 4, TG > &ZonalWind, Data< TV, 4, TG > &MeridionalWind, Data< TTp, 4, TG > &PotentialTemperature, Data< T, 4, TG > &Richardson, T wind_threshold)
 Computes the Richardson number.
template<class TU, class TV, class TTp, class T, class TG> void ComputeRichardson (Data< TU, 4, TG > &ZonalWind, Data< TV, 4, TG > &MeridionalWind, Data< TTp, 4, TG > &PotentialTemperature, Data< T, 3, TG > &Richardson, T wind_threshold)
 Computes the Richardson number in the first layer.
template<class TU, class TTp, class T, class TG> void ComputeRichardson (Data< TU, 3, TG > &WindModule, Data< TTp, 3, TG > &SurfacePotentialTemperature, Data< TTp, 4, TG > &PotentialTemperature, Data< T, 3, TG > &SurfaceRichardson, T wind_threshold)
 Computes the surface Richardson number.
template<class TR, class TU, class TTp, class T, class TG> void ComputeRichardson (Data< TR, 2, TG > &Roughness, Data< TU, 3, TG > &WindModule, Data< TTp, 3, TG > &SurfacePotentialTemperature, Data< TTp, 4, TG > &PotentialTemperature, Data< T, 3, TG > &SurfaceRichardson, T wind_threshold)
 Computes the surface Richardson number.
template<class TT, class TP, class T, class TG> void ComputePotentialTemperature (Data< TT, 4, TG > &Temperature, Data< TP, 4, TG > &Pressure, Data< T, 4, TG > &PotentialTemperature, T P0, T cp, T r)
 Computes the potential temperature.
template<class TT, class TP, class T, class TG> void ComputePotentialTemperature (Data< TT, 3, TG > &Temperature, Data< TP, 3, TG > &Pressure, Data< T, 3, TG > &PotentialTemperature, T P0, T cp, T r)
 Computes the potential temperature.
template<class TT, class TP, class T, class TG> void ComputeSaturationHumidity (Data< TT, 3, TG > &Temperature, Data< TP, 3, TG > &Pressure, Data< T, 3, TG > &SaturationHumidity)
 Computes the saturation humidity.
template<class TT, class TP, class T, class TG> void ComputeSaturationHumidity (Data< TT, 4, TG > &Temperature, Data< TP, 4, TG > &Pressure, Data< T, 4, TG > &SaturationHumidity)
 Computes the saturation humidity.
template<class TS, class TT, class TP, class T, class TG> void ComputeRelativeHumidity (Data< TS, 4, TG > &SpecificHumidity, Data< TT, 4, TG > &Temperature, Data< TP, 4, TG > &Pressure, Data< T, 4, TG > &RelativeHumidity)
 Computes the relative humidity from the specific humidity.
template<class TH, class TS, class TW, class TL, class T, class TG> void ComputeSurfaceHumidity_diag (Data< TH, 4, TG > &Humidity, Data< TS, 3, TG > &SaturationHumidity, Data< TW, 3, TG > &SoilWater, Data< TL, 3, TG > &LUC, int sea_index, Data< T, 3, TG > &SurfaceHumidity, T veg, T theta_cap)
 Computes the surface specific humidity.
template<class TS, class TP, class T, class TG> void ComputeCriticalRelativeHumidity (Data< TS, 3, TG > &SurfacePressure, Data< TP, 4, TG > &Pressure, Data< T, 4, TG > &CriticalRelativeHumidity, T coeff0, T coeff1)
 Computes the critival relative humidity.
template<class TS, class TP, class T, class TG> void ComputeCriticalRelativeHumidity_extended (Data< TS, 3, TG > &SurfacePressure, Data< TP, 4, TG > &Pressure, Data< T, 4, TG > &CriticalRelativeHumidity, T coeff0, T coeff1, T a0, T a1)
 Computes the critival relative humidity.
template<class TB, class TS, class TP, class T, class TG> void ComputeCriticalRelativeHumidity (Data< TB, 3, TG > &BoundaryLayerHeight, Data< TS, 3, TG > &SurfacePressure, Data< TP, 4, TG > &Pressure, Data< T, 4, TG > &CriticalRelativeHumidity, T coeff0, T coeff1, T BL_CRH)
 Computes the critical relative humidity.
template<class TP, class T, class TG> void ComputeCriticalRelativeHumidity (Data< TP, 4, TG > &Pressure, Data< T, 4, TG > &CriticalRelativeHumidity, T CRH_0, T CRH_1, T CRH_2, T P_0, T P_1)
 Computes the critical relative humidity.
template<class TR, class TC, class T, class TG> void ComputeCloudFraction (Data< TR, 4, TG > &RelativeHumidity, Data< TC, 4, TG > &CriticalRelativeHumidity, Data< T, 4, TG > &CloudFraction)
 Computes the cloud fraction.
template<class TP, class TR, class TC, class T, class TG> void ComputeCloudFraction (Data< TP, 3, TG > &BoundaryLayerHeight, Data< TR, 4, TG > &RelativeHumidity, Data< TC, 4, TG > &CriticalRelativeHumidity, Data< T, 4, TG > &CloudFraction)
 Computes the cloud fraction.
template<class TU, class TV, class T, class TG> void ComputeModule (Data< TU, 4, TG > &U, Data< TV, 4, TG > &V, Data< T, 4, TG > &Module)
 Computes the module of a 2D-vectors field.
template<class TU, class TV, class T, class TG> void ComputeModule (Data< TU, 4, TG > &U, Data< TV, 4, TG > &V, Data< T, 3, TG > &Module)
 Computes the module of a 2D-vectors field on the surface.
template<class TU, class TV, class T, class TG> void ComputeModule (Data< TU, 3, TG > &U, Data< TV, 3, TG > &V, Data< T, 3, TG > &Module)
 Computes the module of a 2D-vectors field on the surface.
template<class TC, class TP, class T, class TG> void ComputeCloudiness (Data< TC, 4, TG > &CloudFraction, Data< TP, 4, TG > &Pressure, Grid< TG > &GridZ_interf, Data< int, 4 > &LowIndices, Data< int, 4 > &MediumIndices, Data< int, 4 > &HighIndices, Data< T, 3, TG > &LowCloudiness, Data< T, 3, TG > &MediumCloudiness, Data< T, 3, TG > &HighCloudiness, T P_0, T P_1)
 Computes low, medium and high cloudiness, cloud base and top.
template<class TP, class TH, class T, class TG> void ComputeCloudHeight (Data< TP, 4, TG > &Pressure, Data< TH, 4, TG > &Humidity, T(CriticalRelativeHumidity)(const T &, const T &, const T &), Data< T, 3, TG > &CloudHeight)
 Computes the height of cloud basis.
template<class TH, class TCRH, class T, class TG> void ComputeCloudHeight (Data< TH, 4, TG > &Humidity, Data< TCRH, 4, TG > &CriticalRelativeHumidity, Data< T, 3, TG > &CloudHeight)
 Computes the height of cloud basis.
template<class T, class TG> void ComputeCloudHeight (Data< int, 4 > &LowIndices, Data< int, 4 > &MediumIndices, Data< int, 4 > &HighIndices, Grid< TG > &GridZ_interf, Data< T, 3, TG > &CloudHeight)
 Computes the height of cloud basis.
template<class Ta, class Tb, class TSP, class T, class TG> void ComputePressure (Data< Ta, 1, TG > &alpha, Data< Tb, 1, TG > &beta, Data< TSP, 3, TG > &SurfacePressure, Data< T, 4, TG > &Pressure, T P0)
 Computes the pressure from the surface pressure.
template<class TPS, class TP, class TT, class T, class TG> void ComputeHeight (Data< TPS, 3, TG > &SurfacePressure, Data< TP, 4, TG > &Pressure, Data< TT, 4, TG > &Temperature, Grid< T > &Height, T g, T r)
 Computes the altitudes from pressure and temperature fields.
template<class TP, class TT, class T, class TG> void ComputeInterfHeight (Data< TP, 4, TG > &Pressure, Data< TT, 4, TG > &Temperature, Grid< T > &Height, bool ground_set, T g, T r)
template<class TP, class TT, class T, class TG> void ComputeMiddleHeight (Data< TP, 4, TG > &Pressure, Data< TT, 4, TG > &Temperature, Grid< T > &InterfHeight, Grid< T > &MiddleHeight, T g, T r)
template<class TT, class TH, class T, class TG> void ComputeVirtualTemperature (Data< TT, 4, TG > &Temperature, Data< TH, 4, TG > &SpecificHumidity, Data< T, 4, TG > &VirtualTemperature, T c)
 Computes the virtual temperature.
template<class TT, class TP, class TH, class T, class TG> void ComputeCloudHeight (Data< TT, 4, TG > &Temperature, Data< TP, 4, TG > &Pressure, Data< TH, 4, TG > &Humidity, T(CriticalRelativeHumidity)(const T &, const T &, const T &), Data< T, 3, TG > &CloudHeight)
template<class TT, class TP, class TH, class TCRH, class T, class TG> void ComputeCloudHeight (Data< TT, 4, TG > &Temperature, Data< TP, 4, TG > &Pressure, Data< TH, 4, TG > &Humidity, Data< TCRH, 4, TG > &CriticalRelativeHumidity, Data< T, 3, TG > &CloudHeight)
template<class T> T ZenithAngle (T lon, T lat, int idate, T ut)
template<class TH, class TL, class TMC, class THC, class T, class TG> void ComputeAttenuation_LWC (Data< TH, 4, TG > &Humidity, Data< TH, 4, TG > &CRH, Data< TL, 4, TG > &LiquidWaterContent, Data< TMC, 3, TG > &MediumCloudiness, Data< THC, 3, TG > &HighCloudiness, int date, Data< T, 4, TG > &Attenuation)
 Computes the cloud attenuation for photolysis rates.
template<class TL, class TMC, class THC, class T, class TG> void ComputeAttenuation_LWC (Data< TL, 4, TG > &LiquidWaterContent, Data< int, 4 > LowIndices, Data< int, 4 > MediumIndices, Data< int, 4 > HighIndices, Data< TMC, 3, TG > &MediumCloudiness, Data< THC, 3, TG > &HighCloudiness, int date, Data< T, 4, TG > &Attenuation)
 Computes the cloud attenuation for photolysis rates.
template<class T, class TG> void TransformZonalWind (Data< T, 4, TG > &ZonalWind)
 Transforms the zonal wind for Polair.
template<class T, class TG> void TransformMeridionalWind (Data< T, 4, TG > &MeridionalWind)
 Transforms the meridional wind for Polair.
template<class T, int N, class TG> void Decumulate (Data< T, N, TG > &data, int length, int start)
 Decumulates data.


Detailed Description

AtmoData namespace.

Function Documentation

template<class T_ref, int N, class TG_ref, class T_comp, class TG_comp>
T_ref AtmoData::Bias Data< T_ref, N, TG_ref >  data_ref,
Data< T_comp, N, TG_comp > &  data_comp,
Function_Base< T_ref, bool > &  test
 

Computes the bias between two data sets.

Parameters:
data_ref reference data.
data_comp data to be compared with 'data_ref'.
test boolean function with two parameters; the i-th elements of 'data_ref' and 'data_comp' are taken into account if 'test(data_ref(i), data_comp(i))' is true.
Returns:
The bias.

template<class TL, class TMC, class THC, class T, class TG>
void AtmoData::ComputeAttenuation_LWC Data< TL, 4, TG > &  LiquidWaterContent,
Data< int, 4 >  LowIndices,
Data< int, 4 >  MediumIndices,
Data< int, 4 >  HighIndices,
Data< TMC, 3, TG > &  MediumCloudiness,
Data< THC, 3, TG > &  HighCloudiness,
int  date,
Data< T, 4, TG > &  Attenuation
 

Computes the cloud attenuation for photolysis rates.

Parameters:
LiquidWaterContent liquid water content (kg/m^3).
LowIndices vertical indices of base and top of low clouds.
MediumIndices vertical indices of base and top of medium clouds.
HighIndices vertical indices of base and top of high clouds.
MediumCloudiness medium cloudiness (in [0, 1]).
HighCloudiness high cloudiness (in [0, 1]). relative humidity as function of the altitude, the pressure and reference pressure.
date date in the form YYYYMMDD.
Attenuation (output) cloud attenuation coefficient.
Note:
Dimensions of LowIndices, MediumIndices and HighIndices are Nt x Ny x Nx x 2. Along the last dimension, those arrays store the index of the cloud base and the index of the cloud top (in this order). Those indices are indices of interfaces. E.g., if LowIndices(t, y, x, 0) equals 2 and LowIndices(t, y, x, 1) equals 4, then a cloud lies in layers 2 and 3.

template<class TH, class TL, class TMC, class THC, class T, class TG>
void AtmoData::ComputeAttenuation_LWC Data< TH, 4, TG > &  Humidity,
Data< TH, 4, TG > &  CRH,
Data< TL, 4, TG > &  LiquidWaterContent,
Data< TMC, 3, TG > &  MediumCloudiness,
Data< THC, 3, TG > &  HighCloudiness,
int  date,
Data< T, 4, TG > &  Attenuation
 

Computes the cloud attenuation for photolysis rates.

Parameters:
Humidity relative humidity.
CRH critical relative humidity.
LiquidWaterContent liquid water content (kg/m^3).
MediumCloudiness medium cloudiness (in [0, 1]).
HighCloudiness high cloudiness (in [0, 1]).
date date in the form YYYYMMDD.
Attenuation (output) cloud attenuation coefficient.

template<class TTemp, class TP, class TL, class TD, class TEFI, class TEFT, class TEFN, class TI, class TT, class TN, class TG>
void ComputeBiogenicEmissions Data< TTemp, 3, TG > &  Temperature,
Data< TP, 3, TG > &  PAR,
Data< TL, 3, TG > &  LUC,
Data< TD, 1, TG > &  Density,
Data< TEFI, 1, TG > &  EF_isoprene,
Data< TEFT, 1, TG > &  EF_terpenes,
Data< TEFN, 1, TG > &  EF_NO,
Data< TI, 3, TG > &  Isoprene,
Data< TT, 3, TG > &  Terpenes,
Data< TN, 3, TG > &  NO
 

Computes biogenic emissions.

Computes biogenic emissions according to Simpson et al. (1999).

Parameters:
Temperature soil or leaf temperature.
PAR Photosynthetically active radiation.
LUC Land use coverage.
EF_isoprene isoprene emission factors ( g . m^{-2} . s^{-1}).
EF_terpenes terpenes emission factors ( g . m^{-2} . s^{-1}).
EF_NO NO emission factors ( g . m^{-2} . s^{-1}).
Isoprene isoprene emissions ( g . m^{-2} . s^{-1}).
Terpenes terpenes emissions ( g . m^{-2} . s^{-1}).
NO NO emissions ( g . m^{-2} . s^{-1}).

template<class TL, class TD, class TEFI, class TEFT, class TEFN, class TI, class TT, class TN, class TG>
void ComputeBiogenicRates Data< TL, 3, TG > &  LUC,
Data< TD, 1, TG > &  Density,
Data< TEFI, 1, TG > &  EF_isoprene,
Data< TEFT, 1, TG > &  EF_terpenes,
Data< TEFN, 1, TG > &  EF_NO,
Data< TI, 2, TG > &  Isoprene,
Data< TT, 2, TG > &  Terpenes,
Data< TN, 2, TG > &  NO
 

Computes biogenic emission rates according to Simpson et al. (1999).

Parameters:
LUC Land use coverage ([0, 1]).
EF_isoprene isoprene emission factors ( g . m^{-2} . s^{-1}).
EF_terpenes terpenes emission factors ( g . m^{-2} . s^{-1}).
EF_NO NO emission factors ( g . m^{-2} . s^{-1}).
Isoprene isoprene emission rates ( g . m^{-2} . s^{-1}).
Terpenes terpenes emission rates ( g . m^{-2} . s^{-1}).
NO NO emission rates ( g . m^{-2} . s^{-1}).

template<class TP, class TR, class TC, class T, class TG>
void AtmoData::ComputeCloudFraction Data< TP, 3, TG > &  BoundaryLayerHeight,
Data< TR, 4, TG > &  RelativeHumidity,
Data< TC, 4, TG > &  CriticalRelativeHumidity,
Data< T, 4, TG > &  CloudFraction
 

Computes the cloud fraction.

Formula: inside the boundary layer, CloudFraction = 0.34 * [ (RelativeHumidity - CriticalRelativeHumidity) / (1.0 - CriticalRelativeHumidity) ] and, above the boundary layer, CloudFraction = [ (RelativeHumidity - CriticalRelativeHumidity) / (1.0 - CriticalRelativeHumidity) ]^2

Parameters:
BoundaryLayerHeight boundary layer height (m).
RelativeHumidity relative humidity.
CriticalRelativeHumidity critical relative humidity.
CloudFraction (output) cloud fraction.

template<class TR, class TC, class T, class TG>
void AtmoData::ComputeCloudFraction Data< TR, 4, TG > &  RelativeHumidity,
Data< TC, 4, TG > &  CriticalRelativeHumidity,
Data< T, 4, TG > &  CloudFraction
 

Computes the cloud fraction.

Formula: CloudFraction = [ (RelativeHumidity - CriticalRelativeHumidity) / (1.0 - CriticalRelativeHumidity) ]^2

Parameters:
RelativeHumidity relative humidity.
CriticalRelativeHumidity critical relative humidity.
CloudFraction (output) cloud fraction.

template<class T, class TG>
void AtmoData::ComputeCloudHeight Data< int, 4 > &  LowIndices,
Data< int, 4 > &  MediumIndices,
Data< int, 4 > &  HighIndices,
Grid< TG > &  GridZ_interf,
Data< T, 3, TG > &  CloudHeight
 

Computes the height of cloud basis.

Parameters:
LowIndices vertical indices of base and top of low clouds.
MediumIndices vertical indices of base and top of medium clouds.
HighIndices vertical indices of base and top of high clouds.
CloudHeight (output) altitudes of cloud basis.
Note:
Dimensions of LowIndices, MediumIndices and HighIndices are Nt x Ny x Nx x 2. Along the last dimension, those arrays store the index of the cloud base and the index of the cloud top (in this order). Those indices are indices of interfaces. E.g., if LowIndices(t, y, x, 0) equals 2 and LowIndices(t, y, x, 1) equals 4, then a cloud lies in layers 2 and 3.

template<class TH, class TCRH, class T, class TG>
void ComputeCloudHeight Data< TH, 4, TG > &  Humidity,
Data< TCRH, 4, TG > &  CriticalRelativeHumidity,
Data< T, 3, TG > &  CloudHeight
 

Computes the height of cloud basis.

Parameters:
Humidity relative humidity (kg/kg).
CriticalRelativeHumidity critical relative humidity.
CloudHeight (output) altitudes of cloud basis.

template<class TP, class TH, class T, class TG>
void ComputeCloudHeight Data< TP, 4, TG > &  Pressure,
Data< TH, 4, TG > &  Humidity,
T(CriticalRelativeHumidity  )(const T &, const T &,const T &),
Data< T, 3, TG > &  CloudHeight
 

Computes the height of cloud basis.

Parameters:
Temperature temperature (K).
Pressure pressure (Pa).
Humidity relative humidity (kg/kg).
CriticalRelativeHumidity function that returns the critical relative humidity as function of the altitude, the pressure and reference pressure.
CloudHeight (output) altitudes of cloud basis.

template<class TC, class TP, class T, class TG>
void AtmoData::ComputeCloudiness Data< TC, 4, TG > &  CloudFraction,
Data< TP, 4, TG > &  Pressure,
Grid< TG > &  GridZ_interf,
Data< int, 4 > &  LowIndices,
Data< int, 4 > &  MediumIndices,
Data< int, 4 > &  HighIndices,
Data< T, 3, TG > &  LowCloudiness,
Data< T, 3, TG > &  MediumCloudiness,
Data< T, 3, TG > &  HighCloudiness,
P_0 = 80000.,
P_1 = 45000.
 

Computes low, medium and high cloudiness, cloud base and top.

Parameters:
CloudFraction cloud fraction.
Pressure pressure (Pa).
GridZ_interf altitudes of interfaces (m).
LowIndices (output) vertical indices of base and top of low clouds.
MediumIndices (output) vertical indices of base and top of medium clouds.
HighIndices (output) vertical indices of base and top of high clouds.
LowCloudiness (output) low cloudiness.
MediumCloudiness (output) medium cloudiness.
HighCloudiness (output) high cloudiness.
P_0 first pressure limit. Default: 80 000 Pa.
P_1 second pressure limit. Default: 45 000 Pa.
Note:
Dimensions of LowIndices, MediumIndices and HighIndices are Nt x Ny x Nx x 2. Along the last dimension, those arrays store the index of the cloud base and the index of the cloud top (in this order). Those indices are indices of interfaces. E.g., if LowIndices(t, y, x, 0) equals 2 and LowIndices(t, y, x, 1) equals 4, then a cloud lies in layers 2 and 3.

template<class TP, class T, class TG>
void AtmoData::ComputeCriticalRelativeHumidity Data< TP, 4, TG > &  Pressure,
Data< T, 4, TG > &  CriticalRelativeHumidity,
CRH_0 = 0.75,
CRH_1 = 0.95,
CRH_2 = 0.95,
P_0 = 70000.,
P_1 = 40000.
 

Computes the critical relative humidity.

The relative humidity is set to CRH_0 if Pressure > P_0, to CRH_1 if P_0 >= Pressure > P_1 and to CRH_2 otherwise.

Parameters:
Pressure pressure (Pa).
CriticalRelativeHumidity (output) critical relative humidity.
CRH_0 critical relative humidity in the first layer. Default: 0.75.
CRH_1 critical relative humidity in the second layer. Default: 0.95.
CRH_2 critical relative humidity in the third layer. Default: 0.95.
P_0 first pressure limit. Default: 70 000 Pa.
P_1 second pressure limit. Default: 40 000 Pa.

template<class TB, class TS, class TP, class T, class TG>
void AtmoData::ComputeCriticalRelativeHumidity Data< TB, 3, TG > &  BoundaryLayerHeight,
Data< TS, 3, TG > &  SurfacePressure,
Data< TP, 4, TG > &  Pressure,
Data< T, 4, TG > &  CriticalRelativeHumidity,
coeff0 = 2.,
coeff1 = sqrt(3.),
BL_CRH = 0.98
 

Computes the critical relative humidity.

Formula: inside the boundary layer, CriticalRelativeHumidity = BL_CRH and, above the boundary layer, CriticalRelativeHumidity = 1.0 - coeff0 * sig (1.0 - sig) * (1.0 + (sig - 0.5) * coeff1) where sig = Pressure / SurfacePressure.

Parameters:
BoundaryLayerHeight boundary layer height (m).
SurfacePressure surface pressure (Pa).
Pressure pressure (Pa).
CriticalRelativeHumidity (output) critical relative humidity.
coeff0 coefficient (see the formula). Default: 2.0.
coeff1 coefficient (see the formula). Default: sqrt(3.).
BL_CRH critical relative humidity within the boundary layer. Default: 0.98.

template<class TS, class TP, class T, class TG>
void AtmoData::ComputeCriticalRelativeHumidity Data< TS, 3, TG > &  SurfacePressure,
Data< TP, 4, TG > &  Pressure,
Data< T, 4, TG > &  CriticalRelativeHumidity,
coeff0 = 2.,
coeff1 = sqrt(3.)
 

Computes the critival relative humidity.

Formula: CriticalRelativeHumidity = 1.0 - coeff0 * sig (1.0 - sig) * (1.0 + (sig - 0.5) * coeff1) where sig = Pressure / SurfacePressure.

Parameters:
SurfacePressure surface pressure (Pa).
Pressure pressure (Pa).
CriticalRelativeHumidity (output) critical relative humidity.
coeff0 coefficient (see the formula). Default: 2.0.
coeff1 coefficient (see the formula). Default: sqrt(3.).

template<class TS, class TP, class T, class TG>
void AtmoData::ComputeCriticalRelativeHumidity_extended Data< TS, 3, TG > &  SurfacePressure,
Data< TP, 4, TG > &  Pressure,
Data< T, 4, TG > &  CriticalRelativeHumidity,
coeff0 = 1.1,
coeff1 = sqrt(1.3),
a0 = 0.,
a1 = 1.1
 

Computes the critival relative humidity.

Extended formula: CriticalRelativeHumidity = 1.0 - coeff0 * sig^a0 (1.0 - sig)^a1 * (1.0 + (sig - 0.5) * coeff1) where sig = Pressure / SurfacePressure.

Parameters:
SurfacePressure surface pressure (Pa).
Pressure pressure (Pa).
CriticalRelativeHumidity (output) critical relative humidity.
coeff0 coefficient (see the formula). Default: 1.1.
coeff1 coefficient (see the formula). Default: sqrt(1.3).
a0 exponent (see the formula). Default: 0.0.
a1 exponent (see the formula). Default: 1.1.

template<class TPS, class TP, class TT, class T, class TG>
void AtmoData::ComputeHeight Data< TPS, 3, TG > &  SurfacePressure,
Data< TP, 4, TG > &  Pressure,
Data< TT, 4, TG > &  Temperature,
Grid< T > &  Height,
g = 9.80665,
r = 287.0
 

Computes the altitudes from pressure and temperature fields.

Level heights are computed according to: Z_{k+1} = Z_k + (r * T_k / g) * log(P_k/P_{k+1}) where Z is the altitude, T the temperature, P the pressure, k the level index, r the molar gas constant for dry air and g the standard gravity.

For the first level, Z_0 = r * T_0 / g * log(PS / P_0)
where PS is the surface pressure.
Parameters:
SurfacePressure surface pressure (Pa).
Pressure pressure (Pa).
Height (output) altitudes (m).
g (optional) standard gravity. Default: 9.80665.
r (optional) molar gas constant for dry air. Default: 287.0.
Note:
Temperature, Pressure and Height must be defined on the same grid.

template<class TP, class TT, class T, class TG>
void AtmoData::ComputeInterfHeight Data< TP, 4, TG > &  Pressure,
Data< TT, 4, TG > &  Temperature,
Grid< T > &  Height,
bool  ground_set = false,
g = 9.80665,
r = 287.0
 

Level heights are computed according to: Z_{k+1/2} = Z_{k-1/2} - (r * T_k / g) * log(P_{k+1/2}/P_{k-1/2}) where Z is the altitude, T the temperature, P the pressure, k the level index, r the molar gas constant for dry air and g the standard gravity.

Parameters:
Pressure pressure (Pa).
Height (output) altitudes (m).
g (optional) standard gravity. Default: 9.80665.
r (optional) molar gas constant for dry air. Default: 287.0.
ground_set (optional) true if ground-level altitudes are set, false if they have to be set (they are set to zero in this case). Default: false.
Note:
Temperature is provided at middle points (not interfaces). Pressure and Height are defined at interfaces (including ground-level).

template<class TU, class TV, class TTp, class T, class TG>
void AtmoData::ComputeLouisKz Data< TU, 4, TG > &  U,
Data< TV, 4, TG > &  V,
Data< TTp, 4, TG > &  Tp,
Data< T, 4, TG > &  Kz,
L0 = T(100),
B = T(5),
C = T(5),
D = T(5),
z0 = T(1),
a = T(0.115),
b = T(0.175),
delta_z0 = T(0.01),
Ka = T(0.4)
 

Computes vertical diffusion according to the Louis formula (1979).

Parameters:
U zonal wind.
V meridional wind.
Tp potential temperature.
Kz (output) vertical diffusion coefficients at the interfaces.
L0 scale parameter. Default: 100.
B parameter. Default: 5.
C parameter. Default: 5.
D parameter. Default: 5.
z0 scale parameter. Default: 1.
a parameter. Default: 0.115.
b parameter. Default: 0.175.
delta_z0 parameter. Default: 0.01.
Ka Von Karman constant. Default: 0.4.
Note:
Kz is given at the interfaces. It is assumed to be 0 at the first interface and at the last one.

The critical Richardson number is computed following Pielke (2002) and Nordeng (1986): Ric = a * (delta_z / delta_z0)^b.

template<class TP, class TT, class T, class TG>
void AtmoData::ComputeMiddleHeight Data< TP, 4, TG > &  Pressure,
Data< TT, 4, TG > &  Temperature,
Grid< T > &  InterfHeight,
Grid< T > &  MiddleHeight,
g = 9.80665,
r = 287.0
 

Level heights are computed according to: Z_k = Z_{k-1/2} + a_k * r / g * T_k where Z is the altitude, T the temperature, k the level index, r the molar gas constant for dry air, g the standard gravity and: a_k = 1 - P_{k+1/2} / (P_{k-1/2} - P_{k+1/2}) * log(P_{k-1/2} / P_{k+1/2})

Parameters:
Pressure pressure (Pa).
Temperature temperature (Pa).
InterfHeight (output) altitudes of interfaces (m).
MiddleHeight (output) altitudes of middle points (m).
g (optional) standard gravity. Default: 9.80665.
r (optional) molar gas constant for dry air. Default: 287.0.
Note:
Temperature is provided at middle points (not interfaces). Pressure is defined at interfaces (including ground-level).

template<class TU, class TV, class T, class TG>
void AtmoData::ComputeModule Data< TU, 3, TG > &  U,
Data< TV, 3, TG > &  V,
Data< T, 3, TG > &  Module
 

Computes the module of a 2D-vectors field on the surface.

This function was initially dedicated to winds. In this case, zonal winds and meridional winds are provided and the module of the wind is computed (assuming that the vertical wind is zero). Winds may be provided in two ways. The first option is to provide winds on interfaces (along x for the zonal wind, along y for the meridional wind). The second option is simply to provide winds at nodes (i.e. where the module is defined).

Parameters:
U first component of vectors.
V second component of vectors.
Module (output) surface module.

template<class TU, class TV, class T, class TG>
void AtmoData::ComputeModule Data< TU, 4, TG > &  U,
Data< TV, 4, TG > &  V,
Data< T, 3, TG > &  Module
 

Computes the module of a 2D-vectors field on the surface.

This function was initially dedicated to winds. In this case, zonal winds and meridional winds are provided and the module of the wind is computed (assuming that the vertical wind is zero). Winds may be provided in two ways. The first option is to provide winds on interfaces (along x for the zonal wind, along y for the meridional wind). The second option is simply to provide winds at nodes (i.e. where the module is defined).

Parameters:
U first component of vectors.
V second component of vectors.
Module (output) surface module.

template<class TU, class TV, class T, class TG>
void AtmoData::ComputeModule Data< TU, 4, TG > &  U,
Data< TV, 4, TG > &  V,
Data< T, 4, TG > &  Module
 

Computes the module of a 2D-vectors field.

This function was initially dedicated to winds. In this case, zonal winds and meridional winds are provided and the module of the wind is computed (assuming that the vertical wind is zero). Winds may be provided in two ways. The first option is to provide winds on interfaces (along x for the zonal wind, along y for the meridional wind). The second option is simply to provide winds at nodes (i.e. where the module is defined).

Parameters:
U first component of vectors.
V second component of vectors.
Module (output) module.

template<class TT, class TP, class T, class TG>
void AtmoData::ComputePotentialTemperature Data< TT, 3, TG > &  Temperature,
Data< TP, 3, TG > &  Pressure,
Data< T, 3, TG > &  PotentialTemperature,
P0 = 101325.,
cp = 1005.,
r = 287.0
 

Computes the potential temperature.

Formula: PotentialTemperature = Temperature * (Pressure / P0)^(-r/cp).

Parameters:
Temperature temperature (or virtual temperature).
Pressure pressure.
PotentialTemperature (output) potential temperature.
P0 (optional) standard pressure. Default: 101325 Pa.
cp (optional) specific heat of dry air at constant pressure. Default: 1005 J.kg^{-1}.K^{-1}.
r (optional) molar gas constant for air. Default: 287.0 J.kg^{-1}.K^{-1}.

template<class TT, class TP, class T, class TG>
void AtmoData::ComputePotentialTemperature Data< TT, 4, TG > &  Temperature,
Data< TP, 4, TG > &  Pressure,
Data< T, 4, TG > &  PotentialTemperature,
P0 = 101325.,
cp = 1005.,
r = 287.0
 

Computes the potential temperature.

Formula: PotentialTemperature = Temperature * (Pressure / P0)^(-r/cp).

Parameters:
Temperature temperature (or virtual temperature).
Pressure pressure.
PotentialTemperature (output) potential temperature.
P0 (optional) standard pressure. Default: 101325 Pa.
cp (optional) specific heat of dry air at constant pressure. Default: 1005 J.kg^{-1}.K^{-1}.
r (optional) molar gas constant for air. Default: 287.0 J.kg^{-1}.K^{-1}.

template<class Ta, class Tb, class TSP, class T, class TG>
void AtmoData::ComputePressure Data< Ta, 1, TG > &  alpha,
Data< Tb, 1, TG > &  beta,
Data< TSP, 3, TG > &  SurfacePressure,
Data< T, 4, TG > &  Pressure,
P0 = 101325.
 

Computes the pressure from the surface pressure.

Formula: Pressure_k = alpha_k * P0 + beta_k * SurfacePressure, where k is the level index.

Parameters:
alpha coefficients.
beta coefficients.
SurfacePressure surface pressure.
Pressure (output) pressure.
P0 (optional) standard pressure. Default: 101325 Pa.

template<class TS, class TT, class TP, class T, class TG>
void AtmoData::ComputeRelativeHumidity Data< TS, 4, TG > &  SpecificHumidity,
Data< TT, 4, TG > &  Temperature,
Data< TP, 4, TG > &  Pressure,
Data< T, 4, TG > &  RelativeHumidity
 

Computes the relative humidity from the specific humidity.

Parameters:
SpecificHumidity specific humidity (kg/kg).
Temperature temperature (or virtual temperature) (K).
Pressure pressure (Pa).
RelativeHumidity (output) relative humidity.

template<class TR, class TU, class TTp, class T, class TG>
void AtmoData::ComputeRichardson Data< TR, 2, TG > &  Roughness,
Data< TU, 3, TG > &  WindModule,
Data< TTp, 3, TG > &  SurfacePotentialTemperature,
Data< TTp, 4, TG > &  PotentialTemperature,
Data< T, 3, TG > &  SurfaceRichardson,
wind_threshold = 0.001
 

Computes the surface Richardson number.

Computes the surface Richardson number.

Parameters:
Roughness roughness height.
WindModule wind module in the first layer.
SurfacePotentialTemperature surface potential temperature.
PotentialTemperature potential temperature.
SurfaceRichardson (output) surface Richardson number.
wind_threshold (optional) minimum of the wind module. Default: 0.001.

template<class TU, class TTp, class T, class TG>
void AtmoData::ComputeRichardson Data< TU, 3, TG > &  WindModule,
Data< TTp, 3, TG > &  SurfacePotentialTemperature,
Data< TTp, 4, TG > &  PotentialTemperature,
Data< T, 3, TG > &  SurfaceRichardson,
wind_threshold = 0.001
 

Computes the surface Richardson number.

Computes the surface Richardson number.

Parameters:
WindModule wind module in the first layer.
SurfacePotentialTemperature surface potential temperature.
PotentialTemperature potential temperature.
SurfaceRichardson (output) surface Richardson number.
wind_threshold (optional) minimum of the wind shear. Default: 0.001.

template<class TU, class TV, class TTp, class T, class TG>
void AtmoData::ComputeRichardson Data< TU, 4, TG > &  ZonalWind,
Data< TV, 4, TG > &  MeridionalWind,
Data< TTp, 4, TG > &  PotentialTemperature,
Data< T, 3, TG > &  SurfaceRichardson,
wind_threshold = 0.001
 

Computes the Richardson number in the first layer.

Winds may be provided in two ways. The first option is to provide winds on interfaces (along x for the zonal wind, along y for the meridional wind). The second option is simply to provide winds at nodes (i.e. where the potential temperature and the Richardson number are defined).

Parameters:
ZonalWind zonal wind.
MeridionalWind meridional wind.
PotentialTemperature potential temperature.
Richardson (output) Richardson number in the first layer.
wind_threshold (optional) minimum of the wind shear. Default: 0.001.

template<class TU, class TV, class TTp, class T, class TG>
void AtmoData::ComputeRichardson Data< TU, 4, TG > &  ZonalWind,
Data< TV, 4, TG > &  MeridionalWind,
Data< TTp, 4, TG > &  PotentialTemperature,
Data< T, 4, TG > &  Richardson,
wind_threshold = 0.001
 

Computes the Richardson number.

Winds may be provided in two ways. The first option is to provide winds on interfaces (along x for the zonal wind, along y for the meridional wind). The second option is simply to provide winds at nodes (i.e. where the potential temperature and the Richardson number are defined).

Parameters:
ZonalWind zonal wind.
MeridionalWind meridional wind.
PotentialTemperature potential temperature.
Richardson (output) Richardson number.
wind_threshold (optional) minimum of the wind shear. Default: 0.001.

template<class TT, class TP, class T, class TG>
void AtmoData::ComputeSaturationHumidity Data< TT, 4, TG > &  Temperature,
Data< TP, 4, TG > &  Pressure,
Data< T, 4, TG > &  SaturationHumidity
 

Computes the saturation humidity.

Parameters:
Temperature temperature (or virtual temperature) (K).
Pressure pressure (Pa).
SaturationHumidity (output) saturation humidity (kg/kg).

template<class TT, class TP, class T, class TG>
void AtmoData::ComputeSaturationHumidity Data< TT, 3, TG > &  Temperature,
Data< TP, 3, TG > &  Pressure,
Data< T, 3, TG > &  SaturationHumidity
 

Computes the saturation humidity.

Parameters:
Temperature temperature (or virtual temperature) (K).
Pressure pressure (Pa).
SaturationHumidity (output) saturation humidity (kg/kg).

template<class TH, class TS, class TW, class TL, class T, class TG>
void AtmoData::ComputeSurfaceHumidity_diag Data< TH, 4, TG > &  Humidity,
Data< TS, 3, TG > &  SaturationHumidity,
Data< TW, 3, TG > &  SoilWater,
Data< TL, 3, TG > &  LUC,
int  sea_index,
Data< T, 3, TG > &  SurfaceHumidity,
veg = 1.0,
theta_cap = 0.323
 

Computes the surface specific humidity.

Parameters:
Humidity specific humidity (kg/kg).
SaturationHumidity saturation humidity (kg/kg).
SoilWater volumetric soil water content (m^3/m^3).
LUC land use coverage in format Nc x Ny x Nx where Nc is the number of land use categories. LUC(c, j, i) is the relative surface (in [0, 1]) of the category c in the cell (j, i).
sea_index index of the sea category in LUC.
SurfaceHumidity (output) surface specific humidity (kg/kg).
veg (optional) the vegetation proportion (in [0, 1]) on the ground. Default: 1.0.
theta_cap (optional) soil moisture at field capacity (m^3/m^3). Default: 0.323 m^3/m^3.

template<class TT, class TH, class T, class TG>
void AtmoData::ComputeVirtualTemperature Data< TT, 4, TG > &  Temperature,
Data< TH, 4, TG > &  SpecificHumidity,
Data< T, 4, TG > &  VirtualTemperature,
c = 0.608
 

Computes the virtual temperature.

The virtual temperature is computed according to: T_v = (1 + c * q) * T where T_s is the virtual temperature, q the specific humidity, T the temperature and c a coefficient (0.608, usually).

Parameters:
Temperature temperature (K).
SpecificHumidity specific humidity (kg/kg).
VirtualTemperature (output) virtual temperature (K).
c (optional) coefficient. Default: 0.608.
Note:
Temperature and VirtualTemperature may be the same object.

template<class T>
T AtmoData::ComputeWesely surface_temperature,
solar_radiation,
string  species,
reactivity,
diffusivity,
Henry,
Ri,
Rlu,
Rac,
RgsS,
RgsO,
RclS,
RclO,
limit = 1.e10,
D_H2O = 0.25
[inline]
 

Parameters:
surface_temperature surface temperature (K).
solar_radiation solar radiation (W.m^{-2}).
species species name, useful only if species=="O3" or species=="SO2".
reactivity reactivity factor for the species.
diffusivity molecular diffusivity for the species in air.
Henry Henry constant for the species.
Ri minimum bulk canopy stomatal resistance for water vapour.
Rlu resistance of the outer surfaces in the upper canopy.
Rac in-canopy aerodynamic resistance.
RgsS soil resistance for SO2.
RgsO soil resistance for O3.
RclS resistance due to exposed surface in the lower canopy, for SO2.
RclO resistance due to exposed surface in the lower canopy, for O3.
limit (optional) upper limit for resistances. Default: 1.e10.
D_H2O (optional) molecular diffusivity for water vapor. Default: 0.25.
Returns:
the bulk surface resistance.

template<class T_ref, int N, class TG_ref, class T_comp, class TG_comp>
T_ref Corr Data< T_ref, N, TG_ref >  data_ref,
Data< T_comp, N, TG_comp > &  data_comp,
Function_Base< T_ref, bool > &  test
 

Computes the correlation between two data sets.

Parameters:
data_ref reference data.
data_comp data to be compared with 'data_ref'.
test boolean function with two parameters; the i-th elements of 'data_ref' and 'data_comp' are taken into account if 'test(data_ref(i), data_comp(i))' is true.
Returns:
The correlation.

template<class T, int N, class TG>
void AtmoData::Decumulate Data< T, N, TG > &  data,
int  length,
int  start = 0
 

Decumulates data.

'data' stores values cumulated in time, where the time is the first dimension.

Parameters:
data data to be decumulated.
length number of time steps over which data is cumulated.
start (optional) index of the first complete cycle. Default: 0.

template<class T, class T0>
T max x,
T0  y
[inline]
 

Returns the maximum of two elements.

Parameters:
x first number.
y second number.
Returns:
The maximum of {x, y}.

template<class T, class T0>
T min x,
T0  y
[inline]
 

Returns the minimum of two elements.

Parameters:
x first number.
y second number.
Returns:
The minimum of {x, y}.

template<class T_ref, int N, class TG_ref, class T_comp, class TG_comp>
T_ref AtmoData::NGE Data< T_ref, N, TG_ref >  data_ref,
Data< T_comp, N, TG_comp > &  data_comp,
Function_Base< T_ref, bool > &  test
 

Computes the normalized gross error between two data sets.

Parameters:
data_ref reference data.
data_comp data to be compared with 'data_ref'.
test boolean function with two parameters; the i-th elements of 'data_ref' and 'data_comp' are taken into account if 'test(data_ref(i), data_comp(i))' is true.
Returns:
The normalized gross error.

template<class T_ref, int N, class TG_ref, class T_comp, class TG_comp>
T_ref AtmoData::RelativeRMS Data< T_ref, N, TG_ref >  data_ref,
Data< T_comp, N, TG_comp > &  data_comp,
Function_Base< T_ref, bool > &  test
 

Computes the relative root mean square between two data sets.

Parameters:
data_ref reference data.
data_comp data to be compared with 'data_ref'.
test boolean function with two parameters; the i-th elements of 'data_ref' and 'data_comp' are taken into account if 'test(data_ref(i), data_comp(i))' is true.
Returns:
The relative root mean square.

template<class T_ref, int N, class TG_ref, class T_comp, class TG_comp>
T_ref AtmoData::RMS Data< T_ref, N, TG_ref >  data_ref,
Data< T_comp, N, TG_comp > &  data_comp,
Function_Base< T_ref, bool > &  test
 

Computes the root mean square between two data sets.

Parameters:
data_ref reference data.
data_comp data to be compared with 'data_ref'.
test boolean function with two parameters; the i-th elements of 'data_ref' and 'data_comp' are taken into account if 'test(data_ref(i), data_comp(i))' is true.
Returns:
The root mean square.

template<class T, class TG>
void AtmoData::TransformMeridionalWind Data< T, 4, TG > &  MeridionalWind  ) 
 

Transforms the meridional wind for Polair.

Formula: MeridionalWind = MeridionalWind * cos(latitude).

Parameters:
MeridionalWind meridional wind.
Note:
Coordinates associated with MeridionalWind must be in degrees.

template<class T, class TG>
void AtmoData::TransformZonalWind Data< T, 4, TG > &  ZonalWind  ) 
 

Transforms the zonal wind for Polair.

Formula: ZonalWind = ZonalWind / cos(latitude).

Parameters:
ZonalWind zonal wind.
Note:
Coordinates associated with ZonalWind must be in degrees.

template<class T>
T AtmoData::ZenithAngle lon,
lat,
int  idate,
ut
 

Calculates solar zenith angle for a given time and location. Calculation is based on equations given in: Paltridge and Platt, Radiative Processes in Meteorology and Climatology, Elsevier, pp. 62,63, 1976. Fourier coefficients originally from: Spencer, J.W., 1971, Fourier series representation of the position of the sun, Search, 2:172. Note: This approximate program does not account for changes from year to year.

Parameters:
lon longitude of location (degrees).
lat latitude of location (degrees).
idate date in the form YYYYMMDD.
ut local time in decimal UT (e.g., 16.25 means 15 minutes after 4 pm).
Returns:
solar zenith angle (degrees).


Generated on Fri Nov 5 14:42:11 2004 for AtmoData by doxygen 1.3.8