Meteorological variables

Bigleaf.latent_heat_vaporizationFunction
latent_heat_vaporization(Tair)

Latent heat of vaporization as a function of air temperature using

$\lambda = (2.501 - 0.00237 \, Tair) 10^6$.

Arguments:

  • Tair: Air temperature (deg C)

Value

$\lambda$: Latent heat of vaporization (J kg-1)

References

  • Stull, B, 1988: An Introduction to Boundary Layer Meteorology (p641) Kluwer Academic Publishers, Dordrecht, Netherlands
  • Foken, T, 2008: Micrometeorology_ Springer, Berlin, Germany
latent_heat_vaporization.(5:5:45)        
Bigleaf.virtual_tempFunction
virtual_temp(Tair,pressure,VPD; ...)

Virtual temperature, defined as the temperature at which dry air would have the same density as moist air at its actual temperature.

Arguments

  • Tair: Air temperature (deg C)
  • pressure: Atmospheric pressure (kPa)
  • VPD: Vapor pressure deficit (kPa)
  • Esat_formula: formula used in Esat_from_Tair

optional

  • constants=bigleaf_constants(): Dictionary with entries
    • :Kelvin - conversion degree Celsius to Kelvin
    • :eps - ratio of the molecular weight of water vapor to dry air (-)

Details

The virtual temperature is given by:

Tv = Tair / (1 - (1 - eps) e/pressure)

where Tair is in Kelvin (converted internally)_ Likewise, VPD is converted to actual vapor pressure (e in kPa) with VPD_to_e internally.

Value

virtual temperature (deg C)

References

  • Monteith J.L., Unsworth M.H., 2008: Principles of Environmental Physics. 3rd edition. Academic Press, London.

Examples

Tair,pressure,VPD = 25,100,1.5
vt = virtual_temp(Tair,pressure,VPD)  
≈(vt, 26.9, atol =0.1)
Bigleaf.Esat_from_TairFunction
Esat_slope(Tair; Esat_formula, constants) 
Esat_from_Tair(Tair; Esat_formula, constants) 
Esat_from_Tair_deriv(Tair; Esat_formula, constants)

Saturation Vapor Pressure (Esat) and Slope of the Esat Curve

Arguemtns

  • Tair: Air temperature (deg C)
  • Esat_formula=Val(:Sonntag_1990): Esatformula to be used. Either `Val(:Sonntag1990)(Default),Val(:Alduchov1996, orVal(:Allen1998)`.
  • constants=bigleaf_constants(): Dictionary with entry :Pa2kPa

Details

Esat (kPa) is calculated using the Magnus equation:

Esat = a * exp((b * Tair) / (c + Tair)) / 1000 where the coefficients a, b, c take different values depending on the Esat_formula use The default values are from Sonntag 1990 (a=611.2, b=17.62, c=243.12). This versi of the Magnus equation is recommended by the WMO (WMO 2008; p1.4-29). Alternativel parameter values determined by Alduchov & Eskridge 1996 or Allen et al. 1998 can b used (see references). The slope of the Esat curve ($\Delta$) is calculated as the first derivative of the function:

$\Delta = {dEsat \over dTair}$

Value

  • Esat_from_Tair: Saturation vapor pressure (kPa)
  • Esat_from_Tair_deriv: Slope of the saturation vapor pressure curve (kPa K-1)
  • Esat_slope: A tuple of the two above values

References

Sonntag D. 1990: Important new values of the physical constants of 1986, vapor pressure formulations based on the ITS-90 and psychrometric formulae. Zeitschrift fuer Meteorologie 70, 340-344.

World Meteorological Organization 2008: Guide to Meteorological Instruments and Methods of Observation (WMO-No.8). World Meteorological Organization, Geneva. 7th Edition,

Alduchov, O. A. & Eskridge, R. E., 1996: Improved Magnus form approximation of saturation vapor pressure. Journal of Applied Meteorology, 35, 601-609

Allen, R.G., Pereira, L.S., Raes, D., Smith, M., 1998: Crop evapotranspiration - Guidelines for computing crop water requirements - FAO irrigation and drainage paper 56, FAO, Rome.

Esat_from_Tair(20.0)          # Esat in kPa
Esat_from_Tair_deriv(20.0)    # its derivative to temperature in kPa K-1
Esat_slope(20.0)              # both as a tuple
Bigleaf.air_densityFunction
air_density(Tair,pressure; ...)

Air density of moist air from air temperature and pressure_

Arguments

  • Tair: Air temperature (deg C)
  • pressure: Atmospheric pressure (kPa)

optional

Details

Air density $\rho$ is calculated as:

$\rho = {pressure \over Rd * Tair}$

Value

air density (kg m-3)

Examples

# air density at 25degC and standard pressure (101.325kPa)
air_density(25,101.325)

References

Foken, T, 2008: Micrometeorology. Springer, Berlin, Germany.

