The formulas are used in the following web applications
Calibration Points over Water
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.
Formula structure | Algorithm | Year | Calibration Temperature | Calibration Pressure | Temp | Comment |
---|---|---|---|---|---|---|
log(P) = A + B/T | August_equation | 1825 | 373.1636 | 1013.25 |
For GISS_AR4, only the pressure was specified in the formula and
the "calibration temperature" was then computed from that. For the other 3, there are no obvious calibration points - For August and Antoine, I simply selected 1 atm and computed the temperature. The Marti & Mauersberger formula is the only one in this table over ice only. It is included to show its structure. For a "calibration point", I selected 273.15K and computed the pressure. | |
Marti & Mauersberger | 1993 | 273.15 | 6.10868 | |||
GISS_AR4 | ?? | 273.16 | 6.108 | |||
log(P) = A + B/(C+T) | Antoine_equation | 1888 | 373.1469 | 1013.25 | ||
log(P) = A + B*T/(C+T) | Bolton | 1980 | 273.15 | 6.112 | Both the temperature and pressure are explicitly set
Of these, only MagnusTetens uses the triple point, the rest use 0.00°C | |
CIMO | 2008 | 273.15 | 6.112 | |||
Buck_original | 1981 | 273.15 | 6.1121 | |||
MagnusTetens | 1967 | 273.16 | 6.1078 | |||
log(P) = A + (B*T + C*T^2)/(D+T) | Buck_manual | 1996 | 273.15 | 6.1121 | ||
Log(P) = 4th order power series | Seinfeld_Pandis | 2006 | 373.15 | 1013.25 | ||
Complex | MurphyKoop | 2005 | 273.16 | 6.11657 | No obvious calibration points
The pressure is simply calculated from the triple point | |
Preining | 2002 | 273.16 | 6.107 | |||
HylandWexler | 1983 | 273.16 | 6.11657 | |||
Sonntag | 1994 | 273.16 | 6.11657 | ITS-90 | ||
Wexler | 1977 | 273.16 | 6.0864 | IPTS-68 | ||
IAPWS | 1995 | 647.096 | 22.064E4 | ITS-90 | Temperature and Vapor pressure at the critical point | |
Fukuta | 2003 | 373.16 | 1013.246 | These values are used in the base equation, but the Fukuta low temperature corrections do not give a valid result at that temperature - the notes say 373.16 K = steam point | ||
WMO2000 | 2000 | 273.16 | 6.11139 | Pressure computed from temperature
These formulas are identical except for the sign of one exponent. WMO2000 is the correct version. | ||
WMO_Goff | 1957 | |||||
GoffGratch | 1946 | 373.16 | 1013.246 | The notes say 373.16 K = steam point temperature |
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) |
273.16 K / 6.11657 mbar -> 273.15 K / 6.112 mbar |
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
log10Pv = A - B/(C + T) // Antoine equation 1888 log10Pv = A - B/T // August equation ~1825 |
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.
vpf_Antoine_equation: begin // Source : http://en.wikipedia.org/wiki/Antoine_equation 05-05-14 Psat := 1013.25/760 * power(10,(8.07131 - 1730.63/(233.426 + T_C))); end; vpf_August_equation: begin // Source : http://en.wikipedia.org/wiki/Antoine_equation // Source : Physics Related to Anesthesia // By John D. Current, M.D. // http://books.google.com/books?id=RgcpOQ444vgC&pg=PA184&lpg=PA184 // the coefficients are on page 189 // // http://en.wikipedia.org/wiki/Vapour_pressure_of_water 05-05-14 Psat := 1013.25/760 * exp(20.386 - 5132 / T_K); end; |
GISS Model-E
GISS Model-E formula // This is what is in the code - reformatted for readability QSAT = 6.108 * MRAT * EXP(Latent_heat * (7.93252E-6 - 2.166847E-3/temp_K))/Pressure Latent_heat = 2.834E6 ice = 2.5 E6 water MRAT = (mwat/mair) // ratio of molecular weight of water over molecular weight of air // used to convert mixing ratio to relative heat content QSAT = Partial Pressure * MRAT / Total Pressure // Partial pressure (mbar) at saturation - QSAT with MRAT and Pressure removed Psat = 6.108 * EXP(Latent_heat * (7.93252E-6 - 2.166847E-3/T_K)) |
Psat := 6.108 * exp(2.5E6 * (7.93252E-6 - 2.166847E-3/T_K)) // Latent_heat water = 2.5E6 Psat := 6.108 * exp(2.834E6*(7.93252E-6 - 2.166847E-3/T_K)) // Latent_heat ice = 2.834E6 |
The following compares the "over water" Model-E equation with the August equation. (Code from the mcSaturationVaporPressure unit.)
Psat := 6.108 * exp(2.5E6 * (7.93252E-6 - 2.166847E-3/T_K)); // GISS Model-E AR4 & AR5 Psat := 1013.25/760 * exp(20.386 - 5132 / T_K); // August equation |
2.5E6 * 7.93252 E-6 = 19.8313 2.5E6 * 2.166847E-3 = 5417.1175 ln (6.108) = 1.8096 ln (1013.25/760) = 0.2876 ln (6.108) + 19.8313 = 21.6409 ln (1013.25/760) + 20.386 = 20.6736 Psat := exp(21.6409 - 5417.1175 / T_K); // GISS Model-E AR4 & AR5 Psat := exp(20.6736 - 5132 / T_K); // August equation |
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
the saturation partial pressure of water vapor (over water) is 6.108 mbar at 0°C |
IR Absorption (computed with another program) At 1013.25 mbar, 60.00 %RH, 1 km thick layer, 288.15 K (15°C) - surface MurphyKoop 10,101 ppm 208.17 W/m2 GISS_AR4 10,148 ppm 208.31 W/m2 At 1013.25 mbar, 60.00 %RH, 1 km thick layer, 310.93 K (37.78°C 100°F) - surface, hot MurphyKoop 38,808 ppm 336.78 W/m2 GISS_AR4 40,229 ppm 338.17 W/m2 At 500 mbar 100 %RH, 1 km thick layer, 251.8 K (-21.20°C) - mid-troposphere MurphyKoop 2,233 ppm 73.400 W/m2 GISS_AR4 2,272 ppm 73.669 W/m2 At 226.06 mbar 100 %RH, 1 km thick layer, 216.5 K (-56.65°C) - tropopause - 11 km MurphyKoop 126 ppm 12.343 W/m2 - using over water formulas GISS_AR4 151 ppm 13.260 W/m2 Using the over ice formulas, both algorithms give identical results at -56.65°C GISS_AR4 75 ppm 9.9554 W/m2 |
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.)
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).
vpf_Seinfeld_Pandis: begin // over water only // Source : Atmospheric Chemistry and Physics by Seinfeld and Pandis a := 1 - (373.15/T_K); Psat := 1013.25 * exp((13.3185 - (1.97 + (0.6445 + (0.1299*a))*a)*a)*a); end; |
The other 25 equations