MeteoIODoc 20241221.207bde49
mio::Atmosphere Class Reference

Detailed Description

A class to calculate the atmosphere's parameters.

Author
Mathias Bavay
Date
2010-06-10

#include <Atmosphere.h>

Static Public Member Functions

static double gravity (const double &altitude, const double &latitude)
 Acceleration due to gravity. More...
 
static double stdAirPressure (const double &altitude)
 Standard atmospheric pressure as a function of the altitude. This is based on the following formula (with h the altitude, P0 and T0 the standard sea level pressure and temperature, L the dry adiabatic lapse rate and R0 the earth's radius): More...
 
static double reducedAirPressure (const double &pressure, const double &altitude, const double &latitude)
 Atmospheric pressure reduced to sea level. This calculates the following formula (with P the pressure at altitude h, L the adiabatic lapse rate, and T0 the standard sea level temperature, the air mol mass m, gravity g at height, and the gas constant R): More...
 
static double stdDryAirDensity (const double &altitude, const double &temperature)
 Standard dry air pressure. More...
 
static double vaporSaturationPressure (const double &T)
 Standard water vapor saturation pressure. See Murray, F. W., "On the computation of saturation vapor pressure", 1966, J. Appl. Meteor., 6, 203–204, doi: 10.1175/1520-0450(1967)006<0203:OTCOSV>2.0.CO;2. More...
 
static double vaporSaturationPressureWater (const double &T)
 Standard water vapor saturation pressure, assuming "over water" for the full temperature range. See Murray, F. W., "On the computation of saturation vapor pressure", 1966, J. Appl. Meteor., 6, 203–204, doi: 10.1175/1520-0450(1967)006<0203:OTCOSV>2.0.CO;2. More...
 
static double virtualTemperatureFactor (const double &e, const double &p)
 Virtual temperature multiplying factor. In order to get a virtual temperature, multiply the original temperature by this factor. Note: since e/p is actually used, both pressures only need to have the same units. More...
 
static double waterVaporDensity (const double &Temperature, const double &VaporPressure)
 Calculates the water vapor density, for a given temperature and vapor pressure. More...
 
static double wetBulbTemperature (const double &T, const double &RH, const double &altitude)
 Standard atmosphere wet bulb temperature. This gives the lowest temperature that could be reached by water evaporation. It is therefore linked to relative humidity. This implementation assumes a standard atmosphere for pressure and saturation pressure. More...
 
static double blackGlobeTemperature (const double &TA, const double &RH, const double &VW, const double &iswr_dir, const double &iswr_diff, const double &cos_Z)
 Black Globe Temperature. This is an estimation of the black globe temperature based on physical modeling as in V. E. Dimiceli, S. F. Piltz and S. A. Amburn, "Estimation of Black Globe Temperature for Calculation of the Wet Bulb Globe Temperature Index" in World Congress on Engineering and Computer Science, 2, 2011. More...
 
static double windLogProfile (const double &v_ref, const double &z_ref, const double &z, const double &z0=0.03)
 Wind log profile. This is used to compute the equivalent wind speed at a different height. More...
 
static double windChill (const double &TA, const double &VW)
 Wind chill temperature. This is an index aiming at expressing the human-percived feeling of air temperature on exposed skin due to wind. This is NOT a scientific measurement, only an index to express a subjective feeling. It is inapplicable above 10 Celsius and a few m/s wind (5 m/s used here), therefore returning air temperature. More...
 
static double heatIndex (const double &TA, const double &RH)
 Heat index. This is an index aiming at expressing the human-perceived air temperature due to humidity. This is NOT a scientific measurement, only an index to express a subjective feeling. It is inapplicable below 26.7 Celsius and below 40% humidity, therefore returning air temperature. More...
 
static double WBGT_index (const double &TA, const double &RH, const double &VW, const double &iswr_dir, const double &iswr_diff, const double &cos_Z, const double &altitude)
 Wet Bulb Globe Temperature index. This is an index aiming at expressing the human-perceived air temperature due to humidity, wind and radiation. This is the foundation of ISO 7243 and is widely used for physical activity safety evaluation (for example for physical training). More...
 
static double Brutsaert_emissivity (const double &RH, const double &TA)
 Evaluate the atmosphere emissivity for clear sky. This uses the formula from Brutsaert – "On a Derivable Formula for Long-Wave Radiation From Clear Skies", Journal of Water Resources Research, 11, No. 5, October 1975, pp 742-744. Alternative: Satterlund (1979): Water Resources Research, 15, 1649-1650. More...
 
static double Brutsaert_ilwr (const double &RH, const double &TA)
 Evaluate the long wave radiation for clear sky. This uses the formula from Brutsaert – "On a Derivable Formula for Long-Wave Radiation From Clear Skies", Journal of Water Resources Research, 11, No. 5, October 1975, pp 742-744. Alternative: Satterlund (1979): Water Resources Research, 15, 1649-1650. More...
 
static double Dilley_emissivity (const double &RH, const double &TA)
 Evaluate the atmosphere emissivity for clear sky. This uses the formula from Dilley and O'Brien – "Estimating downward clear sky long-wave irradiance at the surface from screen temperature and precipitable water", Q. J. R. Meteorolo. Soc., 124, 1998, pp 1391-1401. The long wave is computed and the ratio of this long wave to a black body emission gives an emissivity. More...
 
static double Dilley_ilwr (const double &RH, const double &TA)
 Evaluate the long wave radiation for clear sky. This uses the formula from Dilley and O'Brien – "Estimating downward clear sky long-wave irradiance at the surface from screen temperature and precipitable water", Q. J. R. Meteorolo. Soc., 124, 1998, pp 1391-1401. More...
 
static double Prata_emissivity (const double &RH, const double &TA)
 Evaluate the atmosphere emissivity for clear sky. This uses the formula from Prata – "A new long-wave formula for estimating downward clear-sky radiation at the surface", Q. J. R. Meteorolo. Soc., 122, 1996, pp 1127-1151. More...
 
static double Prata_ilwr (const double &RH, const double &TA)
 Evaluate the long wave radiation for clear sky. This uses the formula from Prata – "A new long-wave formula for estimating downward clear-sky radiation at the surface", Q. J. R. Meteorolo. Soc., 122, 1996, pp 1127-1151. More...
 
static double Clark_emissivity (const double &RH, const double &TA)
 Evaluate the atmosphere emissivity for clear sky. This uses the formula from Clark & Allen – "The estimation of atmospheric radiation for clear and cloudy skies", Proceedings of the second national passive solar conference, 2, 1978, p 676. More...
 
static double Clark_ilwr (const double &RH, const double &TA)
 Evaluate the long wave radiation for clear sky. This uses the formula from Clark & Allen – "The estimation of atmospheric radiation for clear and cloudy skies", Proceedings of the second national passive solar conference, 2, 1978, p 676. More...
 
static double Tang_emissivity (const double &RH, const double &TA)
 Evaluate the atmosphere emissivity for clear sky. This uses the formula from Tang, Etzion and Meir – "Estimates of clear night sky emissivity in the Negev Highlands, Israel", Energy Conversion and Management, 45.11, 2004, pp 1831-1843. More...
 
static double Tang_ilwr (const double &RH, const double &TA)
 Evaluate the long wave radiation for clear sky. This uses the formula from Tang, Etzion and Meir – "Estimates of clear night sky emissivity in the Negev Highlands, Israel", Energy Conversion and Management, 45.11, 2004, pp 1831-1843. More...
 
static double Idso_emissivity (const double &RH, const double &TA)
 Evaluate the atmosphere emissivity for clear sky. This uses the formula from Idso – "A set of equations for full spectrum and 8 to 14 um and 10.5 to 12.5 um thermal radiation from cloudless skies", Water Resources Research, 17, 1981, pp 295-304. More...
 
static double Idso_ilwr (const double &RH, const double &TA)
 Evaluate the long wave radiation for clear sky. This uses the formula from Idso – "A set of equations for full spectrum and 8 to 14 um and 10.5 to 12.5 um thermal radiation from cloudless skies", Water Resources Research, 17, 1981, pp 295-304. More...
 
static double Omstedt_emissivity (const double &RH, const double &TA, const double &cloudiness)
 Evaluate the atmosphere emissivity from the water vapor pressure and cloudiness. This is according to A. Omstedt, "A coupled one-dimensional sea ice-ocean model applied to a semi-enclosed basin", Tellus, 42 A, 568-582, 1990, DOI:10.1034/j.1600-0870.1990.t01-3-00007.x. More...
 
static double Omstedt_ilwr (const double &RH, const double &TA, const double &cloudiness)
 Evaluate the long wave radiation from RH, TA and cloudiness. This is according to A. Omstedt, "A coupled one-dimensional sea ice-ocean model applied to a semi-enclosed basin", Tellus, 42 A, 568-582, 1990, DOI:10.1034/j.1600-0870.1990.t01-3-00007.x. More...
 
static double Konzelmann_emissivity (const double &RH, const double &TA, const double &cloudiness)
 Evaluate the atmosphere emissivity from the water vapor pressure and cloudiness. This is according to Konzelmann, Thomas, et al. "Parameterization of global and longwave incoming radiation for the Greenland Ice Sheet." Global and Planetary change 9.1 (1994): 143-164. More...
 
static double Konzelmann_ilwr (const double &RH, const double &TA, const double &cloudiness)
 Evaluate the long wave radiation from RH, TA and cloudiness. This is according to Konzelmann, Thomas, et al. "Parameterization of global and longwave incoming radiation for the Greenland Ice Sheet." Global and Planetary change 9.1 (1994): 143-164. More...
 
static double Carmona_emissivity (const double &RH, const double &TA, const double &cloudiness)
 Evaluate the atmosphere emissivity from RH, TA and cloudiness. This is according to Carmona, Rivas, and Caselles. "Estimation of daytime downward longwave radiation under clear and cloudy skies conditions over a sub-humid region." Theoretical and applied climatology 115.1-2 (2014): 281-295. Here the second variant (MLRM-2) is implemented. More...
 
static double Carmona_ilwr (const double &RH, const double &TA, const double &cloudiness)
 Evaluate the long wave radiation from RH, TA and cloudiness. This is according to Carmona, Rivas, and Caselles. "Estimation of daytime downward longwave radiation under clear and cloudy skies conditions over a sub-humid region." Theoretical and applied climatology 115.1-2 (2014): 281-295. Here the second variant (MLRM-2) is implemented. More...
 
static double Crawford_ilwr (const double &RH, const double &TA, const double &iswr_meas, const double &iswr_clear_sky, const unsigned char &month, const double &cloudiness=IOUtils::nodata)
 Evaluate the long wave radiation for clear or cloudy sky. This uses the formula from Crawford and Duchon – "An Improved Parametrization for Estimating Effective Atmospheric Emissivity for Use in Calculating Daytime Downwelling Longwave Radiation", Journal of Applied Meteorology, 38, 1999, pp 474-480. If no cloud cover fraction is provided, a parametrization using iswr_meas and iswr_clear_sky will be used (same as in Lhomme et al., 2007). These parameters can therefore safely be set to IOUtils::nodata if cloudiness is provided. More...
 
static double Crawford_ilwr (const double &lat, const double &lon, const double &altitude, const double &julian, const double &TZ, const double &RH, const double &TA, const double &ISWR, const double &cloudiness=IOUtils::nodata)
 Evaluate the long wave radiation for clear or cloudy sky. This uses the formula from Crawford and Duchon – "An Improved Parametrization for Estimating Effective Atmospheric Emissivity for Use in Calculating Daytime Downwelling Longwave Radiation", Journal of Applied Meteorology, 38, 1999, pp 474-480. If no cloud cover fraction is provided, a parametrization using the current location (lat, lon, altitude) and ISWR will be used. These parameters can therefore safely be set to IOUtils::nodata if cloudiness is provided. More...
 
static double Unsworth_ilwr (const double &RH, const double &TA, const double &iswr_meas, const double &iswr_clear_sky, const double &cloudiness=IOUtils::nodata)
 Evaluate the long wave radiation for clear or cloudy sky. This uses the formula from Unsworth and Monteith – "Long-wave radiation at the ground", Q. J. R. Meteorolo. Soc., Vol. 101, 1975, pp 13-24 coupled with a clear sky emissivity following Dilley, 1998. If no cloud cover fraction is provided, a parametrization (solar index according to Kasten and Czeplak (1980)) using iswr_meas and iswr_clear_sky will be used. These parameters can therefore safely be set to IOUtils::nodata if cloudiness is provided. More...
 
static double Unsworth_ilwr (const double &lat, const double &lon, const double &altitude, const double &julian, const double &TZ, const double &RH, const double &TA, const double &ISWR, const double &cloudiness=IOUtils::nodata)
 Evaluate the long wave radiation for clear or cloudy sky. This uses the formula from Unsworth and Monteith – "Long-wave radiation at the ground", Q. J. R. Meteorolo. Soc., Vol. 101, 1975, pp 13-24 coupled with a clear sky emissivity following Dilley, 1998. If no cloud cover fraction is provided, a parametrization (according to Kasten and Czeplak (1980)) using the current location (lat, lon, altitude) and ISWR will be used. These parameters can therefore safely be set to IOUtils::nodata if cloudiness is provided. More...
 
static double Lhomme_ilwr (const double &RH, const double &TA, const double &iswr_meas, const double &iswr_clear_sky, const double &cloudiness)
 Evaluate the long wave radiation for clear or cloudy sky. This uses the formula from Lhomme et al. – "Estimating downward long-wave radiation on the Andean Altiplano", Agric. For. Meteorol., 145, 2007, pp 139–148, doi:10.1016/j.agrformet.2007.04.007. If no cloud cover fraction is provided, a parametrization using iswr_meas and iswr_clear_sky will be used. These parameters can therefore safely be set to IOUtils::nodata if cloudiness is provided. More...
 
static double Lhomme_ilwr (const double &lat, const double &lon, const double &altitude, const double &julian, const double &TZ, const double &RH, const double &TA, const double &ISWR, const double &cloudiness=IOUtils::nodata)
 Evaluate the long wave radiation for clear or cloudy sky. This uses the formula from Lhomme et al. – "Estimating downward long-wave radiation on the Andean Altiplano", Agric. For. Meteorol., 145, 2007, pp 139–148, doi:10.1016/j.agrformet.2007.04.007. If no cloud cover fraction is provided, a parametrization using the current location (lat, lon, altitude) and ISWR will be used. These parameters can therefore safely be set to IOUtils::nodata if cloudiness is provided. More...
 
static double Kasten_clearness (const double &cloudiness)
 Evaluate the solar clearness index for a given cloudiness. This uses the formula from Kasten and Czeplak – "Solar and terrestrial radiation dependent on the amount and type of cloud", Sol. Energy, 24, 1980, pp 177-189. The solar index is defined as measured radiation / clear sky radiation, values outside of [0;1] will be truncated to [0;1]. More...
 
static double Kasten_cloudiness (const double &solarIndex)
 Evaluate the cloudiness from a given solar index. This uses the formula from Kasten and Czeplak – "Solar and terrestrial radiation dependent on the amount and type of cloud", Sol. Energy, 24, 1980, pp 177-189. The solar index is defined as measured radiation / clear sky radiation, values outside of [0;1] will be truncated to [0;1]. More...
 
static double Lhomme_clearness (const double &cloudiness)
 Evaluate the solar clearness index for a given cloudiness. This uses the formula from Lhomme et al. – "Estimating downward long-wave radiation on the Andean Altiplano", Agric. For. Meteorol., 145, 2007, pp 139–148, doi:10.1016/j.agrformet.2007.04.007. The solar index is defined as measured radiation / clear sky radiation, values outside of [0;1] will be truncated to [0;1]. More...
 
static double Lhomme_cloudiness (const double &solarIndex)
 Evaluate the cloudiness from a given solar index. This uses the formula from Lhomme et al. – "Estimating downward long-wave radiation on the Andean Altiplano", Agric. For. Meteorol., 145, 2007, pp 139–148, doi:10.1016/j.agrformet.2007.04.007. The solar index is defined as measured radiation / clear sky radiation, values outside of [0;1] will be truncated to [0;1]. More...
 
static double ILWR_parametrized (const double &lat, const double &lon, const double &altitude, const double &julian, const double &TZ, const double &RH, const double &TA, const double &ISWR, const double &cloudiness=IOUtils::nodata)
 Compute a parametrized Incoming Long Wave Radiation This uses either Atmosphere::Crawford_ilwr or Atmosphere::Omstedt_ilwr or Atmosphere::Brutsaert_ilwr depending on which parameters are available. More...
 
static double RhtoDewPoint (double RH, double TA, const bool &force_water)
 Convert a relative humidity to a dew point temperature. More...
 
static double DewPointtoRh (double TD, double TA, const bool &force_water)
 Convert a dew point temperature to a relative humidity. More...
 
static double specToRelHumidity (const double &altitude, const double &TA, const double &qi)
 Calculate the relative Humidity (RH) from specific humidity. More...
 
static double relToSpecHumidity (const double &altitude, const double &TA, const double &RH)
 Calculate the specific Humidity from relative humidity (RH). More...
 
static double blkBody_Emissivity (const double &lwr, const double &T, const bool &max_limit=true)
 Calculate the black body emissivity. More...
 
static double blkBody_Radiation (const double &ea, const double &T)
 Calculates the black body long wave radiation knowing its emissivity. More...
 

Static Public Attributes

static const double day_iswr_thresh = 5.
 

Member Function Documentation

◆ blackGlobeTemperature()

double mio::Atmosphere::blackGlobeTemperature ( const double &  TA,
const double &  RH,
const double &  VW,
const double &  iswr_dir,
const double &  iswr_diff,
const double &  cos_Z 
)
static

Black Globe Temperature. This is an estimation of the black globe temperature based on physical modeling as in V. E. Dimiceli, S. F. Piltz and S. A. Amburn, "Estimation of Black Globe Temperature for Calculation of the Wet Bulb Globe Temperature Index" in World Congress on Engineering and Computer Science, 2, 2011.

Note
the h parameter is implemented with a fixed value and this has a very large influence...
Parameters
TAair temperature (K)
RHrelative humidity (between 0 and 1)
VWwind velocity (m/s)
iswr_dirdirect solar SW radiation (W/m^2)
iswr_diffdiffuse solar SW radiation (W/m^2)
cos_Zcosinus of the solar zenith angle
Returns
black globe temperature (K)

◆ blkBody_Emissivity()

double mio::Atmosphere::blkBody_Emissivity ( const double &  lwr,
const double &  T,
const bool &  max_limit = true 
)
static

Calculate the black body emissivity.

Parameters
lwrlongwave radiation emitted by the body (W m-2)
Tsurface temperature of the body (K)
max_limitenforce an emissivity between 0 and 1? (default: true)
Returns
black body emissivity (0-1)

◆ blkBody_Radiation()

double mio::Atmosphere::blkBody_Radiation ( const double &  ea,
const double &  T 
)
static

Calculates the black body long wave radiation knowing its emissivity.

Parameters
eaemissivity of the body (0-1)
Tsurface temperature of the body (K)
Returns
black body radiation (W/m^2)

◆ Brutsaert_emissivity()

double mio::Atmosphere::Brutsaert_emissivity ( const double &  RH,
const double &  TA 
)
static

Evaluate the atmosphere emissivity for clear sky. This uses the formula from Brutsaert – "On a Derivable Formula for Long-Wave Radiation From Clear Skies", Journal of Water Resources Research, 11, No. 5, October 1975, pp 742-744. Alternative: Satterlund (1979): Water Resources Research, 15, 1649-1650.

Parameters
RHrelative humidity (between 0 and 1)
TAAir temperature (K)
Returns
clear sky emissivity

◆ Brutsaert_ilwr()

double mio::Atmosphere::Brutsaert_ilwr ( const double &  RH,
const double &  TA 
)
static

Evaluate the long wave radiation for clear sky. This uses the formula from Brutsaert – "On a Derivable Formula for Long-Wave Radiation From Clear Skies", Journal of Water Resources Research, 11, No. 5, October 1975, pp 742-744. Alternative: Satterlund (1979): Water Resources Research, 15, 1649-1650.

Parameters
RHrelative humidity (between 0 and 1)
TAAir temperature (K)
Returns
long wave radiation (W/m^2)

◆ Carmona_emissivity()

double mio::Atmosphere::Carmona_emissivity ( const double &  RH,
const double &  TA,
const double &  cloudiness 
)
static

Evaluate the atmosphere emissivity from RH, TA and cloudiness. This is according to Carmona, Rivas, and Caselles. "Estimation of daytime downward longwave radiation under clear and cloudy skies conditions over a sub-humid region." Theoretical and applied climatology 115.1-2 (2014): 281-295. Here the second variant (MLRM-2) is implemented.

Parameters
RHrelative humidity (between 0 and 1)
TAair temperature (K)
cloudiness1 - ratio of measured ISWR over potential ISWR (between 0 and 1, 0 being clear sky)
Returns
emissivity (between 0 and 1)

◆ Carmona_ilwr()

double mio::Atmosphere::Carmona_ilwr ( const double &  RH,
const double &  TA,
const double &  cloudiness 
)
static

Evaluate the long wave radiation from RH, TA and cloudiness. This is according to Carmona, Rivas, and Caselles. "Estimation of daytime downward longwave radiation under clear and cloudy skies conditions over a sub-humid region." Theoretical and applied climatology 115.1-2 (2014): 281-295. Here the second variant (MLRM-2) is implemented.

Parameters
RHrelative humidity (between 0 and 1)
TAair temperature (K)
cloudiness1 - ratio of measured ISWR over potential ISWR (between 0 and 1, 0 being clear sky)
Returns
long wave radiation (W/m^2)

◆ Clark_emissivity()

double mio::Atmosphere::Clark_emissivity ( const double &  RH,
const double &  TA 
)
static

Evaluate the atmosphere emissivity for clear sky. This uses the formula from Clark & Allen – "The estimation of atmospheric radiation for clear and cloudy skies", Proceedings of the second national passive solar conference, 2, 1978, p 676.

Parameters
RHrelative humidity (between 0 and 1)
TAnear surface air temperature (K)
Returns
clear sky emissivity

◆ Clark_ilwr()

double mio::Atmosphere::Clark_ilwr ( const double &  RH,
const double &  TA 
)
static

Evaluate the long wave radiation for clear sky. This uses the formula from Clark & Allen – "The estimation of atmospheric radiation for clear and cloudy skies", Proceedings of the second national passive solar conference, 2, 1978, p 676.

Parameters
RHrelative humidity (between 0 and 1)
TAnear surface air temperature (K)
Returns
long wave radiation (W/m^2)

◆ Crawford_ilwr() [1/2]

double mio::Atmosphere::Crawford_ilwr ( const double &  lat,
const double &  lon,
const double &  altitude,
const double &  julian,
const double &  TZ,
const double &  RH,
const double &  TA,
const double &  ISWR,
const double &  cloudiness = IOUtils::nodata 
)
static

Evaluate the long wave radiation for clear or cloudy sky. This uses the formula from Crawford and Duchon – "An Improved Parametrization for Estimating Effective Atmospheric Emissivity for Use in Calculating Daytime Downwelling Longwave Radiation", Journal of Applied Meteorology, 38, 1999, pp 474-480. If no cloud cover fraction is provided, a parametrization using the current location (lat, lon, altitude) and ISWR will be used. These parameters can therefore safely be set to IOUtils::nodata if cloudiness is provided.

Parameters
latlatitude of the point of observation
lonlongitude of the point of observation
altitudealtitude of the point of observation
julianjulian date at the point of observation
TZtime zone at the point of observation
RHrelative humidity (between 0 and 1)
TAAir temperature (K)
ISWRMeasured Incoming Short Wave Radiation (W/m^2)
cloudinessCloud cover fraction (between 0 and 1, optional)
Returns
long wave radiation (W/m^2) or IOUtils::nodata at night time Please note that this call might NOT be efficient for processing large amounts of points, since it internally builds complex objects at every call. You might want to copy/paste its code in order to process data in bulk.

◆ Crawford_ilwr() [2/2]

double mio::Atmosphere::Crawford_ilwr ( const double &  RH,
const double &  TA,
const double &  iswr_meas,
const double &  iswr_clear_sky,
const unsigned char &  month,
const double &  cloudiness = IOUtils::nodata 
)
static

Evaluate the long wave radiation for clear or cloudy sky. This uses the formula from Crawford and Duchon – "An Improved Parametrization for Estimating Effective Atmospheric Emissivity for Use in Calculating Daytime Downwelling Longwave Radiation", Journal of Applied Meteorology, 38, 1999, pp 474-480. If no cloud cover fraction is provided, a parametrization using iswr_meas and iswr_clear_sky will be used (same as in Lhomme et al., 2007). These parameters can therefore safely be set to IOUtils::nodata if cloudiness is provided.

Parameters
RHrelative humidity (between 0 and 1)
TAAir temperature (K)
iswr_measMeasured Incoming Short Wave Radiation (W/m^2)
iswr_clear_skyClear Sky Modelled Incoming Short Wave Radiation (W/m^2)
monthcurrent month (1-12, for a sinusoidal variation of the leading coefficients)
cloudinessCloud cover fraction (between 0 and 1, optional)
Returns
long wave radiation (W/m^2) or IOUtils::nodata at night time

◆ DewPointtoRh()

double mio::Atmosphere::DewPointtoRh ( double  TD,
double  TA,
const bool &  force_water 
)
static

Convert a dew point temperature to a relative humidity.

Parameters
TDdew point temperature (K)
TAair temperature (K)
force_waterif set to true, compute over water. Otherwise, a smooth transition between over ice and over water is computed.
Returns
relative humidity between 0 and 1

◆ Dilley_emissivity()

double mio::Atmosphere::Dilley_emissivity ( const double &  RH,
const double &  TA 
)
static

Evaluate the atmosphere emissivity for clear sky. This uses the formula from Dilley and O'Brien – "Estimating downward clear sky long-wave irradiance at the surface from screen temperature and precipitable water", Q. J. R. Meteorolo. Soc., 124, 1998, pp 1391-1401. The long wave is computed and the ratio of this long wave to a black body emission gives an emissivity.

Parameters
RHrelative humidity (between 0 and 1)
TAnear surface air temperature (K)
Returns
clear sky emissivity

◆ Dilley_ilwr()

double mio::Atmosphere::Dilley_ilwr ( const double &  RH,
const double &  TA 
)
static

Evaluate the long wave radiation for clear sky. This uses the formula from Dilley and O'Brien – "Estimating downward clear sky long-wave irradiance at the surface from screen temperature and precipitable water", Q. J. R. Meteorolo. Soc., 124, 1998, pp 1391-1401.

Parameters
RHrelative humidity (between 0 and 1)
TAnear surface air temperature (K)
Returns
long wave radiation (W/m^2)

◆ gravity()

double mio::Atmosphere::gravity ( const double &  altitude,
const double &  latitude 
)
static

Acceleration due to gravity.

Parameters
altitudealtitude above sea level (m)
latitudelatitude in degrees
Returns
acceleration due to gravity (m/s2)

◆ heatIndex()

double mio::Atmosphere::heatIndex ( const double &  TA,
const double &  RH 
)
static

Heat index. This is an index aiming at expressing the human-perceived air temperature due to humidity. This is NOT a scientific measurement, only an index to express a subjective feeling. It is inapplicable below 26.7 Celsius and below 40% humidity, therefore returning air temperature.

Parameters
TAair temperature (K)
RHrelative humidity (between 0 and 1)
Returns
Heat index (K)

◆ Idso_emissivity()

double mio::Atmosphere::Idso_emissivity ( const double &  RH,
const double &  TA 
)
static

Evaluate the atmosphere emissivity for clear sky. This uses the formula from Idso – "A set of equations for full spectrum and 8 to 14 um and 10.5 to 12.5 um thermal radiation from cloudless skies", Water Resources Research, 17, 1981, pp 295-304.

Parameters
RHrelative humidity (between 0 and 1)
TAnear surface air temperature (K)
Returns
clear sky emissivity

◆ Idso_ilwr()

double mio::Atmosphere::Idso_ilwr ( const double &  RH,
const double &  TA 
)
static

Evaluate the long wave radiation for clear sky. This uses the formula from Idso – "A set of equations for full spectrum and 8 to 14 um and 10.5 to 12.5 um thermal radiation from cloudless skies", Water Resources Research, 17, 1981, pp 295-304.

Parameters
RHrelative humidity (between 0 and 1)
TAnear surface air temperature (K)
Returns
long wave radiation (W/m^2)

◆ ILWR_parametrized()

double mio::Atmosphere::ILWR_parametrized ( const double &  lat,
const double &  lon,
const double &  altitude,
const double &  julian,
const double &  TZ,
const double &  RH,
const double &  TA,
const double &  ISWR,
const double &  cloudiness = IOUtils::nodata 
)
static

Compute a parametrized Incoming Long Wave Radiation This uses either Atmosphere::Crawford_ilwr or Atmosphere::Omstedt_ilwr or Atmosphere::Brutsaert_ilwr depending on which parameters are available.

Parameters
latlatitude of the point of observation
lonlongitude of the point of observation
altitudealtitude of the point of observation
julianjulian date at the point of observation
TZtime zone at the point of observation
RHrelative humidity (between 0 and 1)
TAAir temperature (K)
ISWRMeasured Incoming Short Wave Radiation (W/m^2)
cloudinessfractional cloud cover (between 0 and 1, optional. If provided, it will have the priority)
Returns
long wave radiation (W/m^2) or IOUtils::nodata

◆ Kasten_clearness()

double mio::Atmosphere::Kasten_clearness ( const double &  cloudiness)
static

Evaluate the solar clearness index for a given cloudiness. This uses the formula from Kasten and Czeplak – "Solar and terrestrial radiation dependent on the amount and type of cloud", Sol. Energy, 24, 1980, pp 177-189. The solar index is defined as measured radiation / clear sky radiation, values outside of [0;1] will be truncated to [0;1].

Parameters
cloudinessin okta, between 0 and 1
Returns
solar clearness index

◆ Kasten_cloudiness()

double mio::Atmosphere::Kasten_cloudiness ( const double &  solarIndex)
static

Evaluate the cloudiness from a given solar index. This uses the formula from Kasten and Czeplak – "Solar and terrestrial radiation dependent on the amount and type of cloud", Sol. Energy, 24, 1980, pp 177-189. The solar index is defined as measured radiation / clear sky radiation, values outside of [0;1] will be truncated to [0;1].

Parameters
solarIndexsolar index
Returns
cloudiness (in okta, between 0 and 1)

◆ Konzelmann_emissivity()

double mio::Atmosphere::Konzelmann_emissivity ( const double &  RH,
const double &  TA,
const double &  cloudiness 
)
static

Evaluate the atmosphere emissivity from the water vapor pressure and cloudiness. This is according to Konzelmann, Thomas, et al. "Parameterization of global and longwave incoming radiation for the Greenland Ice Sheet." Global and Planetary change 9.1 (1994): 143-164.

Parameters
RHrelative humidity (between 0 and 1)
TAair temperature (K)
cloudinesscloudiness (between 0 and 1, 0 being clear sky)
Returns
emissivity (between 0 and 1)

◆ Konzelmann_ilwr()

double mio::Atmosphere::Konzelmann_ilwr ( const double &  RH,
const double &  TA,
const double &  cloudiness 
)
static

Evaluate the long wave radiation from RH, TA and cloudiness. This is according to Konzelmann, Thomas, et al. "Parameterization of global and longwave incoming radiation for the Greenland Ice Sheet." Global and Planetary change 9.1 (1994): 143-164.

Parameters
RHrelative humidity (between 0 and 1)
TAair temperature (K)
cloudinesscloudiness (between 0 and 1, 0 being clear sky)
Returns
long wave radiation (W/m^2)

◆ Lhomme_clearness()

double mio::Atmosphere::Lhomme_clearness ( const double &  cloudiness)
static

Evaluate the solar clearness index for a given cloudiness. This uses the formula from Lhomme et al. – "Estimating downward long-wave radiation on the Andean Altiplano", Agric. For. Meteorol., 145, 2007, pp 139–148, doi:10.1016/j.agrformet.2007.04.007. The solar index is defined as measured radiation / clear sky radiation, values outside of [0;1] will be truncated to [0;1].

Parameters
cloudinessin okta, between 0 and 1
Returns
solar clearness index

◆ Lhomme_cloudiness()

double mio::Atmosphere::Lhomme_cloudiness ( const double &  solarIndex)
static

Evaluate the cloudiness from a given solar index. This uses the formula from Lhomme et al. – "Estimating downward long-wave radiation on the Andean Altiplano", Agric. For. Meteorol., 145, 2007, pp 139–148, doi:10.1016/j.agrformet.2007.04.007. The solar index is defined as measured radiation / clear sky radiation, values outside of [0;1] will be truncated to [0;1].

Parameters
solarIndexsolar index
Returns
cloudiness (in okta, between 0 and 1)

◆ Lhomme_ilwr() [1/2]

double mio::Atmosphere::Lhomme_ilwr ( const double &  lat,
const double &  lon,
const double &  altitude,
const double &  julian,
const double &  TZ,
const double &  RH,
const double &  TA,
const double &  ISWR,
const double &  cloudiness = IOUtils::nodata 
)
static

Evaluate the long wave radiation for clear or cloudy sky. This uses the formula from Lhomme et al. – "Estimating downward long-wave radiation on the Andean Altiplano", Agric. For. Meteorol., 145, 2007, pp 139–148, doi:10.1016/j.agrformet.2007.04.007. If no cloud cover fraction is provided, a parametrization using the current location (lat, lon, altitude) and ISWR will be used. These parameters can therefore safely be set to IOUtils::nodata if cloudiness is provided.

Parameters
latlatitude of the point of observation
lonlongitude of the point of observation
altitudealtitude of the point of observation
julianjulian date at the point of observation
TZtime zone at the point of observation
RHrelative humidity (between 0 and 1)
TAAir temperature (K)
ISWRMeasured Incoming Short Wave Radiation (W/m^2)
cloudinessCloud cover fraction (between 0 and 1, optional)
Returns
long wave radiation (W/m^2) or IOUtils::nodata at night time Please note that this call might NOT be efficient for processing large amounts of points, since it internally builds complex objects at every call. You might want to copy/paste its code in order to process data in bulk.

◆ Lhomme_ilwr() [2/2]

double mio::Atmosphere::Lhomme_ilwr ( const double &  RH,
const double &  TA,
const double &  iswr_meas,
const double &  iswr_clear_sky,
const double &  cloudiness 
)
static

Evaluate the long wave radiation for clear or cloudy sky. This uses the formula from Lhomme et al. – "Estimating downward long-wave radiation on the Andean Altiplano", Agric. For. Meteorol., 145, 2007, pp 139–148, doi:10.1016/j.agrformet.2007.04.007. If no cloud cover fraction is provided, a parametrization using iswr_meas and iswr_clear_sky will be used. These parameters can therefore safely be set to IOUtils::nodata if cloudiness is provided.

Parameters
RHrelative humidity (between 0 and 1)
TAAir temperature (K)
iswr_measMeasured Incoming Short Wave Radiation (W/m^2)
iswr_clear_skyClear Sky Modelled Incoming Short Wave Radiation (W/m^2)
cloudinessCloud cover fraction (between 0 and 1, optional)
Returns
long wave radiation (W/m^2) or IOUtils::nodata at night time

◆ Omstedt_emissivity()

double mio::Atmosphere::Omstedt_emissivity ( const double &  RH,
const double &  TA,
const double &  cloudiness 
)
static

Evaluate the atmosphere emissivity from the water vapor pressure and cloudiness. This is according to A. Omstedt, "A coupled one-dimensional sea ice-ocean model applied to a semi-enclosed basin", Tellus, 42 A, 568-582, 1990, DOI:10.1034/j.1600-0870.1990.t01-3-00007.x.

Parameters
RHrelative humidity (between 0 and 1)
TAair temperature (K)
cloudinesscloudiness (between 0 and 1, 0 being clear sky)
Returns
emissivity (between 0 and 1)

◆ Omstedt_ilwr()

double mio::Atmosphere::Omstedt_ilwr ( const double &  RH,
const double &  TA,
const double &  cloudiness 
)
static

Evaluate the long wave radiation from RH, TA and cloudiness. This is according to A. Omstedt, "A coupled one-dimensional sea ice-ocean model applied to a semi-enclosed basin", Tellus, 42 A, 568-582, 1990, DOI:10.1034/j.1600-0870.1990.t01-3-00007.x.

Parameters
RHrelative humidity (between 0 and 1)
TAair temperature (K)
cloudinesscloudiness (between 0 and 1, 0 being clear sky)
Returns
long wave radiation (W/m^2)

◆ Prata_emissivity()

double mio::Atmosphere::Prata_emissivity ( const double &  RH,
const double &  TA 
)
static

Evaluate the atmosphere emissivity for clear sky. This uses the formula from Prata – "A new long-wave formula for estimating downward clear-sky radiation at the surface", Q. J. R. Meteorolo. Soc., 122, 1996, pp 1127-1151.

Parameters
RHrelative humidity (between 0 and 1)
TAnear surface air temperature (K)
Returns
clear sky emissivity

◆ Prata_ilwr()

double mio::Atmosphere::Prata_ilwr ( const double &  RH,
const double &  TA 
)
static

Evaluate the long wave radiation for clear sky. This uses the formula from Prata – "A new long-wave formula for estimating downward clear-sky radiation at the surface", Q. J. R. Meteorolo. Soc., 122, 1996, pp 1127-1151.

Parameters
RHrelative humidity (between 0 and 1)
TAnear surface air temperature (K)
Returns
long wave radiation (W/m^2)

◆ reducedAirPressure()

double mio::Atmosphere::reducedAirPressure ( const double &  pressure,
const double &  altitude,
const double &  latitude 
)
static

Atmospheric pressure reduced to sea level. This calculates the following formula (with P the pressure at altitude h, L the adiabatic lapse rate, and T0 the standard sea level temperature, the air mol mass m, gravity g at height, and the gas constant R):

\[ P_0 = \frac{P}{(1-\frac{Lh}{T_0})^\frac{mg}{RL}} \]

With growing altitude the output is of little use to predict the pressure, but it can be used to baseline plots.

Parameters
pressureMeasured pressure at an altitude (Pa)
altitudeThe station's altitude above sea level (m)
latitudeThe station's latitude (degrees)
Returns
Reduced atmospheric pressure (Pa)

◆ relToSpecHumidity()

double mio::Atmosphere::relToSpecHumidity ( const double &  altitude,
const double &  TA,
const double &  RH 
)
static

Calculate the specific Humidity from relative humidity (RH).

Parameters
altitudealtitude over sea level (m)
TAair temperature (K)
RHrelative humidity (between 0 and 1)
Returns
specific humidity

◆ RhtoDewPoint()

double mio::Atmosphere::RhtoDewPoint ( double  RH,
double  TA,
const bool &  force_water 
)
static

Convert a relative humidity to a dew point temperature.

Parameters
RHrelative humidity between 0 and 1
TAair temperature (K)
force_waterif set to true, compute over water. Otherwise, a smooth transition between over ice and over water is computed.
Returns
dew point temperature (K)

◆ specToRelHumidity()

double mio::Atmosphere::specToRelHumidity ( const double &  altitude,
const double &  TA,
const double &  qi 
)
static

Calculate the relative Humidity (RH) from specific humidity.

Parameters
altitudealtitude over sea level (m)
TAair temperature (K)
qispecific humidity between 0 and 1
Returns
relative humidity between 0 and 1

◆ stdAirPressure()

double mio::Atmosphere::stdAirPressure ( const double &  altitude)
static

Standard atmospheric pressure as a function of the altitude. This is based on the following formula (with h the altitude, P0 and T0 the standard sea level pressure and temperature, L the dry adiabatic lapse rate and R0 the earth's radius):

\[ P = P_0 \cdot {\left( 1 - \frac{L \cdot R_0 \cdot h}{T_0 ( R_0 + h )} \right)}^{\frac{g}{L R}} \]

Parameters
altitudealtitude above sea level (m)
Returns
standard pressure (Pa)

◆ stdDryAirDensity()

double mio::Atmosphere::stdDryAirDensity ( const double &  altitude,
const double &  temperature 
)
static

Standard dry air pressure.

Parameters
altitudealtitude above sea level (m)
temperatureair temperature (K)
Returns
standard pressure (Pa)

◆ Tang_emissivity()

double mio::Atmosphere::Tang_emissivity ( const double &  RH,
const double &  TA 
)
static

Evaluate the atmosphere emissivity for clear sky. This uses the formula from Tang, Etzion and Meir – "Estimates of clear night sky emissivity in the Negev Highlands, Israel", Energy Conversion and Management, 45.11, 2004, pp 1831-1843.

Parameters
RHrelative humidity (between 0 and 1)
TAnear surface air temperature (K)
Returns
clear sky emissivity

◆ Tang_ilwr()

double mio::Atmosphere::Tang_ilwr ( const double &  RH,
const double &  TA 
)
static

Evaluate the long wave radiation for clear sky. This uses the formula from Tang, Etzion and Meir – "Estimates of clear night sky emissivity in the Negev Highlands, Israel", Energy Conversion and Management, 45.11, 2004, pp 1831-1843.

Parameters
RHrelative humidity (between 0 and 1)
TAnear surface air temperature (K)
Returns
long wave radiation (W/m^2)

◆ Unsworth_ilwr() [1/2]

double mio::Atmosphere::Unsworth_ilwr ( const double &  lat,
const double &  lon,
const double &  altitude,
const double &  julian,
const double &  TZ,
const double &  RH,
const double &  TA,
const double &  ISWR,
const double &  cloudiness = IOUtils::nodata 
)
static

Evaluate the long wave radiation for clear or cloudy sky. This uses the formula from Unsworth and Monteith – "Long-wave radiation at the ground", Q. J. R. Meteorolo. Soc., Vol. 101, 1975, pp 13-24 coupled with a clear sky emissivity following Dilley, 1998. If no cloud cover fraction is provided, a parametrization (according to Kasten and Czeplak (1980)) using the current location (lat, lon, altitude) and ISWR will be used. These parameters can therefore safely be set to IOUtils::nodata if cloudiness is provided.

Parameters
latlatitude of the point of observation
lonlongitude of the point of observation
altitudealtitude of the point of observation
julianjulian date at the point of observation
TZtime zone at the point of observation
RHrelative humidity (between 0 and 1)
TAAir temperature (K)
ISWRMeasured Incoming Short Wave Radiation (W/m^2)
cloudinessCloud cover fraction (between 0 and 1, optional)
Returns
long wave radiation (W/m^2) or IOUtils::nodata at night time Please note that this call might NOT be efficient for processing large amounts of points, since it internally builds complex objects at every call. You might want to copy/paste its code in order to process data in bulk.

◆ Unsworth_ilwr() [2/2]

double mio::Atmosphere::Unsworth_ilwr ( const double &  RH,
const double &  TA,
const double &  iswr_meas,
const double &  iswr_clear_sky,
const double &  cloudiness = IOUtils::nodata 
)
static

Evaluate the long wave radiation for clear or cloudy sky. This uses the formula from Unsworth and Monteith – "Long-wave radiation at the ground", Q. J. R. Meteorolo. Soc., Vol. 101, 1975, pp 13-24 coupled with a clear sky emissivity following Dilley, 1998. If no cloud cover fraction is provided, a parametrization (solar index according to Kasten and Czeplak (1980)) using iswr_meas and iswr_clear_sky will be used. These parameters can therefore safely be set to IOUtils::nodata if cloudiness is provided.

Parameters
RHrelative humidity (between 0 and 1)
TAAir temperature (K)
iswr_measMeasured Incoming Short Wave Radiation (W/m^2)
iswr_clear_skyClear Sky Modelled Incoming Short Wave Radiation (W/m^2)
cloudinessCloud cover fraction (between 0 and 1, optional)
Returns
long wave radiation (W/m^2) or IOUtils::nodata at night time

◆ vaporSaturationPressure()

double mio::Atmosphere::vaporSaturationPressure ( const double &  T)
static

Standard water vapor saturation pressure. See Murray, F. W., "On the computation of saturation vapor pressure", 1966, J. Appl. Meteor., 6, 203–204, doi: 10.1175/1520-0450(1967)006<0203:OTCOSV>2.0.CO;2.

Parameters
Tair temperature (K)
Returns
standard water vapor saturation pressure (Pa)

◆ vaporSaturationPressureWater()

double mio::Atmosphere::vaporSaturationPressureWater ( const double &  T)
static

Standard water vapor saturation pressure, assuming "over water" for the full temperature range. See Murray, F. W., "On the computation of saturation vapor pressure", 1966, J. Appl. Meteor., 6, 203–204, doi: 10.1175/1520-0450(1967)006<0203:OTCOSV>2.0.CO;2.

Parameters
Tair temperature (K)
Returns
standard water vapor saturation pressure, assuming water surface (Pa)

◆ virtualTemperatureFactor()

double mio::Atmosphere::virtualTemperatureFactor ( const double &  e,
const double &  p 
)
static

Virtual temperature multiplying factor. In order to get a virtual temperature, multiply the original temperature by this factor. Note: since e/p is actually used, both pressures only need to have the same units.

Parameters
evapor pressure (Pa)
pair pressure (Pa)
Returns
virtual temperature multiplying coefficient

◆ waterVaporDensity()

double mio::Atmosphere::waterVaporDensity ( const double &  Temperature,
const double &  VaporPressure 
)
static

Calculates the water vapor density, for a given temperature and vapor pressure.

Parameters
Temperatureair temperature (K)
VaporPressurewater vapor pressure (Pa)
Returns
water vapor density (kg/m^3)

◆ WBGT_index()

double mio::Atmosphere::WBGT_index ( const double &  TA,
const double &  RH,
const double &  VW,
const double &  iswr_dir,
const double &  iswr_diff,
const double &  cos_Z,
const double &  altitude 
)
static

Wet Bulb Globe Temperature index. This is an index aiming at expressing the human-perceived air temperature due to humidity, wind and radiation. This is the foundation of ISO 7243 and is widely used for physical activity safety evaluation (for example for physical training).

Parameters
TAair temperature (K)
RHrelative humidity (between 0 and 1)
VWwind velocity (m/s)
iswr_dirdirect solar SW radiation (W/m^2)
iswr_diffdiffuse solar SW radiation (W/m^2)
cos_Zcosinus of the solar zenith angle
altitudealtitude of the point where to perform the calculation
Returns
Heat index (K)

◆ wetBulbTemperature()

double mio::Atmosphere::wetBulbTemperature ( const double &  TA,
const double &  RH,
const double &  altitude 
)
static

Standard atmosphere wet bulb temperature. This gives the lowest temperature that could be reached by water evaporation. It is therefore linked to relative humidity. This implementation assumes a standard atmosphere for pressure and saturation pressure.

Parameters
TAair temperature (K)
RHrelative humidity (between 0 and 1)
altitudealtitude above sea level (m)
Returns
wet bulb temperature (K)

◆ windChill()

double mio::Atmosphere::windChill ( const double &  TA,
const double &  VW 
)
static

Wind chill temperature. This is an index aiming at expressing the human-percived feeling of air temperature on exposed skin due to wind. This is NOT a scientific measurement, only an index to express a subjective feeling. It is inapplicable above 10 Celsius and a few m/s wind (5 m/s used here), therefore returning air temperature.

Parameters
TAair temperature (K)
VWwind velocity (m/s)
Returns
wind chill temperature (K)

◆ windLogProfile()

double mio::Atmosphere::windLogProfile ( const double &  v_ref,
const double &  z_ref,
const double &  z,
const double &  z0 = 0.03 
)
static

Wind log profile. This is used to compute the equivalent wind speed at a different height.

It depends on the roughness length that can take a default value (0.03) or any other, for example:

land classroughness length
sea0.0002
smooth0.005
open0.03
roughly open0.10
rough0.25
very rough0.5
closed1.0
chaoticover 2.0
Parameters
v_refreference wind speed (m/s)
z_refheight of the reference wind speed (m)
znew height (m)
z0roughness length (m)
Returns
wind speed at height z (m/s)

Member Data Documentation

◆ day_iswr_thresh

const double mio::Atmosphere::day_iswr_thresh = 5.
static

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