Bigleaf.pressure_from_elevationFunction
pressure_from_elevation(elev,Tair,VPD=missing;...)

An estimate of mean pressure at a given elevation as predicted by the hypsometric equation.

Arguments

  • elev: Elevation asl_ (m)
  • Tair: Air temperature (deg C)
  • VPD: Vapor pressure deficit (kPa); optional

optional

  • constants=bigleaf_constants(): Dictionary with entries Kelvin, pressure0, Rd, g, Pa2kPa

Details

Atmospheric pressure is approximated by the hypsometric equation:

$pressure = pressure_0 / (exp(g * elevation / (Rd Temp)))$

The hypsometric equation gives an estimate of the standard pressure at a given altitude. If VPD is provided, humidity correction is applied and the virtual temperature instead of air temperature is used_ VPD is internally converted to specific humidity.

Value

Atmospheric pressure (kPa)

References

Stull B_, 1988: An Introduction to Boundary Layer Meteorology. Kluwer Academic Publishers, Dordrecht, Netherlands.

Examples

# mean pressure at 500m altitude at 25 deg C and VPD of 1 kPa
pressure_from_elevation(500,25,1)
Bigleaf.psychrometric_constantFunction
psychrometric_constant(Tair,pressure; ...)

Computes the psychrometric 'constant'.

Argumens

  • Tair: Air temperature (deg C)
  • pressure: Atmospheric pressure (kPa)

optional

Details

The psychrometric constant ($\gamma$) is given as:

$\gamma = cp * pressure / (eps * \lambda)$

where $\lambda$ is the latent heat of vaporization (J kg-1), as calculated from latent_heat_vaporization.

Value

the psychrometric constant (kPa K-1)

References

Monteith J.L., Unsworth M.H., 2008: Principles of Environmental Physics. 3rd Edition. Academic Press, London.

Examples

psychrometric_constant.(5.0:5.0:25.0, 100)
Bigleaf.kinematic_viscosityFunction
kinematic_viscosity(Tair,pressure; ...)

Calculate the kinematic viscosity of air.

Parameters

  • Tair Air temperature (deg C)
  • pressure Atmospheric pressure (kPa)

optional

  • constants=bigleaf_constants(): Dictionary with entries Kelvin, pressure0, Tair0, kPa2Pa

Details

Eq where v is the kinematic viscosity of the air (m2 s-1), given by (Massman 1999b):

$v = 1.327 * 10^-5(pressure0/pressure)(Tair/Tair0)^{1.81}$

Value

kinematic viscosity of air (m2 s-1)

References

Massman, W.J., 1999b: Molecular diffusivities of Hg vapor in air, O2 and N2 near STP and the kinematic viscosity and thermal diffusivity of air near STP. Atmospheric Environment 33, 453-457.

Examples

Tair,pressure = 25,100
vis = kinematic_viscosity(Tair,pressure)
≈(vis, 1.58e-5, atol =1e-7)
Bigleaf.dew_pointFunction
dew_point(Tair,VPD; ...)
dew_point_from_e(ea; ...)

Calculate the dew point, the temperature to which air must be cooled to become saturated (ie e = Esat(Td))

Arguments

  • Tair: Air temperature (degC)
  • VPD: Vapor pressure deficit (kPa)
  • ea: actual water vapor pressure (kPa)

optional

Details

Dew point temperature (Td) is defined by the temperature for which saturaed vapour pressure equals current vapour pressure, i.e. below which water would start to condensate.

$e = Esat(Td)$

where e is vapor pressure of the air and Esat is the vapor pressure deficit. This equation is solved for Td by optimization.

Value

dew point temperature (degC)

References

Monteith J.L., Unsworth M.H., 2008: Principles of Environmental Physics. 3rd edition. Academic Press, London.

Examples

Tair = 20.0
VPD = 1.5
Td = dew_point(Tair, VPD; accuracy = 1e-2)                
(e = VPD_to_e(VPD,Tair), esat_Td = Esat_from_Tair(Td))
Bigleaf.wetbulb_tempFunction
wetbulb_temp(Tair, pressure, VPD; ...)

Calculate the wet bulb temperature, ie the temperature that the air would have if it was saturated

Arguments

  • Tair: Air temperature (deg C)
  • pressure: Atmospheric pressure (kPa)
  • VPD: Vapor pressure deficit (kPa)

optional

Details

Wet-bulb temperature (Tw) is calculated from the following expression:

$e = Esat(Tw) - gamma* (Tair - Tw)$

The equation is optimized for Tw. Actual vapor pressure e (kPa) is calculated from VPD using VPD_to_e. The psychrometric constant gamma (kPa K-1) is calculated using psychrometric_constant.

Value

wet-bulb temperature (degC)

References

Monteith J.L., Unsworth M.H., 2008: Principles of Environmental Physics. 3rd edition. Academic Press, London.

Examples

wetbulb_temp.([20,25.0], 100, [1,1.6])