dot-get_Tv.RdCalculate virtual temperature
.get_Tv(Temp, p, P, epsilon, unitless)Temperature in Kelvin
water vapour pressure in kPa
Atmospheric pressure in kPa
ratio of water to air molar masses (unitless)
Logical. Should function use parameters with units? The function is faster when FALSE, but input must be in correct units or else results will be incorrect without any warning.
Value in K of class units
$$T_\mathrm{v} = T / [1 - (1 - \epsilon) (p / P)]$$
Eq. 2.35 in Monteith & Unsworth (2013)
| Symbol | R | Description | Units | Default |
| \(\epsilon\) | epsilon | ratio of water to air molar masses | unitless | 0.622 |
| \(p\) | p | water vapour pressure | kPa | calculated |
| \(P\) | P | atmospheric pressure | kPa | 101.3246 |
Monteith JL, Unsworth MH. 2013. Principles of Environmental Physics. 4th edition. Academic Press, London.
library(tealeaves)
cs <- make_constants()
ep <- make_enviropar()
lp <- make_leafpar()
T_leaf <- set_units(298.15, K)
p <- ep$RH * tealeaves:::.get_ps(T_leaf, ep$P, FALSE)
tealeaves:::.get_Tv(T_leaf, p, ep$P, cs$epsilon, FALSE)
#> 299.9208 [K]