Skip to content

saturation vapor pressure #1469

@IslandOfDreams

Description

@IslandOfDreams

The Magnus type formula used fopr the calculation of saturation vapor pressure (thermo.py, line 771)

return sat_pressure_0c * np.exp(17.67 * (temperature - 273.15 * units.kelvin)
                                       / (temperature - 29.65 * units.kelvin))

refers to [Bolton1980].

Therein, Bolton explains (p. 1047):
'The following formula was fitted to Wexler's results, extrapolated for T < 0°C, to an accuracy of 0.1% for -30°C <= T <= 35°C: ...'

Since the Earth atmosphere shows a much greater temperature range of roughly -65°C <= T <= 50°C, Bolton's formula regularly gives less accurate results outside his recommended interval.

For a fruitful discussion of this topic see, e. g.,
Alduchov, Eskridge - Improved Magnus Form Approximation of Saturation Pressure.

The following formula as given by [Sonntag, 1990] assures a higher accuracy over a much extended temperature range (Python code):

return (math.exp ( -6096.9385 / T 
                 + 16.635794
                 - 2.711193 * T / 1.0e2
                 + 1.673952 / 1.0e5 * T*T
                 + 2.433502 * math.log (T)
                 ) * 100.0)      # conversion from hPa to Pa
             * units.Pascal.
with T: Temperature in KELVIN in the Temperature Scale 1990.
and     207,25 K <= T <= 334,05 K (i.e. -65.9°C <= T <= 60.9°C)

Reference:
Sonntag D., 1990: Important new values of the physical constants of 1986,
vapor pressure formulations based on ITS-90, and psychrometer formulae.
Z. Meteorol., 70, 340-344.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: CalcPertains to calculationsSubarea: ThermoPertains to thermodynamic calculations and their physical correctnessType: EnhancementEnhancement to existing functionality

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions