We check our work in public.
Trust should be earned, not asserted. This page runs a live comparison of our wet-bulb globe temperature against the U.S. National Weather Service’s own published WBGT at a set of cities across the country: recomputed continuously, shown warts and all.
The verdict
Loading the held-out figures the target is judged on…
How we check
What we check against. Our reference is the National Weather Service’s modeled, gridded WBGT for the same place and hour. It is a model output like ours, not an instrument reading, so the comparisons here describe agreement between two models, not error against an instrument.
How to read this. Δ is our value minus the NWS value, in °C. The comparison mixes two things: the WBGT physics (where we use the validated Liljegren method) and the underlying weather inputs: NWS drives its WBGT from the National Blend of Models while we use Open-Meteo’s blend. So part of any disagreement is the two systems differing on clouds and sunlight at that hour, not on the heat-stress calculation itself.
Spot check by city
Our target. Mean agreement within about ±1.5°C, for the number we display: the corrected estimate, judged by its held-out error on days the correction never trained on (the “after” figures in the correction card above), overall and after dark. We call the target met only when both are inside it, so a good daytime figure cannot hide a miss after dark. The raw model’s figures on this page come before correction, and we do not claim they meet the target. It describes an average, not every reading. And while the correction is not applied (held back, for about a minute after it fails to build, or, outside the contiguous US, wherever it would lower a reading), readers are shown the raw number. These figures describe US reference locations only, and we publish no accuracy figure for anywhere outside the contiguous US until we have one for it.
Reproduce it. The exact comparison runs as an automated test (npm run validate:wbgt) and as the public /api/validation endpoint. Every formula behind our number is in the methodology.
The correction in detail
The held-out error split into daylight and dark hours, and the correction surface itself: how much is added to or subtracted from our raw WBGT at each level of sun and wind.
The monthly record
The live figures cover a rolling window, so they move on. Once a calendar month closes (UTC), its figures are written once to a dated record and never edited, and the whole series is public at /api/bias/monthly, with each row naming the engine version it describes and when it was computed. The NWS reference in that record is a model output too, so it shows agreement between two models, not error against an instrument.