Water Vapor - References

I used a number of references to research this area and create the programs. This page contains additional notes and comments about those.

When dealing with equations and data, typos are a common problem. In the following, I have pointed out several.

Holger Vömel | Murphy and Koop | Nielsen, et al. 2004 | GISS Model-E | JPL Paper | Alduchov and Eskridge | Wexler | Seinfeld and Pandis | Temperature | Wikipedia

Holger Vömel

Saturation vapor pressure formulations, Holger Vömel (CIRES, University of Colorado, Boulder).

This is my primary reference for 25 (of 30+) equations. In order to reduce the number of typos, I used the provided Fortran source code and made only simple modifications to convert it to javascript.

The associated code contains several formulations not included in the html page.

When a value over ice is requested, the associated code replaces the result with HylandWexler (water) for any temperature above 0°C. I have elected not to do that in my code.


In the 2011 version, the Wexler over water formulation contains 2 errors, both fixed in a 2014 version.

The 2011 code does not actually contain Wexler's over ice formulation, just a reference to it and an incorrect over water formulation.

Sonntag Typo

This was fairly difficult to find - basically, one of the Sonntag over ice constants is different in 4 separate papers and the primary Sonntag article is behind a paywall. Nielsen is the odd one because he computes the saturation pressure in Pa and the others use hPa - a scale factor difference of 100. Therefore, the first thing to do was to convert the Nielsen value by subtracting ln(100). Since this is basically the same as MurphyKoop, I assumed that this is correct.

But where did the extra Vömel digits come form?

Assuming that he copied the over water function and just typed new coefficients (something many of us do), he might not have noticed that the over ice value has only 4 digits after the decimal and that the over water value has more.

Since Nielsen and MurphyKoop have basically the same coefficient, and since I can explain the Vömel value as a typo, I think that it is very likely that Alduchov also contains a typo.

So, How big an error is this?

Murphy and Koop

Review of the vapour pressures of ice and supercooled water for atmospheric applications by D. M. Murphy and T. Koop, 29 Dec 2006

This is my primary source for the following

