Register
"*" indicates required fields
"*" indicates required fields
A curated, practical package for building flood early warning workflows. Includes proven dashboards (global and national), high‑value datasets (NRT and historical), concise case studies, and “How‑To” guides. Focus is on riverine flooding with notes on flash/coastal limitations and where to find complementary systems. Designed for humanitarians, NGOs, government analysts, and data teams.
Four‑year regional program improved forecasting and warning services across Pacific SIDS through targeted investments, inclusive planning, and capacity building. Emphasis on institutional coordination, community engagement, and accessibility of warnings. Illustrates multi‑partner delivery and governance improvements for island contexts.
Operational, impact‑based riverine flood forecasting for the Greater Horn of Africa combining hydrologic simulations, inundation mapping, and exposed population/assets to support daily monitoring. Demonstrated performance during 2020 Nile floods. Provides a template for coupling hazard forecasts with exposure/impact analytics.
PDF: https://nhess.copernicus.org/articles/24/199/2024/nhess-24-199-2024.pdf
Kenya’s 2025 EW4All launch advances end‑to‑end multi‑hazard warning coverage, prioritizing last‑mile dissemination and anticipatory action. Highlights national policy commitment and donor coordination. Relevant for governance and financing models.
Gov. note: https://ndoc.go.ke/kenya-launches-early-warnings-all-initiative-combat-climate-disasters
Community‑tested voice/SMS alerts improved awareness and action during intense monsoon flooding. Demonstrates accessible, low‑tech dissemination modalities, language inclusivity, and co‑design with at‑risk populations.
Program brief: https://zcralliance.org/resources/item/practical-actions-approach-to-localized-flood-early-warning-dissemination-in-bangladesh/
Transboundary community‑managed alerts using simple sensors and protocols, with progressive handover to local ownership. Shows sustainability pathways and governance across borders in Afghanistan, India, Nepal, and Pakistan.
Success story: https://www.icimod.org/success-stories/chapter-1/a-sustainable-model-of-community-based-flood-early-warning/
FFGS coverage spans 70+ countries, supporting forecasters with real‑time flash‑flood guidance from satellite/radar precipitation and hydrologic models. Useful when riverine systems (e.g., GloFAS) miss short‑fuse events.
7‑day riverine flood forecasts with local reach‑level maps across 100+ countries; easy‑to‑use interface for situational awareness and public communication. Scope/refresh: NRT forecasts daily/continuous. Limitations: Riverine only (not coastal/urban flash).
API pilot info: https://sites.research.google/gr/floodforecasting/api-waitlist/
Probabilistic medium‑range river flood forecasts and monitoring (incl. GFM). Scope/refresh: Global; routine forecast updates. Limitations: Coarse resolution; not a flash/coastal system.
Data access: https://global-flood.emergency.copernicus.eu/general-information/data-and-services/
Experimental global model linking satellite precipitation (GPM/TRMM) to runoff/flood maps. Scope/refresh: Near‑real‑time global. Limitations: Research system; use with caution for operations.
Europe‑wide river/flash flood forecasting with partner access to NRT products and public archive. Scope/refresh: Europe; regular updates. Limitations: Real‑time layers limited to EFAS partners.
JRC data collection: https://data.jrc.ec.europa.eu/collection/id-0068
CONUS + territories hydrologic forecasts (streamflow, soil moisture, total water level guidance). Scope/refresh: Frequent NRT updates (hourly to sub‑hourly products). Limitations: U.S. domains only.
Additional links (optional):
Background PDF: https://www.weather.gov/media/wrn/calendar/NationalWaterModel.pdf
Real‑time river/reservoir/precip/groundwater from 13,500+ USGS stations. Scope/refresh: U.S.; minutes‑to‑hourly updates. Limitations: Observation‑centric; forecasts via partner systems.
Tool page: https://www.usgs.gov/tools/national-water-dashboard-nwd
England flood warnings/alerts, 5‑day forecast, and river/sea/groundwater/rainfall levels. Scope/refresh: England; frequent updates. Limitations: UK‑specific; Wales/Scotland/NI on separate portals.
Alerts & warnings: https://check-for-flooding.service.gov.uk/alerts-and-warnings
National alert portal publishing official disaster warnings (CAP) incl. floods; mobile app available. Scope/refresh: India; official warnings. Limitations: National coverage only; API access limited.
Description: 250 m NRT flood extent composites from MODIS/VIIRS; typically within hours of overpass. Scope/refresh: Global daily; NRT. Limitations: Cloud/terrain shadows; river/coast false positives possible—validate locally.
Blog: https://www.earthdata.nasa.gov/news/blog/monitor-floods-globally-near-real-time-viirs
This product highlights likely floodwater within hours of satellite overpass at ~250 m resolution, making it ideal for quick situational awareness when an event begins. Use it to spot emerging inundation, prioritize areas to call or visit, and draft first briefings before higher‑detail data arrive. Combine it with WorldPop (exposed people) and admin boundaries to summarize impacts by district. Always validate with gauges, ground photos, or SAR (e.g., DSWx‑S1) to reduce false positives from clouds/terrain shadows.
NRT within hours of overpass; daily composites
NASA Earthdata: NRT Global Flood Products (overview + access)
NASA Earthdata webinar: Discover & Access NASA’s NRT Global Flood Products
LANCE FLOOD portal (product landing + tools/resources)
LANCE MODIS/VIIRS Flood Product User Guide (RevF, 2025-12)
IMERG provides half‑hourly global rainfall estimates to detect intense rainbursts and track storms upstream of flood‑prone basins. Use Early/Late for real‑time monitoring and simple operational triggers (e.g., “>50 mm in 24 h in Basin X”), and Final for after‑action analyses and threshold tuning. Pair with SMAP soil moisture to adjust alert thresholds based on antecedent wetness. Create simple color‑ramp maps to brief non‑technical stakeholders on where heavy rain is accumulating.
Near‑real‑time Early/Late; Final for analysis
NASA GPM “Data Tutorials” (includes IMERG workflows)
NASA GES DISC notebook: How to Read IMERG Data Using Python
NASA OpenScapes: Subset & plot IMERG using earthaccess + xarray
SMAP shows how wet the ground already is, which strongly affects flash‑flood likelihood and runoff response. When soils are saturated, lower rainfall can still produce dangerous floods; when soils are dry, the same rain may pose less risk. Use SMAP as a context layer to adjust rainfall‑based alert thresholds and prioritize field checks. It also supports landslide susceptibility screening in steep terrain when combined with slope and rainfall.
Refresh cadence: Daily to multi‑day (varies by product)
NSIDC DAAC: Search/order/customize data with NASA Earthdata Search
Step-by-step SMAP + Earthdata Search PDF (MTU)
NSIDC: NASA Earthdata Cloud Data Access Guide (HTTPS/S3 patterns)
SMAP Hands-On Tutorial (JPL PDF)
DSWx‑S1 uses radar (SAR) to map water through clouds and at night, providing a strong confirmation layer during active storms. Use it to verify where optical products are uncertain and to draw more precise inundation polygons for response teams. Combine with WorldCover to understand what land‑use is underwater (e.g., cropland vs. urban). Be aware of potential radar dark‑surface confusions and cross‑check with local knowledge.
~6–12‑day revisit, depending on acquisitions
PO.DAAC dataset landing page (DSWx-S1)
NASA ARSET (video): Monitoring Flood Extent with Google Earth Engine (SAR-focused)
Qiusheng Wu (geemap book): Mapping flood extents (GEE + Python)
The NWM provides forecast hydrographs for U.S. streams, enabling anticipatory actions like staging pumps or pre‑positioning supplies. It communicates what may happen over the next hours to days, not just current conditions. Use alongside USGS gauges to build trust with local officials and tune simple, local triggers. Export hydrographs as images or CSVs for situation reports and dashboards.
Hourly to sub‑hourly cycles
NOAA water.noaa.gov: NWPS APIs (catalog + service entry points)
NWPS Data & Web Services Catalog (incl. shapefile downloads)
NWM data access overview (DocuHub/CIROH)
NOAA Flood Inundation Mapping: National Viewer Quick Start (PDF)
NWIS/NWD is the ground‑truth reference for river level/flow in the U.S., critical for confirming model or satellite indications. Use it to set or validate local action thresholds and to communicate with communities (“the river is at X ft and rising”). During events, include a small table of key gauges and trends in your daily brief. If a model and the gauge disagree, prioritize the gauge and investigate why.
Refresh cadence: Typically every 15–60 min
USGS Water Services (legacy NWIS web services + query builders)
USGS Water Services documentation
USGS Water Data APIs (modernized REST/OGC endpoints)
dataRetrieval (R) tutorial (modern APIs + workflows)
GloFAS/GFM offer global river‑flood forecasts and monitoring for early awareness, especially where national models are limited. Use them to set simple, return‑period‑style triggers and to get a basin‑wide picture before local data arrive. Pair with population and facility layers to rank districts for preparedness messaging. Because resolution is coarse, cross‑check with local knowledge or higher‑detail sources before issuing strong warnings.
Refresh cadence: Routine model/NRT updates
GloFAS data & services (WMS-T + download options)
CEMS EWDS API setup (cdsapi key + downloads)
C3S training: Observing major flood events with GloFAS (hands-on)
GFM Product User Manual (PDF, 2025)
Accessing & using GFM data (PDF)
WorldCover provides consistent 10 m land‑cover classes that help you understand what is being flooded. Use it to separate built‑up areas, cropland, and natural terrain when summarizing impacts, and to plan routing around affected places. It is a good base layer for exposure maps and for estimating damage potential when combined with flood extent and population. Because it is annual, treat it as background context rather than a real‑time signal.
Refresh cadence: Annual composites; static per year
ESA WorldCover: official data access (viewer + Terrascope + Python client)
Terrascope docs: ESA WorldCover product access
ESA WorldCover datasets repo (docs + distribution options)
Matt Forrest (tutorial link + context): WorldCover accessed directly from S3 (LinkedIn post)
WorldPop provides gridded counts you can intersect with flood layers to estimate people at risk. Use it to rank wards or villages, plan messaging (how many people to reach), and size logistics (shelter, kits). It is model‑based, so numbers are approximate; present rounded values and explain uncertainty. Align the grid to your admin boundaries to keep counts consistent across reports.
Refresh cadence: Annual updates by country/year
WorldPop hub: Population Density category (download entry point)
WorldPop in GEE community catalog (annual 100 m estimates)
Example notebook: processing WorldPop raster to points (UCL)
This historical database maps 900+ flood events over nearly two decades, useful for planning and community engagement. Use it to show where floods have happened repeatedly and to support “memory” of risk when recent years were quiet. It helps calibrate where to focus preparedness and drills. Because it is not current, combine it with NRT layers during active events.
Earth Engine dataset documentation (GFD v1)
Cloud to Street GitHub (code + production context)
GFD GeoTIFF info (PDF metadata/README)
FFGS supports forecasters with near‑real‑time guidance for short‑fuse flash floods using rainfall, soil saturation, and threat indices. Use it in mountainous or urban areas where riverine systems underperform, and to inform local SMS/voice alerts when severe convection is expected. Coordinate with your NMHS for interpretation, training, and approved dissemination. Treat FFGS as the local authority’s product and align your messaging accordingly
Near‑real‑time operational cycles
CHIRPS provides long-running, station-blended rainfall estimates designed for hazards, food security, and drought monitoring. It is useful for landslides when you need rainfall accumulation baselines and historical thresholds in regions where near-real-time products may be noisy or where long records matter.
CHIRPS can be downloaded from CHC distribution portals and is also widely available in analysis platforms (cloud catalogs and geospatial toolchains). For landslides, it is often used to compute multi-day and seasonal rainfall percentiles for local threshold setting.
CHIRPS official dataset page (download + docs entry point)
CHIRPS Daily in Google Earth Engine (dataset doc)
SpatialThoughts: working with gridded rainfall in GEE (applies to CHIRPS)
Audience: Local disaster managers, community leaders, NGO staff, field teams, and analysts who can use web tools; works in low bandwidth settings.
Deploy time: ~1 day initial setup, then 10–20 minutes per day during rainy season or storm periods.
Prerequisites: Web browser; a group communication channel (WhatsApp, SMS tree, radio contact); basic spreadsheet skills.
Data & Tools:
Define the Area of Interest and watch points. Write down the districts, watersheds, or communities that matter. Add a short watch list of 10–30 named places: key river towns, bridges, clinics, camps, and known floodplain villages. Put these in a sheet with columns: Name | Type | Coordinates | Notes (why it matters).
Pick two forecast views and one confirmation view. Choose one forecast dashboard that covers the AOI (Flood Hub and GloFAS both can) and one “reality check” source for what is already happening (satellite flood layers and rainfall).
Set simple triggers tied to what the dashboards actually show.
In Flood Hub, triggers are easiest when tied to the categories and return periods shown for a location. A “1-in-20 year” or worse return period is a strong signal of severe flooding risk, but it is still a probability statement, not a promise.
In GloFAS, use the “exceedance probability” view if available. A practical trigger is “forecast indicates a high chance of exceeding a high return period” for a watched river reach, plus local vulnerability (settlements on the floodplain).
Write the triggers as a short SOP in plain language and keep them consistent.
Add rainfall context before sending an alert. Check IMERG rainfall totals upstream for the last 24–72 hours. In practice, look for heavy totals that match the basin size (small basins respond to short, intense rain; large basins respond to multi-day totals). If rainfall is light but the forecast is extreme, treat it as a “watch” and look for model disagreement.
Check soil saturation to avoid “surprise runoff.” Use SMAP to see if soils are already wet. A wet signal means less rainfall is needed to produce flooding. A dry signal means flooding may still happen, but it often requires more sustained rainfall or upstream release. Log “wet / normal / dry” for the AOI in the incident sheet.
Confirm with satellite floodwater layers when possible. In NASA Worldview, add the near-real-time flood layers (search for “Flood NRT” in the layer list), choose the latest day, and compare to what is normally water in that area. Treat this as confirmation of surface water extent, not a perfect boundary. Cloud and terrain shadow can still confuse optical flood mapping, so do not rely on a single frame for a high-stakes call.
If cloud is persistent, use radar-based water extent when available (DSWx-S1 is designed to map surface water regardless of clouds and night).
Send a short alert that separates “forecast risk” from “observed flooding.” Use a consistent template:
What: Flood Watch or Flood Alert
Where: place names and river reach
When: forecast window plus “as of” time for any observed flood layer
Confidence: forecast-based, confirmed by rainfall and/or satellite, or unconfirmed
Action: monitor, prepare to move assets, check routes, pre-position staff
Log outcomes and refine triggers weekly. Track false alarms and misses. If alerts are frequent but impacts are minimal, tighten triggers (higher return period, add rainfall threshold, require soils “wet”). If floods are missed, loosen triggers or add a second check time.
Outputs: A daily monitoring log, a repeatable SOP, and a consistent alert message format.
Validation & QA: Compare forecasted risk vs observed floodwater (Worldview flood layers) and local reports. Review at least 5 events after the season: what was detected early, what was detected late, and why.
Maintenance: Update the watch list, contact lists, and SOP every season. Re-test links and dashboards after long inactive periods.
Risks & Considerations: Cloud cover (optical flood layers), model uncertainty, and communication outages. Make it clear that forecasts are probabilistic and that confirmation steps can lag by hours to days depending on satellite overpass and processing.
Audience: NGO ops teams, emergency operations centers, small GIS teams, and technologists comfortable with spreadsheets and no-code automation tools.
Deploy time: ~2–5 days setup, then 15–30 minutes per week to maintain and tune.
Prerequisites: A Google account (Sheets); one no-code tool (Make, Zapier, or Apps Script); a messaging method (email, SMS, WhatsApp Business).
Data & Tools:
Create a single configuration sheet that controls everything. Tabs:
Watchlist: Name | Type (river, town, facility) | Lat | Lon | Admin area | Notes
Thresholds: Watchlist Name | Trigger type (CAP, gauge, forecast) | Threshold | Severity mapping
Recipients: Group name | Channel (email/SMS/WhatsApp) | Contact list
Templates: Message template text with placeholders (Location, Time, Source, Severity)
Start with two automations that are reliable in most countries.
CAP polling: Many agencies publish CAP feeds; the automation checks every 10–30 minutes, filters for flood-related alerts, and logs new items.
Gauge threshold checks: If gauges are available (USGS in the US, or another national service), pull the latest value and compare to thresholds in the sheet.
Normalize every trigger into one “event record.” Write each trigger to a single Event Log tab with columns: Event ID | Timestamp | Source | Location | Severity | Confidence | Link | Action status. This makes deduplication and auditing easy.
Add a lightweight forecast flag without trying to automate everything on day one. Many teams lose time trying to scrape forecast dashboards. A cleaner approach at this stage:
A human checks Flood Hub or GloFAS once daily.
If a watch threshold is crossed, they add one row to a “Forecast Flags” tab.
The automation treats that row like a trigger and sends a prepared message.
Include a satellite confirmation checklist in the outbound message. For any medium or high alert, the message should include one line that tells the recipient how to confirm quickly in Worldview:
“Worldview: add Flood NRT layer and check latest date for this location”
“IMERG: check last 24–72h rainfall upstream”
Decide when the system sends automatically vs when it waits for review. A practical rule:
CAP alerts: send immediately (these are official warnings).
Gauge exceedance: send immediately if it is a high threshold; otherwise log and wait for a second check.
Forecast flags: require a human review until the team is confident.
Tune thresholds using the log. Every two weeks, sort the log by “false alarms” and “misses,” then update thresholds. Keep the SOP simple and consistent.
Outputs: Automated alerts for official warnings and gauge thresholds, plus a single event log for reporting and improvement.
Validation & QA: Confirm the automation is not duplicating alerts (same CAP item repeatedly). Run a weekly test by forcing one “test” event and verifying delivery to each channel.
Maintenance: Update recipient lists, check feed links, and review message templates each season.
Risks & Considerations: CAP coverage varies by country; some areas will have no CAP feed. Gauge data availability also varies. Treat this as a modular system that works with whatever official feeds exist and improves over time.
Audience: GIS technicians and generalists using QGIS or ArcGIS; small teams that need fast briefing maps during an event.
Deploy time: ~1 day to set up a template, then ~1–2 hours per event for updates.
Prerequisites: QGIS installed; basic GIS operations (clip, buffer, raster stats); internet for data download.
Data & Tools:
Prepare a QGIS template once. Load admin boundaries, main roads, and a basemap. Set a working CRS appropriate for distance and area in the AOI. Save as “FloodBriefingTemplate.qgz.”
Bring in observed floodwater. For speed, use Worldview to export the Flood NRT GeoTIFF for the event date and AOI, then add it to QGIS. Interpret it as “observed surface water / flood extent signal,” not a depth map. If the AOI is cloudy or the flood is under vegetation, add DSWx-S1 when available because radar can map water through clouds and at night.
Remove permanent water so the map highlights “new water.” Use WorldCover’s water class as a permanent-water mask. Subtract or hide pixels that are normally water, so the briefing focuses on likely flood expansion into floodplains and settlements.
Convert floodwater to a clean briefing footprint. Polygonize the flood raster (or threshold it first if needed), dissolve small fragments, and keep a minimum mapping unit that matches the briefing purpose. Label the footprint clearly as “satellite-derived observed water extent, date/time.”
Calculate exposed population. Use zonal statistics to sum WorldPop population within the flood footprint and within a buffer (for near-term risk). Report both numbers if helpful: “inundated area” and “nearby within 2 km.”
Describe what land types are impacted. Intersect the flood footprint with WorldCover classes to estimate how much flooding overlaps built-up areas and cropland. This makes the map more decision-ready without adding extra layers.
Export a one-slide map plus a short stats box. Keep the layout simple: flood extent, key towns, rivers, admin names, and a text box with the 3–5 most important numbers (people exposed, built-up overlap, major roads affected if known). Export PNG for slides and PDF for print.
Outputs: A situation map (PNG/PDF) and a short exposure summary (population and land cover overlap).
Validation & QA: Confirm the CRS and units. Cross-check the flood footprint against rainfall context (IMERG) and at least one operational dashboard view (GloFAS or Flood Hub) to ensure the event is plausible.
Maintenance: Keep the QGIS template and baseline layers current. Re-test the workflow once per season using a past event.
Risks & Considerations: Optical flood layers can misclassify cloud shadow or dark terrain as water. Radar-based water layers can miss narrow water or confuse very rough surfaces in some conditions. Treat both as strong indicators that still benefit from local confirmation.
Audience: Regional tech hubs, NMHS teams, universities, and small analytics groups with hydrology and data skills.
Deploy time: 2–3 months for a pilot build, then a light monthly review cycle.
Prerequisites: Earthdata Login; Python and/or QGIS; comfort working with rasters, time windows, and basic automation (scheduled runs, logs, notifications).
Data & Tools:
Define the unit of action and the “who gets notified” list
Start by choosing the operational unit that decisions will be made on: basin, sub-basin, river reach, or admin unit. Basin-first is usually best for rainfall and soil moisture because it matches how runoff accumulates. Create a small reference table with ID, name, downstream communities/assets, and recipients. This table becomes the backbone for automation and for consistent messaging.
Build a simple event catalog before touching thresholds
Compile past flood dates and affected areas using whatever is available: partner sitreps, national disaster reports, gauge peaks (if present), and quick-look flood maps. Pull the matching satellite context for those events so the catalog includes “what happened” and “what the data looked like.” For each event, store at least: date range, basin/admin IDs, and a confidence rating (confirmed, likely, unclear). This becomes the truth set used to tune triggers and measure false alarms.
Turn IMERG into basin rainfall features that a trigger can use
IMERG is half-hourly precipitation, which is ideal for rolling totals. For each basin, compute rolling 24-hour, 48-hour, and 72-hour accumulations, plus one intensity feature such as the maximum 1-hour rainfall within the last 24 hours. Use Early or Late for near-real-time monitoring, then switch to Final during reviews to tune thresholds against confirmed events. The first version of the trigger can be as simple as “72-hour basin rainfall exceeds a basin-specific threshold,” but the key is that the threshold is not the same everywhere. Mountain basins, urban basins, and flat floodplains often need different trigger levels even inside the same country.
Practical access: use GES DISC subsetting for AOI/time downloads (GeoTIFF/NetCDF) for scripted pulls, and Giovanni for quick visual checks and exports when validating events.
Use SMAP as the wetness modifier and explain it plainly in outputs
SMAP answers “how close is the ground to saturation,” which changes how much rainfall is needed to produce flooding. Convert SMAP to a basin wetness class that non-specialists can interpret. A good starting approach is percentile-based: for each basin, compare today’s SMAP soil moisture to a multi-month or multi-year distribution and label it dry / normal / wet / very wet. Then apply a simple modifier to the rainfall trigger, such as lowering the rainfall threshold when soils are very wet, and raising it when soils are unusually dry. This makes alerts feel more “local” and reduces obvious false alarms.
Practical access: pull an L3 daily SMAP product via NSIDC with Earthdata Login, using the “Customize” option to crop to the area and output format that will load cleanly in GIS.
Design the trigger ladder for action, not just detection
Create two or three alert levels with clear intent:
Watch: rainfall building and soils supportive of runoff; prompts increased monitoring and partner check-ins.
Warning: rainfall threshold exceeded with wet soils; prompts readiness actions and targeted community messaging.
Escalation: rainfall extreme or rapidly intensifying; prompts immediate coordination steps and a request for rapid confirmation layers.
Keep the logic readable in one paragraph in the SOP, and keep the numeric thresholds in the table. The SOP should also define de-duplication rules so the same basin does not spam recipients every run.
Add SAR confirmation with DSWx-S1, and treat it as “evidence,” not a replacement
When the trigger fires, the workflow should immediately prepare a confirmation task. DSWx-S1 is valuable because SAR can see water through clouds and at night, and the product provides surface water extent at about 30 m with revisit driven by Sentinel-1 acquisitions (often 6–12 days).
How to use it in practice:
Pull the relevant tiles for the event window from PO.DAAC (or scripted access if running at scale).
Compare against a baseline water layer to separate “normal water” from “new water.” If a permanent water mask is not available, build a simple baseline from recent DSWx-S1 scenes outside the event window.
Clip the resulting inundation extent to plausible floodplain areas using HAND (or a local floodplain mask) to reduce radar dark-surface confusion in places like smooth soils, irrigated fields, or calm wet surfaces unrelated to flooding.
Export a partner-ready GeoPackage and a single-page map showing “triggered basins” and “SAR-confirmed water extent” as separate layers.
Automate the alerting end-to-end, including the message and the audit trail
The “operational pipeline” should do more than compute risk. It should also send a clear message and write a record. A solid minimum automation loop is:
Scheduled run pulls latest IMERG and SMAP for each basin, recomputes rolling totals and wetness class, and evaluates the trigger ladder.
If a trigger crosses from not-fired to fired, the system generates: a short table (basin, rainfall totals, wetness class, level), a small map image, and a permanent link to the evidence folder.
The system sends one alert message per basin per level, with a consistent format: location, level, what changed, what action is expected next, when the next update will occur, and the evidence link.
The system appends a row to an incident log (timestamp, basin, level, rainfall, wetness, recipients, evidence links).
This ensures alerts are actually operational, not just analytics.
Optional light ML that stays interpretable
If there is enough historical catalog coverage, train a simple classifier to output a probability of flooding per basin-day using the same features already computed (IMERG rolling totals and intensity, SMAP wetness class, terrain summaries, distance-to-river). Keep it light and transparent: use a small boosted-tree model only if it clearly outperforms the rules and remains calibratable. Select the operating threshold using reliability checks so “0.7 probability” actually behaves like a high-risk bucket in practice.
Outputs: Calibrated basin thresholds (and optional probability model), a daily trigger table and map layer, an alert log, and a repeatable SAR confirmation package.
Validation & QA: Use a time-based split on the event catalog; track misses and false alarms by basin; spot-check a subset of events with VIIRS flood NRT and then DSWx-S1 confirmation when available; verify units and time windows so “24 hours” really means the same thing across datasets and time zones.
Maintenance: Monthly review of thresholds and performance, add new events to the catalog, monitor dataset latency and access changes, and periodically retest the alert delivery channel.
Risks & Considerations: SAR revisit gaps can delay confirmation; radar dark-surface confusion requires masks and local context; IMERG and SMAP resolution limits mean small urban flash floods can be under-represented; dependency on multiple feeds increases failure modes, so the SOP should include a fallback chain to simpler monitoring methods.
