Listening for events…

Scope freeze — Flood Eventdex (flood) — DECLARED dangerous floods

Frozen 2026-06-19 (v2, replacing the derived-percentile v1). The flood kind catalogs floods that were officially declared and carry a threat to life and property, drawn from the agencies whose job is to make that call. Mike's ruling (2026-06-19): the first attempt — deriving "high water" from USGS discharge by a day-of-year P98 rule — was scope creep. A creek topping its 98th percentile is usually normal seasonal flow, not danger (the percentile machine even manufactured 540,000× "floods" on dry desert washes). Declared floods carry the danger judgment already made by the declaring agency, so the kind is built from declarations, not synthesized from a continuous series.

Phenomenon definition (Mike's ruling 2026-06-19)

A flood event = one officially declared flood, from either declaring agency, each slot citing its source:

  • NWS warnings (nws_alerts, 2021–present) — events in {Flood Warning, Flash Flood Warning, Coastal Flood Warning, Lakeshore Flood Warning}. In NWS terminology a Warning means flooding is imminent or occurring with a threat to life and property ("take action"); Advisories (nuisance) and Watches (possible) are excluded by the danger bar. ~10,700 events, located.
  • FEMA disaster declarations (fema_disasters, 1953–present) — incident_type = Flood. A federal DR/EM declaration = serious property damage and federal aid. ~919 events, area-based (county designations), deep history.

Both are declared, dangerous floods at different granularities: NWS gives granular recent danger, FEMA gives deep major-disaster coverage. This is pure organizing (feedback_organize_not_process) of already-ingested measured/ administrative records — no web pull, no derivation, no new spine source.

Measured/administrative reality (IN): an NWS warning is a recorded official product; a FEMA declaration is an administrative record-of-fact. OUT: any flood forecast/outlook (none used; warnings record imminent/occurring danger, not a model crest prediction).

Slot model

  • Kind flood, mixed-source, event-shaped (Eventdex), ordered on event time. Each slot carries declaring_agency + tier (nws_warning | fema_disaster).
  • NWS slots are located (alert lat/lon); slot id nws_<alert-hex>. Fields: event, severity, certainty, urgency, response, headline, area_desc, onset, expires/ends, is_severe.
  • FEMA slots are area-based (no point; designated counties); slot id fema_dr<disaster_number>. Fields: declaration_type, event_name, declaration_date, incident_begin/end, states, designated_areas, n_counties, aid programs (ia/pa/ih/hm).
  • Sweep + NWS↔FEMA correspondence: deferred-v2. Linking which NWS warnings fall under which FEMA disaster is a downstream read-across, not v1.

Bricks

  • A — this freeze (v2).
  • C/Dsrc/terrapulse/monitor/flood_sweep.py: FLOOD_CONFIG (catalog, sweep deferred), get_events (reads both sources, filtered + deduped), build_dossier, backfill_and_store (file-per-slot event storehouse). No Brick B: the data is already ingested in nws_alerts + fema_disasters.

Sanity anchors

  • ~11,600 slots total (~10,700 NWS warnings + ~919 FEMA flood declarations).
  • Flash Flood Warnings carry severity Severe/urgency Immediate/response Avoid.
  • FEMA flood DRs span 1953–present; designated_areas list real counties.
Live Feed