When dealing with equations and data, typos are a common problem. In the following, I have pointed out several.
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.
- 4.4412543E-13 * T4 // this should be plus, not minus
The 2011 code does not actually contain Wexler's over ice formulation, just a reference to it and an incorrect over water formulation.
Nielsen Murphy Vömel Alduchov 96 29.32707 24.7219 24.721994 24.72219 over ice coefficient
Nielsen 29.32707 - ln(100) = 24.7218998 => 24.7219
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.
Vömel 16.635794 over water 24.721994 over ice
So, How big an error is this?
Sonntag fix - change is not significant °C old new -30 0.38003 0.37999 -10 2.59917 2.59893
Murphy and Koop
This is my primary source for the following
The vapour pressure of both ice and liquid water at the triple point is
Pt = 611.657 ± 0.01 Pa at temperature Tt = 273.16 K
(Guildner et al. 1976, Vapor pressure of water at its triple point. J. Res. Natl. Bur. Stand., 80A, 505–521)
There are 3 Goff and Gratch equations - 1946, 1957, 1965.
|Algorithm||Murphy and Koop||Vömel|
|Goff and Gratch 1946 over water||log (101325)||log (1013.246)||5.005716612414
|Goff 1957 over water |
|Goff 1957 over ice |
|2 constants are different|
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
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)
|Over water||Wexler (1976)||Wexler (1977)||The coefficients are identical except for the sign of the T^4 term
+/- 4.4412543E-13 * T_K^4
=0.003597416 when T_K = 300
Vömel fixed this in 2014 and now they are identical
|Over ice||Wexler (1977)||HylandWexler (1983)||These have identical coefficients
Note: these are not the same as the Wexler 77 coefficients over ice
|Over water||Sonntag (1990)||Sonntag (1994)||scale factor - 21.2409642 vs 16.635794
exp(21.2409642 - 16.635794) = 100
The other 4 coefficients are identical
|Over ice||Sonntag (1990)||Sonntag (1994)||scale factor - 29.32707 vs 24.721994
exp(29.32707 - 24.721994) = 99.99058184
The other 4 coefficients are identical
|ln(100)||4.605170186||Computed via Excel|
|21.2409642 - 16.635794||4.605170200||Very close|
|29.32707 - 24.721994||4.605076000||This is the problem|
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.
About 6% error at -40°C (-40°F) About 4% error at 40°C (104°F) < 0.06% error at 6°C ( 44°F) 6.108 mBar @ 0.01°C
Atmospheric Noise Temperature Induced by Clouds and Other Weather Phenomena at SHF Band (1-45 GHz)
Christian Ho, Stephen Slobin, and Kelly Gritton, August 11, 2005
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
|Water Vapor||Attenuation scale height = 2.0 km|
|Oxygen||Attenuation scale height = 5.4 km|
|Cloud||base = 1 km|
top = 3 km
2 km thick
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
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.
1. Introduction (paragraph 3) The most precise formulation of vapor pressure over a plane surface of water was given by Wexler (1976). The relative errors of Tetens' (1930) formula and one due to Buck (1981) (...) are shown in Table I. Table I. Relative errors(%) of Buck's (BU81) and Tetens' (TE30) approximations.
To use the calculator,
Nielsen 29.32707 - ln(100) = 24.7218998 => 24.7219 Murphy Vömel Alduchov 96 24.7219 24.721994 24.72219 over ice coefficient
By inspection, it appears to me that both Vömel and Alduchov contain a typo.
°C Table 2 Calculator 80 47375.85 47374.847
Seinfeld and Pandis
Atmospheric Chemistry and Physics by Seinfeld and Pandis (2006)
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
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
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.