Sign up ×
Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. It's 100% free.

I have a series of measurements of temperature and relative humidity (RH), together with mosquito capture data. Because mosquitoes are sensitive to desiccation, it's reasonable that RH may be useful in predicting their activity. But I recently heard of a value called saturation deficit or vapor pressure deficit which has been well correlated with evapotranspiration in plant leaves.

Is it accurate to say saturation deficit is the "perceived dryness" or "drying power" of the air?

Can saturation deficit be calculated directly from temperature and RH? Is it dependent on elevation, air pressure or anything else (all measurements are <600m above sea level).

How do we calculate it? I have found two methods online which give wildly different results.

share|cite|improve this question
That deficit (I think Omegas answer is right) is absolutely unneccesary! Who ever "Invented" that, either was silly or tried to sell some "novelty". – Georg Feb 1 '11 at 10:31
Why unnecessary? If I want to predict water loss from living tissue, do you think it is not biologically more meaningful than RH? – J. Won. Feb 1 '11 at 20:20
There is some maximal humidity, in relative measure this is "100 %" If You have 60 % RH Your "perceived dryness" is 40 %! This is a problem of elemetary school "math". All science and tech works since decades with relative humidity, do You really think it is wise to join in into that "creation"? – Georg Feb 1 '11 at 21:01
Not that age of a concept is proof of its superiority, but it may reassure you to know that "saturation deficit" has been around for awhile. References as early as 1920 show survival time of insects is inversely related to saturation deficit and not simply to the relative humidity. An organism's rate of moisture loss is proportional to the vapor pressure difference between the evaporating surface and the surrounding air. Saturation deficit is a better expression of the evaporating power of air than RH because it can be expressed independently of temperature. – J. Won. Feb 1 '11 at 21:14
Jon, the answer to relative humidity alone is no. The saturation pressure increases roughly exponentially, with a doubling every roughly 10C. So the temperature is probably the most important measurement. Saturation deficit makes sense, since these people are fitting noisy field data, and fitting fewer degrees of freedom (which have some physical bsis) is the way to go. – Omega Centauri Feb 3 '11 at 21:38

4 Answers 4

up vote 5 down vote accepted

From [The ASCE Standardized Reference Evapotranspiration Equation]1

Given T is temperature in degrees Celsius, and RH is relative humidity:

Saturation Vapor Pressure (es) =

0.6108 * exp(17.27 * T / (T + 237.3))

Actual Vapor Pressure (ea) =

RH / 100 * es 

Vapor Pressure Deficit =

ea - es

Why this is a meaningful measurement: "The strain under which an organism is placed in maintaining a water balance during temperature changes is much more clearly shown by noting the vapor pressure deficit than by recording the relative humidity." Anderson, D. B. 1936. Relative humidity or vapor pressure deficit. Ecology 17, no. 2: 277–282.

share|cite|improve this answer

By the name I think it is simply the difference between vapor pressure at saturation and the actual vapor pressure. The later should simply be the relative humidity times the vapor pressure at saturation. You should be able to find some tables (or formulas for vapor pressure as a function of temperature). You can look up vapor pressure in Wikipedia. They give a formula they call the Antoine equation. Also more theoretically you could look at the Clausius-Clapeyron equation, but I think it would be easier just to plug in the Antoine equation instead.

share|cite|improve this answer
Thanks I know that your first sentence is correct, and I will pursue the rest. Under normal daily atmospheric variations, and elevation difference of a few hundred meters, is vapor pressure at saturation relatively constant? – J. Won. Feb 1 '11 at 20:18
jonw, I doubt pressure has much of an effect. Bigger unknowns are probably related to transport, wind speed relative to the insect. And the insects temperature probably differs from ambient, and I suspect the bug temperature is what effects the physics. – Omega Centauri Feb 3 '11 at 21:41
Thanks, I check marked your answer. A resting tiny insect stays pretty close to ambient temperature, but mosquitoes will tend to seek a sheltered microclimate if the ambient conditions are too harsh. Thus VPD is a fair predictor of biting behavior. – J. Won. Feb 3 '11 at 21:53

From Dennis Hartman "Global Physical Climatology" (p 350)

Given relative humidity in percent ($RH$) and temperature in Celsius ($C$):

First, calculate saturation vapor pressure, $e_s$ in millibars (mb):

$$e_s= 6.11*exp\left( \frac{L}{R_v}\left(\frac{1}{273} - \frac{1}{T}\right) \right)$$

