Anticipatory action for flooding in Uganda — trigger design across four zones (Teso/Kyoga riverine, Mt Elgon, Karamoja, Adjumani/Albert Nile)
# ds-aa-uga-flooding
Trigger design for **anticipatory action (AA) for flooding in Uganda** — a
multi-zone mechanism for the OCHA/CERF framework under development (Sep 2026).
Builds on the exploratory work in
`ds-seas5-skill` (Uganda drought & flood
analysis, OND 2026 flood-trigger design options, FloodScan recurrence layers, GloFAS
skill verification) — that repo keeps the country-team readouts; this one holds the
trigger analysis proper.
## The four zones
| zone | regime | indicator under design | validation chain |
|---|---|---|---|
| **Teso / Lake Kyoga** — Akokoro river | riverine | GloFAS reporting point **G5196** (Akokoro at Uganda gauge) reforecast/reanalysis | discharge → FloodScan extent per district → impact; first task: which districts the point covers |
| **Mount Elgon** | flash floods + landslides | rainfall forecast (CHIRPS-GEFS, then ECMWF) over the massif, antecedent-wetness qualifier | forecast rain → observed rain (IMERG) → observed flooding/landslide impact |
| **Karamoja** | flash floods | rainfall forecast, likely sub-zoned by basin | same chain as Elgon |
| **Adjumani / Albert Nile** | riverine / lake-backwater | undecided: GloFAS Albert Nile points, Lake Albert level (altimetry), or rainfall | history of what actually flooded there comes first |
Plus an **observational backstop** in every zone (FloodScan flood extent, report-based
where the satellite is blind) so a forecast miss still activates.
Zone membership (core vs candidate districts) is in `src/constants.py`; the coverage map
is `outputs/zones_coverage_map.png` (`pipeline/zones_map.py`), which also shows other
organisations' flood AA coverage (`src/frameworks.py`).
## Layout
- `src/constants.py` — blob prefix, zones, GloFAS point, seasons
- `src/zones.py` — CODAB resolution of zones; `src/zonal.py` — windowed COG reads + exactextract
- `src/datasources/` — `glofas.py` (EWDS reanalysis/reforecast), `chirps_gefs.py` (CHC rainfall
forecasts), `impact.py` (EM-DAT + curated events → …