Appendix A contains a number of equations that provide pressure in Pa - since the Vömel equations provide pressure in hPa, there is a difference of 100 (2 in the log's below).

There are 3 Goff and Gratch equations - 1946, 1957, 1965.

Appendix C contains a table with the expected saturation vapor pressure values both over ice and over water - the intended purpose is to check computer code. Those values (specified with 4 to 6 significant digits) agree with the values computed by my software when rounded to the same precision. Note that the values in the table are specified in Pa and my software produces results in hPa (mbar) - the difference being 100 (10^2).

The following formulations are in Appendix A, including a few not found in other sources.

The saturation vapor pressure over ice depends on the crystallization - hexagonal, cubic (below 200K), amorphous (below 160K). (Once, when cleaning a home freezer, I saw what appeared to be cubic ice on some old ice cream - about -20°F (244K). Before that, I had no idea such a thing was possible.)

Nielsen, et al. 2004

Uncertainty in the generation of humidity Jan Nielsen, Jeremy Lovell-Smith, Martin de Groot, Stephanie Bell

A paper presented at the EUROMET 2004 Workshop on Uncertainty in Humidity Measurements. 22th February 2004, EUROMET THERM Technical Committee Meeting.

As the name suggests - this paper is primarily focused on uncertainty in the calibration of humidity sensors.

This discusses the Wexler formulation and provides a table of coefficients. In particular, the Sonntag (1990) coefficients fit the Wexler formulation to ITS-90.

The following table compares the coefficients in this paper to those in the Vömel paper. The first conversion is easy - Nielsen provides results in Pa, Vömel uses hPa - a difference of 100. However, the comparison is difficult because they don't appear to use the same versions of each algorithm. For instance, Nielsen provides coefficients for Sonntag (1990) and Vömel uses Sonntag (1994). Over both water and ice, these two have identical coefficients except for the scale factor. As shown in the table below, the coefficients are (nearly) equivalent to the scale factor of 100 .. except that one of them does not have enough significant figures. Unfortunately, since I do not have access to the original Sonntag papers - they are about $33 each to read! - I don't know which source is wrong.

The 4 Wexler papers are a bigger problem.

I only compared the following algorithms (coefficients in Table 12, p 24)

The error in Sonntag over ice is actually pretty big when you consider that someone manually made the conversion between Pa and hPa - or, perhaps, the difference is in the original source. Who, knows? Table 12 also has ITS-90 coefficients for Hardy 1989, Wagner and Pruss 1993, Wagner, et al. 1994.

GISS Model-E

NASA provides source code for their climate simulation model - GISS Model-E - used for IPCC AR4 and AR5. I spent several months trying to get it to work, but it contained too many problems - mostly divide by zero errors.

At any rate, I used the opportunity to look at the science behind their model. The two saturation vapor pressure formulations (one equation, but with different parameters over water and over ice) are implemented in the QSAT function in UTILDBL.f. I was surprised to see that it had a different form than any of the Vömel equations. I eventually learned that they are using the highly inaccurate August equation, but with different parameters. It turns out that over the range of atmospheric temperatures, their formulation is probably accurate enough.

(Apparently, accuracy does not matter for climate models.)

JPL Paper

The two saturation vapor pressure formulations used in NASA's climate simulation model - GISS Model-E - produce 6.108 mbar at 0.01°C (the triple point). Since that differs from the standard given by Murphy and Koop, I tried to determine where it came from. As a result, I came across a paper from JPL prepared for the Air Force with funding from NASA. On page 18, it says Since there is no decimal point, that could be at the triple point - or not.

I discuss this reference in detail. On page 18, they provide a number of saturation vapor pressures, but provide no reference on where they come from (or how they were computed). Since the pressures are provided with 2 decimal places, I assume that the temperatures given are exact and not rounded from something close. While their values don't exactly match any of the formulas in my software, they almost match WMO_Goff.

Table 5 provides

Pressure scale heights are typically computed at a specified temperature. From the text, it appears that the attenuation scale heights are measured (computed from data) for a real atmosphere.

A surface water vapor density (absolute humidity - AH) of about 7.7 g/m3 "results from a surface temperature of 15 C and a relative humidity of about 58%".

Alduchov and Eskridge

There are 2, almost but not quite, identical papers The abstract and some of the text is different, but they are basically the same paper .. with the same name. I have no idea why the typed version has a later date than the journal article.

Table I in the typed (1997) version (not in the 1996 paper) appears to be wrong. I created a calculator to perform the computations and got significantly different answers.

Given the fact that the equations are apparently identical (yes, I checked that), my computations and what they show in the table should be identical - not even close.

To use the calculator,

(The dates are shown in the status bar when the mouse is placed over the formulation name.)


There is a probable typo in one of the Sonntag 1990 over ice coefficients. To verify that, I had to subtract ln(100) from the Nielsen value (which appears to have its own problem). As already pointed out, the Nielsen and Vömel values don't match .. but they are close.

By inspection, it appears to me that both Vömel and Alduchov contain a typo.


There are many sources for the Wexler formulations - the following all agree. Table error - In Wexler, 1976, I think there is a typo in Table 2 - all the values in the first column agree with my calculator except

Seinfeld and Pandis

One of the first saturation vapor pressure equations I found was in My programs were originally written to see how accurate (or consistent) their algorithm was. I kept it in the program because it has a different form from those in Vömel. It is obviously calibrated for a boiling point of 100°C (373.15 K) at 1 atm (1013.25 mbar).

This formulation is identical to the 1971 Richards formulation with the exception that Richards used 373.16 K (vs 373.15 K) as the calibration point. Lowe77 eq7


The problem of temperature is quite involved - I have a separate page discussing it.

Basically, there are several definitions of the metric temperature scale and various algorithms (formulations) use one standard or another.

Of course, this makes it very difficult to analyze atmospheric data over a large interval - the standards changed, so the measured values changed. However, it is hard to find the correct metadata to make the necessary adjustments.

The International Temperature Scales - 1878 to 2000

The International Temperature Scale of 1990 (ITS-90)

International Practical Temperature Scale of 1968 (IPTS-68)

Guide to the Realization of the ITS-90


I really hate using Wikipedia as a reference. However, it would not be fair to refuse to credit a source I use so much, and it provides good definitions of many concepts. Occasionally, it is the only reference for some item - I assume that someone copied something from another source but forgot to provide a reference.

Most of the information on the Antoine and August equations comes from here. Not because there aren't other sources, but just because those sources are not available online.

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