Where $L$ is the latent heat of vaporization, $2.5\times10^6\text{ J kg}^{-1}$, $R_v$ is the gas constant for water vapor ($461 \text{ J K}^{-1}\text{kg}^{-1}$.

Then calculate vapor pressure deficit, $vpd$, which is the difference between the saturation vapor pressure and the actual vapor pressure:

$$vpd = e_s*(100-RH)/100$$

Here are two functions written in R that will do this: <- function(temp){
  es <- 6.11 * exp((2.5e6 / 461) * (1 / 273 - 1 / (273 + temp)))

get.vpd <- function(rh, temp){
  ## calculate saturation vapor pressure
  es <-
  ## calculate vapor pressure deficit
  vpd <- ((100 - rh) / 100) * es

And to test them out, you can plot the relationship between temperature and es (black) and at 50% RH, for example (in red):

temp <- -30:30
plot(temp,, type = "l", xlab = "T", ylab = "es or vpd")
lines(temp, get.vpd(50, temp), col = "red")

enter image description here

share|cite|improve this answer

R Code for calculating Vapor Pressure Deficit (kPa) from temperature and relative humidity using equations from Allen et al. (1998)

Vapor Pressure Deficit (VPD) = Saturation Vapor Pressure (ES) – Actual Vapor Pressure (EA). Below is R code for estimating VPD using mean minimum and maximum monthly temperatures and mean monthly relative humidity according to Allen et al. (1998). I have used a VPD index for calculating the Growing Season Index of Jolly et al. (1995) for a variable in ecological niche modeling.

Allen, RG, Pereira, LS, Raes, D, Smith, M (1998) Meteorological data, Chapter 3. In: Crop evapotranspiration - Guidelines for computing crop water requirements. Food and Agricuture Organization (FAO) Irrigation and Drainage Paper 56. United Nations, FAO, Rome, Italy. Available from (Accessed 11 June 2014)

Jolly, WM, Nemani, R, Running, SW (2005) A generalized, bioclimatic index to predict foliar phenology in response to climate. Glob Chang Biol 11:619–632

Calculate Vapor Pressure Deficit (in KPa, Kilopaschals) in R according to equations of Allen et al. (1998) for Example 5 using mean monthly minimum (tmin) and maximum (tmax) temperatures (Celsius) and mean monthly pecent relative humidity (rh, 100 = 100%): [ 3 meteorological data]

Declare in R values of three required environmental variables from Example 5 of Allen et al. (1998)

tmin <- 18 tmax <- 25 rh <- 68

Using rh = 68 as mean of 82% and 54% rh in example; so, final vpd value will not exactly match example

Calculate saturation vapor pressure for mean minimum monthly temperature (esmn)

get.esmn <- function(tmin){ esmn <- .6108 * exp((17.27 * tmin) / (tmin + 237.3)) return(esmn) }

Calculate saturation vapor pressure for mean maximum monthly temperature (esmx)

get.esmx <- function(tmax){ esmx <- .6108 * exp((17.27 * tmax) / (tmax + 237.3)) return(esmx) }

Calculate mean saturation vapor pressure (esm)

get.esm <- function(tmin, tmax){ esmn <- get.esmn(tmin) esmx <- get.esmx(tmax) esm <- (esmn + esmx)/2 return(esm) }

Calculate actual vapor pressure (ea)

get.ea <- function(rh, tmin, tmax){ esm <- get.esm(tmin, tmax) ea <- (rh/100) * esm return(ea) }

Calculate vapor pressure deficit (vpd = esm - ea; getting esm and ea functions)

get.vpd <- function(rh, tmin, tmax){ esm <- get.esm(tmin, tmax) ea <- get.ea(rh, tmin, tmax) vpd <- esm - ea return(vpd) }

Check variable values and results

esmn <- get.esmn(tmin) esmx <- get.esmx(tmax) esm <- get.esm(tmin, tmax) ea <- get.ea(rh) vpd <- get.vpd(rh, tmin, tmax)

Define temp (mean temperature), tmin and tmax for plotting relationship of esm and vpd

get.temp <- function(tmin, tmax){ temp <- (tmin + tmax)/2 return(temp) } tmin <- -40:20 tmax <- -20:40

Plot relationship of esm and vpd to mean temperature

plot(get.temp(tmin,tmax), get.esm(tmin, tmax), type = "l", xlab = "Temp (C)", ylab = "esm (black) or vpd (red) (kPa)") lines(temp, get.vpd(50, tmin, tmax), col = "red")

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.