Three years ago, I reported that accumulated rainfall amounts are being consistently and erroneously adjusted downward: Excessive “Rain Check” adjustment. Since then, there has been no improvement as far as I can tell.
Today, my Tempest was reporting only 0.47” of rainfall after several hours of intermittent moderate to heavy rain. Several other (non-Tempest) Weather Underground stations in my neighborhood were reporting up to an inch.
As can be seen, the accumulated rainfall repeatedly increased but then was yanked back down by Weatherflow’s Rain Check adjustment (now called NC Rain).
In contrast, a nearby Ambient Weather station less than a quarter mile away produced this graph:
which is far more indicative of the true conditions.
There are a dozen or so WU stations within a half-mile of my home, some Tempest and some other brands. The graphs from all of the Tempest stations looked similar to mine; the ones from the non-Tempest stations consistently showed steadily increasing accumulations much greater than what the Tempest stations showed.
I know that NC Rain attempts to smooth the results by averaging with other Tempest stations and perhaps with other sources, such as NOAA stations. What I think is happening is that the higher rainfall that we have here in Los Altos Hills is being averaged with the lower rainfall in communities closer to SF Bay, which lie in a rain shadow from the Santa Cruz Mountains (and which happens to be where all the local NOAA stations are). In a region with widely varying microclimates, as is common in the SF Bay Area, this smoothing subverts the stated goal of providing hyperlocal weather data.
I know that I can turn NC Rain off in my station, so that I see the unadjusted rainfall amount in my Tempest app. But that doesn’t really address the problem of the erroneously adjusted data being reported to the Tempest network or to other networks such as Weather Underground.
Would someone from Weatherflow care to comment on this? Perhaps there can be some improvements made to the NC Rain algorithm to better accommodate widely varying microclimates over a small area.
I can confirm this — we log every obs_st WebSocket observation to a database across a collection of Tempest devices, and can see the exact moment each correction happens at the minute level.
What we’re seeing
On February 19th, one of our stations recorded 60 minutes of rain. Summing the per-minute precipitation_amount_mm (index 12) values give 12.72 mm (0.50 in) for the day. But the final precipitation_amount_local_day_mm (index 18) was 7.88 mm (0.31 in) — matching the WeatherFlow app. That’s a 61% overcount from per-minute sums.
The daily accumulator was adjusted downward five separate times during the day, both during active rain and during dry periods afterward. All timestamps UTC:
During active rain:
Time (UTC)
precipitation_amount_mm
precipitation_amount_local_day_mm
17:05:00
0.503085
3.489566
17:06:00
0.493703
2.896266 (−0.59 mm)
17:07:00
0.577019
3.473285
At 17:06, the station reported 0.49 mm of rain that minute — local_day should have gone UP to ~3.98. Instead, it dropped to 2.90.
Time (UTC)
precipitation_amount_mm
precipitation_amount_local_day_mm
17:20:00
0.593057
6.876617
17:21:00
0.668407
5.065174 (−1.81 mm)
17:22:00
0.785958
5.851132
During dry periods:
Time (UTC)
precipitation_amount_mm
precipitation_amount_local_day_mm
19:00:00
0
10.599377
19:01:00
0
7.113013 (−3.49 mm)
19:02:00
0
7.113013
The largest adjustment — 3.49 mm removed from the daily total while no rain was falling.
Two smaller corrections followed at 21:21 UTC (−0.07 mm) and 22:24 UTC (−0.10 mm).
It’s not station-specific
We checked all 15 Tempest devices in our collection that have recorded rain over the past 90 days:
Metric
Value
Devices with rain data
15
Devices showing mid-day local_day_mm drops
15 (100%)
Total downward adjustments (90 days)
757
Largest single drop
−41.21 mm
Average drop
−2.10 mm
Every device that has recorded rain shows this pattern. The corrections happen on every rainy day, multiple times per event.
The nearcast/analysis fields are redundant now
On all 757 drops across all 15 devices, precipitation_analysis_type (index 21) is always 0, and the nearcast fields (indices 19, 20) are identical copies of the base fields (indices 12, 18). This lines up with what was discussed in the Changes to precipitation API thread — all four precipitation fields now return the same RainCheck-corrected data. The analysis type flag and nearcast fields appear to be vestigial.
For anyone building integrations
The per-minute precipitation_amount_mm is corrected at the time of emission but never retroactively adjusted when RainCheck later revises its estimate downward. The running daily total precipitation_amount_local_day_mmis adjusted in real-time. So:
Don’t sum precipitation_amount_mm for daily totals — it will overcount.
Use precipitation_amount_local_day_mm — It’s the authoritative value and matches the WeatherFlow app.
Raw, uncorrected data is only available via UDP from the local hub.