0. The warning, before any of this
Running alongside the six steps below: we read the National Weather Service forecast
for each site hourly, and when the forecast total reaches that site’s own trigger
within 24 hours the people covering it get one advisory. Active rain-relevant NWS alerts
come through the same way. It creates no obligation — the clock below still starts
on observed rain — it just means the storm is rarely a surprise.
1. Register the site
Search an address or drop a pin. Coordinates outside the continental US are rejected —
this is a US-only product and the state drives your legal threshold. State and timezone are
derived from the coordinates, and both are mandatory: if the timezone cannot be determined
and you do not supply one, creation fails. A deadline computed in the wrong timezone lands
on the wrong calendar day.
2. Ingest two NOAA sources
NOAA Stage IV arrives on its own cadence from NCEP, quality-controlled by the River
Forecast Centers. NOAA MRMS arrives near real time — one national grid download serves every
site, which is what makes fleet-wide monitoring affordable. Sentinels for "no radar coverage"
and "missing" become unavailable. They never become 0.00″.
3. Evaluate every five minutes
Every site's rolling 24-hour accumulation is compared against its state permit threshold.
The two sources are reconciled by taking the higher — never by averaging, which would invent
a number neither source reported. When they disagree, the gap is recorded and shown.
4. Alert once, on the transition
Crossing the threshold moves the event to BREACHED and sends one notification — push and
email — with the inspection deadline already computed in the site's local time. The decision
to notify is recorded when the event flag flips and delivery is a separate step with retry
and backoff, so a mail outage delays your alert instead of losing it.
5. Inspect, evidence, file
The inspector opens the state form, prefilled with the storm total and attributed to its
source — "SWRainAlert (NOAA radar)", never a gauge we do not have. Photos and video attach
from the phone, downscaled on device, and queue in an outbox if there is no signal. A
submitted inspection is immutable; a correction is a new record. Filing emails the signed
PDF to the site’s own recipients — the owner, the engineer, the county —
and fires an inspection.filed webhook if you have set one up. The record
commits first, so the mail can never fail the filing.
6. Close the event
A complete inspection resolves the event; a draft leaves it BREACHED with the clock still
running, because that is the truth. And six hours with no accumulation closes it regardless,
so the next storm that day starts from zero and earns its own alert.