Meteorological variables
Bigleaf.Esat_from_Tair
Bigleaf.air_density
Bigleaf.dew_point
Bigleaf.kinematic_viscosity
Bigleaf.latent_heat_vaporization
Bigleaf.pressure_from_elevation
Bigleaf.psychrometric_constant
Bigleaf.virtual_temp
Bigleaf.wetbulb_temp
Bigleaf.latent_heat_vaporization
— Functionlatent_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_temp
— Functionvirtual_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 inEsat_from_Tair
optional
constants=
BigleafConstants
()
: 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.0,100.0,1.5
vt = virtual_temp(Tair,pressure,VPD)
≈(vt, 26.9, atol =0.1)
Bigleaf.Esat_from_Tair
— FunctionEsat_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
Arguments
Tair
: Air temperature (deg C)Esat_formula=Sonntag1990()
: Esat_formula to be used. EitherSonntag1990()
(Default),Alduchov1996()
, orAllen1998()
.constants=BigleafConstants()
: 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_density
— Functionair_density(Tair,pressure; ...)
Air density of moist air from air temperature and pressure_
Arguments
- Tair: Air temperature (deg C)
- pressure: Atmospheric pressure (kPa)
optional
constants=
BigleafConstants
()
: Dictionary with entries Kelvin, kPa2Pa
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_elevation
— Functionpressure_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=
BigleafConstants
()
: 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_constant
— Functionpsychrometric_constant(Tair,pressure; ...)
Computes the psychrometric 'constant'.
Arguments
- Tair: Air temperature (deg C)
- pressure: Atmospheric pressure (kPa)
optional
constants=
BigleafConstants
()
: Dictionary with entries cp, eps
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_viscosity
— Functionkinematic_viscosity(Tair,pressure; ...)
Calculate the kinematic viscosity of air.
Parameters
- Tair Air temperature (deg C)
- pressure Atmospheric pressure (kPa)
optional
constants=
BigleafConstants
()
: 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.0,100.0
vis = kinematic_viscosity(Tair,pressure)
≈(vis, 1.58e-5, atol =1e-7)
Bigleaf.dew_point
— Functiondew_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
- accuracy = 1e-03: Accuracy of the result (deg C)
Esat_formula
: formula used inEsat_from_Tair
constants=
BigleafConstants
()
: Dictionary with entries Pa2kPa
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_temp
— Functionwetbulb_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
- accuracy: Accuracy of the result (deg C)
Esat_formula
: formula used inEsat_from_Tair
constants=
BigleafConstants
()
: Dictionary with entries cp, eps,Pa2kPa
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])