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_mm is adjusted in real-time. So:
- Don’t sum
precipitation_amount_mmfor 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.