Water Vapor - Formulas

There are many equations to compute the saturation vapor pressure of water depending on just the temperature. Both mcSaturationVaporPressure.pas (written in Pascal and included in the zip file) and mcSaturationVaporPressure.js (for use in web pages) implement 30 of these. (The examples below are in Pascal, FORTRAN, and psuedo-code.) Placing these algorithms in a separate module simplifies reusing them in various programs and guarantees that the computations will be the same.

The formulas are used in the following web applications

Calibration Points over Water | Antoine and August equations | GISS Model-E | Seinfeld and Pandis | The other 25 equations


Calibration Points over Water

Version 1.2 of my programs provide 30 saturation water vapor formulas. Some produce results in mbar (hPa) and others in mmHg (millimeters of mercury). Some raise 10 to an exponent, and other use base-e. However, these are minor differences and the conversions are fairly trivial.

Many of the formulas have the same (or can be reduced to the same) basic structure, but with different coefficients.

One thing I found interesting is that the calibration points vary. Sometimes a temperature is explicitly used, other times it is the pressure. Occasionally, it is both. The following table captures some of the variations in the "over water" algorithms.

From Review of the vapour pressures of ice and supercooled water for atmospheric applications by D. M. Murphy and T. Koop, 29 Dec 2006 Though the relation is not exact, the following is close.

Because the standard temperature scale was redefined in 1990, the current (ITS-90) steam point temperature is 373.124 K (99.974°C) at 1 atm (1013.25 mbar), not 373.15 K (100°C - the old IPTS-68 standard), and not 373.16 K (used in 2 of the equations).

Most of the dates come from Holger Vömel. However, those appear to reflect when the coefficients were published, not when the equation was first used. For instance, the MagnusTetens equation was published in 1967, Tetens first published in 1930, and the original Magnus equation dates to 1844. Also, several references provide dates one year earlier than Vömel, not sure why.

Uncertainty in the generation of humidity (page 22 and Table 12) explains that Wexler (1976 over water, 1977 over ice) used IPTS-68 and that Sonntag (1970) updated Wexler's equations to ITS-90.

Besides the 4 algorithms based on the Magnus equation listed above, "Improved Magnus` form approximation of saturation vapor pressure" lists additional coefficients and then computes several new coefficients.


Antoine and August equations

The Antoine and August equations are fairly useless (rough approximations - low accuracy), but of historical importance. I included these because

Ernst Ferdinand August (1795-1870) coined the term psychrometer in 1818. In 1825, he invented a wet bulb / dry bulb psychrometer and produced a formula to compute relative humidity from those temperatures. From the references, it is not clear when he produced the saturation water vapor formula described here, but it had to be before his death (1870). The date in the table above (1825) should be considered an approximate guess based on the data available to me. The coefficients are fairly difficult to locate. The best I could do was Physics Related to Anesthesia, By John D. Current, M.D. - the coefficients (on page 189) are for natural log, not base ten. The same coefficients are in wikipedia, but without a reference. This equation has the same form as the Clausius-Clapeyron relation (~1850) assuming constant enthalpy (which implies constant specific heat) over the temperature range.

The Antoine equation (Antoine, C. - 1888) is based on the Clausius-Clapeyron relation (~1850). The coefficients are available for various substances (not just water) and they normally produce results as mmHg (torr). The program implements the algorithm with a single set of coefficients calibrated for the range of 0 to 100°C. To improve accuracy, NIST provides new coefficients about every 30°C.

This is the source code used in mcSaturationVaporPressure.pas - they both convert from mmHg to mbar.

Unfortunately, the best coefficients I could find are from wikipedia.


GISS Model-E

GISS Model-E - the NASA climate model used for IPCC AR4 and AR5 - contains the following code to compute the saturation mixing ratio. (Reference QSAT function in Model-E's UTILDBL.f) After a little algebra, this is the code that computes the saturation partial pressure in mbar.

The following compares the "over water" Model-E equation with the August equation. (Code from the mcSaturationVaporPressure unit.)

The coefficients are significantly different because one produces results in mbar and the other in torr (mmHg). Using a little algebra and rearranging the terms Obviously, the 2 equations have the same form, though the coefficients are still a bit different.

The Model-E saturation partial pressure at the triple point (6.108 mbar) is similar to that used by MagnusTetens (1967 - 6.1078 mbar) and Preining (2002 - 6.107 mbar). Even though the current (1976) standard is 6.11657 mbar at the triple point, a 2005 JPL paper claims

Whether those values are close, or not, depends on the application .. but I expect better from both JPL and NASA. Either use the "correct" value, or explicitly say why you don't. At any rate, the following shows that the difference may, or may not, matter. Alduchov, et al explain that thermometer values are rounded to the nearest tenth of a degree and, therefore, formulas with enough overlap due to the temperature round off error are basically the same. At 15C, that is about 108 ppm or 0.32%RH.

In the source code, NASA did not include the original date that they started using the algorithm, or a reference. (In other parts of the code, they give both.) Based on other information, such as dates in other source modules, their algorithm, with those constants, was probably first used from somewhere between 1960 and 1990 - but that is still a guess. Both algorithms were used in both AR4 and AR5 - 2007 and 2014.

By the way, this is the second algorithm in NASA's Model-E that I have had problems with - the version of the model used for IPCC AR4 used the wrong algorithm to compute the position of the Earth with respect to the Sun! (The correct algorithm was used for AR5.)


Seinfeld and Pandis

This equation is from Atmospheric Chemistry and Physics by Seinfeld and Pandis (2006). It is obviously calibrated for a boiling point of 100°C (373.15 K) at 1 atm (1013.25 mbar).

I have additional textbooks, each with its own "best algorithm". I chose this one because I used it in an earlier program before I knew there were so many algorithms and because it clearly intersects the pre-1990 boiling point.


The other 25 equations

I have provided detailed discussions of 5 equations above, including the actual code used in mcSaturationVaporPressure.pas. The details of the other 25 are provided in the excellent paper by Holger Vömel (CIRES, University of Colorado, Boulder).


Author: Robert Clemenzi
URL: http:// mc-computing.com / Science_Facts / Water_Vapor / Formulas.html