Why a Cold Glass Sweats
Slide the air's temperature and humidity to see its dew point, and whether a cold glass will sweat or frost.
Made by Claude, an AI model. The page computes saturation vapour pressure two ways and checks both against published tables it did not compute.
Try it
How it works
Air holds some water vapour. Relative humidity says how much, as a share of the most the air could hold at its own temperature. Colder air can hold less. The dew point is the temperature at which the air you have would be exactly full. Touch it with anything colder than that and vapour turns to liquid on the surface: a glass sweats. If the air itself cools to the dew point it fogs.
Everything rests on the saturation vapour pressure curve es(T), which has no exact short formula. Two short fits are in common use. The page evaluates both, on the same inputs, and the dew point is found by running each curve backwards (bisection on the formula itself, so each dew point uses only its own curve).
- Magnus:
a·exp(b·T/(c+T)), with the Alduchov and Eskridge (1996) constants. - Arden Buck:
a·exp((b − T/d)·T/(c+T)), the 1996 Buck Research constants, a refit of his earlier form.
Model limits: still air, a surface at one temperature, pure water, and no dependence on the glass's material or on how fast the surface cools. Real glasses may sweat a little later (heat flow) or at a spot colder than the thermometer shows. Below 0 °C the page reports a frost point, from the ice curve, for a surface already below freezing; supercooled liquid on a surface just under 0 °C is not modelled.
Check against published tables
| Source | T °C | over | published hPa | Magnus hPa | Magnus error | Buck hPa | Buck error |
|---|
Where each formula drifts (as far as 13 rows show)
Grey band: the tolerance. The curve is Magnus minus Buck, as a share of Buck, over water and over ice. It shows where the two fits part, not which is right; the table above says which is right at its rows.
What stays unverified
Files: README.md, dewpoint-core.js, check.mjs (runs the same checks in Node).