Flood sensor signals: what six satellite products see, how often, and whether it lines up with reported floods

Generated 2026-09-03 by floodsig html from the processed observation tables in this repository; every number and figure is computed at build time. Part of AIGLE (LIST · OCHA Centre for Humanitarian Data). FloodScan is AER-licensed: derived numbers here are for internal use.

Executive summary

Six satellite flood products were compared over four country cases (Cameroon 2024, Niger 2024, Bangladesh 2024, Mozambique 2026): 37 first-level administrative units, 50,341 unit-day observations, 13 reported flood events giving 39 reported province-events as the yardstick, plus two independent impact anchors (IDMC displacement records, CERF allocations). The question is not which product is best but whether combining products that fail in different ways buys enough continuity of evidence to act on — and the data say: partly, and mostly through one product.

  • Combined detection is high but leans on GFM. At least one product flagged 33 of 39 province-events (85 %, 95 % CI 69–97 %). GFM (S-1) alone reaches 22/39; the other five products add 11 province-events between them, and after step 4 of the ladder no product adds a detection. Remove GFM and the union falls to 67 %; the three dating products alone reach 79 %, the three confirming products 51 %.
  • Continuity of looks is a different story from continuity of detection. A usable look (≥ 50 % of the province) from at least one product existed on the reported start day for 100 % of province-events and within a week for 100 % — but that is the daily microwave products; the three dating products alone give 90 % on day 0.
  • Optical products go blind precisely when it floods. The median province has a good-look rate of 0 % for Cameroon 2024 MODIS, Mozambique 2026 MODIS, Mozambique 2026 VIIRS. MODIS' good-look share inside versus outside reported flood windows: Cameroon 2024 25 % vs 5 %; Niger 2024 49 % vs 85 %; Bangladesh 2024 7 % vs 43 %; Mozambique 2026 38 % vs 24 %. Cloud is reported honestly as 'not observed' (the code divides by visible land), so this shows up as missingness, not as dry ground.
  • Latency. Median first-flag latency from the reported start, dating products: FloodScan +16 d, GFDS +0 d, GFM (S-1) +12 d. For the flash-flood province-events, 10 product-hits occurred across 6 province-events; the reference flash flood (Feni–Cumilla, Aug 2024) is a worked example below.
  • The tiering is monotone but weakly separated. Share of clusters anchored by a report: strong 47 %, moderate 25 %, weak 12 %. No rain data exist in the repository, so the rain-precursor half of a calibration is not possible.
  • The GFM tile-blur caveat, sized: the median province receives only 20 % (Cameroon 2024), 36 % (Niger 2024), 15 % (Bangladesh 2024), 43 % (Mozambique 2026) of its GFM signal from inside its own borders.
  • 63 moderate/strong clusters match no report (GFM (S-1) 23, MODIS 20, GFDS 9, CYGNSS 6, VIIRS 4, FloodScan 1 by peaking product). They cluster in rainy seasons; they are 'not in the reports', not false alarms, and the compiled list has known gaps (Mozambique March–June 2026 has none).
  • Data changed since the published report. FloodScan now carries the full daily record for Cameroon 2024, Niger 2024, Mozambique 2026 (team DB), replacing the 90-day public window — but without the day-of-year baseline, so its z is an in-period median/MAD; 24 of 29 FloodScan unit series and 25 of 36 MODIS series sit on the absolute MAD floor, where 'z ≥ 2' means '≥ 0.4 % of the unit', an area threshold rather than a statistical one. The headline verdict and hit counts nevertheless reproduce the published ones exactly (Appendix A).
  • Independent impact anchors agree with the signals, and adjudicate part of the unexplained set. Against IDMC displacement records (an independent yardstick) the union flags 23/25 province-events (92 %, 95 % CI 75–100 %). Of the 63 moderate/strong clusters with no compiled report, 8 overlap an IDMC displacement record in the same province (Bangladesh 2024 0/29, Cameroon 2024 5/19, Mozambique 2026 0/11, Niger 2024 3/4). The 6 CERF response allocations inside the case periods came a median 36 days after the first dating-product flag in the affected provinces; the 2 anticipatory allocations moved money CERF-NER-24-RR-1398 11 d after the reported start of the event it anticipates and CERF-MOZ-26-RR-1513 2 d before the reported start of the event it anticipates.

1. Project goal

Anticipatory action for floods releases funding on pre-agreed triggers, and those triggers are almost always a forecast river discharge at a gauge. That leaves flash floods — a disproportionate share of flood deaths and displacement — essentially uncovered: forecasts at that timescale barely exist, and global hydrological models are unreliable in many of the places OCHA works. This repository is the observational leg of that problem. If a flash flood cannot be forecast, can it at least be seen reliably, quickly and consistently enough from satellites to (a) open an action window and (b) build a multi-year record of events against which a rainfall-to-flood model could later be calibrated?

The unit of analysis is the first-level administrative unit (ADM1, official OCHA p-code) and the yardstick is a compiled list of reported floods — deliberately imperfect: reports are dated by publication, describe impact rather than water, and miss events. Throughout, a satellite signal with no matching report is "not in the reports", not a false alarm. Two independent impact anchors — IDMC displacement records and CERF allocation dates — are used in Section 6 to test that framing.

The six products, and what they cannot do

They were chosen because they fail in different ways: two passive-microwave products see through cloud but at 10 km; one radar product sees 20 m detail but only on pass days; two optical products attempt daily but are blind under cloud; one GNSS-reflectometry product sees through cloud and canopy but composites 30 days. The analytical consequence is an asymmetry the method must respect: FloodScan, GFDS and GFM can date an onset; CYGNSS, MODIS and VIIRS can only confirm or extend one, because compositing and cloud make their first-detection dates unreliable by weeks.

ProductSensing principleNominal revisitNative resolutionValue stored per unit-day (units)Blind to
FloodScan — AER FloodScan (SFED / MFED)Passive microwave brightness temperature (AMSR2 36.5 GHz, historically AMSR-E/TMI) converted to a per-pixel flooded fraction with a dynamic dry/wet end-member model; cloud-penetrating, day and night. Two depictions: SFED (standard, conservative) and MFED (maxidaily, gap-free (microwave sees through cloud; missing swaths are filled by the algorithm)300 arc-sec (~10 km) grid, flooded FRACTION per pixelSFED: flooded fraction of the unit (0–1), daily zonal mean from the team DB10 km pixels: small rivers, urban floods and narrow valleys are diluted or missed • dense vegetation and rugged terrain suppress the signal
GFDS — GDACS / JRC Global Flood Detection System (passive microwave signal)AMSR2 36.5 GHz brightness temperature; the ratio of a wet (river/floodplain) pixel to a dry reference pixel drops when surface water increases (Kugler & De Groeve). Daily 4-day running-average signal on a ~0.09-degree (~10 km) grid at fixed monitored sites; madaily (4-day running average smooths and delays the response by ~1-3 days)~10 km, signal at monitored sites only (not a full surface)vendor z: (site normal − signal)/sd, area-weighted over monitored cells (unitless SD)no extent: it says 'wetter than normal here', not 'this many km2 flooded' • 4-day averaging lags the onset; snow, wet soil and irrigation also lower the signal
GFM (S-1) — Copernicus EMS Global Flood Monitoring (Sentinel-1 SAR)C-band SAR backscatter (Sentinel-1 VV, 20 m): smooth open water is dark; three independent algorithms (DLR, LIST, TU Wien) vote per pixel; ensemble flood extent = water not in the reference-water mask. Cloud-independent, day/night.per Sentinel-1 orbit: 12 days with S-1A alone (Dec-2021 -> 2025), 6 days with two satellites (S-1A+B before Dec 2021; S-1A+C from 2025, S-1D 2026). Ascending an20 m, Equi7 grid, binary flood / likelihood per pixeltile-proxy flood fraction: flooded/floodable pixels of covering 300 km tiles, weighted by tile share inside the unit (0–1)revisit of days, not hours: short flash floods between passes are missed • exclusion mask removes urban, dense vegetation, radar shadow/layover — floods under canopy or in cities are invisible
MODIS — NASA LANCE MODIS NRT Global Flood Product (MCDWD)Optical: Terra+Aqua MODIS 250 m reflectance (bands 1/2 ratio and threshold) classify water; compared against a MODIS-derived reference water mask and a 10-year flood frequency to label recurring vs unusual flood. Cloud-blocked.1-2 overpasses/day per satellite; usable observation requires clear sky -> 1-, 2-, 3-day composites (F1/F2/F3)250 m; classes 0 no water, 1 expected surface water, 2 recurring flood, 3 unusual flood, 255 insufficient datashare of visible land in class 3 'unusual flood' (0–1); cloud excluded from the denominatorclouds and cloud shadow: a monsoon flood is often invisible for days; shadow false positives • 250 m misses narrow floods; vegetation-covered water missed
VIIRS — NASA LANCE VIIRS NRT Global Flood Product (VCDWD)Same algorithm as MCDWD on VIIRS 375 m (Suomi-NPP / NOAA-20/21)daily per satellite, clear-sky dependent; F1/F2/F3 composites375 m, same classes as MODISas MODIS, 375 mrecord starts 2025-06-24 on GIBS, so it can say nothing about the 2024 cases
CYGNSS — CYGNSS L3 daily inland watermask (UC Berkeley RWA v3.2)GNSS reflectometry: eight micro-satellites read GPS signals REFLECTED off the surface at L-band. Smooth water reflects coherently, rough land does not. L-band passes through cloud AND through vegetation canopy, so it sees water that Sentinel-1 loses under treeThe CONSTELLATION revisits a point every ~3 h (median) / ~7 h (mean) — the fastest here. The PRODUCT is slower: each daily map draws on up to 30 days of prior o0.01 degree (~1 km), binary: 0 land, 1 surface water, -99 ocean/no-datasurface-water share of classified land (0–1), 30-day compositedthe 30-day algorithm window smooths and delays the signal — it is not an event detector • binary water only: no depth, no flood-versus-permanent-water distinction (permanent water is removed by the GSW mask like every other product)

2. The challenge

  • Revisit is not observation. Three products are nominally daily, one is daily-attempted, one observes only on Sentinel-1 passes (median good-look rate 23 %, 23 %, 41 %, 50 % across the cases), and one is a 30-day composite that is always "complete". The relevant quantity for a decision is how stale the latest usable look is on the day the decision is taken.
  • Missingness is structured. Cloud removes the optical products when it rains, i.e. when it floods; GFDS only exists at monitored sites (Niamey has 560 km² of monitored area); FloodScan does not exist for Bangladesh at all. A day a product could not see must never be read as "dry".
  • The products' normals differ. GFDS ships a static, non-seasonal normal; GFM ships none, so the repo builds a per-tile same-month climatology from earlier years' scene metadata; the others get an in-period median/MAD with an absolute floor. "z = 3" is therefore not one statement across columns.
  • Scale mismatch. GFM's numbers are per 300 km tile, so a flood elsewhere in a tile bleeds into a province; a flash flood in one district is diluted across a division.
  • The yardstick is soft. 13 reported events, 39 province-events, windows of [start − 10 d, end + 21 d]; known gaps in the compiled list: Mozambique March-June 2026: no events compiled (sources checked stop at the 23 March 2026 response report); Bangladesh July 2024 northern floods: dates/divisions from secondary sources only; Cameroon North region (Benue) 2024: mentioned in some reports, not pinned down — not listed.

3. Data

Cases

CaseISO3PeriodDaysADM1 unitsProducts with dataObservation rowsReported eventsProvince-events
Cameroon 2024CMR2024-01-01 → 2024-12-3136610FloodScan, GFDS, GFM (S-1), MODIS, CYGNSS1589022
Niger 2024NER2024-01-01 → 2024-12-313668FloodScan, GFDS, GFM (S-1), MODIS, CYGNSS12706416
Bangladesh 2024BGD2024-01-01 → 2024-12-313668GFDS, GFM (S-1), MODIS, CYGNSS10514511
Mozambique 2026MOZ2026-01-01 → 2026-06-3018111FloodScan, GFDS, GFM (S-1), MODIS, VIIRS, CYGNSS11231210
Which of the six products actually have observations for each country and period?Which product delivered data for which case
FloodScanGFDSGFM (S-1)MODISVIIRSCYGNSSCameroon 2024365 d · 10 uCameroon 2024 × FloodScan full record (team rasterstats DB) (data loaded) 3650 rows, 365 distinct days, 10 units public.floodscan, 2024-01-01..2024-12-31; 1/366 day(s) missing from the record (not zero flooding — genuinely unobserved), e.g. ['2024-11-25']366 d · 10 uCameroon 2024 × GFDS computed 3660 rows, 366 distinct days, 10 units daily z from GFDS signal tiffs vs vendor normal238 d · 10 uCameroon 2024 × GFM (S-1) computed (STAC tile proxy) 1260 rows, 238 distinct days, 10 units STAC metadata only; S-1A only (12-day per orbit; Dec-2021 -> 2025); per-tile seasonal climatology from [2022, 2023]; exact per-unit extents need raster download366 d · 10 uCameroon 2024 × MODIS computed (GIBS tiles) 3660 rows, 366 distinct days, 10 units 366/366 days decoded from NASA GIBS MODIS_Combined_Flood_2-Day at 512px/8 tiles (55 tiles/day), 2024-01-01..2024-12-31; class-3 'unusual flood' share of visible land. The LAADS HDF archive holds files for 0/24 probed day—Cameroon 2024 × VIIRS not attempted 366 d · 10 uCameroon 2024 × CYGNSS computed (OPeNDAP subset) 3660 rows, 366 distinct days, 10 units 366/366 days from PO.DAAC CYGNSS L3 v3.2 (2024-01-01..2024-12-31); water fraction of classified land. The product's classifier uses up to 30 days of prior observations, so the series is smoothedNiger 2024365 d · 8 uNiger 2024 × FloodScan full record (team rasterstats DB) (data loaded) 2920 rows, 365 distinct days, 8 units public.floodscan, 2024-01-01..2024-12-31; 1/366 day(s) missing from the record (not zero flooding — genuinely unobserved), e.g. ['2024-11-25']366 d · 8 uNiger 2024 × GFDS computed 2928 rows, 366 distinct days, 8 units daily z from GFDS signal tiffs vs vendor normal256 d · 8 uNiger 2024 × GFM (S-1) computed (STAC tile proxy) 1002 rows, 256 distinct days, 8 units STAC metadata only; S-1A only (12-day per orbit; Dec-2021 -> 2025); per-tile seasonal climatology from [2022, 2023]; exact per-unit extents need raster download366 d · 8 uNiger 2024 × MODIS computed (GIBS tiles) 2928 rows, 366 distinct days, 8 units 366/366 days decoded from NASA GIBS MODIS_Combined_Flood_2-Day at 512px/8 tiles (106 tiles/day), 2024-01-01..2024-12-31; class-3 'unusual flood' share of visible land. The LAADS HDF archive holds files for 0/24 probed da—Niger 2024 × VIIRS not attempted 366 d · 8 uNiger 2024 × CYGNSS computed (OPeNDAP subset) 2928 rows, 366 distinct days, 8 units 366/366 days from PO.DAAC CYGNSS L3 v3.2 (2024-01-01..2024-12-31); water fraction of classified land. The product's classifier uses up to 30 days of prior observations, so the series is smoothedBangladesh 2024—Bangladesh 2024 × FloodScan not covered no FloodScan route available for Bangladesh: blob raster extent is (-30,-50,60,40) EPSG:4326 (Africa/S.Atlantic-bounded — see docs/DATA_ACCESS.md) and does not reach this country; BGD is not in the HDX FloodScan product 366 d · 8 uBangladesh 2024 × GFDS computed 2928 rows, 366 distinct days, 8 units daily z from GFDS signal tiffs vs vendor normal263 d · 8 uBangladesh 2024 × GFM (S-1) computed (STAC tile proxy) 1730 rows, 263 distinct days, 8 units STAC metadata only; S-1A only (12-day per orbit; Dec-2021 -> 2025); per-tile seasonal climatology from [2022, 2023]; exact per-unit extents need raster download366 d · 8 uBangladesh 2024 × MODIS computed (GIBS tiles) 2928 rows, 366 distinct days, 8 units 366/366 days decoded from NASA GIBS MODIS_Combined_Flood_2-Day at 512px/8 tiles (23 tiles/day), 2024-01-01..2024-12-31; class-3 'unusual flood' share of visible land. The LAADS HDF archive holds files for 0/24 probed day—Bangladesh 2024 × VIIRS not attempted 366 d · 8 uBangladesh 2024 × CYGNSS computed (OPeNDAP subset) 2928 rows, 366 distinct days, 8 units 366/366 days from PO.DAAC CYGNSS L3 v3.2 (2024-01-01..2024-12-31); water fraction of classified land. The product's classifier uses up to 30 days of prior observations, so the series is smoothedMozambique 2026181 d · 11 uMozambique 2026 × FloodScan full record (team rasterstats DB) (data loaded) 1991 rows, 181 distinct days, 11 units public.floodscan, 2026-01-01..2026-06-30181 d · 11 uMozambique 2026 × GFDS computed 1991 rows, 181 distinct days, 11 units daily z from GFDS signal tiffs vs vendor normal181 d · 11 uMozambique 2026 × GFM (S-1) computed (STAC tile proxy) 1320 rows, 181 distinct days, 11 units STAC metadata only; S-1A + S-1C (+S-1D 2026): ~6-day per orbit; per-tile seasonal climatology from [2022, 2023, 2024, 2025]; exact per-unit extents need raster download181 d · 11 uMozambique 2026 × MODIS computed (GIBS tiles) 1991 rows, 181 distinct days, 11 units 181/181 days decoded from NASA GIBS MODIS_Combined_Flood_2-Day at 512px/8 tiles (83 tiles/day), 2026-01-01..2026-06-30; class-3 'unusual flood' share of visible land. The LAADS HDF archive holds files for 182/362 probed 181 d · 11 uMozambique 2026 × VIIRS computed (GIBS tiles) 1991 rows, 181 distinct days, 11 units 181/181 days decoded from NASA GIBS VIIRS_Combined_Flood_2-Day at 512px/8 tiles (83 tiles/day), 2026-01-01..2026-06-30; class-3 'unusual flood' share of visible land. No archive exists outside GIBS: the LANCE near-real-t177 d · 11 uMozambique 2026 × CYGNSS computed (OPeNDAP subset) 1947 rows, 177 distinct days, 11 units 177/181 days from PO.DAAC CYGNSS L3 v3.2 (2026-01-01..2026-06-30); water fraction of classified land. The product's classifier uses up to 30 days of prior observations, so the series is smoothedd = distinct days with data · u = ADM1 units. Hover a cell for the build status.
What is shown
One cell per case × product: days with at least one observation and the number of ADM1 units, from the per-sensor observation tables.
Why it matters
Every later statistic is conditional on this table. A product that is absent is absent, not 'zero flood'.
What we observe
20 of 24 case × product combinations carry data. VIIRS exists only for Mozambique 2026 (its archive starts mid-2025); FloodScan is missing for Bangladesh because no team archive covers it.
Caveats
'Days with data' is not 'days with a usable look' — see the revisit figure.

What each product's value is, and how its z was computed

The observation table stores one row per (product, unit, day) with value (the product's own flood indicator), observed_fraction (share of the unit actually seen) and, for GFDS and GFM, a product-side z. Everything else is derived in signals.py. The table below states what the code actually does, including two places where the code and its own documentation disagree.

Productz as computed (signals.py)Unit series on the MAD floorWhat that means
FloodScanrobust z of value (period median/MAD)24/29the team-DB route returns no SFED_BASELINE, so the documented 'SFED − day-of-year baseline' branch never runs; in-period median/MAD is used instead
GFDSproduct z (vendor normal)n/a (product z)vendor static (non-seasonal) normal; an extra change-vs-surrounding-91-days test tiers long runs 'persistent'
GFM (S-1)product z (vendor normal)n/a (product z)the code labels it 'product z (vendor normal)' but it is the repo's own per-tile ±1-month climatology from 2022–23 (2022–25 for 2026) STAC metadata, scale = upper tail (q90 − median)/1.28
MODISrobust z of value (period median/MAD)25/36in-period; the product's class 3 is already 'water outside the 10-year flood footprint'
VIIRSrobust z of value (period median/MAD)9/11as MODIS
CYGNSSrobust z of value (period median/MAD)4/37in-period, no seasonal removal; the 30-day composite makes the series smooth
MAD-floor audit. The in-period robust z divides by max(1.4826·MAD, 0.002). For a unit whose value is zero on most days (FloodScan and MODIS in dry provinces) the MAD is zero and the floor takes over, so z = value / 0.002: "z ≥ 2" means "≥ 0.4 % of the visible unit", and "z = 96" means 19 % of the visible land — real, but not 96 standard deviations. 62 of 113 in-period unit series are on the floor.

Summary statistics per case and product

CaseProductRowsUnitsDays with dataValue medianValue p99Value maxz p99z maxz undefined (low coverage)Good-look days (median unit)
Cameroon 2024FloodScan3650103650.00030.08800.1033.093.770 %100 %
Cameroon 2024GFDS3660103660.3703.0129.3212.877.4718 %77 %
Cameroon 2024GFM (S-1)1260102380.00040.01270.03802.404.1919 %23 %
Cameroon 2024MODIS3660103660.00040.08781.0005.756.3478 %0 %
Cameroon 2024CYGNSS3660103660.04210.3090.3252.703.730 %100 %
Niger 2024FloodScan292083650.00000.01430.01501.585.330 %100 %
Niger 2024GFDS292883660.5184.79917.4214.8017.47 %89 %
Niger 2024GFM (S-1)100282560.00080.08870.1224.477.4421 %23 %
Niger 2024MODIS292883660.00000.00460.01051.712.7812 %76 %
Niger 2024CYGNSS292883660.01790.3100.3603.454.160 %100 %
Bangladesh 2024GFDS292883660.2692.3485.5022.293.7419 %78 %
Bangladesh 2024GFM (S-1)173082630.00300.09130.1784.7310.328 %41 %
Bangladesh 2024MODIS292883660.01221.0001.00018.796.446 %41 %
Bangladesh 2024CYGNSS292883660.2440.6160.6442.363.070 %100 %
Mozambique 2026FloodScan1991111810.00070.03290.04957.3414.00 %100 %
Mozambique 2026GFDS1991111811.0748.92012.7368.9212.70 %99 %
Mozambique 2026GFM (S-1)1320111810.00120.01510.03655.7818.018 %50 %
Mozambique 2026MODIS1991111810.00080.03311.0005.4631.034 %0 %
Mozambique 2026VIIRS1991111810.00070.04180.7576.3713.636 %0 %
Mozambique 2026CYGNSS1947111770.09010.6970.7162.202.850 %98 %

Revisit and coverage, in one vocabulary

Good look = at least 50 % of the province observed that day; partial look = at least 20 %; typical gap = median days between consecutive good looks; longest blind stretch = longest run of days without a good look. Medians across provinces. (The published report used "days observed" and "days with a good look" for the same quantity.)

Cameroon 2024

ProductProvinces with a good lookGood-look days (%)Partial-look days (%)Typical gap between good looks (d)Longest blind stretch (d)Mean visible share (0–1)
CYGNSS10/10100.0100.0101.00
FloodScan10/1099.799.7111.00
GFDS10/1077.079.8130.76
GFM (S-1)10/1023.424.6590.73
MODIS1/100.014.913660.08

Niger 2024

ProductProvinces with a good lookGood-look days (%)Partial-look days (%)Typical gap between good looks (d)Longest blind stretch (d)Mean visible share (0–1)
CYGNSS8/8100.0100.0101.00
FloodScan8/899.799.7111.00
GFDS8/889.193.4110.88
GFM (S-1)8/822.727.45120.56
MODIS8/876.289.21270.66

Bangladesh 2024

ProductProvinces with a good lookGood-look days (%)Partial-look days (%)Typical gap between good looks (d)Longest blind stretch (d)Mean visible share (0–1)
CYGNSS8/8100.0100.0101.00
GFDS8/878.280.7120.78
GFM (S-1)8/841.345.4260.69
MODIS8/841.253.61830.43

Mozambique 2026

ProductProvinces with a good lookGood-look days (%)Partial-look days (%)Typical gap between good looks (d)Longest blind stretch (d)Mean visible share (0–1)
CYGNSS11/1197.897.8141.00
FloodScan11/11100.0100.0101.00
GFDS11/1199.499.4110.99
GFM (S-1)11/1149.754.1240.66
MODIS5/110.063.011810.26
VIIRS5/110.063.511810.24
On what share of days did each product see at least half of a province?How often each product gets a usable look at a province
0 25 50 75 100 share of period days (%), median province CYGNSS VIIRS MODIS GFM (S-1) GFDS FloodScan 10/10 10/10 10/10 1/10 10/10 Cameroon 2024 0 25 50 75 100 8/8 8/8 8/8 8/8 8/8 Niger 2024 0 25 50 75 100 8/8 8/8 8/8 8/8 Bangladesh 2024 0 25 50 75 100 11/11 11/11 11/11 5/11 5/11 11/11 Mozambique 2026 good look (≥ 50 % of unit seen) partial look (≥ 20 %)
What is shown
Filled dot: median across provinces of the share of period days with a good look (≥ 50 % of the unit observed). Hollow dot: partial look (≥ 20 %). Right label: provinces with any good look / provinces in the case. Same 0–100 % axis in every panel.
Why it matters
A product can 'attempt' daily and still be blind when it matters. The distance between the hollow and filled dots is the cost of cloud and of partial passes.
What we observe
The median province has a good-look rate of exactly 0 % for Cameroon 2024 MODIS, Mozambique 2026 MODIS, Mozambique 2026 VIIRS: the optical products see part of a province on most days but rarely half of it. The microwave products (FloodScan, GFDS, CYGNSS) sit at or near 100 %; GFM sits at 20–50 % because it observes only on Sentinel-1 pass days.
Caveats
'Good look' is a coverage threshold from config/thresholds.yaml (0.5), not a quality judgement; FloodScan's admin series carries no observation mask, so its 100 % is a convention.
If a decision had to be taken on a random day, how old would each product's latest good look be?How stale is the latest usable look, on an ordinary day?
0 5 10 15 20 25 30 N = days since the last good look 0 20 40 60 80 100 share of unit-days with a good look within the last N days (%) Cameroon 2024 0 5 10 15 20 25 30 N = days since the last good look Niger 2024 0 5 10 15 20 25 30 N = days since the last good look Bangladesh 2024 0 5 10 15 20 25 30 N = days since the last good look Mozambique 2026 FloodScan GFDS GFM (S-1) MODIS VIIRS CYGNSS
What is shown
For every unit-day of the period, the number of days since that product last saw ≥ 50 % of the unit; plotted as the share of unit-days where that age is ≤ N. Unit-days before the first look count as 'older than 30 days'. Dotted line: N = 7.
Why it matters
This replaces the revisit strip: the ticks of a daily product carry no information, the gaps do. A curve that reaches 100 % at N = 0 is truly daily; the horizontal distance to 100 % is the blind stretch a decision-maker faces.
What we observe
Share of unit-days with a good look at most a week old — Cameroon 2024 GFM (S-1) 96 %; Cameroon 2024 MODIS 8 %; Niger 2024 GFM (S-1) 91 %; Niger 2024 MODIS 92 %; Bangladesh 2024 GFM (S-1) 100 %; Bangladesh 2024 MODIS 67 %; Mozambique 2026 GFM (S-1) 99 %; Mozambique 2026 MODIS 40 %; Mozambique 2026 VIIRS 39 %. The microwave products reach ~100 % at N ≤ 1.
Caveats
Averaged over the whole period, so seasonal cloud is diluted; see the next figure for the flood windows specifically.

Impact datasets added as independent anchors

Described and used in Section 6: IDMC GIDD disaggregated displacement records (2008–2025, filtered to storm and flood disaster records on GIDD's typed hazard fields — landslides excluded, counts and rules there — and coordinates mapped to ADM1 here) and CERF allocations (2006–2026, country level, plus the project-level export that carries disbursement dates and the anticipatory-action marker). Neither was used to compile the report list.

Missing data: how much, where, and whether it is random

Do the optical products go blind precisely when it floods?Is optical missingness random? Visibility inside versus outside reported flood windows
0 20 40 60 80 100 120 share of unit-days with a good look (≥ 50 % of unit visible), % Cameroon 2024 FloodScan n = 83 / 3567 Cameroon 2024 GFDS n = 83 / 3577 Cameroon 2024 GFM (S-1) n = 27 / 1233 Cameroon 2024 MODIS n = 83 / 3577 Cameroon 2024 CYGNSS n = 83 / 3577 Niger 2024 FloodScan n = 668 / 2252 Niger 2024 GFDS n = 671 / 2257 Niger 2024 GFM (S-1) n = 231 / 771 Niger 2024 MODIS n = 671 / 2257 Niger 2024 CYGNSS n = 671 / 2257 Bangladesh 2024 GFDS n = 217 / 2711 Bangladesh 2024 GFM (S-1) n = 105 / 1625 Bangladesh 2024 MODIS n = 217 / 2711 Bangladesh 2024 CYGNSS n = 217 / 2711 Mozambique 2026 FloodScan n = 364 / 1627 Mozambique 2026 GFDS n = 364 / 1627 Mozambique 2026 GFM (S-1) n = 251 / 1069 Mozambique 2026 MODIS n = 364 / 1627 Mozambique 2026 VIIRS n = 364 / 1627 Mozambique 2026 CYGNSS n = 364 / 1583 inside reported flood windows outside reported windows
What is shown
Per case and product, the share of unit-days with a good look, computed separately for unit-days inside a reported flood window (filled) and outside (hollow). Optical products in colour, the others in grey as a control. n = unit-days inside / outside.
Why it matters
If cloud were unrelated to flooding, the two dots would coincide. A filled dot far to the left means the product's gaps are missing-not-at-random: they concentrate in the events we want to see.
What we observe
Cameroon 2024 MODIS: 25 % inside vs 5 % outside; Niger 2024 MODIS: 49 % inside vs 85 % outside; Bangladesh 2024 MODIS: 7 % inside vs 43 % outside; Mozambique 2026 MODIS: 38 % inside vs 24 % outside; Mozambique 2026 VIIRS: 34 % inside vs 21 % outside. The microwave and radar controls barely move.
Caveats
Windows are report windows, not measured rain periods; Cameroon's only reported event is in the semi-arid Far North, which is why its in-window visibility is higher than its (mostly forested, southern) outside baseline.
Where and when is the optical product blind?Cameroon 2024: MODIS visible share by province and month
01/2402/2403/2404/2405/2406/2407/2408/2409/2410/2411/2412/24Adamaoua (CM001)23Adamaoua (CM001) × 01/24 mean visible share 23 %17Adamaoua (CM001) × 02/24 mean visible share 17 %10Adamaoua (CM001) × 03/24 mean visible share 10 %5Adamaoua (CM001) × 04/24 mean visible share 5 %10Adamaoua (CM001) × 05/24 mean visible share 10 %6Adamaoua (CM001) × 06/24 mean visible share 6 %3Adamaoua (CM001) × 07/24 mean visible share 3 %3Adamaoua (CM001) × 08/24 mean visible share 3 %3Adamaoua (CM001) × 09/24 mean visible share 3 %8Adamaoua (CM001) × 10/24 mean visible share 8 %21Adamaoua (CM001) × 11/24 mean visible share 21 %21Adamaoua (CM001) × 12/24 mean visible share 21 %Centre (CM002)23Centre (CM002) × 01/24 mean visible share 23 %10Centre (CM002) × 02/24 mean visible share 10 %4Centre (CM002) × 03/24 mean visible share 4 %4Centre (CM002) × 04/24 mean visible share 4 %9Centre (CM002) × 05/24 mean visible share 9 %4Centre (CM002) × 06/24 mean visible share 4 %1Centre (CM002) × 07/24 mean visible share 1 %1Centre (CM002) × 08/24 mean visible share 1 %2Centre (CM002) × 09/24 mean visible share 2 %4Centre (CM002) × 10/24 mean visible share 4 %22Centre (CM002) × 11/24 mean visible share 22 %27Centre (CM002) × 12/24 mean visible share 27 %Est (CM003)16Est (CM003) × 01/24 mean visible share 16 %6Est (CM003) × 02/24 mean visible share 6 %3Est (CM003) × 03/24 mean visible share 3 %5Est (CM003) × 04/24 mean visible share 5 %8Est (CM003) × 05/24 mean visible share 8 %5Est (CM003) × 06/24 mean visible share 5 %1Est (CM003) × 07/24 mean visible share 1 %1Est (CM003) × 08/24 mean visible share 1 %2Est (CM003) × 09/24 mean visible share 2 %4Est (CM003) × 10/24 mean visible share 4 %14Est (CM003) × 11/24 mean visible share 14 %19Est (CM003) × 12/24 mean visible share 19 %Extrême-Nord (CM004)84Extrême-Nord (CM004) × 01/24 mean visible share 84 %68Extrême-Nord (CM004) × 02/24 mean visible share 68 %70Extrême-Nord (CM004) × 03/24 mean visible share 70 %67Extrême-Nord (CM004) × 04/24 mean visible share 67 %58Extrême-Nord (CM004) × 05/24 mean visible share 58 %24Extrême-Nord (CM004) × 06/24 mean visible share 24 %14Extrême-Nord (CM004) × 07/24 mean visible share 14 %7Extrême-Nord (CM004) × 08/24 mean visible share 7 %26Extrême-Nord (CM004) × 09/24 mean visible share 26 %50Extrême-Nord (CM004) × 10/24 mean visible share 50 %84Extrême-Nord (CM004) × 11/24 mean visible share 84 %80Extrême-Nord (CM004) × 12/24 mean visible share 80 %Littoral (CM005)8Littoral (CM005) × 01/24 mean visible share 8 %1Littoral (CM005) × 02/24 mean visible share 1 %2Littoral (CM005) × 03/24 mean visible share 2 %3Littoral (CM005) × 04/24 mean visible share 3 %4Littoral (CM005) × 05/24 mean visible share 4 %2Littoral (CM005) × 06/24 mean visible share 2 %0Littoral (CM005) × 07/24 mean visible share 0 %1Littoral (CM005) × 08/24 mean visible share 1 %1Littoral (CM005) × 09/24 mean visible share 1 %1Littoral (CM005) × 10/24 mean visible share 1 %10Littoral (CM005) × 11/24 mean visible share 10 %15Littoral (CM005) × 12/24 mean visible share 15 %Nord (CM006)38Nord (CM006) × 01/24 mean visible share 38 %30Nord (CM006) × 02/24 mean visible share 30 %27Nord (CM006) × 03/24 mean visible share 27 %15Nord (CM006) × 04/24 mean visible share 15 %14Nord (CM006) × 05/24 mean visible share 14 %12Nord (CM006) × 06/24 mean visible share 12 %7Nord (CM006) × 07/24 mean visible share 7 %7Nord (CM006) × 08/24 mean visible share 7 %7Nord (CM006) × 09/24 mean visible share 7 %23Nord (CM006) × 10/24 mean visible share 23 %38Nord (CM006) × 11/24 mean visible share 38 %37Nord (CM006) × 12/24 mean visible share 37 %Nord-Ouest (CM007)11Nord-Ouest (CM007) × 01/24 mean visible share 11 %8Nord-Ouest (CM007) × 02/24 mean visible share 8 %3Nord-Ouest (CM007) × 03/24 mean visible share 3 %2Nord-Ouest (CM007) × 04/24 mean visible share 2 %3Nord-Ouest (CM007) × 05/24 mean visible share 3 %4Nord-Ouest (CM007) × 06/24 mean visible share 4 %2Nord-Ouest (CM007) × 07/24 mean visible share 2 %2Nord-Ouest (CM007) × 08/24 mean visible share 2 %2Nord-Ouest (CM007) × 09/24 mean visible share 2 %2Nord-Ouest (CM007) × 10/24 mean visible share 2 %10Nord-Ouest (CM007) × 11/24 mean visible share 10 %10Nord-Ouest (CM007) × 12/24 mean visible share 10 %Ouest (CM008)22Ouest (CM008) × 01/24 mean visible share 22 %16Ouest (CM008) × 02/24 mean visible share 16 %7Ouest (CM008) × 03/24 mean visible share 7 %4Ouest (CM008) × 04/24 mean visible share 4 %8Ouest (CM008) × 05/24 mean visible share 8 %8Ouest (CM008) × 06/24 mean visible share 8 %5Ouest (CM008) × 07/24 mean visible share 5 %4Ouest (CM008) × 08/24 mean visible share 4 %4Ouest (CM008) × 09/24 mean visible share 4 %4Ouest (CM008) × 10/24 mean visible share 4 %18Ouest (CM008) × 11/24 mean visible share 18 %21Ouest (CM008) × 12/24 mean visible share 21 %Sud (CM009)9Sud (CM009) × 01/24 mean visible share 9 %2Sud (CM009) × 02/24 mean visible share 2 %2Sud (CM009) × 03/24 mean visible share 2 %4Sud (CM009) × 04/24 mean visible share 4 %6Sud (CM009) × 05/24 mean visible share 6 %4Sud (CM009) × 06/24 mean visible share 4 %0Sud (CM009) × 07/24 mean visible share 0 %1Sud (CM009) × 08/24 mean visible share 1 %1Sud (CM009) × 09/24 mean visible share 1 %2Sud (CM009) × 10/24 mean visible share 2 %10Sud (CM009) × 11/24 mean visible share 10 %17Sud (CM009) × 12/24 mean visible share 17 %Sud-Ouest (CM010)13Sud-Ouest (CM010) × 01/24 mean visible share 13 %4Sud-Ouest (CM010) × 02/24 mean visible share 4 %2Sud-Ouest (CM010) × 03/24 mean visible share 2 %3Sud-Ouest (CM010) × 04/24 mean visible share 3 %2Sud-Ouest (CM010) × 05/24 mean visible share 2 %4Sud-Ouest (CM010) × 06/24 mean visible share 4 %1Sud-Ouest (CM010) × 07/24 mean visible share 1 %1Sud-Ouest (CM010) × 08/24 mean visible share 1 %1Sud-Ouest (CM010) × 09/24 mean visible share 1 %2Sud-Ouest (CM010) × 10/24 mean visible share 2 %10Sud-Ouest (CM010) × 11/24 mean visible share 10 %15Sud-Ouest (CM010) × 12/24 mean visible share 15 %mean share of the unit visible (not cloud / no-data), % — 0 = never visible that month
What is shown
Mean share of each province visible to the product (classes 0–3 in the product's own mask) per month. Darker = more visible.
Why it matters
Shows the structure of the missingness: it is spatial (forested, coastal provinces) and seasonal (the rainy season), not random noise.
What we observe
Least visible province: Littoral (4 % on average); most visible: Extrême-Nord (53 %).
Caveats
Visibility is the product's 'valid' area, which also excludes true no-data at tile edges.
Where and when is the optical product blind?Niger 2024: MODIS visible share by province and month
01/2402/2403/2404/2405/2406/2407/2408/2409/2410/2411/2412/24Agadez (NE001)76Agadez (NE001) × 01/24 mean visible share 76 %79Agadez (NE001) × 02/24 mean visible share 79 %79Agadez (NE001) × 03/24 mean visible share 79 %77Agadez (NE001) × 04/24 mean visible share 77 %80Agadez (NE001) × 05/24 mean visible share 80 %81Agadez (NE001) × 06/24 mean visible share 81 %76Agadez (NE001) × 07/24 mean visible share 76 %62Agadez (NE001) × 08/24 mean visible share 62 %75Agadez (NE001) × 09/24 mean visible share 75 %81Agadez (NE001) × 10/24 mean visible share 81 %82Agadez (NE001) × 11/24 mean visible share 82 %76Agadez (NE001) × 12/24 mean visible share 76 %Diffa (NE002)88Diffa (NE002) × 01/24 mean visible share 88 %74Diffa (NE002) × 02/24 mean visible share 74 %91Diffa (NE002) × 03/24 mean visible share 91 %86Diffa (NE002) × 04/24 mean visible share 86 %94Diffa (NE002) × 05/24 mean visible share 94 %87Diffa (NE002) × 06/24 mean visible share 87 %70Diffa (NE002) × 07/24 mean visible share 70 %37Diffa (NE002) × 08/24 mean visible share 37 %77Diffa (NE002) × 09/24 mean visible share 77 %86Diffa (NE002) × 10/24 mean visible share 86 %97Diffa (NE002) × 11/24 mean visible share 97 %90Diffa (NE002) × 12/24 mean visible share 90 %Dosso (NE003)79Dosso (NE003) × 01/24 mean visible share 79 %74Dosso (NE003) × 02/24 mean visible share 74 %74Dosso (NE003) × 03/24 mean visible share 74 %56Dosso (NE003) × 04/24 mean visible share 56 %60Dosso (NE003) × 05/24 mean visible share 60 %46Dosso (NE003) × 06/24 mean visible share 46 %20Dosso (NE003) × 07/24 mean visible share 20 %3Dosso (NE003) × 08/24 mean visible share 3 %25Dosso (NE003) × 09/24 mean visible share 25 %51Dosso (NE003) × 10/24 mean visible share 51 %78Dosso (NE003) × 11/24 mean visible share 78 %76Dosso (NE003) × 12/24 mean visible share 76 %Maradi (NE004)79Maradi (NE004) × 01/24 mean visible share 79 %79Maradi (NE004) × 02/24 mean visible share 79 %80Maradi (NE004) × 03/24 mean visible share 80 %69Maradi (NE004) × 04/24 mean visible share 69 %78Maradi (NE004) × 05/24 mean visible share 78 %56Maradi (NE004) × 06/24 mean visible share 56 %34Maradi (NE004) × 07/24 mean visible share 34 %5Maradi (NE004) × 08/24 mean visible share 5 %41Maradi (NE004) × 09/24 mean visible share 41 %68Maradi (NE004) × 10/24 mean visible share 68 %86Maradi (NE004) × 11/24 mean visible share 86 %82Maradi (NE004) × 12/24 mean visible share 82 %Tahoua (NE005)80Tahoua (NE005) × 01/24 mean visible share 80 %75Tahoua (NE005) × 02/24 mean visible share 75 %81Tahoua (NE005) × 03/24 mean visible share 81 %72Tahoua (NE005) × 04/24 mean visible share 72 %76Tahoua (NE005) × 05/24 mean visible share 76 %74Tahoua (NE005) × 06/24 mean visible share 74 %55Tahoua (NE005) × 07/24 mean visible share 55 %27Tahoua (NE005) × 08/24 mean visible share 27 %61Tahoua (NE005) × 09/24 mean visible share 61 %77Tahoua (NE005) × 10/24 mean visible share 77 %83Tahoua (NE005) × 11/24 mean visible share 83 %81Tahoua (NE005) × 12/24 mean visible share 81 %Tillabéri (NE006)79Tillabéri (NE006) × 01/24 mean visible share 79 %72Tillabéri (NE006) × 02/24 mean visible share 72 %72Tillabéri (NE006) × 03/24 mean visible share 72 %64Tillabéri (NE006) × 04/24 mean visible share 64 %62Tillabéri (NE006) × 05/24 mean visible share 62 %61Tillabéri (NE006) × 06/24 mean visible share 61 %34Tillabéri (NE006) × 07/24 mean visible share 34 %10Tillabéri (NE006) × 08/24 mean visible share 10 %37Tillabéri (NE006) × 09/24 mean visible share 37 %65Tillabéri (NE006) × 10/24 mean visible share 65 %78Tillabéri (NE006) × 11/24 mean visible share 78 %79Tillabéri (NE006) × 12/24 mean visible share 79 %Zinder (NE007)85Zinder (NE007) × 01/24 mean visible share 85 %79Zinder (NE007) × 02/24 mean visible share 79 %87Zinder (NE007) × 03/24 mean visible share 87 %80Zinder (NE007) × 04/24 mean visible share 80 %89Zinder (NE007) × 05/24 mean visible share 89 %78Zinder (NE007) × 06/24 mean visible share 78 %57Zinder (NE007) × 07/24 mean visible share 57 %21Zinder (NE007) × 08/24 mean visible share 21 %69Zinder (NE007) × 09/24 mean visible share 69 %76Zinder (NE007) × 10/24 mean visible share 76 %93Zinder (NE007) × 11/24 mean visible share 93 %89Zinder (NE007) × 12/24 mean visible share 89 %Niamey (NE008)68Niamey (NE008) × 01/24 mean visible share 68 %64Niamey (NE008) × 02/24 mean visible share 64 %61Niamey (NE008) × 03/24 mean visible share 61 %51Niamey (NE008) × 04/24 mean visible share 51 %42Niamey (NE008) × 05/24 mean visible share 42 %43Niamey (NE008) × 06/24 mean visible share 43 %22Niamey (NE008) × 07/24 mean visible share 22 %5Niamey (NE008) × 08/24 mean visible share 5 %21Niamey (NE008) × 09/24 mean visible share 21 %49Niamey (NE008) × 10/24 mean visible share 49 %66Niamey (NE008) × 11/24 mean visible share 66 %67Niamey (NE008) × 12/24 mean visible share 67 %mean share of the unit visible (not cloud / no-data), % — 0 = never visible that month
What is shown
Mean share of each province visible to the product (classes 0–3 in the product's own mask) per month. Darker = more visible.
Why it matters
Shows the structure of the missingness: it is spatial (forested, coastal provinces) and seasonal (the rainy season), not random noise.
What we observe
Least visible province: Niamey (47 % on average); most visible: Diffa (81 %).
Caveats
Visibility is the product's 'valid' area, which also excludes true no-data at tile edges.
Where and when is the optical product blind?Bangladesh 2024: MODIS visible share by province and month
01/2402/2403/2404/2405/2406/2407/2408/2409/2410/2411/2412/24Barisal (BD10)34Barisal (BD10) × 01/24 mean visible share 34 %49Barisal (BD10) × 02/24 mean visible share 49 %50Barisal (BD10) × 03/24 mean visible share 50 %69Barisal (BD10) × 04/24 mean visible share 69 %55Barisal (BD10) × 05/24 mean visible share 55 %13Barisal (BD10) × 06/24 mean visible share 13 %2Barisal (BD10) × 07/24 mean visible share 2 %4Barisal (BD10) × 08/24 mean visible share 4 %20Barisal (BD10) × 09/24 mean visible share 20 %49Barisal (BD10) × 10/24 mean visible share 49 %85Barisal (BD10) × 11/24 mean visible share 85 %76Barisal (BD10) × 12/24 mean visible share 76 %Chittagong (BD20)31Chittagong (BD20) × 01/24 mean visible share 31 %34Chittagong (BD20) × 02/24 mean visible share 34 %37Chittagong (BD20) × 03/24 mean visible share 37 %42Chittagong (BD20) × 04/24 mean visible share 42 %35Chittagong (BD20) × 05/24 mean visible share 35 %8Chittagong (BD20) × 06/24 mean visible share 8 %2Chittagong (BD20) × 07/24 mean visible share 2 %3Chittagong (BD20) × 08/24 mean visible share 3 %16Chittagong (BD20) × 09/24 mean visible share 16 %27Chittagong (BD20) × 10/24 mean visible share 27 %57Chittagong (BD20) × 11/24 mean visible share 57 %52Chittagong (BD20) × 12/24 mean visible share 52 %Dhaka (BD30)22Dhaka (BD30) × 01/24 mean visible share 22 %56Dhaka (BD30) × 02/24 mean visible share 56 %58Dhaka (BD30) × 03/24 mean visible share 58 %76Dhaka (BD30) × 04/24 mean visible share 76 %50Dhaka (BD30) × 05/24 mean visible share 50 %15Dhaka (BD30) × 06/24 mean visible share 15 %5Dhaka (BD30) × 07/24 mean visible share 5 %7Dhaka (BD30) × 08/24 mean visible share 7 %21Dhaka (BD30) × 09/24 mean visible share 21 %36Dhaka (BD30) × 10/24 mean visible share 36 %94Dhaka (BD30) × 11/24 mean visible share 94 %78Dhaka (BD30) × 12/24 mean visible share 78 %Khulna (BD40)30Khulna (BD40) × 01/24 mean visible share 30 %49Khulna (BD40) × 02/24 mean visible share 49 %54Khulna (BD40) × 03/24 mean visible share 54 %79Khulna (BD40) × 04/24 mean visible share 79 %50Khulna (BD40) × 05/24 mean visible share 50 %19Khulna (BD40) × 06/24 mean visible share 19 %3Khulna (BD40) × 07/24 mean visible share 3 %6Khulna (BD40) × 08/24 mean visible share 6 %20Khulna (BD40) × 09/24 mean visible share 20 %41Khulna (BD40) × 10/24 mean visible share 41 %89Khulna (BD40) × 11/24 mean visible share 89 %74Khulna (BD40) × 12/24 mean visible share 74 %Mymensingh (BD45)19Mymensingh (BD45) × 01/24 mean visible share 19 %54Mymensingh (BD45) × 02/24 mean visible share 54 %54Mymensingh (BD45) × 03/24 mean visible share 54 %70Mymensingh (BD45) × 04/24 mean visible share 70 %49Mymensingh (BD45) × 05/24 mean visible share 49 %11Mymensingh (BD45) × 06/24 mean visible share 11 %4Mymensingh (BD45) × 07/24 mean visible share 4 %5Mymensingh (BD45) × 08/24 mean visible share 5 %27Mymensingh (BD45) × 09/24 mean visible share 27 %36Mymensingh (BD45) × 10/24 mean visible share 36 %96Mymensingh (BD45) × 11/24 mean visible share 96 %84Mymensingh (BD45) × 12/24 mean visible share 84 %Rajshahi (BD50)20Rajshahi (BD50) × 01/24 mean visible share 20 %53Rajshahi (BD50) × 02/24 mean visible share 53 %63Rajshahi (BD50) × 03/24 mean visible share 63 %80Rajshahi (BD50) × 04/24 mean visible share 80 %52Rajshahi (BD50) × 05/24 mean visible share 52 %19Rajshahi (BD50) × 06/24 mean visible share 19 %4Rajshahi (BD50) × 07/24 mean visible share 4 %7Rajshahi (BD50) × 08/24 mean visible share 7 %26Rajshahi (BD50) × 09/24 mean visible share 26 %38Rajshahi (BD50) × 10/24 mean visible share 38 %97Rajshahi (BD50) × 11/24 mean visible share 97 %82Rajshahi (BD50) × 12/24 mean visible share 82 %Rangpur (BD55)15Rangpur (BD55) × 01/24 mean visible share 15 %40Rangpur (BD55) × 02/24 mean visible share 40 %60Rangpur (BD55) × 03/24 mean visible share 60 %85Rangpur (BD55) × 04/24 mean visible share 85 %52Rangpur (BD55) × 05/24 mean visible share 52 %16Rangpur (BD55) × 06/24 mean visible share 16 %2Rangpur (BD55) × 07/24 mean visible share 2 %12Rangpur (BD55) × 08/24 mean visible share 12 %42Rangpur (BD55) × 09/24 mean visible share 42 %47Rangpur (BD55) × 10/24 mean visible share 47 %95Rangpur (BD55) × 11/24 mean visible share 95 %79Rangpur (BD55) × 12/24 mean visible share 79 %Sylhet (BD60)27Sylhet (BD60) × 01/24 mean visible share 27 %44Sylhet (BD60) × 02/24 mean visible share 44 %52Sylhet (BD60) × 03/24 mean visible share 52 %55Sylhet (BD60) × 04/24 mean visible share 55 %49Sylhet (BD60) × 05/24 mean visible share 49 %11Sylhet (BD60) × 06/24 mean visible share 11 %11Sylhet (BD60) × 07/24 mean visible share 11 %9Sylhet (BD60) × 08/24 mean visible share 9 %32Sylhet (BD60) × 09/24 mean visible share 32 %39Sylhet (BD60) × 10/24 mean visible share 39 %91Sylhet (BD60) × 11/24 mean visible share 91 %76Sylhet (BD60) × 12/24 mean visible share 76 %mean share of the unit visible (not cloud / no-data), % — 0 = never visible that month
What is shown
Mean share of each province visible to the product (classes 0–3 in the product's own mask) per month. Darker = more visible.
Why it matters
Shows the structure of the missingness: it is spatial (forested, coastal provinces) and seasonal (the rainy season), not random noise.
What we observe
Least visible province: Chittagong (29 % on average); most visible: Rangpur (45 %).
Caveats
Visibility is the product's 'valid' area, which also excludes true no-data at tile edges.
Where and when is the optical product blind?Mozambique 2026: MODIS visible share by province and month
01/2602/2603/2604/2605/2606/26Cabo Delgado (MZ01)9Cabo Delgado (MZ01) × 01/26 mean visible share 9 %10Cabo Delgado (MZ01) × 02/26 mean visible share 10 %9Cabo Delgado (MZ01) × 03/26 mean visible share 9 %27Cabo Delgado (MZ01) × 04/26 mean visible share 27 %38Cabo Delgado (MZ01) × 05/26 mean visible share 38 %31Cabo Delgado (MZ01) × 06/26 mean visible share 31 %Gaza (MZ02)30Gaza (MZ02) × 01/26 mean visible share 30 %69Gaza (MZ02) × 02/26 mean visible share 69 %33Gaza (MZ02) × 03/26 mean visible share 33 %52Gaza (MZ02) × 04/26 mean visible share 52 %70Gaza (MZ02) × 05/26 mean visible share 70 %61Gaza (MZ02) × 06/26 mean visible share 61 %Inhambane (MZ03)30Inhambane (MZ03) × 01/26 mean visible share 30 %69Inhambane (MZ03) × 02/26 mean visible share 69 %37Inhambane (MZ03) × 03/26 mean visible share 37 %54Inhambane (MZ03) × 04/26 mean visible share 54 %70Inhambane (MZ03) × 05/26 mean visible share 70 %65Inhambane (MZ03) × 06/26 mean visible share 65 %Manica (MZ04)10Manica (MZ04) × 01/26 mean visible share 10 %24Manica (MZ04) × 02/26 mean visible share 24 %13Manica (MZ04) × 03/26 mean visible share 13 %24Manica (MZ04) × 04/26 mean visible share 24 %26Manica (MZ04) × 05/26 mean visible share 26 %24Manica (MZ04) × 06/26 mean visible share 24 %Maputo (MZ05)27Maputo (MZ05) × 01/26 mean visible share 27 %57Maputo (MZ05) × 02/26 mean visible share 57 %27Maputo (MZ05) × 03/26 mean visible share 27 %42Maputo (MZ05) × 04/26 mean visible share 42 %58Maputo (MZ05) × 05/26 mean visible share 58 %49Maputo (MZ05) × 06/26 mean visible share 49 %Maputo City (MZ06)34Maputo City (MZ06) × 01/26 mean visible share 34 %59Maputo City (MZ06) × 02/26 mean visible share 59 %35Maputo City (MZ06) × 03/26 mean visible share 35 %47Maputo City (MZ06) × 04/26 mean visible share 47 %68Maputo City (MZ06) × 05/26 mean visible share 68 %58Maputo City (MZ06) × 06/26 mean visible share 58 %Nampula (MZ07)8Nampula (MZ07) × 01/26 mean visible share 8 %17Nampula (MZ07) × 02/26 mean visible share 17 %19Nampula (MZ07) × 03/26 mean visible share 19 %35Nampula (MZ07) × 04/26 mean visible share 35 %38Nampula (MZ07) × 05/26 mean visible share 38 %30Nampula (MZ07) × 06/26 mean visible share 30 %Niassa (MZ08)11Niassa (MZ08) × 01/26 mean visible share 11 %12Niassa (MZ08) × 02/26 mean visible share 12 %14Niassa (MZ08) × 03/26 mean visible share 14 %30Niassa (MZ08) × 04/26 mean visible share 30 %38Niassa (MZ08) × 05/26 mean visible share 38 %34Niassa (MZ08) × 06/26 mean visible share 34 %Sofala (MZ09)21Sofala (MZ09) × 01/26 mean visible share 21 %48Sofala (MZ09) × 02/26 mean visible share 48 %27Sofala (MZ09) × 03/26 mean visible share 27 %46Sofala (MZ09) × 04/26 mean visible share 46 %56Sofala (MZ09) × 05/26 mean visible share 56 %46Sofala (MZ09) × 06/26 mean visible share 46 %Tete (MZ10)9Tete (MZ10) × 01/26 mean visible share 9 %16Tete (MZ10) × 02/26 mean visible share 16 %10Tete (MZ10) × 03/26 mean visible share 10 %24Tete (MZ10) × 04/26 mean visible share 24 %27Tete (MZ10) × 05/26 mean visible share 27 %28Tete (MZ10) × 06/26 mean visible share 28 %Zambezia (MZ11)11Zambezia (MZ11) × 01/26 mean visible share 11 %24Zambezia (MZ11) × 02/26 mean visible share 24 %24Zambezia (MZ11) × 03/26 mean visible share 24 %30Zambezia (MZ11) × 04/26 mean visible share 30 %35Zambezia (MZ11) × 05/26 mean visible share 35 %30Zambezia (MZ11) × 06/26 mean visible share 30 %mean share of the unit visible (not cloud / no-data), % — 0 = never visible that month
What is shown
Mean share of each province visible to the product (classes 0–3 in the product's own mask) per month. Darker = more visible.
Why it matters
Shows the structure of the missingness: it is spatial (forested, coastal provinces) and seasonal (the rainy season), not random noise.
What we observe
Least visible province: Tete (19 % on average); most visible: Inhambane (54 %).
Caveats
Visibility is the product's 'valid' area, which also excludes true no-data at tile edges.
Where and when is the optical product blind?Mozambique 2026: VIIRS visible share by province and month
01/2602/2603/2604/2605/2606/26Cabo Delgado (MZ01)9Cabo Delgado (MZ01) × 01/26 mean visible share 9 %10Cabo Delgado (MZ01) × 02/26 mean visible share 10 %9Cabo Delgado (MZ01) × 03/26 mean visible share 9 %26Cabo Delgado (MZ01) × 04/26 mean visible share 26 %34Cabo Delgado (MZ01) × 05/26 mean visible share 34 %32Cabo Delgado (MZ01) × 06/26 mean visible share 32 %Gaza (MZ02)23Gaza (MZ02) × 01/26 mean visible share 23 %59Gaza (MZ02) × 02/26 mean visible share 59 %31Gaza (MZ02) × 03/26 mean visible share 31 %42Gaza (MZ02) × 04/26 mean visible share 42 %70Gaza (MZ02) × 05/26 mean visible share 70 %66Gaza (MZ02) × 06/26 mean visible share 66 %Inhambane (MZ03)25Inhambane (MZ03) × 01/26 mean visible share 25 %55Inhambane (MZ03) × 02/26 mean visible share 55 %29Inhambane (MZ03) × 03/26 mean visible share 29 %43Inhambane (MZ03) × 04/26 mean visible share 43 %65Inhambane (MZ03) × 05/26 mean visible share 65 %63Inhambane (MZ03) × 06/26 mean visible share 63 %Manica (MZ04)10Manica (MZ04) × 01/26 mean visible share 10 %22Manica (MZ04) × 02/26 mean visible share 22 %13Manica (MZ04) × 03/26 mean visible share 13 %21Manica (MZ04) × 04/26 mean visible share 21 %25Manica (MZ04) × 05/26 mean visible share 25 %24Manica (MZ04) × 06/26 mean visible share 24 %Maputo (MZ05)25Maputo (MZ05) × 01/26 mean visible share 25 %51Maputo (MZ05) × 02/26 mean visible share 51 %21Maputo (MZ05) × 03/26 mean visible share 21 %40Maputo (MZ05) × 04/26 mean visible share 40 %54Maputo (MZ05) × 05/26 mean visible share 54 %55Maputo (MZ05) × 06/26 mean visible share 55 %Maputo City (MZ06)34Maputo City (MZ06) × 01/26 mean visible share 34 %65Maputo City (MZ06) × 02/26 mean visible share 65 %25Maputo City (MZ06) × 03/26 mean visible share 25 %49Maputo City (MZ06) × 04/26 mean visible share 49 %56Maputo City (MZ06) × 05/26 mean visible share 56 %65Maputo City (MZ06) × 06/26 mean visible share 65 %Nampula (MZ07)8Nampula (MZ07) × 01/26 mean visible share 8 %15Nampula (MZ07) × 02/26 mean visible share 15 %15Nampula (MZ07) × 03/26 mean visible share 15 %30Nampula (MZ07) × 04/26 mean visible share 30 %33Nampula (MZ07) × 05/26 mean visible share 33 %30Nampula (MZ07) × 06/26 mean visible share 30 %Niassa (MZ08)9Niassa (MZ08) × 01/26 mean visible share 9 %13Niassa (MZ08) × 02/26 mean visible share 13 %16Niassa (MZ08) × 03/26 mean visible share 16 %29Niassa (MZ08) × 04/26 mean visible share 29 %34Niassa (MZ08) × 05/26 mean visible share 34 %33Niassa (MZ08) × 06/26 mean visible share 33 %Sofala (MZ09)21Sofala (MZ09) × 01/26 mean visible share 21 %45Sofala (MZ09) × 02/26 mean visible share 45 %24Sofala (MZ09) × 03/26 mean visible share 24 %41Sofala (MZ09) × 04/26 mean visible share 41 %51Sofala (MZ09) × 05/26 mean visible share 51 %48Sofala (MZ09) × 06/26 mean visible share 48 %Tete (MZ10)8Tete (MZ10) × 01/26 mean visible share 8 %16Tete (MZ10) × 02/26 mean visible share 16 %10Tete (MZ10) × 03/26 mean visible share 10 %22Tete (MZ10) × 04/26 mean visible share 22 %25Tete (MZ10) × 05/26 mean visible share 25 %27Tete (MZ10) × 06/26 mean visible share 27 %Zambezia (MZ11)9Zambezia (MZ11) × 01/26 mean visible share 9 %22Zambezia (MZ11) × 02/26 mean visible share 22 %21Zambezia (MZ11) × 03/26 mean visible share 21 %28Zambezia (MZ11) × 04/26 mean visible share 28 %32Zambezia (MZ11) × 05/26 mean visible share 32 %33Zambezia (MZ11) × 06/26 mean visible share 33 %mean share of the unit visible (not cloud / no-data), % — 0 = never visible that month
What is shown
Mean share of each province visible to the product (classes 0–3 in the product's own mask) per month. Darker = more visible.
Why it matters
Shows the structure of the missingness: it is spatial (forested, coastal provinces) and seasonal (the rainy season), not random noise.
What we observe
Least visible province: Tete (18 % on average); most visible: Maputo City (49 %).
Caveats
Visibility is the product's 'valid' area, which also excludes true no-data at tile edges.

4. Exploratory analysis

One block per case: the shared-scale z grid (products × provinces), a province explorer, and the evidence matrix; then three worked examples and the signals that match no report. Reading guide for the grids: dashed line z = 2 (headline), dotted z = 3 (strong); yellow / orange / red bands are the method's weak / moderate / strong episodes; grey bands are reported windows; a break in a line is a day without a usable observation.

Cameroon 2024 — 2024-01-01 → 2024-12-31

10 provinces, 366 days, products with data: FloodScan, GFDS, GFM (S-1), MODIS, CYGNSS. The repo's method found 100 episodes grouped into 53 clusters; verdicts: 5 strong, 4 moderate of 10 provinces. Of the 2 reported province-events, 2 were flagged by at least one product (2 of 2 provinces named as worst hit); 0 were observed but not flagged, 0 had only a weak signal, 0 were never observed inside the window. 19 moderate/strong clusters fall outside every reported window.

Reported events used as the yardstick (2)
  • Far North floods, Logone-et-Chari and Mayo-Danay (Aug–Sep 2024) riverine — 10 Aug–30 Sep 2024, peak 28 Aug; provinces CM004; dated: high
  • Logone River overflows (October 2024) riverine — 28 Sep–31 Oct 2024, peak 14 Oct; provinces CM004; dated: medium
When did each product say 'unusual', for which province, and did that coincide with a report?Cameroon 2024: departure from each unit's normal (z), province × product, one shared scale
0 2 4 6 8 Adamaoua (CM001) no departure (max z 0.9) FloodScan GFDS GFM (S-1) MODIS CYGNSS 0 2 4 6 8 Centre (CM002) no departure (max z 0.8) no departure (max z 1.0) 0 2 4 6 8 Est (CM003) no departure (max z 0.9) 0 2 4 6 8 Extrême-Nord (CM004) no departure (max z 1.3) 0 2 4 6 8 Littoral (CM005) no departure (max z 1.0) 0 2 4 6 8 Nord (CM006) no departure (max z 1.3) 0 2 4 6 8 Nord-Ouest (CM007) no departure (max z 0.2) no departure (not observed) 0 2 4 6 8 Ouest (CM008) no departure (max z 0.8) 0 2 4 6 8 Sud (CM009) no departure (max z 0.2) no departure (max z 0.2) no departure (max z 0.4) Jan Apr Jul Oct Jan 0 2 4 6 8 Sud-Ouest (CM010) no departure (max z 0.0) Jan Apr Jul Oct Jan Jan Apr Jul Oct Jan Jan Apr Jul Oct Jan Jan Apr Jul Oct Jan persistent episode weak episode moderate episode strong episode reported flood window z above 8 (value printed)
What is shown
z-score per day (line) or per acquisition (GFM, dots), on ONE shared axis from -3 to 8 in every panel; values above 8 are drawn as ▲ at the ceiling with the maximum printed. Dashed z = 2, dotted z = 3. Coloured bands are the method's episodes by tier; grey bands are reported flood windows. Missing days break the line.
Why it matters
With a shared scale a tall spike in one panel means the same thing as in another; the published grid let each panel choose its own axis, which made MODIS' 0.5 look like GFDS' 15.
What we observe
Highest departure in the case: GFDS in Ouest at z = 7 on 21 Jun 2024. 14 of 50 drawn panels are flat (max z < 1.5).
Caveats
z is not the same statistic in every column: GFDS uses the vendor's static normal, GFM a same-tile same-month climatology, the others an in-period median/MAD with an absolute floor (see the MAD-floor audit). Compare shapes and timing, not magnitudes, across columns.
Which products agree, province by province?Cameroon 2024: strongest episode per product and the combined verdict
FloodScanGFDSGFM (S-1)MODISCYGNSSverdictAdamaoua (CM001)—Adamaoua (CM001) × FloodScan observed on 99 % of days; no episode ≥ z 1.5z 2.5 · 28 SepAdamaoua (CM001) × GFDS weak episode 19 Sep–28 Sep, peak z 2.5 on 28 Sep, 10 d, coverage 0.715z 1.8 · 08 JunAdamaoua (CM001) × GFM (S-1) weak episode 08 Jun–08 Jun, peak z 1.8 on 08 Jun, 1 d, coverage 0.987not obs.Adamaoua (CM001) × MODIS no day with ≥ 50 % of the unit seenz 3.3 · 05 NovAdamaoua (CM001) × CYGNSS strong episode 08 Oct–21 Nov, peak z 3.3 on 05 Nov, 45 d, coverage 1.0strongAdamaoua (CM001) × verdict [MODERATE 2024-01-01→2024-01-25] MODIS z 3.52 on 2024-01-20 (25 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-04-16→2024-04-20] GFDS z peaked 2.25 on 2024-04-16 (5 d, 1 d ≥ 2σ, change vs surrounding weeks 3.36σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEAK 2024-09-19→2024-09-28] GFDS z peaked 2.5 on 2024-09Centre (CM002)—Centre (CM002) × FloodScan observed on 99 % of days; no episode ≥ z 1.5z 4.0 · 22 AprCentre (CM002) × GFDS weak episode 19 Apr–22 Apr, peak z 4.0 on 22 Apr, 4 d, coverage 0.933z 1.9 · 12 JanCentre (CM002) × GFM (S-1) weak episode 12 Jan–12 Jan, peak z 1.9 on 12 Jan, 1 d, coverage 0.28 [low coverage]not obs.Centre (CM002) × MODIS no day with ≥ 50 % of the unit seenz 2.8 · 23 MayCentre (CM002) × CYGNSS moderate episode 14 May–11 Jun, peak z 2.8 on 23 May, 29 d, coverage 1.0moderateCentre (CM002) × verdict [WEAK 2024-01-12→2024-01-12] GFM tile-proxy flood fraction 0.39% on 2024-01-12 (1.93σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 28%; GFM anomaly flag on 98% of covering scenes) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-04-19→2024-04-22] GFDS z peaked 4.01 on 2024-04-22 (4 d, 1 d ≥ 2σ, change vs surrouEst (CM003)—Est (CM003) × FloodScan observed on 99 % of days; no episode ≥ z 1.5z 2.1 · 04 OctEst (CM003) × GFDS weak episode 04 Oct–06 Oct, peak z 2.1 on 04 Oct, 3 d, coverage 0.459 [low coverage]z 2.0 · 11 FebEst (CM003) × GFM (S-1) weak episode 11 Feb–11 Feb, peak z 2.0 on 11 Feb, 1 d, coverage 0.514not obs.Est (CM003) × MODIS no day with ≥ 50 % of the unit seenz 2.1 · 09 FebEst (CM003) × CYGNSS weak episode 06 Feb–18 Feb, peak z 2.1 on 09 Feb, 13 d, coverage 1.0moderateEst (CM003) × verdict [MODERATE 2024-01-18→2024-01-29] MODIS z 5.83 on 2024-01-20 (12 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-02-06→2024-02-18] CYGNSS z 2.13 on 2024-02-09 (13 d); GFM tile-proxy flood fraction 0.41% on 2024-02-11 (1.96σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 51%; GFM anomaly flag on 0% of covering Extrême-Nord (CM004)z 3.7 · 15 NovExtrême-Nord (CM004) × FloodScan strong episode 23 Aug–20 Dec, peak z 3.7 on 15 Nov, 120 d, coverage 1.0z 5.2 · 20 JunExtrême-Nord (CM004) × GFDS strong episode 17 Jun–07 Jul, peak z 5.2 on 20 Jun, 21 d, coverage 0.864z 4.1 · 22 DecExtrême-Nord (CM004) × GFM (S-1) strong episode 22 Dec–22 Dec, peak z 4.1 on 22 Dec, 1 d, coverage 1.0z 6.3 · 03 NovExtrême-Nord (CM004) × MODIS strong episode 10 Oct–31 Dec, peak z 6.3 on 03 Nov, 83 d, coverage 0.761—Extrême-Nord (CM004) × CYGNSS observed on 100 % of days; no episode ≥ z 1.5strongExtrême-Nord (CM004) × verdict [WEAK 2024-05-22→2024-05-22] GFM tile-proxy flood fraction 0.36% on 2024-05-22 (1.7σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 87%; GFM anomaly flag on 85% of covering scenes) — no reported event in the compiled list for this unit/window | [STRONG 2024-06-06→2024-07-15] GFDS z peaked 2.17 on 2024-06-10 (6 d, 2 d ≥ 2σ, change vs surrounding weeks 2.Littoral (CM005)—Littoral (CM005) × FloodScan observed on 99 % of days; no episode ≥ z 1.5z 2.4 · 19 AprLittoral (CM005) × GFDS weak episode 18 Apr–20 Apr, peak z 2.4 on 19 Apr, 3 d, coverage 1.0z 1.9 · 12 JanLittoral (CM005) × GFM (S-1) weak episode 12 Jan–12 Jan, peak z 1.9 on 12 Jan, 1 d, coverage 1.0not obs.Littoral (CM005) × MODIS no day with ≥ 50 % of the unit seenz 2.9 · 01 SepLittoral (CM005) × CYGNSS moderate episode 23 Aug–01 Sep, peak z 2.9 on 01 Sep, 10 d, coverage 0.989moderateLittoral (CM005) × verdict [WEAK 2024-01-01→2024-01-12] CYGNSS z 2.85 on 2024-01-01 (9 d); GFM tile-proxy flood fraction 0.39% on 2024-01-12 (1.94σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes) — no reported event in the compiled list for this unit/window | [WEAK 2024-04-18→2024-04-20] GFDS z peaked 2.36 on 2024-04-19 (3 d, 1 d Nord (CM006)z 3.8 · 26 AugNord (CM006) × FloodScan strong episode 23 Aug–01 Sep, peak z 3.8 on 26 Aug, 10 d, coverage 1.0z 4.3 · 20 JunNord (CM006) × GFDS strong episode 18 Jun–23 Jun, peak z 4.3 on 20 Jun, 6 d, coverage 0.675z 4.2 · 25 MayNord (CM006) × GFM (S-1) strong episode 22 May–27 May, peak z 4.2 on 25 May, 6 d, coverage 0.667not obs.Nord (CM006) × MODIS no day with ≥ 50 % of the unit seen—Nord (CM006) × CYGNSS observed on 100 % of days; no episode ≥ z 1.5strongNord (CM006) × verdict [STRONG 2024-05-22→2024-06-23] GFM tile-proxy flood fraction 0.85% on 2024-05-25 (4.19σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 66%; GFM anomaly flag on 63% of covering scenes); FloodScan SFED 0.72% on 2024-05-28 (3.23σ vs baseline, 4 d); GFDS z peaked 3.95 on 2024-06-07 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 6.48σ, site coverage 100%); GFM Nord-Ouest (CM007)—Nord-Ouest (CM007) × FloodScan observed on 99 % of days; no episode ≥ z 1.5z 3.0 · 14 AprNord-Ouest (CM007) × GFDS strong episode 02 Apr–14 Apr, peak z 3.0 on 14 Apr, 13 d, coverage 0.995z 3.6 · 06 JunNord-Ouest (CM007) × GFM (S-1) strong episode 06 Jun–06 Jun, peak z 3.6 on 06 Jun, 1 d, coverage 1.0not obs.Nord-Ouest (CM007) × MODIS no day with ≥ 50 % of the unit seenz 3.7 · 23 OctNord-Ouest (CM007) × CYGNSS strong episode 07 Oct–02 Nov, peak z 3.7 on 23 Oct, 27 d, coverage 1.0strongNord-Ouest (CM007) × verdict [STRONG 2024-04-02→2024-04-21] GFDS z peaked 3.02 on 2024-04-14 (13 d, 7 d ≥ 2σ, change vs surrounding weeks 3.97σ, site coverage 99%); GFDS z peaked 3.57 on 2024-04-19 (3 d, 2 d ≥ 2σ, change vs surrounding weeks 4.77σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [MODERATE 2024-06-06→2024-06-06] GFM tile-proxy flood fraction 0.75% on 2024-06-06 (3.57σ above Ouest (CM008)—Ouest (CM008) × FloodScan observed on 99 % of days; no episode ≥ z 1.5z 3.0 · 11 MarOuest (CM008) × GFDS weak episode 08 Mar–11 Mar, peak z 3.0 on 11 Mar, 4 d, coverage 1.0z 1.7 · 12 JanOuest (CM008) × GFM (S-1) weak episode 12 Jan–12 Jan, peak z 1.7 on 12 Jan, 1 d, coverage 1.0not obs.Ouest (CM008) × MODIS no day with ≥ 50 % of the unit seenz 2.5 · 17 MayOuest (CM008) × CYGNSS weak episode 13 May–20 May, peak z 2.5 on 17 May, 8 d, coverage 1.0moderateOuest (CM008) × verdict [MODERATE 2024-01-01→2024-01-25] MODIS z 4.25 on 2024-01-12 (25 d) [LOW COVERAGE]; GFM tile-proxy flood fraction 0.35% on 2024-01-12 (1.72σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 81% of covering scenes) — no reported event in the compiled list for this unit/window | [WEAK 2024-03-08→2024-03-11] GFDS z peaked 2.96 on 202Sud (CM009)—Sud (CM009) × FloodScan observed on 99 % of days; no episode ≥ z 1.5z 4.7 · 06 MarSud (CM009) × GFDS weak episode 04 Mar–06 Mar, peak z 4.7 on 06 Mar, 3 d, coverage 0.999—Sud (CM009) × GFM (S-1) observed on 19 % of days; no episode ≥ z 1.5not obs.Sud (CM009) × MODIS no day with ≥ 50 % of the unit seenz 2.1 · 17 FebSud (CM009) × CYGNSS weak episode 17 Feb–21 Feb, peak z 2.1 on 17 Feb, 5 d, coverage 1.0weakSud (CM009) × verdict [WEAK 2024-02-17→2024-02-21] CYGNSS z 2.06 on 2024-02-17 (5 d) — no reported event in the compiled list for this unit/window | [WEAK 2024-03-04→2024-03-06] GFDS z peaked 4.71 on 2024-03-06 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 9.27σ, site coverage 99%) — no reported event in the compiled list for this unit/window. Not observing: MODISSud-Ouest (CM010)—Sud-Ouest (CM010) × FloodScan observed on 99 % of days; no episode ≥ z 1.5z 3.2 · 11 MaySud-Ouest (CM010) × GFDS strong episode 02 May–13 May, peak z 3.2 on 11 May, 12 d, coverage 1.0z 1.6 · 12 JanSud-Ouest (CM010) × GFM (S-1) weak episode 12 Jan–12 Jan, peak z 1.6 on 12 Jan, 1 d, coverage 1.0not obs.Sud-Ouest (CM010) × MODIS no day with ≥ 50 % of the unit seenz 2.1 · 10 JanSud-Ouest (CM010) × CYGNSS weak episode 04 Jan–15 Jan, peak z 2.1 on 10 Jan, 12 d, coverage 0.985strongSud-Ouest (CM010) × verdict [MODERATE 2024-02-28→2024-04-20] GFDS z peaked 1.82 on 2024-03-03 (5 d, 0 d ≥ 2σ, change vs surrounding weeks 1.41σ, site coverage 100%); GFDS z peaked 3.01 on 2024-03-08 (3 d, 2 d ≥ 2σ, change vs surrounding weeks 3.79σ, site coverage 100%); CYGNSS z 2.13 on 2024-04-02 (20 d); GFDS z peaked 1.71 on 2024-03-15 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 1.13σ, site coverage 100%); GFDS z peaked 2.cell = the highest-tier episode of that product in that province (peak z, date); hover for onset, duration and coverage
What is shown
Rows: provinces. Columns: products, then the combined verdict. Colour = tier (red strong, orange moderate, yellow weak, blue-grey persistent, pale green nothing, grey never observed).
Why it matters
Two coloured cells in one row from products that fail in different ways is the strongest evidence the method offers.
What we observe
Verdicts: strong 5, moderate 4, weak 1.
Caveats
A verdict is a statement about signals, never confirmed impact.
Verdict per province (10)
  • Adamaoua CM001 strong
    evidence

    [MODERATE 2024-01-01→2024-01-25] MODIS z 3.52 on 2024-01-20 (25 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-04-16→2024-04-20] GFDS z peaked 2.25 on 2024-04-16 (5 d, 1 d ≥ 2σ, change vs surrounding weeks 3.36σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEAK 2024-09-19→2024-09-28] GFDS z peaked 2.5 on 2024-09-28 (10 d, 2 d ≥ 2σ, change vs surrounding weeks 4.39σ, site coverage 71%) — no reported event in the compiled list for this unit/window | [STRONG 2024-10-08→2024-11-21] CYGNSS z 3.31 on 2024-11-05 (45 d) — no reported event in the compiled list for this unit/window | +3 further cluster(s): weak 2024-04-02, weak 2024-06-08, weak 2024-07-06. Not observing: MODIS

  • Centre CM002 moderate
    evidence

    [WEAK 2024-01-12→2024-01-12] GFM tile-proxy flood fraction 0.39% on 2024-01-12 (1.93σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 28%; GFM anomaly flag on 98% of covering scenes) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-04-19→2024-04-22] GFDS z peaked 4.01 on 2024-04-22 (4 d, 1 d ≥ 2σ, change vs surrounding weeks 7.88σ, site coverage 93%) — no reported event in the compiled list for this unit/window | [MODERATE 2024-05-14→2024-06-11] CYGNSS z 2.83 on 2024-05-23 (29 d) — no reported event in the compiled list for this unit/window. Not observing: MODIS

  • Est CM003 moderate
    evidence

    [MODERATE 2024-01-18→2024-01-29] MODIS z 5.83 on 2024-01-20 (12 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-02-06→2024-02-18] CYGNSS z 2.13 on 2024-02-09 (13 d); GFM tile-proxy flood fraction 0.41% on 2024-02-11 (1.96σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 51%; GFM anomaly flag on 0% of covering scenes) — no reported event in the compiled list for this unit/window | [WEAK 2024-04-16→2024-04-22] GFDS z peaked 2.06 on 2024-04-19 (7 d, 2 d ≥ 2σ, change vs surrounding weeks 3.52σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEAK 2024-10-04→2024-10-06] GFDS z peaked 2.14 on 2024-10-04 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 3.38σ, site coverage 45%) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | +1 further cluster(s): weak 2024-12-29. Not observing: MODIS

  • Extrême-Nord CM004 strong
    evidence

    [WEAK 2024-05-22→2024-05-22] GFM tile-proxy flood fraction 0.36% on 2024-05-22 (1.7σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 87%; GFM anomaly flag on 85% of covering scenes) — no reported event in the compiled list for this unit/window | [STRONG 2024-06-06→2024-07-15] GFDS z peaked 2.17 on 2024-06-10 (6 d, 2 d ≥ 2σ, change vs surrounding weeks 2.93σ, site coverage 100%); GFM tile-proxy flood fraction 1.23% on 2024-06-13 (2.31σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 33% of covering scenes); GFDS z peaked 5.19 on 2024-06-20 (21 d, 4 d ≥ 2σ, change vs surrounding weeks 8.93σ, site coverage 86%); GFM tile-proxy flood fraction 1.25% on 2024-06-20 (3.21σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 48% of covering scenes); GFDS z peaked 2.6 on 2024-07-15 (4 d, 2 d ≥ 2σ, change vs surrounding weeks 3.16σ, site coverage 64%) — no reported event in the compiled list for this unit/window | [STRONG 2024-08-23→2024-12-31] FloodScan SFED 10.35% on 2024-11-15 (3.69σ vs baseline, 120 d); GFDS z peaked 1.87 on 2024-09-03 (5 d, 0 d ≥ 2σ, change vs surrounding weeks 1.45σ, site coverage 72%); GFDS z peaked 1.98 on 2024-09-22 (5 d, 0 d ≥ 2σ, change vs surrounding weeks 1.31σ, site coverage 93%); GFDS z peaked 1.75 on 2024-10-07 (6 d, 0 d ≥ 2σ, change vs surrounding weeks 0.5σ, site coverage 83%); MODIS z 6.34 on 2024-11-03 (83 d); GFDS z peaked 4.27 on 2024-11-19 (69 d, 17 d ≥ 2σ, change vs surrounding weeks 5.02σ, site coverage 75%); GFM tile-proxy flood fraction 1.19% on 2024-12-10 (2.12σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 53% of covering scenes); GFM tile-proxy flood fraction 1.65% on 2024-12-22 (4.12σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 53% of covering scenes) — matches reported 'Logone River overflows again (Zina 1 Oct; Mayo-Danay 14 Oct)' (signal peak +20 d vs reported peak)

  • Littoral CM005 moderate
    evidence

    [WEAK 2024-01-01→2024-01-12] CYGNSS z 2.85 on 2024-01-01 (9 d); GFM tile-proxy flood fraction 0.39% on 2024-01-12 (1.94σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes) — no reported event in the compiled list for this unit/window | [WEAK 2024-04-18→2024-04-20] GFDS z peaked 2.36 on 2024-04-19 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 3.14σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [MODERATE 2024-08-23→2024-09-22] CYGNSS z 2.88 on 2024-09-01 (10 d); CYGNSS z 2.41 on 2024-09-11 (8 d); CYGNSS z 2.4 on 2024-09-19 (5 d) — no reported event in the compiled list for this unit/window | [WEAK 2024-11-30→2024-12-05] MODIS z 3.51 on 2024-12-05 (6 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | +3 further cluster(s): weak 2024-02-23, weak 2024-03-13, weak 2024-10-01. Not observing: MODIS

  • Nord CM006 strong
    evidence

    [STRONG 2024-05-22→2024-06-23] GFM tile-proxy flood fraction 0.85% on 2024-05-25 (4.19σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 66%; GFM anomaly flag on 63% of covering scenes); FloodScan SFED 0.72% on 2024-05-28 (3.23σ vs baseline, 4 d); GFDS z peaked 3.95 on 2024-06-07 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 6.48σ, site coverage 100%); GFM tile-proxy flood fraction 0.53% on 2024-06-08 (2.57σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 85%; GFM anomaly flag on 32% of covering scenes); GFDS z peaked 4.31 on 2024-06-20 (6 d, 3 d ≥ 2σ, change vs surrounding weeks 7.35σ, site coverage 67%); GFM tile-proxy flood fraction 0.41% on 2024-06-20 (1.94σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 25% of covering scenes) — no reported event in the compiled list for this unit/window | [STRONG 2024-08-23→2024-09-13] FloodScan SFED 0.82% on 2024-08-26 (3.77σ vs baseline, 10 d); GFM tile-proxy flood fraction 0.74% on 2024-08-29 (1.68σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 55%; GFM anomaly flag on 45% of covering scenes); FloodScan SFED 0.55% on 2024-09-09 (2.38σ vs baseline, 8 d) — no reported event in the compiled list for this unit/window | [STRONG 2024-09-22→2024-10-29] FloodScan SFED 0.39% on 2024-09-22 (1.6σ vs baseline, 4 d); FloodScan SFED 0.41% on 2024-10-01 (1.71σ vs baseline, 3 d); FloodScan SFED 0.68% on 2024-10-08 (3.06σ vs baseline, 5 d); MODIS z 3.24 on 2024-10-24 (20 d) [LOW COVERAGE]; FloodScan SFED 0.44% on 2024-10-15 (1.86σ vs baseline, 3 d); FloodScan SFED 0.49% on 2024-10-24 (2.12σ vs baseline, 4 d) — no reported event in the compiled list for this unit/window | [MODERATE 2024-12-22→2024-12-22] GFM tile-proxy flood fraction 0.76% on 2024-12-22 (3.46σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 45% of covering scenes) — no reported event in the compiled list for this unit/window | +1 further cluster(s): weak 2024-12-10. Not observing: MODIS

  • Nord-Ouest CM007 strong
    evidence

    [STRONG 2024-04-02→2024-04-21] GFDS z peaked 3.02 on 2024-04-14 (13 d, 7 d ≥ 2σ, change vs surrounding weeks 3.97σ, site coverage 99%); GFDS z peaked 3.57 on 2024-04-19 (3 d, 2 d ≥ 2σ, change vs surrounding weeks 4.77σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [MODERATE 2024-06-06→2024-06-06] GFM tile-proxy flood fraction 0.75% on 2024-06-06 (3.57σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 50% of covering scenes) — no reported event in the compiled list for this unit/window | [MODERATE 2024-08-29→2024-08-29] GFM tile-proxy flood fraction 1.05% on 2024-08-29 (3.04σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 50% of covering scenes) — no reported event in the compiled list for this unit/window | [STRONG 2024-10-07→2024-11-07] CYGNSS z 3.73 on 2024-10-23 (27 d); GFM tile-proxy flood fraction 1.17% on 2024-10-16 (1.56σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 75% of covering scenes); GFM tile-proxy flood fraction 0.77% on 2024-11-07 (2.89σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 50% of covering scenes) — no reported event in the compiled list for this unit/window | +7 further cluster(s): weak 2024-03-08, weak 2024-04-30, moderate 2024-05-25, weak 2024-07-07, weak 2024-07-22, moderate 2024-09-10, weak 2024-09-22. Not observing: MODIS

  • Ouest CM008 moderate
    evidence

    [MODERATE 2024-01-01→2024-01-25] MODIS z 4.25 on 2024-01-12 (25 d) [LOW COVERAGE]; GFM tile-proxy flood fraction 0.35% on 2024-01-12 (1.72σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 81% of covering scenes) — no reported event in the compiled list for this unit/window | [WEAK 2024-03-08→2024-03-11] GFDS z peaked 2.96 on 2024-03-11 (4 d, 2 d ≥ 2σ, change vs surrounding weeks 5.81σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEAK 2024-05-13→2024-05-28] CYGNSS z 2.46 on 2024-05-17 (8 d); CYGNSS z 1.85 on 2024-05-26 (5 d) — no reported event in the compiled list for this unit/window. Not observing: MODIS

  • Sud CM009 weak
    evidence

    [WEAK 2024-02-17→2024-02-21] CYGNSS z 2.06 on 2024-02-17 (5 d) — no reported event in the compiled list for this unit/window | [WEAK 2024-03-04→2024-03-06] GFDS z peaked 4.71 on 2024-03-06 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 9.27σ, site coverage 99%) — no reported event in the compiled list for this unit/window. Not observing: MODIS

  • Sud-Ouest CM010 strong
    evidence

    [MODERATE 2024-02-28→2024-04-20] GFDS z peaked 1.82 on 2024-03-03 (5 d, 0 d ≥ 2σ, change vs surrounding weeks 1.41σ, site coverage 100%); GFDS z peaked 3.01 on 2024-03-08 (3 d, 2 d ≥ 2σ, change vs surrounding weeks 3.79σ, site coverage 100%); CYGNSS z 2.13 on 2024-04-02 (20 d); GFDS z peaked 1.71 on 2024-03-15 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 1.13σ, site coverage 100%); GFDS z peaked 2.84 on 2024-04-11 (10 d, 4 d ≥ 2σ, change vs surrounding weeks 3.15σ, site coverage 93%); GFDS z peaked 3.14 on 2024-04-16 (5 d, 2 d ≥ 2σ, change vs surrounding weeks 3.74σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [STRONG 2024-05-02→2024-05-29] GFDS z peaked 3.18 on 2024-05-11 (12 d, 3 d ≥ 2σ, change vs surrounding weeks 3.93σ, site coverage 100%); GFDS z peaked 2.65 on 2024-05-28 (10 d, 3 d ≥ 2σ, change vs surrounding weeks 3.13σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEAK 2024-09-21→2024-09-24] GFDS z peaked 2.83 on 2024-09-24 (4 d, 1 d ≥ 2σ, change vs surrounding weeks 3.72σ, site coverage 72%) — no reported event in the compiled list for this unit/window | [WEAK 2024-10-29→2024-11-01] GFDS z peaked 2.46 on 2024-11-01 (4 d, 1 d ≥ 2σ, change vs surrounding weeks 2.91σ, site coverage 50%) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | +3 further cluster(s): weak 2024-01-04, weak 2024-02-05, weak 2024-12-18. Not observing: MODIS

Check against the reported floods, row by row
EventReport windowDatedProvinceWorst hitResultEvidence (product z on date; offset vs reported peak)
Far North floods, Logone-et-Chari and Mayo-Danay (Aug–Sep 2024)2024-08-10..2024-09-30highExtrême-Nord (CM004)★flagged (strong)FLOODSCAN z 3.3 on 2024-09-04; MODIS z 5.4 on 2024-10-18 (+51 d vs reported peak)
Logone River overflows (October 2024)2024-09-28..2024-10-31mediumExtrême-Nord (CM004)★flagged (strong)FLOODSCAN z 3.7 on 2024-11-15; GFDS z 4.3 on 2024-11-19; MODIS z 6.3 on 2024-11-03 (+20 d vs reported peak)

Niger 2024 — 2024-01-01 → 2024-12-31

8 provinces, 366 days, products with data: FloodScan, GFDS, GFM (S-1), MODIS, CYGNSS. The repo's method found 109 episodes grouped into 46 clusters; verdicts: 7 strong, 1 moderate of 8 provinces. Of the 16 reported province-events, 13 were flagged by at least one product (8 of 11 provinces named as worst hit); 3 were observed but not flagged, 0 had only a weak signal, 0 were never observed inside the window. 4 moderate/strong clusters fall outside every reported window.

Reported events used as the yardstick (4)
  • June 2024 early-season floods (Maradi, Niamey) flash — 10 Jun–30 Jun 2024, peak 21 Jun; provinces NE004, NE008; dated: medium
  • August–September 2024 rainy-season floods (nationwide) pluvial — 01 Aug–30 Sep 2024, peak 25 Aug; provinces NE004, NE007, NE006, NE003, NE001, NE005, NE008, NE002; dated: high
  • Niger River local flood at Niamey (Aug–Sep 2024) riverine — 20 Aug–30 Sep 2024, peak 05 Sep; provinces NE008, NE006, NE003; dated: medium
  • Niger River Guinean flood (Nov–Dec 2024, AA activated) riverine — 15 Nov–31 Dec 2024, peak 05 Dec; provinces NE008, NE006, NE003; dated: high
When did each product say 'unusual', for which province, and did that coincide with a report?Niger 2024: departure from each unit's normal (z), province × product, one shared scale
0 2 4 6 8 Agadez (NE001) no departure (max z 0.4) FloodScan GFDS GFM (S-1) no departure (max z 0.0) MODIS CYGNSS 0 2 4 6 8 Diffa (NE002) 0 2 4 6 8 Dosso (NE003) no departure (max z 0.8) 0 2 4 6 8 Maradi (NE004) no departure (max z 0.0) 0 2 4 6 8 Tahoua (NE005) no departure (max z 0.2) 0 2 4 6 8 Tillabéri (NE006) no departure (max z 1.3) no departure (max z 0.7) 0 2 4 6 8 Zinder (NE007) no departure (max z 0.0) no departure (max z 0.1) Jan Apr Jul Oct Jan 0 2 4 6 8 Niamey (NE008) Jan Apr Jul Oct Jan 17 Jan Apr Jul Oct Jan Jan Apr Jul Oct Jan Jan Apr Jul Oct Jan persistent episode weak episode moderate episode strong episode reported flood window z above 8 (value printed)
What is shown
z-score per day (line) or per acquisition (GFM, dots), on ONE shared axis from -3 to 8 in every panel; values above 8 are drawn as ▲ at the ceiling with the maximum printed. Dashed z = 2, dotted z = 3. Coloured bands are the method's episodes by tier; grey bands are reported flood windows. Missing days break the line.
Why it matters
With a shared scale a tall spike in one panel means the same thing as in another; the published grid let each panel choose its own axis, which made MODIS' 0.5 look like GFDS' 15.
What we observe
Highest departure in the case: GFDS in Niamey at z = 17 on 02 Jul 2024. 9 of 40 drawn panels are flat (max z < 1.5).
Caveats
z is not the same statistic in every column: GFDS uses the vendor's static normal, GFM a same-tile same-month climatology, the others an in-period median/MAD with an absolute floor (see the MAD-floor audit). Compare shapes and timing, not magnitudes, across columns.
Which products agree, province by province?Niger 2024: strongest episode per product and the combined verdict
FloodScanGFDSGFM (S-1)MODISCYGNSSverdictAgadez (NE001)—Agadez (NE001) × FloodScan observed on 99 % of days; no episode ≥ z 1.5z 1.5 · 12 AugAgadez (NE001) × GFDS weak episode 12 Aug–15 Aug, peak z 1.5 on 12 Aug, 4 d, coverage 0.851z 3.4 · 28 NovAgadez (NE001) × GFM (S-1) strong episode 28 Nov–28 Nov, peak z 3.4 on 28 Nov, 1 d, coverage 0.6—Agadez (NE001) × MODIS observed on 96 % of days; no episode ≥ z 1.5z 1.6 · 19 AugAgadez (NE001) × CYGNSS weak episode 19 Aug–27 Aug, peak z 1.6 on 19 Aug, 9 d, coverage 1.0moderateAgadez (NE001) × verdict [WEAK 2024-08-12→2024-09-17] GFDS z peaked 1.53 on 2024-08-12 (4 d, 0 d ≥ 2σ, change vs surrounding weeks 2.13σ, site coverage 85%); CYGNSS z 1.61 on 2024-08-19 (9 d); GFM tile-proxy flood fraction 1.08% on 2024-09-05 (5.33σ above the covering tiles' same-season normal; 7 elevated acquisition(s); footprint coverage 38%; GFM anomaly flag on 80% of covering scenes) [LOW COVERAGE] — matches reported Diffa (NE002)z 1.8 · 27 OctDiffa (NE002) × FloodScan weak episode 26 Oct–06 Nov, peak z 1.8 on 27 Oct, 12 d, coverage 1.0z 2.1 · 29 FebDiffa (NE002) × GFDS weak episode 25 Feb–10 Mar, peak z 2.1 on 29 Feb, 15 d, coverage 1.0z 2.0 · 09 JanDiffa (NE002) × GFM (S-1) weak episode 09 Jan–09 Jan, peak z 2.0 on 09 Jan, 1 d, coverage 0.609z 2.1 · 06 NovDiffa (NE002) × MODIS moderate episode 27 Oct–28 Nov, peak z 2.1 on 06 Nov, 33 d, coverage 0.966z 2.9 · 21 DecDiffa (NE002) × CYGNSS moderate episode 14 Oct–31 Dec, peak z 2.9 on 21 Dec, 79 d, coverage 1.0strongDiffa (NE002) × verdict [WEAK 2024-01-09→2024-01-09] GFM tile-proxy flood fraction 8.80% on 2024-01-09 (1.98σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 60%; GFM anomaly flag on 0% of covering scenes) — no reported event in the compiled list for this unit/window | [WEAK 2024-02-25→2024-03-10] GFDS z peaked 2.09 on 2024-02-29 (15 d, 1 d ≥ 2σ, change vs surrounding weeks 1.9Dosso (NE003)z 4.0 · 27 MayDosso (NE003) × FloodScan strong episode 26 May–29 May, peak z 4.0 on 27 May, 4 d, coverage 1.0z 4.6 · 02 JulDosso (NE003) × GFDS strong episode 30 Jun–08 Jul, peak z 4.6 on 02 Jul, 9 d, coverage 0.9z 4.8 · 20 AugDosso (NE003) × GFM (S-1) strong episode 20 Aug–20 Aug, peak z 4.8 on 20 Aug, 1 d, coverage 1.0—Dosso (NE003) × MODIS observed on 63 % of days; no episode ≥ z 1.5z 1.8 · 19 SepDosso (NE003) × CYGNSS weak episode 07 Sep–16 Oct, peak z 1.8 on 19 Sep, 40 d, coverage 0.998strongDosso (NE003) × verdict [WEAK 2024-05-04→2024-05-11] GFDS z peaked 1.99 on 2024-05-07 (7 d, 0 d ≥ 2σ, change vs surrounding weeks 2.72σ, site coverage 100%); GFM tile-proxy flood fraction 0.37% on 2024-05-11 (1.83σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 90%; GFM anomaly flag on 33% of covering scenes) — no reported event in the compiled list for this unit/window | [STRMaradi (NE004)—Maradi (NE004) × FloodScan observed on 99 % of days; no episode ≥ z 1.5z 1.9 · 05 JunMaradi (NE004) × GFDS weak episode 05 Jun–07 Jun, peak z 1.9 on 05 Jun, 3 d, coverage 1.0z 2.8 · 22 AugMaradi (NE004) × GFM (S-1) moderate episode 22 Aug–22 Aug, peak z 2.8 on 22 Aug, 1 d, coverage 1.0—Maradi (NE004) × MODIS observed on 71 % of days; no episode ≥ z 1.5z 4.2 · 01 OctMaradi (NE004) × CYGNSS strong episode 28 Jul–20 Oct, peak z 4.2 on 01 Oct, 85 d, coverage 1.0strongMaradi (NE004) × verdict [WEAK 2024-06-05→2024-06-07] GFDS z peaked 1.87 on 2024-06-05 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 2.31σ, site coverage 100%) — matches reported 'Early rainy-season floods (Maradi, Niamey outskirts)' (signal peak -16 d vs reported peak) | [STRONG 2024-07-28→2024-10-20] CYGNSS z 4.16 on 2024-10-01 (85 d); GFM tile-proxy flood fraction 0.65% on 2024-08-22 (2.81σ above the covering tiles' sameTahoua (NE005)—Tahoua (NE005) × FloodScan observed on 99 % of days; no episode ≥ z 1.5—Tahoua (NE005) × GFDS observed on 89 % of days; no episode ≥ z 1.5z 5.6 · 22 AugTahoua (NE005) × GFM (S-1) strong episode 20 Aug–22 Aug, peak z 5.6 on 22 Aug, 3 d, coverage 0.5—Tahoua (NE005) × MODIS observed on 80 % of days; no episode ≥ z 1.5z 2.4 · 06 SepTahoua (NE005) × CYGNSS moderate episode 13 Aug–05 Oct, peak z 2.4 on 06 Sep, 54 d, coverage 1.0strongTahoua (NE005) × verdict [WEAK 2024-03-19→2024-03-19] GFM tile-proxy flood fraction 0.62% on 2024-03-19 (3.05σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 38%; GFM anomaly flag on 50% of covering scenes) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-03-31→2024-03-31] GFM tile-proxy flood fraction 0.64% on 2024-03-31 (3.15σ above thTillabéri (NE006)—Tillabéri (NE006) × FloodScan observed on 99 % of days; no episode ≥ z 1.5z 3.6 · 16 SepTillabéri (NE006) × GFDS strong episode 14 Sep–19 Sep, peak z 3.6 on 16 Sep, 6 d, coverage 0.901z 3.8 · 20 AugTillabéri (NE006) × GFM (S-1) strong episode 20 Aug–20 Aug, peak z 3.8 on 20 Aug, 1 d, coverage 1.0—Tillabéri (NE006) × MODIS observed on 69 % of days; no episode ≥ z 1.5z 2.6 · 06 SepTillabéri (NE006) × CYGNSS moderate episode 12 Aug–17 Oct, peak z 2.6 on 06 Sep, 67 d, coverage 0.993strongTillabéri (NE006) × verdict [WEAK 2024-05-11→2024-05-11] GFM tile-proxy flood fraction 0.58% on 2024-05-11 (2.85σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 28%; GFM anomaly flag on 33% of covering scenes) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-06-04→2024-06-16] GFM tile-proxy flood fraction 0.76% on 2024-06-04 (3.68σ above thZinder (NE007)—Zinder (NE007) × FloodScan observed on 99 % of days; no episode ≥ z 1.5—Zinder (NE007) × GFDS observed on 89 % of days; no episode ≥ z 1.5z 7.4 · 17 SepZinder (NE007) × GFM (S-1) strong episode 17 Sep–17 Sep, peak z 7.4 on 17 Sep, 1 d, coverage 0.924—Zinder (NE007) × MODIS observed on 81 % of days; no episode ≥ z 1.5z 3.3 · 04 NovZinder (NE007) × CYGNSS strong episode 15 Oct–31 Dec, peak z 3.3 on 04 Nov, 78 d, coverage 1.0strongZinder (NE007) × verdict [WEAK 2024-02-09→2024-02-09] GFM tile-proxy flood fraction 7.78% on 2024-02-09 (2.34σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 23%; GFM anomaly flag on 25% of covering scenes) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-03-04→2024-03-04] GFM tile-proxy flood fraction 7.35% on 2024-03-04 (2.04σ above thNiamey (NE008)—Niamey (NE008) × FloodScan observed on 99 % of days; no episode ≥ z 1.5z 17.4 · 02 JulNiamey (NE008) × GFDS strong episode 30 Jun–06 Jul, peak z 17.4 on 02 Jul, 7 d, coverage 0.857 [low coverage]z 1.8 · 10 AprNiamey (NE008) × GFM (S-1) weak episode 10 Apr–10 Apr, peak z 1.8 on 10 Apr, 1 d, coverage 0.999z 2.8 · 31 DecNiamey (NE008) × MODIS moderate episode 26 Dec–31 Dec, peak z 2.8 on 31 Dec, 6 d, coverage 0.683z 3.0 · 14 DecNiamey (NE008) × CYGNSS moderate episode 04 Nov–30 Dec, peak z 3.0 on 14 Dec, 57 d, coverage 0.993strongNiamey (NE008) × verdict [MODERATE 2024-01-01→2024-05-04] GFDS z peaked 5.65 on 2024-01-29 (125 d, 90 d ≥ 2σ, change vs surrounding weeks 2.93σ, site coverage 99%) [UNIT TOO SMALL FOR THIS SENSOR]; GFM tile-proxy flood fraction 0.36% on 2024-04-10 (1.79σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 99%; GFM anomaly flag on 52% of covering scenes) — no reported event in the cocell = the highest-tier episode of that product in that province (peak z, date); hover for onset, duration and coverage
What is shown
Rows: provinces. Columns: products, then the combined verdict. Colour = tier (red strong, orange moderate, yellow weak, blue-grey persistent, pale green nothing, grey never observed).
Why it matters
Two coloured cells in one row from products that fail in different ways is the strongest evidence the method offers.
What we observe
Verdicts: strong 7, moderate 1.
Caveats
A verdict is a statement about signals, never confirmed impact.
Verdict per province (8)
  • Agadez NE001 moderate
    evidence

    [WEAK 2024-08-12→2024-09-17] GFDS z peaked 1.53 on 2024-08-12 (4 d, 0 d ≥ 2σ, change vs surrounding weeks 2.13σ, site coverage 85%); CYGNSS z 1.61 on 2024-08-19 (9 d); GFM tile-proxy flood fraction 1.08% on 2024-09-05 (5.33σ above the covering tiles' same-season normal; 7 elevated acquisition(s); footprint coverage 38%; GFM anomaly flag on 80% of covering scenes) [LOW COVERAGE] — matches reported 'Rainy-season floods nationwide (worst since 2020); Maradi, Zinder, Til' (signal peak +11 d vs reported peak) | [MODERATE 2024-09-29→2024-09-29] GFM tile-proxy flood fraction 0.59% on 2024-09-29 (2.87σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 60%; GFM anomaly flag on 100% of covering scenes) — matches reported 'Rainy-season floods nationwide (worst since 2020); Maradi, Zinder, Til' (signal peak +35 d vs reported peak) | [MODERATE 2024-11-28→2024-11-28] GFM tile-proxy flood fraction 0.69% on 2024-11-28 (3.36σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 60%; GFM anomaly flag on 98% of covering scenes) — no reported event in the compiled list for this unit/window | [WEAK 2024-12-10→2024-12-10] GFM tile-proxy flood fraction 0.74% on 2024-12-10 (3.62σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 37%; GFM anomaly flag on 95% of covering scenes) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | +6 further cluster(s): weak 2024-01-19, weak 2024-01-31, weak 2024-10-11, weak 2024-11-04, weak 2024-11-16, weak 2024-12-22

  • Diffa NE002 strong
    evidence

    [WEAK 2024-01-09→2024-01-09] GFM tile-proxy flood fraction 8.80% on 2024-01-09 (1.98σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 60%; GFM anomaly flag on 0% of covering scenes) — no reported event in the compiled list for this unit/window | [WEAK 2024-02-25→2024-03-10] GFDS z peaked 2.09 on 2024-02-29 (15 d, 1 d ≥ 2σ, change vs surrounding weeks 1.92σ, site coverage 100%); GFM tile-proxy flood fraction 4.67% on 2024-02-26 (1.66σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 62%; GFM anomaly flag on 0% of covering scenes); GFM tile-proxy flood fraction 5.53% on 2024-03-09 (1.68σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 62%; GFM anomaly flag on 0% of covering scenes) — no reported event in the compiled list for this unit/window | [WEAK 2024-08-05→2024-08-08] GFDS z peaked 2.01 on 2024-08-05 (4 d, 1 d ≥ 2σ, change vs surrounding weeks 2.35σ, site coverage 75%) — matches reported 'Rainy-season floods nationwide (worst since 2020); Maradi, Zinder, Til' (signal peak -20 d vs reported peak) | [STRONG 2024-10-14→2024-12-31] CYGNSS z 2.93 on 2024-12-21 (79 d); FloodScan SFED 1.50% on 2024-10-27 (1.78σ vs baseline, 12 d); MODIS z 2.14 on 2024-11-06 (33 d); FloodScan SFED 1.48% on 2024-11-20 (1.67σ vs baseline, 8 d); MODIS z 1.93 on 2024-12-05 (6 d); MODIS z 2.12 on 2024-12-27 (6 d) — matches reported 'Rainy-season floods nationwide (worst since 2020); Maradi, Zinder, Til' (signal peak +53 d vs reported peak)

  • Dosso NE003 strong
    evidence

    [WEAK 2024-05-04→2024-05-11] GFDS z peaked 1.99 on 2024-05-07 (7 d, 0 d ≥ 2σ, change vs surrounding weeks 2.72σ, site coverage 100%); GFM tile-proxy flood fraction 0.37% on 2024-05-11 (1.83σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 90%; GFM anomaly flag on 33% of covering scenes) — no reported event in the compiled list for this unit/window | [STRONG 2024-05-26→2024-07-19] FloodScan SFED 0.79% on 2024-05-27 (3.96σ vs baseline, 4 d); GFDS z peaked 1.67 on 2024-05-31 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 2.15σ, site coverage 100%); GFM tile-proxy flood fraction 0.47% on 2024-06-04 (2.26σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 66%; GFM anomaly flag on 41% of covering scenes); GFDS z peaked 4.0 on 2024-06-14 (6 d, 3 d ≥ 2σ, change vs surrounding weeks 6.73σ, site coverage 100%); GFM tile-proxy flood fraction 0.41% on 2024-06-16 (1.93σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 90%; GFM anomaly flag on 56% of covering scenes); GFDS z peaked 2.24 on 2024-06-24 (4 d, 2 d ≥ 2σ, change vs surrounding weeks 3.21σ, site coverage 74%); GFM tile-proxy flood fraction 0.36% on 2024-06-28 (1.7σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 90%; GFM anomaly flag on 56% of covering scenes); GFDS z peaked 4.62 on 2024-07-02 (9 d, 4 d ≥ 2σ, change vs surrounding weeks 7.84σ, site coverage 90%); GFDS z peaked 2.2 on 2024-07-14 (6 d, 1 d ≥ 2σ, change vs surrounding weeks 2.97σ, site coverage 84%) — no reported event in the compiled list for this unit/window | [MODERATE 2024-08-03→2024-08-21] GFDS z peaked 3.42 on 2024-08-04 (5 d, 1 d ≥ 2σ, change vs surrounding weeks 5.16σ, site coverage 84%); GFDS z peaked 2.37 on 2024-08-17 (7 d, 1 d ≥ 2σ, change vs surrounding weeks 3.21σ, site coverage 69%); FloodScan SFED 0.46% on 2024-08-18 (2.32σ vs baseline, 4 d); GFM tile-proxy flood fraction 1.02% on 2024-08-20 (4.85σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes) — matches reported 'Rainy-season floods nationwide (worst since 2020); Maradi, Zinder, Til' (signal peak -5 d vs reported peak) | [MODERATE 2024-09-01→2024-10-16] GFM tile-proxy flood fraction 0.63% on 2024-09-01 (2.96σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFDS z peaked 1.93 on 2024-09-07 (4 d, 0 d ≥ 2σ, change vs surrounding weeks 2.49σ, site coverage 72%); CYGNSS z 1.8 on 2024-09-19 (40 d); GFM tile-proxy flood fraction 0.48% on 2024-09-13 (2.23σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFDS z peaked 1.84 on 2024-09-16 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 2.45σ, site coverage 98%); GFM tile-proxy flood fraction 0.60% on 2024-09-25 (2.82σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.43% on 2024-10-07 (2.06σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes) — matches reported 'Niger River 'crue locale' high water at Niamey (Aug-Sep)' (signal peak -4 d vs reported peak) | +1 further cluster(s): weak 2024-11-03

  • Maradi NE004 strong
    evidence

    [WEAK 2024-06-05→2024-06-07] GFDS z peaked 1.87 on 2024-06-05 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 2.31σ, site coverage 100%) — matches reported 'Early rainy-season floods (Maradi, Niamey outskirts)' (signal peak -16 d vs reported peak) | [STRONG 2024-07-28→2024-10-20] CYGNSS z 4.16 on 2024-10-01 (85 d); GFM tile-proxy flood fraction 0.65% on 2024-08-22 (2.81σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 56% of covering scenes); GFM tile-proxy flood fraction 0.41% on 2024-09-03 (1.69σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 51%; GFM anomaly flag on 52% of covering scenes) — matches reported 'Rainy-season floods nationwide (worst since 2020); Maradi, Zinder, Til' (signal peak +37 d vs reported peak)

  • Tahoua NE005 strong
    evidence

    [WEAK 2024-03-19→2024-03-19] GFM tile-proxy flood fraction 0.62% on 2024-03-19 (3.05σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 38%; GFM anomaly flag on 50% of covering scenes) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-03-31→2024-03-31] GFM tile-proxy flood fraction 0.64% on 2024-03-31 (3.15σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 38%; GFM anomaly flag on 50% of covering scenes) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [MODERATE 2024-05-28→2024-07-10] GFM tile-proxy flood fraction 0.54% on 2024-06-09 (2.6σ above the covering tiles' same-season normal; 6 elevated acquisition(s); footprint coverage 54%; GFM anomaly flag on 69% of covering scenes) — no reported event in the compiled list for this unit/window | [STRONG 2024-08-10→2024-10-05] GFM tile-proxy flood fraction 0.42% on 2024-08-10 (1.7σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 38%; GFM anomaly flag on 33% of covering scenes) [LOW COVERAGE]; CYGNSS z 2.36 on 2024-09-06 (54 d); GFM tile-proxy flood fraction 1.23% on 2024-08-22 (5.58σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 50%; GFM anomaly flag on 70% of covering scenes); GFM tile-proxy flood fraction 0.76% on 2024-09-03 (3.33σ above the covering tiles' same-season normal; 4 elevated acquisition(s); footprint coverage 47%; GFM anomaly flag on 80% of covering scenes) [LOW COVERAGE]; GFM tile-proxy flood fraction 0.46% on 2024-09-25 (2.13σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 61%; GFM anomaly flag on 87% of covering scenes) — matches reported 'Rainy-season floods nationwide (worst since 2020); Maradi, Zinder, Til' (signal peak -3 d vs reported peak) | +6 further cluster(s): weak 2024-01-19, weak 2024-01-31, weak 2024-02-24, weak 2024-03-07, weak 2024-04-12, weak 2024-05-11

  • Tillabéri NE006 strong
    evidence

    [WEAK 2024-05-11→2024-05-11] GFM tile-proxy flood fraction 0.58% on 2024-05-11 (2.85σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 28%; GFM anomaly flag on 33% of covering scenes) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-06-04→2024-06-16] GFM tile-proxy flood fraction 0.76% on 2024-06-04 (3.68σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 28%; GFM anomaly flag on 67% of covering scenes) [LOW COVERAGE]; GFM tile-proxy flood fraction 0.33% on 2024-06-09 (1.53σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 22% of covering scenes); GFM tile-proxy flood fraction 0.78% on 2024-06-16 (3.79σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 28%; GFM anomaly flag on 100% of covering scenes) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-06-28→2024-07-02] GFM tile-proxy flood fraction 0.71% on 2024-06-28 (3.42σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 28%; GFM anomaly flag on 100% of covering scenes) [LOW COVERAGE]; GFDS z peaked 2.8 on 2024-07-02 (3 d, 2 d ≥ 2σ, change vs surrounding weeks 5.16σ, site coverage 90%) — no reported event in the compiled list for this unit/window | [STRONG 2024-07-27→2024-10-17] GFDS z peaked 2.67 on 2024-08-03 (8 d, 3 d ≥ 2σ, change vs surrounding weeks 4.16σ, site coverage 82%); GFDS z peaked 3.36 on 2024-08-17 (14 d, 3 d ≥ 2σ, change vs surrounding weeks 4.88σ, site coverage 76%); CYGNSS z 2.61 on 2024-09-06 (67 d); GFM tile-proxy flood fraction 0.81% on 2024-08-20 (3.78σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.37% on 2024-09-01 (1.67σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFDS z peaked 2.78 on 2024-09-04 (4 d, 2 d ≥ 2σ, change vs surrounding weeks 4.37σ, site coverage 73%); GFM tile-proxy flood fraction 0.34% on 2024-09-13 (1.54σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFDS z peaked 3.59 on 2024-09-16 (6 d, 3 d ≥ 2σ, change vs surrounding weeks 6.22σ, site coverage 90%); GFM tile-proxy flood fraction 0.44% on 2024-09-25 (2.04σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes) — matches reported 'Rainy-season floods nationwide (worst since 2020); Maradi, Zinder, Til' (signal peak -5 d vs reported peak) | +1 further cluster(s): weak 2024-07-10

  • Zinder NE007 strong
    evidence

    [WEAK 2024-02-09→2024-02-09] GFM tile-proxy flood fraction 7.78% on 2024-02-09 (2.34σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 23%; GFM anomaly flag on 25% of covering scenes) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-03-04→2024-03-04] GFM tile-proxy flood fraction 7.35% on 2024-03-04 (2.04σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 23%; GFM anomaly flag on 100% of covering scenes) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2024-04-02→2024-04-02] GFM tile-proxy flood fraction 3.06% on 2024-04-02 (2.02σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 84%; GFM anomaly flag on 0% of covering scenes) — no reported event in the compiled list for this unit/window | [STRONG 2024-08-20→2024-12-31] CYGNSS z 2.56 on 2024-09-10 (53 d); GFM tile-proxy flood fraction 2.82% on 2024-09-05 (5.02σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 92%; GFM anomaly flag on 85% of covering scenes); GFM tile-proxy flood fraction 3.64% on 2024-09-17 (7.44σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 92%; GFM anomaly flag on 84% of covering scenes); GFM tile-proxy flood fraction 9.13% on 2024-09-24 (1.52σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 23%; GFM anomaly flag on 100% of covering scenes) [LOW COVERAGE]; GFM tile-proxy flood fraction 3.19% on 2024-09-29 (5.68σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 92%; GFM anomaly flag on 84% of covering scenes); GFM tile-proxy flood fraction 9.24% on 2024-10-06 (1.58σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 23%; GFM anomaly flag on 100% of covering scenes) [LOW COVERAGE]; GFM tile-proxy flood fraction 2.88% on 2024-10-11 (4.45σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 92%; GFM anomaly flag on 84% of covering scenes); CYGNSS z 3.29 on 2024-11-04 (78 d); GFM tile-proxy flood fraction 9.21% on 2024-10-18 (1.57σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 23%; GFM anomaly flag on 100% of covering scenes) [LOW COVERAGE]; GFM tile-proxy flood fraction 9.89% on 2024-10-30 (1.7σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 23%; GFM anomaly flag on 100% of covering scenes) [LOW COVERAGE]; GFM tile-proxy flood fraction 2.68% on 2024-11-04 (4.83σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 92%; GFM anomaly flag on 84% of covering scenes); GFM tile-proxy flood fraction 3.20% on 2024-11-16 (5.55σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 84%; GFM anomaly flag on 83% of covering scenes); GFM tile-proxy flood fraction 10.03% on 2024-12-05 (1.61σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 23%; GFM anomaly flag on 100% of covering scenes) [LOW COVERAGE]; GFM tile-proxy flood fraction 10.25% on 2024-12-17 (1.64σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 23%; GFM anomaly flag on 100% of covering scenes) [LOW COVERAGE]; GFM tile-proxy flood fraction 10.47% on 2024-12-29 (1.68σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 23%; GFM anomaly flag on 100% of covering scenes) [LOW COVERAGE] — matches reported 'Rainy-season floods nationwide (worst since 2020); Maradi, Zinder, Til' (signal peak +23 d vs reported peak) | +2 further cluster(s): weak 2024-02-21, weak 2024-04-21

  • Niamey NE008 strong
    evidence

    [MODERATE 2024-01-01→2024-05-04] GFDS z peaked 5.65 on 2024-01-29 (125 d, 90 d ≥ 2σ, change vs surrounding weeks 2.93σ, site coverage 99%) [UNIT TOO SMALL FOR THIS SENSOR]; GFM tile-proxy flood fraction 0.36% on 2024-04-10 (1.79σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 99%; GFM anomaly flag on 52% of covering scenes) — no reported event in the compiled list for this unit/window | [WEAK 2024-05-19→2024-05-28] GFDS z peaked 3.78 on 2024-05-22 (10 d, 2 d ≥ 2σ, change vs surrounding weeks 2.55σ, site coverage 100%) [UNIT TOO SMALL FOR THIS SENSOR] — no reported event in the compiled list for this unit/window | [MODERATE 2024-06-21→2024-07-21] GFDS z peaked 1.89 on 2024-06-24 (5 d, 0 d ≥ 2σ, change vs surrounding weeks 0.84σ, site coverage 80%) [UNIT TOO SMALL FOR THIS SENSOR]; GFDS z peaked 17.42 on 2024-07-02 (7 d, 3 d ≥ 2σ, change vs surrounding weeks 16.97σ, site coverage 85%) [UNIT TOO SMALL FOR THIS SENSOR]; GFDS z peaked 3.34 on 2024-07-17 (9 d, 2 d ≥ 2σ, change vs surrounding weeks 1.85σ, site coverage 72%) [UNIT TOO SMALL FOR THIS SENSOR] — matches reported 'Early rainy-season floods (Maradi, Niamey outskirts)' (signal peak +11 d vs reported peak) | [STRONG 2024-08-01→2024-12-31] GFDS z peaked 10.76 on 2024-08-03 (153 d, 110 d ≥ 2σ, change vs surrounding weeks 9.21σ, site coverage 78%) [UNIT TOO SMALL FOR THIS SENSOR]; CYGNSS z 2.96 on 2024-12-14 (57 d); MODIS z 2.76 on 2024-12-31 (6 d) — matches reported 'Niger River 'crue guinéenne' — AA framework activated 28 Nov 2024 (Nia' (signal peak -19 d vs reported peak)

Check against the reported floods, row by row
EventReport windowDatedProvinceWorst hitResultEvidence (product z on date; offset vs reported peak)
June 2024 early-season floods (Maradi, Niamey)2024-06-10..2024-06-30mediumMaradi (NE004)★not flagged (observed)observed by CYGNSS 52 d, FLOODSCAN 52 d, GFDS 44 d, GFM 7 d, MODIS 29 d
June 2024 early-season floods (Maradi, Niamey)2024-06-10..2024-06-30mediumNiamey (NE008)★flagged (moderate)GFDS z 17.4 on 2024-07-02 (+11 d vs reported peak)
August–September 2024 rainy-season floods (nationwide)2024-08-01..2024-09-30highMaradi (NE004)★flagged (strong)CYGNSS z 4.2 on 2024-10-01; GFM z 2.8 on 2024-08-22 (+37 d vs reported peak)
August–September 2024 rainy-season floods (nationwide)2024-08-01..2024-09-30highZinder (NE007)★flagged (strong)CYGNSS z 2.6 on 2024-09-10; GFM z 7.4 on 2024-09-17 (+23 d vs reported peak)
August–September 2024 rainy-season floods (nationwide)2024-08-01..2024-09-30highTillabéri (NE006)★flagged (strong)CYGNSS z 2.6 on 2024-09-06; GFDS z 3.6 on 2024-09-16; GFM z 3.8 on 2024-08-20 (-5 d vs reported peak)
August–September 2024 rainy-season floods (nationwide)2024-08-01..2024-09-30highDosso (NE003)flagged (strong)GFM z 4.8 on 2024-08-20 (-5 d vs reported peak)
August–September 2024 rainy-season floods (nationwide)2024-08-01..2024-09-30highAgadez (NE001)flagged (moderate)GFM z 2.9 on 2024-09-29 (+35 d vs reported peak)
August–September 2024 rainy-season floods (nationwide)2024-08-01..2024-09-30highTahoua (NE005)flagged (strong)CYGNSS z 2.4 on 2024-09-06; GFM z 5.6 on 2024-08-22 (-3 d vs reported peak)
August–September 2024 rainy-season floods (nationwide)2024-08-01..2024-09-30highNiamey (NE008)flagged (moderate)GFDS z 10.8 on 2024-08-03 (-22 d vs reported peak)
August–September 2024 rainy-season floods (nationwide)2024-08-01..2024-09-30highDiffa (NE002)flagged (moderate)CYGNSS z 2.3 on 2024-10-17 (+53 d vs reported peak)
Niger River local flood at Niamey (Aug–Sep 2024)2024-08-20..2024-09-30mediumNiamey (NE008)★flagged (moderate)GFDS z 10.4 on 2024-08-10 (-26 d vs reported peak)
Niger River local flood at Niamey (Aug–Sep 2024)2024-08-20..2024-09-30mediumTillabéri (NE006)★flagged (strong)CYGNSS z 2.6 on 2024-09-06; GFDS z 3.6 on 2024-09-16; GFM z 3.8 on 2024-08-20 (-16 d vs reported peak)
Niger River local flood at Niamey (Aug–Sep 2024)2024-08-20..2024-09-30mediumDosso (NE003)★flagged (strong)GFM z 4.8 on 2024-08-20 (-16 d vs reported peak)
Niger River Guinean flood (Nov–Dec 2024, AA activated)2024-11-15..2024-12-31highNiamey (NE008)★flagged (strong)CYGNSS z 3.0 on 2024-12-14; GFDS z 5.9 on 2024-11-16; MODIS z 2.8 on 2024-12-31 (-19 d vs reported peak)
Niger River Guinean flood (Nov–Dec 2024, AA activated)2024-11-15..2024-12-31highTillabéri (NE006)★not flagged (observed)observed by CYGNSS 57 d, FLOODSCAN 56 d, GFDS 46 d, GFM 15 d, MODIS 57 d
Niger River Guinean flood (Nov–Dec 2024, AA activated)2024-11-15..2024-12-31highDosso (NE003)★not flagged (observed)observed by CYGNSS 57 d, FLOODSCAN 56 d, GFDS 46 d, GFM 15 d, MODIS 56 d

Bangladesh 2024 — 2024-01-01 → 2024-12-31

8 provinces, 366 days, products with data: GFDS, GFM (S-1), MODIS, CYGNSS. The repo's method found 172 episodes grouped into 89 clusters; verdicts: 8 strong, 0 moderate of 8 provinces. Of the 11 reported province-events, 9 were flagged by at least one product (8 of 10 provinces named as worst hit); 2 were observed but not flagged, 0 had only a weak signal, 0 were never observed inside the window. 29 moderate/strong clusters fall outside every reported window.

Reported events used as the yardstick (5)
  • Cyclone Remal surge and rain (late May 2024) cyclone — 26 May–08 Jun 2024, peak 27 May; provinces BD40, BD10, BD20; dated: medium
  • Sylhet floods (June 2024) flash — 17 Jun–10 Jul 2024, peak 20 Jun; provinces BD60; dated: high
  • Brahmaputra–Jamuna monsoon floods, north (July 2024) riverine — 28 Jun–20 Jul 2024, peak 06 Jul; provinces BD55, BD45, BD50, BD30; dated: medium
  • Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024) flash — 19 Aug–10 Sep 2024, peak 23 Aug; provinces BD20, BD60; dated: high
  • Sherpur–Mymensingh floods (October 2024) flash — 03 Oct–15 Oct 2024, peak 06 Oct; provinces BD45; dated: medium
When did each product say 'unusual', for which province, and did that coincide with a report?Bangladesh 2024: departure from each unit's normal (z), province × product, one shared scale
0 2 4 6 8 Barisal (BD10) GFDS 8 GFM (S-1) MODIS no departure (max z 1.1) CYGNSS 0 2 4 6 8 Chittagong (BD20) 8 0 2 4 6 8 Dhaka (BD30) no departure (max z 0.7) 34 0 2 4 6 8 Khulna (BD40) 10 13 0 2 4 6 8 Mymensingh (BD45) 96 0 2 4 6 8 Rajshahi (BD50) no departure (max z 1.4) 9 53 0 2 4 6 8 Rangpur (BD55) 20 Jan Apr Jul Oct Jan 0 2 4 6 8 Sylhet (BD60) Jan Apr Jul Oct Jan Jan Apr Jul Oct Jan 25 Jan Apr Jul Oct Jan persistent episode weak episode moderate episode strong episode reported flood window z above 8 (value printed)
What is shown
z-score per day (line) or per acquisition (GFM, dots), on ONE shared axis from -3 to 8 in every panel; values above 8 are drawn as ▲ at the ceiling with the maximum printed. Dashed z = 2, dotted z = 3. Coloured bands are the method's episodes by tier; grey bands are reported flood windows. Missing days break the line.
Why it matters
With a shared scale a tall spike in one panel means the same thing as in another; the published grid let each panel choose its own axis, which made MODIS' 0.5 look like GFDS' 15.
What we observe
Highest departure in the case: MODIS in Mymensingh at z = 96 on 24 Jun 2024. 3 of 32 drawn panels are flat (max z < 1.5).
Caveats
z is not the same statistic in every column: GFDS uses the vendor's static normal, GFM a same-tile same-month climatology, the others an in-period median/MAD with an absolute floor (see the MAD-floor audit). Compare shapes and timing, not magnitudes, across columns.
Which products agree, province by province?Bangladesh 2024: strongest episode per product and the combined verdict
GFDSGFM (S-1)MODISCYGNSSverdictBarisal (BD10)—Barisal (BD10) × GFDS observed on 81 % of days; no episode ≥ z 1.5z 8.1 · 02 AugBarisal (BD10) × GFM (S-1) strong episode 02 Aug–04 Aug, peak z 8.1 on 02 Aug, 3 d, coverage 0.785z 7.8 · 01 JanBarisal (BD10) × MODIS strong episode 01 Jan–10 Jan, peak z 7.8 on 01 Jan, 10 d, coverage 0.706—Barisal (BD10) × CYGNSS observed on 100 % of days; no episode ≥ z 1.5strongBarisal (BD10) × verdict [STRONG 2024-01-01→2024-01-10] MODIS z 7.76 on 2024-01-01 (10 d) — no reported event in the compiled list for this unit/window | [STRONG 2024-01-28→2024-03-31] MODIS z 5.98 on 2024-02-13 (64 d) — no reported event in the compiled list for this unit/window | [MODERATE 2024-05-29→2024-05-29] GFM tile-proxy flood fraction 3.24% on 2024-05-29 (3.76σ above the covering tiles' same-season normal; 1 elevChittagong (BD20)z 1.9 · 01 FebChittagong (BD20) × GFDS weak episode 30 Jan–01 Feb, peak z 1.9 on 01 Feb, 3 d, coverage 0.947z 8.1 · 02 AugChittagong (BD20) × GFM (S-1) strong episode 02 Aug–04 Aug, peak z 8.1 on 02 Aug, 3 d, coverage 0.682z 2.8 · 21 JanChittagong (BD20) × MODIS moderate episode 02 Jan–31 Jan, peak z 2.8 on 21 Jan, 30 d, coverage 0.305 [low coverage]z 2.3 · 21 SepChittagong (BD20) × CYGNSS moderate episode 07 Sep–13 Oct, peak z 2.3 on 21 Sep, 37 d, coverage 0.982strongChittagong (BD20) × verdict [MODERATE 2024-01-02→2024-02-01] MODIS z 2.83 on 2024-01-21 (30 d) [LOW COVERAGE]; GFDS z peaked 1.88 on 2024-02-01 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 2.69σ, site coverage 94%) — no reported event in the compiled list for this unit/window | [MODERATE 2024-05-29→2024-05-29] GFM tile-proxy flood fraction 3.26% on 2024-05-29 (2.5σ above the covering tiles' same-season normal; 1 elevated acquDhaka (BD30)—Dhaka (BD30) × GFDS observed on 78 % of days; no episode ≥ z 1.5z 2.1 · 28 AugDhaka (BD30) × GFM (S-1) moderate episode 28 Aug–28 Aug, peak z 2.1 on 28 Aug, 1 d, coverage 0.876z 17.7 · 10 SepDhaka (BD30) × MODIS strong episode 08 Sep–10 Sep, peak z 17.7 on 10 Sep, 3 d, coverage 0.494 [low coverage]z 2.1 · 07 FebDhaka (BD30) × CYGNSS weak episode 04 Feb–14 Feb, peak z 2.1 on 07 Feb, 11 d, coverage 1.0strongDhaka (BD30) × verdict [MODERATE 2024-08-21→2024-08-28] GFM tile-proxy flood fraction 3.55% on 2024-08-21 (1.71σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 65% of covering scenes); GFM tile-proxy flood fraction 4.32% on 2024-08-28 (2.12σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 87%; GFM anomaly fKhulna (BD40)z 2.1 · 27 JanKhulna (BD40) × GFDS moderate episode 19 Jan–11 Feb, peak z 2.1 on 27 Jan, 24 d, coverage 0.955z 10.2 · 29 MayKhulna (BD40) × GFM (S-1) strong episode 29 May–29 May, peak z 10.2 on 29 May, 1 d, coverage 1.0z 12.9 · 07 JanKhulna (BD40) × MODIS strong episode 01 Jan–10 Jan, peak z 12.9 on 07 Jan, 10 d, coverage 0.508z 3.1 · 01 JanKhulna (BD40) × CYGNSS strong episode 01 Jan–14 Feb, peak z 3.1 on 01 Jan, 45 d, coverage 0.954strongKhulna (BD40) × verdict [STRONG 2024-01-01→2024-02-14] CYGNSS z 3.07 on 2024-01-01 (45 d); MODIS z 12.92 on 2024-01-07 (10 d); GFDS z peaked 1.62 on 2024-01-12 (4 d, 0 d ≥ 2σ, change vs surrounding weeks 0.3σ, site coverage 100%); GFM tile-proxy flood fraction 0.44% on 2024-01-18 (1.65σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 0% of covering sceMymensingh (BD45)z 2.7 · 01 FebMymensingh (BD45) × GFDS moderate episode 16 Jan–13 Feb, peak z 2.7 on 01 Feb, 29 d, coverage 0.954z 2.2 · 28 AugMymensingh (BD45) × GFM (S-1) moderate episode 28 Aug–28 Aug, peak z 2.2 on 28 Aug, 1 d, coverage 0.968z 66.9 · 25 AugMymensingh (BD45) × MODIS strong episode 25 Aug–30 Aug, peak z 66.9 on 25 Aug, 6 d, coverage 0.171 [low coverage]z 1.7 · 05 MarMymensingh (BD45) × CYGNSS weak episode 03 Mar–15 Mar, peak z 1.7 on 05 Mar, 13 d, coverage 1.0strongMymensingh (BD45) × verdict [STRONG 2024-01-16→2024-02-14] GFDS z peaked 2.72 on 2024-02-01 (29 d, 13 d ≥ 2σ, change vs surrounding weeks 3.45σ, site coverage 95%); GFM tile-proxy flood fraction 0.41% on 2024-02-01 (1.64σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 0% of covering scenes); MODIS z 2.84 on 2024-02-14 (3 d) — no reported event in the compRajshahi (BD50)—Rajshahi (BD50) × GFDS observed on 78 % of days; no episode ≥ z 1.5z 9.3 · 29 MayRajshahi (BD50) × GFM (S-1) strong episode 29 May–29 May, peak z 9.3 on 29 May, 1 d, coverage 1.0z 11.3 · 15 OctRajshahi (BD50) × MODIS strong episode 08 Oct–29 Oct, peak z 11.3 on 15 Oct, 22 d, coverage 0.444 [low coverage]z 2.3 · 16 MarRajshahi (BD50) × CYGNSS moderate episode 06 Mar–04 Apr, peak z 2.3 on 16 Mar, 30 d, coverage 1.0strongRajshahi (BD50) × verdict [MODERATE 2024-05-29→2024-05-31] GFM tile-proxy flood fraction 3.97% on 2024-05-29 (9.35σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 95% of covering scenes); GFM tile-proxy flood fraction 1.84% on 2024-05-31 (4.18σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly Rangpur (BD55)z 2.6 · 17 FebRangpur (BD55) × GFDS moderate episode 03 Feb–29 Feb, peak z 2.6 on 17 Feb, 27 d, coverage 0.951z 5.2 · 22 JunRangpur (BD55) × GFM (S-1) strong episode 22 Jun–22 Jun, peak z 5.2 on 22 Jun, 1 d, coverage 1.0z 8.9 · 12 FebRangpur (BD55) × MODIS strong episode 10 Feb–20 Feb, peak z 8.9 on 12 Feb, 11 d, coverage 0.517z 1.8 · 21 AugRangpur (BD55) × CYGNSS weak episode 13 Aug–23 Aug, peak z 1.8 on 21 Aug, 11 d, coverage 1.0strongRangpur (BD55) × verdict [STRONG 2024-01-30→2024-03-14] GFM tile-proxy flood fraction 0.41% on 2024-01-30 (1.51σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 0% of covering scenes); GFM tile-proxy flood fraction 0.46% on 2024-02-01 (1.81σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flaSylhet (BD60)z 2.7 · 20 JulSylhet (BD60) × GFDS moderate episode 08 Jul–28 Jul, peak z 2.7 on 20 Jul, 21 d, coverage 0.713z 2.1 · 28 AugSylhet (BD60) × GFM (S-1) moderate episode 28 Aug–28 Aug, peak z 2.1 on 28 Aug, 1 d, coverage 1.0z 24.7 · 16 JulSylhet (BD60) × MODIS strong episode 15 Jul–28 Jul, peak z 24.7 on 16 Jul, 14 d, coverage 0.231 [low coverage]z 2.6 · 27 JunSylhet (BD60) × CYGNSS moderate episode 13 Jun–04 Jul, peak z 2.6 on 27 Jun, 22 d, coverage 1.0strongSylhet (BD60) × verdict [STRONG 2024-06-02→2024-08-08] MODIS z 8.22 on 2024-06-12 (11 d) [LOW COVERAGE]; GFDS z peaked 2.71 on 2024-06-06 (7 d, 4 d ≥ 2σ, change vs surrounding weeks 4.07σ, site coverage 89%); GFM tile-proxy flood fraction 9.78% on 2024-06-05 (1.64σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 67% of covering scenes); CYGNSS z 2.57 ocell = the highest-tier episode of that product in that province (peak z, date); hover for onset, duration and coverage
What is shown
Rows: provinces. Columns: products, then the combined verdict. Colour = tier (red strong, orange moderate, yellow weak, blue-grey persistent, pale green nothing, grey never observed).
Why it matters
Two coloured cells in one row from products that fail in different ways is the strongest evidence the method offers.
What we observe
Verdicts: strong 8.
Caveats
A verdict is a statement about signals, never confirmed impact.
Verdict per province (8)
  • Barisal BD10 strong
    evidence

    [STRONG 2024-01-01→2024-01-10] MODIS z 7.76 on 2024-01-01 (10 d) — no reported event in the compiled list for this unit/window | [STRONG 2024-01-28→2024-03-31] MODIS z 5.98 on 2024-02-13 (64 d) — no reported event in the compiled list for this unit/window | [MODERATE 2024-05-29→2024-05-29] GFM tile-proxy flood fraction 3.24% on 2024-05-29 (3.76σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 99%; GFM anomaly flag on 100% of covering scenes) — matches reported 'Cyclone Remal storm surge and rain (coastal Khulna, Barisal, Chattogra' (signal peak +2 d vs reported peak) | [STRONG 2024-08-02→2024-08-04] GFM tile-proxy flood fraction 6.30% on 2024-08-02 (8.1σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 78%; GFM anomaly flag on 86% of covering scenes) — no reported event in the compiled list for this unit/window | +8 further cluster(s): weak 2024-04-08, weak 2024-06-29, weak 2024-07-11, moderate 2024-08-21, moderate 2024-09-16, weak 2024-10-08, weak 2024-11-01, weak 2024-12-02

  • Chittagong BD20 strong
    evidence

    [MODERATE 2024-01-02→2024-02-01] MODIS z 2.83 on 2024-01-21 (30 d) [LOW COVERAGE]; GFDS z peaked 1.88 on 2024-02-01 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 2.69σ, site coverage 94%) — no reported event in the compiled list for this unit/window | [MODERATE 2024-05-29→2024-05-29] GFM tile-proxy flood fraction 3.26% on 2024-05-29 (2.5σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes) — matches reported 'Cyclone Remal storm surge and rain (coastal Khulna, Barisal, Chattogra' (signal peak +2 d vs reported peak) | [STRONG 2024-08-02→2024-08-04] GFM tile-proxy flood fraction 6.30% on 2024-08-02 (8.1σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 68%; GFM anomaly flag on 79% of covering scenes) — no reported event in the compiled list for this unit/window | [STRONG 2024-09-07→2024-10-13] CYGNSS z 2.32 on 2024-09-21 (37 d); GFM tile-proxy flood fraction 2.88% on 2024-09-16 (2.34σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 52% of covering scenes); GFM tile-proxy flood fraction 1.57% on 2024-09-19 (2.1σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 36%; GFM anomaly flag on 50% of covering scenes) [LOW COVERAGE]; MODIS z 2.7 on 2024-10-10 (3 d) [LOW COVERAGE] — matches reported 'Eastern flash floods (Feni, Cumilla, Noakhali; Gumti record level 23 A' (signal peak +24 d vs reported peak) | +5 further cluster(s): weak 2024-02-10, weak 2024-06-29, weak 2024-07-11, moderate 2024-08-21, weak 2024-12-02

  • Dhaka BD30 strong
    evidence

    [MODERATE 2024-08-21→2024-08-28] GFM tile-proxy flood fraction 3.55% on 2024-08-21 (1.71σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 65% of covering scenes); GFM tile-proxy flood fraction 4.32% on 2024-08-28 (2.12σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 87%; GFM anomaly flag on 33% of covering scenes) — no reported event in the compiled list for this unit/window | [MODERATE 2024-09-08→2024-09-10] MODIS z 17.68 on 2024-09-10 (3 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [MODERATE 2024-09-18→2024-09-28] MODIS z 12.55 on 2024-09-28 (11 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [STRONG 2024-10-15→2024-11-14] GFM tile-proxy flood fraction 2.86% on 2024-10-15 (1.69σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 87%; GFM anomaly flag on 0% of covering scenes); MODIS z 10.3 on 2024-10-17 (30 d); GFM tile-proxy flood fraction 1.95% on 2024-11-01 (1.57σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 0% of covering scenes) — no reported event in the compiled list for this unit/window | +7 further cluster(s): weak 2024-02-01, weak 2024-02-27, weak 2024-06-05, weak 2024-06-29, weak 2024-07-11, weak 2024-12-02, weak 2024-12-14

  • Khulna BD40 strong
    evidence

    [STRONG 2024-01-01→2024-02-14] CYGNSS z 3.07 on 2024-01-01 (45 d); MODIS z 12.92 on 2024-01-07 (10 d); GFDS z peaked 1.62 on 2024-01-12 (4 d, 0 d ≥ 2σ, change vs surrounding weeks 0.3σ, site coverage 100%); GFM tile-proxy flood fraction 0.44% on 2024-01-18 (1.65σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 0% of covering scenes); GFDS z peaked 2.1 on 2024-01-27 (24 d, 4 d ≥ 2σ, change vs surrounding weeks 1.71σ, site coverage 95%); MODIS z 3.81 on 2024-01-26 (8 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [STRONG 2024-05-29→2024-07-04] GFM tile-proxy flood fraction 3.80% on 2024-05-29 (10.25σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 1.63% on 2024-05-31 (3.9σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); CYGNSS z 2.84 on 2024-06-09 (25 d); GFM tile-proxy flood fraction 1.64% on 2024-06-10 (1.73σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 37% of covering scenes); GFM tile-proxy flood fraction 4.70% on 2024-06-22 (5.23σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 37% of covering scenes); GFM tile-proxy flood fraction 2.43% on 2024-06-24 (2.57σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 28% of covering scenes); GFM tile-proxy flood fraction 3.29% on 2024-07-04 (1.67σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 37% of covering scenes) — matches reported 'Cyclone Remal storm surge and rain (coastal Khulna, Barisal, Chattogra' (signal peak +2 d vs reported peak) | [STRONG 2024-08-02→2024-08-05] GFM tile-proxy flood fraction 7.90% on 2024-08-02 (5.08σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 66%; GFM anomaly flag on 87% of covering scenes) — no reported event in the compiled list for this unit/window | [STRONG 2024-10-01→2024-10-11] GFM tile-proxy flood fraction 1.54% on 2024-10-01 (1.79σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 97%; GFM anomaly flag on 54% of covering scenes); GFM tile-proxy flood fraction 2.82% on 2024-10-08 (3.65σ above the covering tiles' same-season normal; 4 elevated acquisition(s); footprint coverage 92%; GFM anomaly flag on 48% of covering scenes); MODIS z 2.0 on 2024-10-11 (4 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | +9 further cluster(s): moderate 2024-08-21, weak 2024-09-03, weak 2024-09-16, weak 2024-10-20, weak 2024-11-01, moderate 2024-11-13, weak 2024-12-07, weak 2024-12-19, weak 2024-12-31

  • Mymensingh BD45 strong
    evidence

    [STRONG 2024-01-16→2024-02-14] GFDS z peaked 2.72 on 2024-02-01 (29 d, 13 d ≥ 2σ, change vs surrounding weeks 3.45σ, site coverage 95%); GFM tile-proxy flood fraction 0.41% on 2024-02-01 (1.64σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 0% of covering scenes); MODIS z 2.84 on 2024-02-14 (3 d) — no reported event in the compiled list for this unit/window | [MODERATE 2024-06-05→2024-06-08] GFM tile-proxy flood fraction 9.86% on 2024-06-05 (1.68σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 96%; GFM anomaly flag on 67% of covering scenes); MODIS z 7.29 on 2024-06-08 (3 d) — no reported event in the compiled list for this unit/window | [MODERATE 2024-08-21→2024-09-23] GFM tile-proxy flood fraction 3.42% on 2024-08-21 (1.62σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 62% of covering scenes); MODIS z 66.89 on 2024-08-25 (6 d) [LOW COVERAGE]; GFM tile-proxy flood fraction 4.32% on 2024-08-28 (2.17σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 96%; GFM anomaly flag on 31% of covering scenes); CYGNSS z 1.62 on 2024-09-01 (5 d); MODIS z 32.16 on 2024-09-12 (18 d) [LOW COVERAGE] — matches reported 'Sherpur / Mymensingh / Netrokona floods (early October, upstream India' (signal peak -13 d vs reported peak) | [STRONG 2024-10-07→2024-11-21] MODIS z 25.67 on 2024-10-15 (46 d); GFM tile-proxy flood fraction 2.88% on 2024-10-15 (1.73σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 96%; GFM anomaly flag on 0% of covering scenes) — matches reported 'Sherpur / Mymensingh / Netrokona floods (early October, upstream India' (signal peak +9 d vs reported peak) | +7 further cluster(s): moderate 2024-01-01, weak 2024-03-03, weak 2024-06-17, weak 2024-06-29, weak 2024-07-11, weak 2024-12-02, weak 2024-12-14

  • Rajshahi BD50 strong
    evidence

    [MODERATE 2024-05-29→2024-05-31] GFM tile-proxy flood fraction 3.97% on 2024-05-29 (9.35σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 95% of covering scenes); GFM tile-proxy flood fraction 1.84% on 2024-05-31 (4.18σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 98% of covering scenes) — no reported event in the compiled list for this unit/window | [STRONG 2024-08-02→2024-08-09] GFM tile-proxy flood fraction 8.20% on 2024-08-02 (5.29σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 66%; GFM anomaly flag on 82% of covering scenes); GFM tile-proxy flood fraction 3.06% on 2024-08-09 (1.78σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 49% of covering scenes) — matches reported 'Brahmaputra-Jamuna monsoon floods, northern districts (Kurigram, Gaiba' (signal peak +27 d vs reported peak) | [STRONG 2024-08-21→2024-08-22] GFM tile-proxy flood fraction 5.15% on 2024-08-21 (3.2σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 99%; GFM anomaly flag on 73% of covering scenes) — no reported event in the compiled list for this unit/window | [STRONG 2024-09-03→2024-11-01] GFM tile-proxy flood fraction 3.20% on 2024-09-03 (1.99σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 99%; GFM anomaly flag on 95% of covering scenes); MODIS z 5.43 on 2024-09-09 (18 d) [LOW COVERAGE]; GFM tile-proxy flood fraction 3.08% on 2024-09-24 (1.9σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 99%; GFM anomaly flag on 66% of covering scenes); GFM tile-proxy flood fraction 3.65% on 2024-10-08 (4.54σ above the covering tiles' same-season normal; 6 elevated acquisition(s); footprint coverage 74%; GFM anomaly flag on 56% of covering scenes); MODIS z 11.31 on 2024-10-15 (22 d) [LOW COVERAGE]; GFM tile-proxy flood fraction 2.12% on 2024-10-20 (2.47σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 0% of covering scenes); GFM tile-proxy flood fraction 3.03% on 2024-11-01 (6.14σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 0% of covering scenes) — no reported event in the compiled list for this unit/window | +11 further cluster(s): weak 2024-01-05, moderate 2024-01-18, moderate 2024-03-06, moderate 2024-06-10, moderate 2024-06-22, moderate 2024-07-04, weak 2024-07-16, weak 2024-11-09, weak 2024-12-07, weak 2024-12-19, weak 2024-12-31

  • Rangpur BD55 strong
    evidence

    [STRONG 2024-01-30→2024-03-14] GFM tile-proxy flood fraction 0.41% on 2024-01-30 (1.51σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 0% of covering scenes); GFM tile-proxy flood fraction 0.46% on 2024-02-01 (1.81σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 0% of covering scenes); GFDS z peaked 2.56 on 2024-02-17 (27 d, 11 d ≥ 2σ, change vs surrounding weeks 4.3σ, site coverage 95%); MODIS z 8.93 on 2024-02-12 (11 d); CYGNSS z 1.67 on 2024-03-09 (11 d) — no reported event in the compiled list for this unit/window | [MODERATE 2024-06-22→2024-06-24] GFM tile-proxy flood fraction 7.09% on 2024-06-22 (5.23σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 66% of covering scenes); GFM tile-proxy flood fraction 6.40% on 2024-06-24 (4.68σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 65% of covering scenes) — matches reported 'Brahmaputra-Jamuna monsoon floods, northern districts (Kurigram, Gaiba' (signal peak -14 d vs reported peak) | [STRONG 2024-08-02→2024-08-23] GFM tile-proxy flood fraction 5.40% on 2024-08-02 (4.29σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 66%; GFM anomaly flag on 50% of covering scenes); GFM tile-proxy flood fraction 2.46% on 2024-08-09 (1.76σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 34% of covering scenes); CYGNSS z 1.83 on 2024-08-21 (11 d); GFM tile-proxy flood fraction 2.20% on 2024-08-14 (1.56σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 92%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 2.90% on 2024-08-21 (2.13σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 95%; GFM anomaly flag on 51% of covering scenes) — matches reported 'Brahmaputra-Jamuna monsoon floods, northern districts (Kurigram, Gaiba' (signal peak +27 d vs reported peak) | [STRONG 2024-09-24→2024-10-10] GFM tile-proxy flood fraction 3.33% on 2024-09-24 (2.66σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 92%; GFM anomaly flag on 51% of covering scenes); GFM tile-proxy flood fraction 3.37% on 2024-10-08 (4.92σ above the covering tiles' same-season normal; 6 elevated acquisition(s); footprint coverage 74%; GFM anomaly flag on 66% of covering scenes) — no reported event in the compiled list for this unit/window | +8 further cluster(s): moderate 2024-05-29, moderate 2024-07-03, weak 2024-08-31, weak 2024-10-20, weak 2024-11-01, weak 2024-11-13, weak 2024-12-07, weak 2024-12-19

  • Sylhet BD60 strong
    evidence

    [STRONG 2024-06-02→2024-08-08] MODIS z 8.22 on 2024-06-12 (11 d) [LOW COVERAGE]; GFDS z peaked 2.71 on 2024-06-06 (7 d, 4 d ≥ 2σ, change vs surrounding weeks 4.07σ, site coverage 89%); GFM tile-proxy flood fraction 9.78% on 2024-06-05 (1.64σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 67% of covering scenes); CYGNSS z 2.57 on 2024-06-27 (22 d); GFM tile-proxy flood fraction 9.38% on 2024-06-17 (1.57σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 67% of covering scenes); GFDS z peaked 2.09 on 2024-06-20 (4 d, 2 d ≥ 2σ, change vs surrounding weeks 1.7σ, site coverage 50%); GFDS z peaked 1.77 on 2024-06-29 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 0.73σ, site coverage 65%); GFM tile-proxy flood fraction 9.80% on 2024-06-29 (1.65σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 67% of covering scenes); GFDS z peaked 2.73 on 2024-07-20 (21 d, 6 d ≥ 2σ, change vs surrounding weeks 2.25σ, site coverage 71%); GFM tile-proxy flood fraction 8.07% on 2024-07-11 (1.9σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 67% of covering scenes); MODIS z 24.71 on 2024-07-16 (14 d) [LOW COVERAGE]; GFDS z peaked 2.26 on 2024-08-06 (6 d, 1 d ≥ 2σ, change vs surrounding weeks 1.4σ, site coverage 83%) — matches reported 'Sylhet / Sunamganj floods (18-19 June onset; ~75% of Sylhet district f' (signal peak +26 d vs reported peak) | [MODERATE 2024-08-19→2024-10-03] GFDS z peaked 2.35 on 2024-08-25 (15 d, 5 d ≥ 2σ, change vs surrounding weeks 1.78σ, site coverage 50%) [LOW COVERAGE]; GFM tile-proxy flood fraction 3.40% on 2024-08-21 (1.58σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 67% of covering scenes); GFM tile-proxy flood fraction 4.32% on 2024-08-28 (2.12σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 33% of covering scenes); MODIS z 18.39 on 2024-09-12 (36 d) [LOW COVERAGE]; CYGNSS z 1.62 on 2024-09-01 (4 d) — matches reported 'Eastern flash floods (Feni, Cumilla, Noakhali; Gumti record level 23 A' (signal peak +20 d vs reported peak) | [MODERATE 2024-10-15→2024-11-16] GFM tile-proxy flood fraction 2.86% on 2024-10-15 (1.69σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 0% of covering scenes); MODIS z 2.46 on 2024-10-22 (9 d); MODIS z 2.12 on 2024-11-06 (14 d) — no reported event in the compiled list for this unit/window | [WEAK 2024-12-02→2024-12-02] GFM tile-proxy flood fraction 1.67% on 2024-12-02 (3.24σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 0% of covering scenes) — no reported event in the compiled list for this unit/window | +2 further cluster(s): weak 2024-02-01, weak 2024-12-14

Check against the reported floods, row by row
EventReport windowDatedProvinceWorst hitResultEvidence (product z on date; offset vs reported peak)
Cyclone Remal surge and rain (late May 2024)2024-05-26..2024-06-08mediumKhulna (BD40)★flagged (strong)CYGNSS z 2.8 on 2024-06-09; GFM z 10.3 on 2024-05-29 (+2 d vs reported peak)
Cyclone Remal surge and rain (late May 2024)2024-05-26..2024-06-08mediumBarisal (BD10)★flagged (strong)GFM z 3.8 on 2024-05-29 (+2 d vs reported peak)
Cyclone Remal surge and rain (late May 2024)2024-05-26..2024-06-08mediumChittagong (BD20)★flagged (moderate)GFM z 2.5 on 2024-05-29 (+2 d vs reported peak)
Sylhet floods (June 2024)2024-06-17..2024-07-10highSylhet (BD60)★flagged (strong)CYGNSS z 2.6 on 2024-06-27; GFDS z 2.7 on 2024-07-20; MODIS z 24.7 on 2024-07-16 (+26 d vs reported peak)
Brahmaputra–Jamuna monsoon floods, north (July 2024)2024-06-28..2024-07-20mediumRangpur (BD55)★flagged (strong)GFM z 5.2 on 2024-06-22 (-14 d vs reported peak)
Brahmaputra–Jamuna monsoon floods, north (July 2024)2024-06-28..2024-07-20mediumMymensingh (BD45)★not flagged (observed)observed by CYGNSS 54 d, GFDS 37 d, GFM 12 d
Brahmaputra–Jamuna monsoon floods, north (July 2024)2024-06-28..2024-07-20mediumRajshahi (BD50)★flagged (strong)GFM z 6.9 on 2024-06-22 (-14 d vs reported peak)
Brahmaputra–Jamuna monsoon floods, north (July 2024)2024-06-28..2024-07-20mediumDhaka (BD30)★not flagged (observed)observed by CYGNSS 54 d, GFDS 39 d, GFM 12 d
Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024)2024-08-19..2024-09-10highChittagong (BD20)★flagged (strong)CYGNSS z 2.3 on 2024-09-21; GFM z 2.3 on 2024-09-16 (+24 d vs reported peak)
Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024)2024-08-19..2024-09-10highSylhet (BD60)flagged (moderate)GFDS z 2.3 on 2024-08-25; GFM z 2.1 on 2024-08-28; MODIS z 18.4 on 2024-09-12 (+20 d vs reported peak)
Sherpur–Mymensingh floods (October 2024)2024-10-03..2024-10-15mediumMymensingh (BD45)★flagged (strong)MODIS z 25.7 on 2024-10-15 (+9 d vs reported peak)

Mozambique 2026 — 2026-01-01 → 2026-06-30

11 provinces, 181 days, products with data: FloodScan, GFDS, GFM (S-1), MODIS, VIIRS, CYGNSS. The repo's method found 189 episodes grouped into 45 clusters; verdicts: 8 strong, 3 moderate of 11 provinces. Of the 10 reported province-events, 9 were flagged by at least one product (6 of 6 provinces named as worst hit); 0 were observed but not flagged, 1 had only a weak signal, 0 were never observed inside the window. 11 moderate/strong clusters fall outside every reported window.

Reported events used as the yardstick (2)
  • Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026) riverine — 01 Jan–12 Feb 2026, peak 28 Jan; provinces MZ02, MZ05, MZ06, MZ03, MZ09, MZ11, MZ08; dated: high
  • Cyclone Gezani (February 2026) cyclone — 13 Feb–05 Mar 2026, peak 15 Feb; provinces MZ03, MZ02, MZ09; dated: medium
When did each product say 'unusual', for which province, and did that coincide with a report?Mozambique 2026: departure from each unit's normal (z), province × product, one shared scale
0 2 4 6 8 Cabo Delgado (MZ01) no departure (max z 1.0) FloodScan GFDS GFM (S-1) MODIS VIIRS CYGNSS 0 2 4 6 8 Gaza (MZ02) 14 0 2 4 6 8 Inhambane (MZ03) 0 2 4 6 8 Manica (MZ04) 0 2 4 6 8 Maputo (MZ05) 14 18 9 12 0 2 4 6 8 Maputo City (MZ06) no departure (max z 0.5) 13 18 31 0 2 4 6 8 Nampula (MZ07) no departure (max z 1.2) no departure (max z 1.0) 0 2 4 6 8 Niassa (MZ08) no departure (max z 1.1) 8 no departure (max z 1.0) 0 2 4 6 8 Sofala (MZ09) 9 0 2 4 6 8 Tete (MZ10) Jan Feb Mar Apr May Jun Jul 0 2 4 6 8 Zambezia (MZ11) Jan Feb Mar Apr May Jun Jul Jan Feb Mar Apr May Jun Jul no departure (max z 0.5) Jan Feb Mar Apr May Jun Jul Jan Feb Mar Apr May Jun Jul Jan Feb Mar Apr May Jun Jul persistent episode weak episode moderate episode strong episode reported flood window z above 8 (value printed)
What is shown
z-score per day (line) or per acquisition (GFM, dots), on ONE shared axis from -3 to 8 in every panel; values above 8 are drawn as ▲ at the ceiling with the maximum printed. Dashed z = 2, dotted z = 3. Coloured bands are the method's episodes by tier; grey bands are reported flood windows. Missing days break the line.
Why it matters
With a shared scale a tall spike in one panel means the same thing as in another; the published grid let each panel choose its own axis, which made MODIS' 0.5 look like GFDS' 15.
What we observe
Highest departure in the case: MODIS in Maputo City at z = 31 on 17 Jun 2026. 7 of 66 drawn panels are flat (max z < 1.5).
Caveats
z is not the same statistic in every column: GFDS uses the vendor's static normal, GFM a same-tile same-month climatology, the others an in-period median/MAD with an absolute floor (see the MAD-floor audit). Compare shapes and timing, not magnitudes, across columns.
Which products agree, province by province?Mozambique 2026: strongest episode per product and the combined verdict
FloodScanGFDSGFM (S-1)MODISVIIRSCYGNSSverdictCabo Delgado (MZ01)—Cabo Delgado (MZ01) × FloodScan observed on 100 % of days; no episode ≥ z 1.5z 2.7 · 04 JanCabo Delgado (MZ01) × GFDS weak episode 04 Jan–06 Jan, peak z 2.7 on 04 Jan, 3 d, coverage 1.0z 1.8 · 26 MarCabo Delgado (MZ01) × GFM (S-1) weak episode 26 Mar–26 Mar, peak z 1.8 on 26 Mar, 1 d, coverage 0.762not obs.Cabo Delgado (MZ01) × MODIS no day with ≥ 50 % of the unit seennot obs.Cabo Delgado (MZ01) × VIIRS no day with ≥ 50 % of the unit seenz 1.8 · 31 MarCabo Delgado (MZ01) × CYGNSS weak episode 29 Mar–31 Mar, peak z 1.8 on 31 Mar, 3 d, coverage 0.988moderateCabo Delgado (MZ01) × verdict [WEAK 2026-01-04→2026-01-06] GFDS z peaked 2.71 on 2026-01-04 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 3.8σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEAK 2026-02-10→2026-02-13] GFDS z peaked 2.39 on 2026-02-10 (4 d, 1 d ≥ 2σ, change vs surrounding weeks 3.08σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [MODERAGaza (MZ02)z 7.6 · 25 JanGaza (MZ02) × FloodScan strong episode 17 Jan–13 Feb, peak z 7.6 on 25 Jan, 28 d, coverage 1.0z 3.9 · 18 JanGaza (MZ02) × GFDS strong episode 10 Jan–20 Feb, peak z 3.9 on 18 Jan, 42 d, coverage 1.0z 7.3 · 24 JanGaza (MZ02) × GFM (S-1) strong episode 23 Jan–29 Jan, peak z 7.3 on 24 Jan, 7 d, coverage 0.808z 7.1 · 26 JanGaza (MZ02) × MODIS strong episode 25 Jan–17 Feb, peak z 7.1 on 26 Jan, 24 d, coverage 0.702z 13.6 · 24 JanGaza (MZ02) × VIIRS strong episode 24 Jan–17 Feb, peak z 13.6 on 24 Jan, 25 d, coverage 0.584—Gaza (MZ02) × CYGNSS observed on 97 % of days; no episode ≥ z 1.5strongGaza (MZ02) × verdict [STRONG 2026-01-10→2026-03-02] GFDS z peaked 3.92 on 2026-01-18 (42 d, 33 d ≥ 2σ, change vs surrounding weeks 3.05σ, site coverage 100%); GFM tile-proxy flood fraction 1.11% on 2026-01-16 (5.42σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 71%; GFM anomaly flag on 91% of covering scenes); FloodScan SFED 4.49% on 2026-01-25 (7.59σ vs baseline, 28 d); GInhambane (MZ03)z 2.2 · 22 JanInhambane (MZ03) × FloodScan moderate episode 17 Jan–29 Jan, peak z 2.2 on 22 Jan, 13 d, coverage 1.0z 3.2 · 16 JanInhambane (MZ03) × GFDS strong episode 09 Jan–18 Jan, peak z 3.2 on 16 Jan, 10 d, coverage 1.0z 5.6 · 28 JanInhambane (MZ03) × GFM (S-1) strong episode 23 Jan–29 Jan, peak z 5.6 on 28 Jan, 7 d, coverage 0.957z 4.1 · 14 JunInhambane (MZ03) × MODIS strong episode 11 Jun–22 Jun, peak z 4.1 on 14 Jun, 12 d, coverage 0.541z 3.5 · 09 JunInhambane (MZ03) × VIIRS strong episode 09 Jun–17 Jun, peak z 3.5 on 09 Jun, 9 d, coverage 0.646z 2.0 · 12 AprInhambane (MZ03) × CYGNSS weak episode 01 Apr–18 Apr, peak z 2.0 on 12 Apr, 18 d, coverage 0.995strongInhambane (MZ03) × verdict [STRONG 2026-01-09→2026-02-09] GFDS z peaked 3.19 on 2026-01-16 (10 d, 5 d ≥ 2σ, change vs surrounding weeks 4.46σ, site coverage 100%); GFM tile-proxy flood fraction 1.12% on 2026-01-16 (5.54σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 70%; GFM anomaly flag on 89% of covering scenes); FloodScan SFED 0.48% on 2026-01-22 (2.23σ vs baseline, 13 d); GFManica (MZ04)—Manica (MZ04) × FloodScan observed on 100 % of days; no episode ≥ z 1.5z 3.5 · 10 JanManica (MZ04) × GFDS strong episode 10 Jan–16 Jan, peak z 3.5 on 10 Jan, 7 d, coverage 1.0z 3.1 · 23 JanManica (MZ04) × GFM (S-1) strong episode 23 Jan–23 Jan, peak z 3.1 on 23 Jan, 1 d, coverage 0.581not obs.Manica (MZ04) × MODIS no day with ≥ 50 % of the unit seennot obs.Manica (MZ04) × VIIRS no day with ≥ 50 % of the unit seenz 2.0 · 31 JanManica (MZ04) × CYGNSS weak episode 23 Jan–01 Feb, peak z 2.0 on 31 Jan, 10 d, coverage 1.0strongManica (MZ04) × verdict [STRONG 2026-01-03→2026-02-01] GFDS z peaked 4.86 on 2026-01-03 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 8.78σ, site coverage 100%); GFDS z peaked 3.55 on 2026-01-10 (7 d, 3 d ≥ 2σ, change vs surrounding weeks 6.26σ, site coverage 100%); GFM tile-proxy flood fraction 0.54% on 2026-01-16 (2.55σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 58%; GFM aMaputo (MZ05)z 14.0 · 22 JanMaputo (MZ05) × FloodScan strong episode 15 Jan–23 Feb, peak z 14.0 on 22 Jan, 40 d, coverage 1.0z 5.6 · 20 JanMaputo (MZ05) × GFDS strong episode 13 Jan–28 Feb, peak z 5.6 on 20 Jan, 47 d, coverage 0.995z 18.0 · 24 JanMaputo (MZ05) × GFM (S-1) strong episode 23 Jan–24 Jan, peak z 18.0 on 24 Jan, 2 d, coverage 0.955z 9.0 · 26 JanMaputo (MZ05) × MODIS strong episode 23 Jan–23 Feb, peak z 9.0 on 26 Jan, 32 d, coverage 0.57z 12.3 · 25 JanMaputo (MZ05) × VIIRS strong episode 25 Jan–24 Feb, peak z 12.3 on 25 Jan, 31 d, coverage 0.535z 2.9 · 08 FebMaputo (MZ05) × CYGNSS moderate episode 31 Jan–17 Feb, peak z 2.9 on 08 Feb, 18 d, coverage 0.994strongMaputo (MZ05) × verdict [STRONG 2026-01-02→2026-06-29] GFDS z peaked 3.15 on 2026-01-05 (7 d, 3 d ≥ 2σ, change vs surrounding weeks 1.11σ, site coverage 100%); GFDS z peaked 5.64 on 2026-01-20 (47 d, 27 d ≥ 2σ, change vs surrounding weeks 3.95σ, site coverage 99%); FloodScan SFED 4.95% on 2026-01-22 (14.04σ vs baseline, 40 d); GFM tile-proxy flood fraction 1.82% on 2026-01-17 (8.91σ above the covering tiles' same-season Maputo City (MZ06)—Maputo City (MZ06) × FloodScan observed on 100 % of days; no episode ≥ z 1.5z 12.7 · 06 JunMaputo City (MZ06) × GFDS strong episode 02 Jan–29 Jun, peak z 12.7 on 06 Jun, 179 d, coverage 0.958 [low coverage]z 18.0 · 24 JanMaputo City (MZ06) × GFM (S-1) strong episode 23 Jan–24 Jan, peak z 18.0 on 24 Jan, 2 d, coverage 1.0z 14.8 · 28 MarMaputo City (MZ06) × MODIS strong episode 20 Mar–05 Apr, peak z 14.8 on 28 Mar, 17 d, coverage 0.559—Maputo City (MZ06) × VIIRS observed on 59 % of days; no episode ≥ z 1.5z 2.5 · 19 FebMaputo City (MZ06) × CYGNSS moderate episode 02 Feb–01 Mar, peak z 2.5 on 19 Feb, 28 d, coverage 0.82strongMaputo City (MZ06) × verdict [STRONG 2026-01-02→2026-06-30] GFDS z peaked 12.74 on 2026-06-06 (179 d, 139 d ≥ 2σ, change vs surrounding weeks 2.53σ, site coverage 95%) [UNIT TOO SMALL FOR THIS SENSOR]; GFM tile-proxy flood fraction 1.83% on 2026-01-17 (8.94σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 92% of covering scenes); GFM tile-proxy flood fractiNampula (MZ07)—Nampula (MZ07) × FloodScan observed on 100 % of days; no episode ≥ z 1.5z 3.2 · 03 JanNampula (MZ07) × GFDS strong episode 01 Jan–08 Jan, peak z 3.2 on 03 Jan, 8 d, coverage 1.0—Nampula (MZ07) × GFM (S-1) observed on 30 % of days; no episode ≥ z 1.5not obs.Nampula (MZ07) × MODIS no day with ≥ 50 % of the unit seennot obs.Nampula (MZ07) × VIIRS no day with ≥ 50 % of the unit seenz 2.0 · 02 AprNampula (MZ07) × CYGNSS weak episode 29 Mar–08 Apr, peak z 2.0 on 02 Apr, 11 d, coverage 0.986strongNampula (MZ07) × verdict [STRONG 2026-01-01→2026-01-08] GFDS z peaked 3.17 on 2026-01-03 (8 d, 3 d ≥ 2σ, change vs surrounding weeks 3.12σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEAK 2026-02-28→2026-03-03] GFDS z peaked 2.92 on 2026-02-28 (4 d, 2 d ≥ 2σ, change vs surrounding weeks 2.92σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEANiassa (MZ08)—Niassa (MZ08) × FloodScan observed on 100 % of days; no episode ≥ z 1.5z 3.0 · 07 JanNiassa (MZ08) × GFDS weak episode 01 Jan–07 Jan, peak z 3.0 on 07 Jan, 7 d, coverage 1.0—Niassa (MZ08) × GFM (S-1) observed on 49 % of days; no episode ≥ z 1.5not obs.Niassa (MZ08) × MODIS no day with ≥ 50 % of the unit seennot obs.Niassa (MZ08) × VIIRS no day with ≥ 50 % of the unit seen—Niassa (MZ08) × CYGNSS observed on 97 % of days; no episode ≥ z 1.5moderateNiassa (MZ08) × verdict [WEAK 2026-01-01→2026-01-07] GFDS z peaked 2.96 on 2026-01-07 (7 d, 1 d ≥ 2σ, change vs surrounding weeks 4.25σ, site coverage 100%) — matches reported 'Southern/central floods — rain 24 Dec 2025 to 26 Jan 2026; Limpopo (Ch' (signal peak -21 d vs reported peak) | [WEAK 2026-01-23→2026-02-01] GFDS z peaked 1.95 on 2026-02-01 (10 d, 0 d ≥ 2σ, change vs surrounding weeks 2.64σ, site coverage 100%) — Sofala (MZ09)z 9.1 · 20 JanSofala (MZ09) × FloodScan strong episode 01 Jan–01 Feb, peak z 9.1 on 20 Jan, 32 d, coverage 1.0z 3.3 · 19 MarSofala (MZ09) × GFDS strong episode 13 Mar–29 Mar, peak z 3.3 on 19 Mar, 17 d, coverage 1.0z 3.5 · 28 JanSofala (MZ09) × GFM (S-1) strong episode 28 Jan–28 Jan, peak z 3.5 on 28 Jan, 1 d, coverage 0.642z 5.0 · 25 MarSofala (MZ09) × MODIS strong episode 20 Mar–31 Mar, peak z 5.0 on 25 Mar, 12 d, coverage 0.48 [low coverage]z 6.2 · 24 MarSofala (MZ09) × VIIRS strong episode 20 Mar–30 Mar, peak z 6.2 on 24 Mar, 11 d, coverage 0.466 [low coverage]z 1.7 · 22 JanSofala (MZ09) × CYGNSS weak episode 18 Jan–25 Jan, peak z 1.7 on 22 Jan, 8 d, coverage 0.999strongSofala (MZ09) × verdict [STRONG 2026-01-01→2026-02-01] FloodScan SFED 3.17% on 2026-01-20 (9.14σ vs baseline, 32 d); VIIRS z 6.03 on 2026-01-01 (6 d) [LOW COVERAGE]; GFDS z peaked 3.0 on 2026-01-03 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 2.75σ, site coverage 100%); GFDS z peaked 2.61 on 2026-01-11 (22 d, 7 d ≥ 2σ, change vs surrounding weeks 2.3σ, site coverage 100%); GFM tile-proxy flood fraction 0.43% on 2026-01-16Tete (MZ10)z 2.0 · 24 MarTete (MZ10) × FloodScan weak episode 20 Mar–27 Mar, peak z 2.0 on 24 Mar, 8 d, coverage 1.0—Tete (MZ10) × GFDS observed on 99 % of days; no episode ≥ z 1.5z 3.6 · 04 MarTete (MZ10) × GFM (S-1) strong episode 04 Mar–04 Mar, peak z 3.6 on 04 Mar, 1 d, coverage 0.579not obs.Tete (MZ10) × MODIS no day with ≥ 50 % of the unit seennot obs.Tete (MZ10) × VIIRS no day with ≥ 50 % of the unit seenz 1.7 · 21 MayTete (MZ10) × CYGNSS weak episode 14 May–22 May, peak z 1.7 on 21 May, 9 d, coverage 1.0moderateTete (MZ10) × verdict [MODERATE 2026-03-04→2026-03-04] GFM tile-proxy flood fraction 0.77% on 2026-03-04 (3.62σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 57%; GFM anomaly flag on 49% of covering scenes) — no reported event in the compiled list for this unit/window | [MODERATE 2026-03-16→2026-03-31] GFM tile-proxy flood fraction 0.53% on 2026-03-16 (2.41σ above the coverZambezia (MZ11)z 2.6 · 22 MarZambezia (MZ11) × FloodScan moderate episode 20 Mar–31 Mar, peak z 2.6 on 22 Mar, 12 d, coverage 1.0z 3.8 · 16 MarZambezia (MZ11) × GFDS strong episode 13 Mar–09 Apr, peak z 3.8 on 16 Mar, 28 d, coverage 1.0—Zambezia (MZ11) × GFM (S-1) observed on 26 % of days; no episode ≥ z 1.5not obs.Zambezia (MZ11) × MODIS no day with ≥ 50 % of the unit seennot obs.Zambezia (MZ11) × VIIRS no day with ≥ 50 % of the unit seenz 2.0 · 16 AprZambezia (MZ11) × CYGNSS weak episode 03 Apr–21 Apr, peak z 2.0 on 16 Apr, 19 d, coverage 0.998strongZambezia (MZ11) × verdict [STRONG 2026-01-01→2026-04-21] GFDS z peaked 2.66 on 2026-01-05 (12 d, 6 d ≥ 2σ, change vs surrounding weeks 2.01σ, site coverage 100%); GFDS z peaked 3.19 on 2026-01-19 (6 d, 3 d ≥ 2σ, change vs surrounding weeks 2.92σ, site coverage 100%); GFDS z peaked 1.86 on 2026-01-26 (6 d, 0 d ≥ 2σ, change vs surrounding weeks 0.64σ, site coverage 100%); GFDS z peaked 2.57 on 2026-02-13 (14 d, 2 d ≥ 2σ, chacell = the highest-tier episode of that product in that province (peak z, date); hover for onset, duration and coverage
What is shown
Rows: provinces. Columns: products, then the combined verdict. Colour = tier (red strong, orange moderate, yellow weak, blue-grey persistent, pale green nothing, grey never observed).
Why it matters
Two coloured cells in one row from products that fail in different ways is the strongest evidence the method offers.
What we observe
Verdicts: strong 8, moderate 3.
Caveats
A verdict is a statement about signals, never confirmed impact.
Verdict per province (11)
  • Cabo Delgado MZ01 moderate
    evidence

    [WEAK 2026-01-04→2026-01-06] GFDS z peaked 2.71 on 2026-01-04 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 3.8σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEAK 2026-02-10→2026-02-13] GFDS z peaked 2.39 on 2026-02-10 (4 d, 1 d ≥ 2σ, change vs surrounding weeks 3.08σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [MODERATE 2026-05-31→2026-06-19] VIIRS z 2.63 on 2026-06-11 (20 d) [LOW COVERAGE]; MODIS z 2.6 on 2026-06-08 (6 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | [WEAK 2026-06-27→2026-06-29] VIIRS z 3.41 on 2026-06-29 (3 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | +2 further cluster(s): weak 2026-03-10, weak 2026-03-26. Not observing: MODIS, VIIRS

  • Gaza MZ02 strong
    evidence

    [STRONG 2026-01-10→2026-03-02] GFDS z peaked 3.92 on 2026-01-18 (42 d, 33 d ≥ 2σ, change vs surrounding weeks 3.05σ, site coverage 100%); GFM tile-proxy flood fraction 1.11% on 2026-01-16 (5.42σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 71%; GFM anomaly flag on 91% of covering scenes); FloodScan SFED 4.49% on 2026-01-25 (7.59σ vs baseline, 28 d); GFM tile-proxy flood fraction 1.49% on 2026-01-24 (7.31σ above the covering tiles' same-season normal; 4 elevated acquisition(s); footprint coverage 80%; GFM anomaly flag on 69% of covering scenes); VIIRS z 13.56 on 2026-01-24 (25 d); MODIS z 7.06 on 2026-01-26 (24 d); GFM tile-proxy flood fraction 0.96% on 2026-02-03 (4.19σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 71% of covering scenes); GFM tile-proxy flood fraction 0.47% on 2026-02-09 (1.92σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 81% of covering scenes); GFM tile-proxy flood fraction 0.81% on 2026-02-11 (3.6σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.46% on 2026-02-17 (1.73σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 62% of covering scenes); GFM tile-proxy flood fraction 0.58% on 2026-02-23 (2.53σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 75% of covering scenes); GFDS z peaked 2.26 on 2026-03-02 (4 d, 2 d ≥ 2σ, change vs surrounding weeks 0.36σ, site coverage 100%) — matches reported 'Southern/central floods — rain 24 Dec 2025 to 26 Jan 2026; Limpopo (Ch' (signal peak -4 d vs reported peak) | [STRONG 2026-03-11→2026-05-14] GFDS z peaked 3.12 on 2026-03-14 (37 d, 18 d ≥ 2σ, change vs surrounding weeks 2.2σ, site coverage 100%); GFM tile-proxy flood fraction 0.71% on 2026-03-13 (2.41σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 96% of covering scenes); FloodScan SFED 2.45% on 2026-03-15 (3.16σ vs baseline, 22 d); GFM tile-proxy flood fraction 0.72% on 2026-03-17 (2.58σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 93%; GFM anomaly flag on 86% of covering scenes); MODIS z 4.15 on 2026-03-18 (9 d); VIIRS z 4.78 on 2026-03-18 (14 d); GFM tile-proxy flood fraction 0.71% on 2026-03-25 (2.13σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 62% of covering scenes); GFM tile-proxy flood fraction 0.52% on 2026-03-29 (1.7σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 63% of covering scenes); GFM tile-proxy flood fraction 0.49% on 2026-04-06 (1.55σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 62% of covering scenes); GFM tile-proxy flood fraction 0.71% on 2026-04-12 (2.99σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 75% of covering scenes); GFDS z peaked 2.07 on 2026-04-25 (6 d, 1 d ≥ 2σ, change vs surrounding weeks 0.54σ, site coverage 100%); GFDS z peaked 2.72 on 2026-05-08 (15 d, 5 d ≥ 2σ, change vs surrounding weeks 2.08σ, site coverage 100%) — matches reported 'Tropical Cyclone Gezani — AA activated 9 Feb, landfall Inhambane 14 Fe' (signal peak +31 d vs reported peak) | [WEAK 2026-05-23→2026-06-15] GFDS z peaked 2.41 on 2026-06-03 (24 d, 2 d ≥ 2σ, change vs surrounding weeks 1.77σ, site coverage 95%); GFM tile-proxy flood fraction 0.46% on 2026-05-24 (1.87σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 62% of covering scenes); GFM tile-proxy flood fraction 0.37% on 2026-05-30 (1.59σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 76% of covering scenes) — no reported event in the compiled list for this unit/window | [WEAK 2026-06-24→2026-06-28] GFDS z peaked 1.79 on 2026-06-25 (5 d, 0 d ≥ 2σ, change vs surrounding weeks 0.77σ, site coverage 100%) — no reported event in the compiled list for this unit/window

  • Inhambane MZ03 strong
    evidence

    [STRONG 2026-01-09→2026-02-09] GFDS z peaked 3.19 on 2026-01-16 (10 d, 5 d ≥ 2σ, change vs surrounding weeks 4.46σ, site coverage 100%); GFM tile-proxy flood fraction 1.12% on 2026-01-16 (5.54σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 70%; GFM anomaly flag on 89% of covering scenes); FloodScan SFED 0.48% on 2026-01-22 (2.23σ vs baseline, 13 d); GFM tile-proxy flood fraction 1.13% on 2026-01-28 (5.59σ above the covering tiles' same-season normal; 4 elevated acquisition(s); footprint coverage 95%; GFM anomaly flag on 75% of covering scenes); GFM tile-proxy flood fraction 0.91% on 2026-02-03 (4.01σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 64% of covering scenes); GFM tile-proxy flood fraction 0.46% on 2026-02-09 (1.85σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 92% of covering scenes) — matches reported 'Southern/central floods — rain 24 Dec 2025 to 26 Jan 2026; Limpopo (Ch' (signal peak +0 d vs reported peak) | [STRONG 2026-03-03→2026-03-18] GFDS z peaked 3.04 on 2026-03-07 (5 d, 3 d ≥ 2σ, change vs surrounding weeks 3.99σ, site coverage 100%); GFDS z peaked 2.83 on 2026-03-12 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 3.57σ, site coverage 100%); FloodScan SFED 0.47% on 2026-03-14 (2.19σ vs baseline, 6 d); GFM tile-proxy flood fraction 0.70% on 2026-03-17 (2.72σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 91%; GFM anomaly flag on 88% of covering scenes) — matches reported 'Tropical Cyclone Gezani — AA activated 9 Feb, landfall Inhambane 14 Fe' (signal peak +20 d vs reported peak) | [WEAK 2026-05-24→2026-06-01] VIIRS z 2.58 on 2026-05-27 (9 d) — no reported event in the compiled list for this unit/window | [STRONG 2026-06-09→2026-06-30] VIIRS z 3.53 on 2026-06-09 (9 d); MODIS z 4.13 on 2026-06-14 (12 d); GFDS z peaked 1.56 on 2026-06-29 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 0.88σ, site coverage 100%); MODIS z 2.82 on 2026-06-30 (4 d) — no reported event in the compiled list for this unit/window | +2 further cluster(s): weak 2026-03-29, weak 2026-05-05

  • Manica MZ04 strong
    evidence

    [STRONG 2026-01-03→2026-02-01] GFDS z peaked 4.86 on 2026-01-03 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 8.78σ, site coverage 100%); GFDS z peaked 3.55 on 2026-01-10 (7 d, 3 d ≥ 2σ, change vs surrounding weeks 6.26σ, site coverage 100%); GFM tile-proxy flood fraction 0.54% on 2026-01-16 (2.55σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 58%; GFM anomaly flag on 100% of covering scenes); CYGNSS z 2.0 on 2026-01-31 (10 d); GFM tile-proxy flood fraction 0.66% on 2026-01-23 (3.15σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 58%; GFM anomaly flag on 53% of covering scenes); GFM tile-proxy flood fraction 0.59% on 2026-01-28 (2.76σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 58%; GFM anomaly flag on 65% of covering scenes) — no reported event in the compiled list for this unit/window | [WEAK 2026-03-01→2026-03-05] GFDS z peaked 2.51 on 2026-03-03 (5 d, 1 d ≥ 2σ, change vs surrounding weeks 4.35σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEAK 2026-03-16→2026-03-19] GFDS z peaked 1.7 on 2026-03-16 (4 d, 0 d ≥ 2σ, change vs surrounding weeks 2.77σ, site coverage 100%); GFM tile-proxy flood fraction 0.34% on 2026-03-17 (1.52σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 58%; GFM anomaly flag on 100% of covering scenes) — no reported event in the compiled list for this unit/window | [MODERATE 2026-05-24→2026-06-17] MODIS z 1.9 on 2026-05-29 (6 d) [LOW COVERAGE]; VIIRS z 2.81 on 2026-06-17 (25 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | +1 further cluster(s): weak 2026-02-09. Not observing: MODIS, VIIRS

  • Maputo MZ05 strong
    evidence

    [STRONG 2026-01-02→2026-06-29] GFDS z peaked 3.15 on 2026-01-05 (7 d, 3 d ≥ 2σ, change vs surrounding weeks 1.11σ, site coverage 100%); GFDS z peaked 5.64 on 2026-01-20 (47 d, 27 d ≥ 2σ, change vs surrounding weeks 3.95σ, site coverage 99%); FloodScan SFED 4.95% on 2026-01-22 (14.04σ vs baseline, 40 d); GFM tile-proxy flood fraction 1.82% on 2026-01-17 (8.91σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 91% of covering scenes); GFM tile-proxy flood fraction 3.65% on 2026-01-24 (18.02σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 95%; GFM anomaly flag on 80% of covering scenes); MODIS z 9.02 on 2026-01-26 (32 d); VIIRS z 12.35 on 2026-01-25 (31 d); GFM tile-proxy flood fraction 1.33% on 2026-01-28 (6.46σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 80% of covering scenes); CYGNSS z 2.85 on 2026-02-08 (18 d); GFM tile-proxy flood fraction 1.20% on 2026-02-03 (4.97σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 83% of covering scenes); GFM tile-proxy flood fraction 0.52% on 2026-02-09 (2.04σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 49% of covering scenes); GFM tile-proxy flood fraction 0.73% on 2026-02-11 (2.92σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 1.02% on 2026-02-17 (4.14σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 91%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.49% on 2026-02-23 (1.89σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.72% on 2026-03-01 (2.08σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 91%; GFM anomaly flag on 100% of covering scenes); GFDS z peaked 3.71 on 2026-03-25 (91 d, 43 d ≥ 2σ, change vs surrounding weeks 2.0σ, site coverage 98%); GFM tile-proxy flood fraction 1.32% on 2026-03-13 (3.9σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 91%; GFM anomaly flag on 100% of covering scenes); FloodScan SFED 1.37% on 2026-03-15 (2.41σ vs baseline, 4 d); GFM tile-proxy flood fraction 0.77% on 2026-03-17 (2.22σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 88% of covering scenes); VIIRS z 2.12 on 2026-03-18 (9 d) [LOW COVERAGE]; GFM tile-proxy flood fraction 1.70% on 2026-03-25 (5.07σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 91%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.68% on 2026-03-29 (1.95σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 76% of covering scenes); GFM tile-proxy flood fraction 1.15% on 2026-04-06 (3.68σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 91%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.60% on 2026-04-12 (1.86σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.58% on 2026-04-18 (1.78σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 91%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.55% on 2026-05-02 (2.26σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 97%; GFM anomaly flag on 77% of covering scenes); GFM tile-proxy flood fraction 0.62% on 2026-05-12 (2.54σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 91%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.40% on 2026-05-16 (1.59σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 76% of covering scenes); GFM tile-proxy flood fraction 0.77% on 2026-05-24 (3.17σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 91%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.42% on 2026-06-05 (1.97σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 91%; GFM anomaly flag on 100% of covering scenes); GFDS z peaked 3.27 on 2026-06-06 (24 d, 14 d ≥ 2σ, change vs surrounding weeks 1.34σ, site coverage 98%); GFM tile-proxy flood fraction 0.37% on 2026-06-09 (1.73σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 65% of covering scenes); GFM tile-proxy flood fraction 0.33% on 2026-06-21 (1.53σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 65% of covering scenes) — matches reported 'Southern/central floods — rain 24 Dec 2025 to 26 Jan 2026; Limpopo (Ch' (signal peak -4 d vs reported peak)

  • Maputo City MZ06 strong
    evidence

    [STRONG 2026-01-02→2026-06-30] GFDS z peaked 12.74 on 2026-06-06 (179 d, 139 d ≥ 2σ, change vs surrounding weeks 2.53σ, site coverage 95%) [UNIT TOO SMALL FOR THIS SENSOR]; GFM tile-proxy flood fraction 1.83% on 2026-01-17 (8.94σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 92% of covering scenes); GFM tile-proxy flood fraction 3.65% on 2026-01-24 (18.02σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 83% of covering scenes); GFM tile-proxy flood fraction 1.37% on 2026-01-28 (6.64σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 80% of covering scenes); CYGNSS z 2.51 on 2026-02-19 (28 d); GFM tile-proxy flood fraction 1.22% on 2026-02-03 (5.03σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 83% of covering scenes); GFM tile-proxy flood fraction 0.54% on 2026-02-09 (2.1σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 50% of covering scenes); GFM tile-proxy flood fraction 0.79% on 2026-02-11 (3.18σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 1.02% on 2026-02-17 (4.14σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.53% on 2026-02-23 (2.06σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.72% on 2026-03-01 (2.08σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 1.32% on 2026-03-13 (3.9σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.79% on 2026-03-17 (2.28σ above the covering tiles' same-season normal; 2 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 88% of covering scenes); MODIS z 14.79 on 2026-03-28 (17 d); GFM tile-proxy flood fraction 1.70% on 2026-03-25 (5.07σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.70% on 2026-03-29 (2.01σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 75% of covering scenes); GFM tile-proxy flood fraction 1.15% on 2026-04-06 (3.68σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); CYGNSS z 1.67 on 2026-04-12 (6 d); GFM tile-proxy flood fraction 0.49% on 2026-04-10 (1.51σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 75% of covering scenes); GFM tile-proxy flood fraction 0.65% on 2026-04-12 (2.03σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.58% on 2026-04-18 (1.78σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.71% on 2026-04-30 (2.22σ above the covering tiles' same-season normal; 3 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 75% of covering scenes); GFM tile-proxy flood fraction 0.62% on 2026-05-12 (2.54σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.41% on 2026-05-16 (1.64σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 75% of covering scenes); GFM tile-proxy flood fraction 0.77% on 2026-05-24 (3.17σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.42% on 2026-06-05 (1.97σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 100% of covering scenes); GFM tile-proxy flood fraction 0.38% on 2026-06-09 (1.79σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 67% of covering scenes); GFM tile-proxy flood fraction 0.34% on 2026-06-21 (1.59σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 100%; GFM anomaly flag on 67% of covering scenes); MODIS z 8.11 on 2026-06-27 (5 d) [LOW COVERAGE] — matches reported 'Southern/central floods — rain 24 Dec 2025 to 26 Jan 2026; Limpopo (Ch' (signal peak -4 d vs reported peak)

  • Nampula MZ07 strong
    evidence

    [STRONG 2026-01-01→2026-01-08] GFDS z peaked 3.17 on 2026-01-03 (8 d, 3 d ≥ 2σ, change vs surrounding weeks 3.12σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEAK 2026-02-28→2026-03-03] GFDS z peaked 2.92 on 2026-02-28 (4 d, 2 d ≥ 2σ, change vs surrounding weeks 2.92σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEAK 2026-03-13→2026-04-08] GFDS z peaked 2.58 on 2026-03-15 (10 d, 2 d ≥ 2σ, change vs surrounding weeks 2.41σ, site coverage 100%); CYGNSS z 2.0 on 2026-04-02 (11 d); GFDS z peaked 1.92 on 2026-03-29 (5 d, 0 d ≥ 2σ, change vs surrounding weeks 1.43σ, site coverage 100%) — no reported event in the compiled list for this unit/window | [WEAK 2026-05-28→2026-06-25] VIIRS z 2.96 on 2026-05-28 (16 d) [LOW COVERAGE]; GFDS z peaked 1.88 on 2026-06-06 (4 d, 0 d ≥ 2σ, change vs surrounding weeks 1.6σ, site coverage 100%); MODIS z 2.1 on 2026-06-08 (5 d) [LOW COVERAGE]; VIIRS z 2.58 on 2026-06-25 (7 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | +1 further cluster(s): weak 2026-01-28. Not observing: MODIS, VIIRS

  • Niassa MZ08 moderate
    evidence

    [WEAK 2026-01-01→2026-01-07] GFDS z peaked 2.96 on 2026-01-07 (7 d, 1 d ≥ 2σ, change vs surrounding weeks 4.25σ, site coverage 100%) — matches reported 'Southern/central floods — rain 24 Dec 2025 to 26 Jan 2026; Limpopo (Ch' (signal peak -21 d vs reported peak) | [WEAK 2026-01-23→2026-02-01] GFDS z peaked 1.95 on 2026-02-01 (10 d, 0 d ≥ 2σ, change vs surrounding weeks 2.64σ, site coverage 100%) — matches reported 'Southern/central floods — rain 24 Dec 2025 to 26 Jan 2026; Limpopo (Ch' (signal peak +4 d vs reported peak) | [MODERATE 2026-05-23→2026-06-30] VIIRS z 8.32 on 2026-06-18 (27 d) [LOW COVERAGE]; MODIS z 2.78 on 2026-06-08 (3 d) [LOW COVERAGE]; MODIS z 2.11 on 2026-06-16 (4 d) [LOW COVERAGE]; VIIRS z 5.78 on 2026-06-29 (6 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window. Not observing: MODIS, VIIRS

  • Sofala MZ09 strong
    evidence

    [STRONG 2026-01-01→2026-02-01] FloodScan SFED 3.17% on 2026-01-20 (9.14σ vs baseline, 32 d); VIIRS z 6.03 on 2026-01-01 (6 d) [LOW COVERAGE]; GFDS z peaked 3.0 on 2026-01-03 (3 d, 1 d ≥ 2σ, change vs surrounding weeks 2.75σ, site coverage 100%); GFDS z peaked 2.61 on 2026-01-11 (22 d, 7 d ≥ 2σ, change vs surrounding weeks 2.3σ, site coverage 100%); GFM tile-proxy flood fraction 0.43% on 2026-01-16 (1.96σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 64%; GFM anomaly flag on 100% of covering scenes); CYGNSS z 1.71 on 2026-01-22 (8 d); GFM tile-proxy flood fraction 0.73% on 2026-01-28 (3.47σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 64%; GFM anomaly flag on 100% of covering scenes) — matches reported 'Southern/central floods — rain 24 Dec 2025 to 26 Jan 2026; Limpopo (Ch' (signal peak -8 d vs reported peak) | [WEAK 2026-02-20→2026-02-23] GFDS z peaked 1.78 on 2026-02-23 (4 d, 0 d ≥ 2σ, change vs surrounding weeks 0.95σ, site coverage 100%) — matches reported 'Tropical Cyclone Gezani — AA activated 9 Feb, landfall Inhambane 14 Fe' (signal peak +8 d vs reported peak) | [STRONG 2026-03-13→2026-04-12] GFDS z peaked 3.3 on 2026-03-19 (17 d, 5 d ≥ 2σ, change vs surrounding weeks 3.62σ, site coverage 100%); FloodScan SFED 2.30% on 2026-03-22 (6.33σ vs baseline, 23 d); MODIS z 4.96 on 2026-03-25 (12 d) [LOW COVERAGE]; VIIRS z 6.19 on 2026-03-24 (11 d) [LOW COVERAGE]; GFDS z peaked 1.88 on 2026-04-10 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 1.19σ, site coverage 100%) — matches reported 'Tropical Cyclone Gezani — AA activated 9 Feb, landfall Inhambane 14 Fe' (signal peak +35 d vs reported peak) | [WEAK 2026-06-12→2026-06-27] GFDS z peaked 1.55 on 2026-06-15 (4 d, 0 d ≥ 2σ, change vs surrounding weeks 0.78σ, site coverage 100%); MODIS z 2.33 on 2026-06-27 (6 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | +2 further cluster(s): weak 2026-02-09, weak 2026-04-26

  • Tete MZ10 moderate
    evidence

    [MODERATE 2026-03-04→2026-03-04] GFM tile-proxy flood fraction 0.77% on 2026-03-04 (3.62σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 57%; GFM anomaly flag on 49% of covering scenes) — no reported event in the compiled list for this unit/window | [MODERATE 2026-03-16→2026-03-31] GFM tile-proxy flood fraction 0.53% on 2026-03-16 (2.41σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 57%; GFM anomaly flag on 49% of covering scenes); FloodScan SFED 0.45% on 2026-03-24 (1.97σ vs baseline, 8 d); MODIS z 2.8 on 2026-03-23 (6 d) [LOW COVERAGE]; VIIRS z 4.58 on 2026-03-24 (8 d) [LOW COVERAGE]; GFM tile-proxy flood fraction 0.69% on 2026-03-28 (3.2σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 57%; GFM anomaly flag on 56% of covering scenes) — no reported event in the compiled list for this unit/window | [MODERATE 2026-04-09→2026-04-09] GFM tile-proxy flood fraction 0.55% on 2026-04-09 (2.58σ above the covering tiles' same-season normal; 1 elevated acquisition(s); footprint coverage 57%; GFM anomaly flag on 56% of covering scenes) — no reported event in the compiled list for this unit/window | [MODERATE 2026-05-14→2026-06-06] CYGNSS z 1.71 on 2026-05-21 (9 d); MODIS z 3.51 on 2026-06-01 (9 d) [LOW COVERAGE]; VIIRS z 3.22 on 2026-06-01 (7 d) [LOW COVERAGE] — no reported event in the compiled list for this unit/window | +2 further cluster(s): moderate 2026-04-21, weak 2026-06-21. Not observing: MODIS, VIIRS

  • Zambezia MZ11 strong
    evidence

    [STRONG 2026-01-01→2026-04-21] GFDS z peaked 2.66 on 2026-01-05 (12 d, 6 d ≥ 2σ, change vs surrounding weeks 2.01σ, site coverage 100%); GFDS z peaked 3.19 on 2026-01-19 (6 d, 3 d ≥ 2σ, change vs surrounding weeks 2.92σ, site coverage 100%); GFDS z peaked 1.86 on 2026-01-26 (6 d, 0 d ≥ 2σ, change vs surrounding weeks 0.64σ, site coverage 100%); GFDS z peaked 2.57 on 2026-02-13 (14 d, 2 d ≥ 2σ, change vs surrounding weeks 1.85σ, site coverage 100%); FloodScan SFED 0.85% on 2026-02-22 (1.95σ vs baseline, 6 d); GFDS z peaked 1.88 on 2026-03-06 (8 d, 0 d ≥ 2σ, change vs surrounding weeks 0.91σ, site coverage 100%); GFDS z peaked 3.8 on 2026-03-16 (28 d, 4 d ≥ 2σ, change vs surrounding weeks 4.41σ, site coverage 100%); FloodScan SFED 1.03% on 2026-03-22 (2.65σ vs baseline, 12 d); CYGNSS z 2.02 on 2026-04-16 (19 d); FloodScan SFED 0.78% on 2026-04-06 (1.68σ vs baseline, 3 d); GFDS z peaked 1.78 on 2026-04-14 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 1.02σ, site coverage 100%) — matches reported 'Southern/central floods — rain 24 Dec 2025 to 26 Jan 2026; Limpopo (Ch' (signal peak -9 d vs reported peak) | [WEAK 2026-06-01→2026-06-21] GFDS z peaked 1.76 on 2026-06-05 (5 d, 0 d ≥ 2σ, change vs surrounding weeks 1.15σ, site coverage 98%); MODIS z 2.0 on 2026-06-08 (4 d) [LOW COVERAGE]; GFDS z peaked 1.78 on 2026-06-10 (3 d, 0 d ≥ 2σ, change vs surrounding weeks 1.17σ, site coverage 100%); GFDS z peaked 1.6 on 2026-06-17 (5 d, 0 d ≥ 2σ, change vs surrounding weeks 0.86σ, site coverage 100%) — no reported event in the compiled list for this unit/window. Not observing: MODIS, VIIRS

Check against the reported floods, row by row
EventReport windowDatedProvinceWorst hitResultEvidence (product z on date; offset vs reported peak)
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)2026-01-01..2026-02-12highGaza (MZ02)★flagged (strong)FLOODSCAN z 7.6 on 2026-01-25; GFDS z 3.9 on 2026-01-18; GFM z 7.3 on 2026-01-24; MODIS z 7.1 on 2026-01-26; VIIRS z 13.6 on 2026-01-24 (-4 d vs reported peak)
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)2026-01-01..2026-02-12highMaputo (MZ05)★flagged (strong)CYGNSS z 2.9 on 2026-02-08; FLOODSCAN z 14.0 on 2026-01-22; GFDS z 5.6 on 2026-01-20; GFM z 18.0 on 2026-01-24; MODIS z 9.0 on 2026-01-26; VIIRS z 12.4 on 2026-01-25 (-4 d vs reported peak)
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)2026-01-01..2026-02-12highMaputo City (MZ06)flagged (strong)CYGNSS z 2.5 on 2026-02-19; GFDS z 9.7 on 2026-02-23; GFM z 18.0 on 2026-01-24 (-4 d vs reported peak)
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)2026-01-01..2026-02-12highInhambane (MZ03)flagged (strong)FLOODSCAN z 2.2 on 2026-01-22; GFDS z 3.2 on 2026-01-16; GFM z 5.6 on 2026-01-28 (+0 d vs reported peak)
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)2026-01-01..2026-02-12highSofala (MZ09)★flagged (strong)FLOODSCAN z 9.1 on 2026-01-20; GFDS z 2.6 on 2026-01-11; GFM z 3.5 on 2026-01-28; VIIRS z 6.0 on 2026-01-01 (-8 d vs reported peak)
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)2026-01-01..2026-02-12highZambezia (MZ11)flagged (strong)GFDS z 3.2 on 2026-01-19 (-9 d vs reported peak)
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)2026-01-01..2026-02-12highNiassa (MZ08)weak signal onlyGFDS z 3.0
Cyclone Gezani (February 2026)2026-02-13..2026-03-05mediumInhambane (MZ03)★flagged (strong)FLOODSCAN z 2.2 on 2026-03-14; GFDS z 3.0 on 2026-03-07; GFM z 4.0 on 2026-02-03 (-12 d vs reported peak)
Cyclone Gezani (February 2026)2026-02-13..2026-03-05mediumGaza (MZ02)★flagged (strong)FLOODSCAN z 4.3 on 2026-02-03; GFDS z 3.1 on 2026-03-14; GFM z 4.2 on 2026-02-03; MODIS z 4.6 on 2026-02-03; VIIRS z 4.8 on 2026-03-18 (+31 d vs reported peak)
Cyclone Gezani (February 2026)2026-02-13..2026-03-05mediumSofala (MZ09)★flagged (strong)FLOODSCAN z 6.3 on 2026-03-22; GFDS z 3.3 on 2026-03-19; MODIS z 5.0 on 2026-03-25; VIIRS z 6.2 on 2026-03-24 (+35 d vs reported peak)

Worked examples

The programme's reference flash flood (Feni–Cumilla–Noakhali, August 2024, aggregated here to Chattogram division), the riverine/coastal contrast (Cyclone Gezani, Inhambane, February 2026), and an early-season flash case in the Sahel (Maradi, June 2024).

Day by day around one reported flood: who saw it, when, and who was blind?Worked example — Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024) in Chittagong
0 2 4 6 8 GFDS 0 1 seen 0 2 4 6 8 GFM (S-1) 8 first flag +2 d 0 1 seen 0 2 4 6 8 MODIS 0 1 seen 0 2 4 6 8 CYGNSS first flag +23 d 29 Jul 12 Aug 26 Aug 09 Sep 23 Sep 07 Oct 21 Oct 0 1 seen Chittagong (BD20) — Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024) [flash] · reported 19 Aug–10 Sep 2024, peak 23 Aug
What is shown
For every product: z on the shared scale (top strip) and the share of the province actually seen that day (bottom strip, grey = no observation at all). Grey band = report window, dashed line = reported peak, ▼ = first flag counted as a hit. Coloured bands are the method's episodes.
Why it matters
The headline hit/miss numbers hide the mechanics. Here the reader can see whether a miss was 'looked and saw nothing' or 'could not look'.
What we observe
GFDS no flag (33 good looks in the window); GFM (S-1) first flag +2 d from the reported start (-2 d from the peak); MODIS no flag (2 good looks in the window); CYGNSS first flag +23 d from the reported start (+19 d from the peak).
Caveats
Reported start and peak are report dates, so a 'negative' latency means the sensor moved before the report says the flood began — that is expected for reports dated by publication.
Day by day around one reported flood: who saw it, when, and who was blind?Worked example — Cyclone Gezani (February 2026) in Inhambane
0 2 4 6 8 FloodScan first flag +28 d 0 1 seen 0 2 4 6 8 GFDS first flag +18 d 0 1 seen 0 2 4 6 8 GFM (S-1) first flag -10 d 0 1 seen 0 2 4 6 8 MODIS 0 1 seen 0 2 4 6 8 VIIRS 0 1 seen 0 2 4 6 8 CYGNSS 26 Jan 09 Feb 23 Feb 09 Mar 23 Mar 06 Apr 20 Apr 0 1 seen Inhambane (MZ03) — Cyclone Gezani (February 2026) [cyclone] · reported 13 Feb–05 Mar 2026, peak 15 Feb
What is shown
For every product: z on the shared scale (top strip) and the share of the province actually seen that day (bottom strip, grey = no observation at all). Grey band = report window, dashed line = reported peak, ▼ = first flag counted as a hit. Coloured bands are the method's episodes.
Why it matters
The headline hit/miss numbers hide the mechanics. Here the reader can see whether a miss was 'looked and saw nothing' or 'could not look'.
What we observe
FloodScan first flag +28 d from the reported start (+26 d from the peak); GFDS first flag +18 d from the reported start (+16 d from the peak); GFM (S-1) first flag -10 d from the reported start (-12 d from the peak); MODIS no flag (32 good looks in the window); VIIRS no flag (23 good looks in the window); CYGNSS no flag (52 good looks in the window).
Caveats
Reported start and peak are report dates, so a 'negative' latency means the sensor moved before the report says the flood began — that is expected for reports dated by publication.
Day by day around one reported flood: who saw it, when, and who was blind?Worked example — June 2024 early-season floods (Maradi, Niamey) in Maradi
0 2 4 6 8 FloodScan 0 1 seen 0 2 4 6 8 GFDS 0 1 seen 0 2 4 6 8 GFM (S-1) 0 1 seen 0 2 4 6 8 MODIS 0 1 seen 0 2 4 6 8 CYGNSS 13 May 27 May 10 Jun 24 Jun 08 Jul 22 Jul 05 Aug 0 1 seen Maradi (NE004) — June 2024 early-season floods (Maradi, Niamey) [flash] · reported 10 Jun–30 Jun 2024, peak 21 Jun
What is shown
For every product: z on the shared scale (top strip) and the share of the province actually seen that day (bottom strip, grey = no observation at all). Grey band = report window, dashed line = reported peak, ▼ = first flag counted as a hit. Coloured bands are the method's episodes.
Why it matters
The headline hit/miss numbers hide the mechanics. Here the reader can see whether a miss was 'looked and saw nothing' or 'could not look'.
What we observe
FloodScan no flag (52 good looks in the window); GFDS no flag (44 good looks in the window); GFM (S-1) no flag (7 good looks in the window); MODIS no flag (29 good looks in the window); CYGNSS no flag (52 good looks in the window).
Caveats
Reported start and peak are report dates, so a 'negative' latency means the sensor moved before the report says the flood began — that is expected for reports dated by publication.

One event, six products: where the combination earns its place

Of the 13 reported events, the one that shows the combination working hardest is Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026): it is the only case in which all six products exist, 6 provinces were flagged, and 5 of them by two or more products. The first flag anywhere came from FloodScan in Sofala on 01 January, 15 days before the radar product that detects the most events overall first flagged, and 35 days before CERF approved the flood-response allocation for this event (CERF-MOZ-26-RR-1517, first project approval 05 February; the cyclone anticipatory envelope approved in January belongs to a different hazard). The three figures below show what each product could resolve, the same flood zoomed to the worst-hit provinces, and how the evidence accumulated day by day.

Do the products see the same flood — and at what resolution does each of them see it?One flood, six products: what each could actually resolve
peak flooded share of province (max 0.05) FloodScan days at z ≥ 2 per 10 km cell (1–37+) GFDS flooded / floodable per 300 km tile (max 5.5 %) GFM (S-1) days flagged flood per 250 m pixel (1–20+) MODIS days flagged flood per 375 m pixel (1–22+) VIIRS days mapped as water per 1 km cell (1–42+) CYGNSS Mozambique 2026 — Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026), 01 Jan to 12 Feb 2026 · whole country never usable in the window (cloud, or outside the product's mask) more flood / higher value (each panel on its own scale) provinces named in the report
What is shown
The same event window in six panels, each on the grid its product is actually distributed on — not on the ADM1 means the rest of the report uses. MODIS and VIIRS are decoded from the products' own GIBS tiles (colour = days a pixel carried class 3 'unusual flood'). CYGNSS is its 1 km daily inland watermask (days classified as water). FloodScan is peak SFED on its ~9 km cells, read from the raster archive rather than the province table. GFDS is peak per-cell wetness z on its ~10 km grid — the same quantity the province series area-averages. GFM is the only product with no per-pixel record here, so it stays on its 300 km Equi7 tiles, shaded by the highest flooded/floodable ratio of any scene. Grey is 'never usable' (cloud or nodata every day, or outside the product's mask); pale land is 'looked, no flood signal'. Red outlines: provinces the reports name. Each panel has its own scale — the units differ and are printed under each map.
Why it matters
It makes the central claim concrete, and it separates two things that are easy to conflate: the products do not disagree about whether there was a flood, they disagree about how finely they can place it. The ladder runs 250 m (MODIS) to 375 m (VIIRS) to 1 km (CYGNSS) to ~9-10 km (FloodScan, GFDS) to 300 km tiles (GFM) — a range of six orders of magnitude in cell area, which is why a province mean flatters some products and buries others.
What we observe
FloodScan's own grid is not available for this case — province means shown; GFDS resolves ~10 km cells; the report's province z is their area-weighted mean; GFM sees 20 m detail but is published here only as a 30-tile 300 km grid; MODIS resolves single pixels and flagged flood on up to 25 days; VIIRS resolves single pixels and flagged flood on up to 29 days; CYGNSS: water every usable day (permanent water); CYGNSS places water on a 1 km grid, through cloud and canopy.
Caveats
Panels are not comparable in magnitude, only in location — flood-day counts, tile ratios, area fractions and z are different quantities. The optical panels accumulate over the whole window, so they show what those products caught across many partly-cloudy days, not the extent on any single day. These grids are drawn for the map only: every number elsewhere in the report is still computed from the ADM1 series, which are area-weighted means of these same grids.
Do the products see the same flood — and at what resolution does each of them see it?Zoomed to the worst-hit provinces: the same flood at six resolutions
peak flooded share of province (max 0.05) FloodScan days at z ≥ 2 per 10 km cell (1–37+) GFDS flooded / floodable per 300 km tile (max 5.5 %) GFM (S-1) days flagged flood per 250 m pixel (1–20+) MODIS days flagged flood per 375 m pixel (1–22+) VIIRS days mapped as water per 1 km cell (1–42+) CYGNSS Mozambique 2026 — Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026), 01 Jan to 12 Feb 2026 · Gaza, Maputo, Maputo City never usable in the window (cloud, or outside the product's mask) more flood / higher value (each panel on its own scale) provinces named in the report
What is shown
The same event window in six panels, each on the grid its product is actually distributed on — not on the ADM1 means the rest of the report uses. MODIS and VIIRS are decoded from the products' own GIBS tiles (colour = days a pixel carried class 3 'unusual flood'). CYGNSS is its 1 km daily inland watermask (days classified as water). FloodScan is peak SFED on its ~9 km cells, read from the raster archive rather than the province table. GFDS is peak per-cell wetness z on its ~10 km grid — the same quantity the province series area-averages. GFM is the only product with no per-pixel record here, so it stays on its 300 km Equi7 tiles, shaded by the highest flooded/floodable ratio of any scene. Grey is 'never usable' (cloud or nodata every day, or outside the product's mask); pale land is 'looked, no flood signal'. Red outlines: provinces the reports name. Each panel has its own scale — the units differ and are printed under each map.
Why it matters
It makes the central claim concrete, and it separates two things that are easy to conflate: the products do not disagree about whether there was a flood, they disagree about how finely they can place it. The ladder runs 250 m (MODIS) to 375 m (VIIRS) to 1 km (CYGNSS) to ~9-10 km (FloodScan, GFDS) to 300 km tiles (GFM) — a range of six orders of magnitude in cell area, which is why a province mean flatters some products and buries others.
What we observe
FloodScan's own grid is not available for this case — province means shown; GFDS resolves ~10 km cells; the report's province z is their area-weighted mean; GFM sees 20 m detail but is published here only as a 30-tile 300 km grid; MODIS resolves single pixels and flagged flood on up to 25 days; VIIRS resolves single pixels and flagged flood on up to 29 days; CYGNSS: water every usable day (permanent water); CYGNSS places water on a 1 km grid, through cloud and canopy.
Caveats
Panels are not comparable in magnitude, only in location — flood-day counts, tile ratios, area fractions and z are different quantities. The optical panels accumulate over the whole window, so they show what those products caught across many partly-cloudy days, not the extent on any single day. These grids are drawn for the map only: every number elsewhere in the report is still computed from the ADM1 series, which are area-weighted means of these same grids.
How does the evidence build up when six products watch the same flood — and how much earlier is the first product than the best one?Evidence accumulating across one event
Sofala (MZ09) +0 d Zambezia (MZ11) +0 d Maputo City (MZ06) +1 d Inhambane (MZ03) +8 d Gaza (MZ02) +9 d Maputo (MZ05) +12 d reported peak Mozambique 2026 — Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026) · first flag per province and product 29 Dec 05 Jan 12 Jan 19 Jan 26 Jan 02 Feb 09 Feb 16 Feb 23 Feb 0 1 2 3 4 5 6 provinces CERF Flood $5.0M CERF Storm $4.5M (other hazard) provinces with ≥ 1 product flagging provinces with ≥ 2 products agreeing FloodScan GFDS GFM (S-1) MODIS VIIRS CYGNSS dating product confirming product IDMC displacement record starts
What is shown
Top: one row per province, a marker at each product's first headline-level flag (circle = a product that can date an onset, triangle = one that can only confirm); the label on the left of each row is the first flag's offset from the reported start. Bottom: the number of provinces with at least one, and with at least two, products flagging, day by day; red dotted lines are CERF decision dates for this event's hazard type and grey ones allocations in the same period for a different hazard, purple squares the start of IDMC displacement records.
Why it matters
This is the added value in one frame: no single product produces this picture. The daily microwave products open the event, the radar confirms and sharpens it, the optical products arrive when the sky clears, and the blend is what keeps evidence on the table continuously from the first day to the funding decision.
What we observe
First flag anywhere: FloodScan in Sofala on 01 Jan 2026 (+0 d from the reported start), 15 days before GFM's first flag. 22 product-flags across 6 provinces; 5 provinces had two or more products agreeing. CERF committed the matching flood allocation (CERF-MOZ-26-RR-1517) on 05 Feb, 35 days after the first satellite flag.
Caveats
A 'first flag' is the first headline-level observation inside a moderate-or-strong episode; the confirming products' dates are not onset dates (30-day compositing, cloud gaps). The reported start is a publication date, so negative offsets are expected.

Signals with no matching report

Where do the 'floods nobody wrote down' (or the false alarms) sit in time, and which product raises them?Signals with no matching report: when, how strong, and which product
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan 2 3 10 20 30 peak z (capped at 30) Cameroon 2024: 19 moderate/strong clusters outside every reported window Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan 2 3 10 20 30 peak z (capped at 30) Niger 2024: 4 moderate/strong clusters outside every reported window Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan 2 3 10 20 30 peak z (capped at 30) Bangladesh 2024: 29 moderate/strong clusters outside every reported window Jan Feb Mar Apr May Jun Jul 2 3 10 20 30 peak z (capped at 30) Mozambique 2026: 11 moderate/strong clusters outside every reported window FloodScan GFDS GFM (S-1) MODIS VIIRS CYGNSS moderate cluster strong cluster a reported window (any province)
What is shown
Each marker is one moderate (circle) or strong (diamond) cluster whose in-window peak matched no reported event in the compiled list; x = peak date, y = peak z (capped at 30, larger values printed), colour = the product that peaked. Grey bands are reported windows for any province, for orientation.
Why it matters
The published table lists these 63 rows in prose. In one frame it is visible that they are not scattered noise: they cluster in the rainy seasons, and mostly come from one product.
What we observe
63 clusters in total (bgd-2024 29, cmr-2024 19, moz-2026 11, ner-2024 4); the peaking product is GFM (S-1) in 23, MODIS in 20, GFDS in 9, CYGNSS in 6, VIIRS in 4, FloodScan in 1. Clusters in the rainy season with no report may be real unreported floods, seasonal wetting the in-period baseline cannot absorb, or GFM tile bleed.
Caveats
'Outside every reported window' means outside the compiled list — Mozambique March–June 2026 has no compiled events at all, so its late clusters cannot be judged either way.

5. Sensor comparison

Detection latency

How many days after (or before) a report says a flood began did each product first say 'unusual'?Detection latency: first flag versus the reported start, for every reported province-event
−10 0 10 20 30 40 50 60 days from the REPORTED START of the flood to the product's first flag (negative = before the report's start date) Ban · Sylhet floods (June 2024) — Sylhet ★ Ban · Eastern flash floods, Feni–Cumilla–Noa… — Chittagong ★ Ban · Eastern flash floods, Feni–Cumilla–Noa… — Sylhet Ban · Sherpur–Mymensingh floods (October 202… — Mymensingh ★ Nig · June 2024 early-season floods (Maradi,… — Maradi ★ Nig · June 2024 early-season floods (Maradi,… — Niamey ★ Nig · August–September 2024 rainy-season flo… — Agadez Nig · August–September 2024 rainy-season flo… — Diffa Nig · August–September 2024 rainy-season flo… — Dosso Nig · August–September 2024 rainy-season flo… — Maradi ★ Nig · August–September 2024 rainy-season flo… — Tahoua Nig · August–September 2024 rainy-season flo… — Tillabéri ★ Nig · August–September 2024 rainy-season flo… — Zinder ★ Nig · August–September 2024 rainy-season flo… — Niamey Ban · Brahmaputra–Jamuna monsoon floods, nor… — Dhaka ★ Ban · Brahmaputra–Jamuna monsoon floods, nor… — Mymensingh ★ Ban · Brahmaputra–Jamuna monsoon floods, nor… — Rajshahi ★ Ban · Brahmaputra–Jamuna monsoon floods, nor… — Rangpur ★ Cam · Far North floods, Logone-et-Chari and … — Extrême-Nord ★ Cam · Logone River overflows (October 2024) — Extrême-Nord ★ Moz · Southern and central floods, Limpopo–I… — Gaza ★ Moz · Southern and central floods, Limpopo–I… — Inhambane Moz · Southern and central floods, Limpopo–I… — Maputo ★ Moz · Southern and central floods, Limpopo–I… — Maputo City Moz · Southern and central floods, Limpopo–I… — Niassa Moz · Southern and central floods, Limpopo–I… — Sofala ★ Moz · Southern and central floods, Limpopo–I… — Zambezia Nig · Niger River local flood at Niamey (Aug… — Dosso ★ Nig · Niger River local flood at Niamey (Aug… — Tillabéri ★ Nig · Niger River local flood at Niamey (Aug… — Niamey ★ Nig · Niger River Guinean flood (Nov–Dec 202… — Dosso ★ Nig · Niger River Guinean flood (Nov–Dec 202… — Tillabéri ★ Nig · Niger River Guinean flood (Nov–Dec 202… — Niamey ★ Ban · Cyclone Remal surge and rain (late May… — Barisal ★ Ban · Cyclone Remal surge and rain (late May… — Chittagong ★ Ban · Cyclone Remal surge and rain (late May… — Khulna ★ Moz · Cyclone Gezani (February 2026) — Gaza ★ Moz · Cyclone Gezani (February 2026) — Inhambane ★ Moz · Cyclone Gezani (February 2026) — Sofala ★ FLASH PLUVIAL +74 RIVERINE +61 CYCLONE no flag: ○ looked × never looked FloodScan GFDS GFM (S-1) MODIS VIIRS CYGNSS strong episode reported peak
What is shown
One row per (reported event, province); ★ = named as worst hit. Markers: the product's first headline-level observation inside the report window, in days from the reported start (circle moderate, diamond strong). Grey tick: the reported peak. To the right: products that had a good look but never flagged (○) or never looked at all (×). Rows grouped by flood type (assigned from the report text).
Why it matters
This is the number an anticipatory-action trigger lives on, and the published report kept it only as '+37 d vs reported peak' in table prose.
What we observe
Median first-flag latency of the dating products over all hits: FloodScan +16 d, GFDS +0 d, GFM (S-1) +12 d. Flash events: 10 hits across 6 province-events.
Caveats
Report start dates are publication-driven, so negative latencies are common and not evidence of forecasting. CYGNSS and the optical products can only confirm: their first-flag dates are unreliable by weeks (30-day compositing; cloud).
Does the product that detects first depend on the kind of flood?Detection latency by flood type: median and interquartile range per product
0 20 40 60 days from reported start (median, IQR) CYGNSS VIIRS MODIS GFM (S-1) GFDS FloodScan 3/6 2/6 3/6 2/6 flash 0 20 40 60 2/8 6/8 5/8 pluvial 0 20 40 60 6/15 10/19 9/19 5/19 3/7 4/19 riverine 0 20 40 60 3/3 3/6 5/6 2/6 2/3 1/6 cyclone
What is shown
Per flood type: median (dot) and interquartile range (bar) of first-flag latency in days from the reported start; right label = hits / province-events for that product and type.
Why it matters
A trigger design for flash floods should be built on the products that are early for flash floods, not on the overall average.
What we observe
Read across the panels: the ordering of products changes with flood type, and the sample sizes are small (see labels).
Caveats
Four to nineteen province-events per type; medians of two or three hits are shown but carry little weight.

Continuity of evidence

If a flood is reported to start today, how many days until at least one product has seen half of the province?The observability curve: probability of at least one usable look within N days of a reported onset
0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 N = days after the reported start 0 20 40 60 80 100 share of province-events with ≥ 1 good look within N days of the reported start (%) all 39 province-events FloodScan GFDS GFM (S-1) MODIS VIIRS CYGNSS union (all) dating only confirming only 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 N = days after the reported start dating products only (FloodScan, GFDS, GFM), by flood type flash (n = 6) pluvial (n = 8) riverine (n = 19) cyclone (n = 6)
What is shown
For each (event, province): the first day at or after the reported start with a good look (≥ 50 % of the unit) from each product; plotted as the share of province-events observed within N days. Black: the union of all products (band = 95 % bootstrap CI over events); dashed: the three dating products; dotted: the three confirming products. Right: the union of the three dating products only, split by flood type — the all-product union is 100 % from day 0 by construction, because FloodScan (no observation mask) and CYGNSS (30-day composite) always 'look'.
Why it matters
This is the continuity-of-evidence argument in one frame: the union curve minus the best single product is what combining products buys, in days.
What we observe
Union: 100 % of province-events had a good look on the reported start day, 100 % within 3 days, 100 % within a week (dating products alone: 90 % / 100 % / 100 %). Dating products by type: flash 100 % on day 0, 100 % by day 3; pluvial 100 % on day 0, 100 % by day 3; riverine 79 % on day 0, 100 % by day 3; cyclone 100 % on day 0, 100 % by day 3.
Caveats
'A good look' is not 'a detection' — see the ladder for hits. FloodScan's 100 % rests on a convention (no observation mask); CYGNSS's on a 30-day composite that is always 'complete'.
Is the combination adding anything, or is one product doing the work?The marginal-hit ladder: what each additional product buys
GFM (S-1) + GFDS + MODIS + CYGNSS + FloodScan + VIIRS 0 20 40 60 80 100 cumulative share of province-events flagged (%) 22/39 30/39 +8 32/39 +2 33/39 +1 33/39 +0 33/39 +0 greedy ladder: add the product that gains most 0 20 40 60 80 100 share flagged on its own (%), over the province-events it had data for FloodScan GFDS GFM (S-1) MODIS VIIRS CYGNSS 9/28 18/39 22/39 10/39 5/10 12/39 each product alone
What is shown
Left: products are added greedily, each step choosing the one that flags the most additional province-events; bars are the cumulative hit rate with 95 % bootstrap CIs over events, labels give hits/39 and the gain in province-events. Right: each product's own hit rate over the province-events it could see (the denominator differs by product because not every product exists in every case).
Why it matters
A flat ladder after the first step means the other products are redundant for detection (they may still add continuity or dating). A steep one means complementarity.
What we observe
GFM (S-1) alone flags 22/39 (56 %, CI 33–70 %); adding GFDS brings 8 more; all 6 products reach 33/39 (85 %, CI 69–97 %). Products added after step 4 add nothing to detection.
Caveats
39 province-events from 13 reported events: the CIs are wide, and greedy order is not a ranking of quality — a product that is second-best everywhere can appear last.
Does the combination collapse when one product is removed — i.e. is it continuity, or dependence on a single product?Dropout stress test: the union hit rate with products removed
0 20 40 60 80 100 share of the 39 reported province-events flagged by at least one remaining product (%) all products without GFM without optical (MODIS, VIIRS) without GFM and optical without CYGNSS without FloodScan without GFDS dating products only (FloodScan, GFDS, GFM) confirming products only (CYGNSS, MODIS, VIIRS) 33/39 26/39 32/39 25/39 32/39 33/39 29/39 31/39 20/39
What is shown
Union hit rate over the 39 province-events under removal scenarios, with 95 % bootstrap CIs over events. Dotted line: the all-products rate.
Why it matters
If the rate collapses without GFM, the combination is not adding continuity of evidence; it is leaning on the one product that observes least often.
What we observe
All products 85 %; without GFM 67 %; without optical 82 %; without GFM and optical 64 %; dating products only 79 %; confirming products only 51 %.
Caveats
A hit here is 'any headline-level observation inside a generous window' — it says nothing about timing. The CIs of most scenarios overlap.

Is the tiering calibrated?

Are 'strong' clusters really more often anchored by a report than 'moderate', and 'moderate' more than 'weak'?Does the verdict tiering track the report anchor?
weak moderate strong 0 20 40 60 80 100 share of clusters matching a reported event (%) 16/135 13/51 22/47 by verdict strength 0 1 2 3 4 5 6 number of products with a moderate-or-strong episode in the cluster 16/135 14/64 8/18 6/9 5/5 1/1 1/1 by number of agreeing products
What is shown
Share of clusters (all cases pooled) whose in-window peak matched a reported event, by verdict strength and by the number of products agreeing; Wilson 95 % intervals; labels are matched/total.
Why it matters
The tiers were asserted from thresholds, never validated. The only anchor available in this repository is the report list — there is no rainfall data, so a rain-precursor check is not possible.
What we observe
Matched share: weak 12 % (16/135), moderate 25 % (13/51), strong 47 % (22/47). The ordering is monotone; the intervals of adjacent tiers overlap.
Caveats
An unmatched cluster is 'not in the compiled list', not a false alarm, so these shares are lower bounds on precision and cannot separate 'wrong' from 'unreported'.

Day-to-day agreement between products

Correlation is computed on z within each province and summarised across provinces, twice: on raw z and on residual z (a centred 61-day rolling median removed). Overlap counts are on hover and thin cells are greyed. GFM appears only on its acquisition days; the lagged view is restricted to daily products.

Do the products move together from day to day, once shared seasonality is removed?Cameroon 2024: product-to-product agreement, day by day, within provinces
raw zFloodScanGFDSGFM (S-1)MODISCYGNSSFloodScanFloodScan × FloodScan —+0.10FloodScan × GFDS median Spearman ρ across 10 units = +0.10 (IQR -0.06…+0.31) overlapping days per unit: median 291, min 275+0.03FloodScan × GFM (S-1) median Spearman ρ across 10 units = +0.03 (IQR -0.12…+0.12) overlapping days per unit: median 90, min 85+0.19FloodScan × MODIS median Spearman ρ across 6 units = +0.19 (IQR +0.03…+0.48) overlapping days per unit: median 97, min 33 THIN: fewer than 60 overlapping days in some unit+0.10FloodScan × CYGNSS median Spearman ρ across 10 units = +0.10 (IQR -0.03…+0.46) overlapping days per unit: median 365, min 365GFDS+0.10GFDS × FloodScan median Spearman ρ across 10 units = +0.10 (IQR -0.06…+0.31) overlapping days per unit: median 291, min 275GFDS × GFDS —+0.11GFDS × GFM (S-1) median Spearman ρ across 10 units = +0.11 (IQR +0.01…+0.17) overlapping days per unit: median 75, min 66+0.03GFDS × MODIS median Spearman ρ across 5 units = +0.03 (IQR -0.16…+0.15) overlapping days per unit: median 93, min 61+0.03GFDS × CYGNSS median Spearman ρ across 10 units = +0.03 (IQR -0.20…+0.13) overlapping days per unit: median 292, min 276GFM (S-1)+0.03GFM (S-1) × FloodScan median Spearman ρ across 10 units = +0.03 (IQR -0.12…+0.12) overlapping days per unit: median 90, min 85+0.11GFM (S-1) × GFDS median Spearman ρ across 10 units = +0.11 (IQR +0.01…+0.17) overlapping days per unit: median 75, min 66GFM (S-1) × GFM (S-1) —+0.10GFM (S-1) × MODIS median Spearman ρ across 2 units = +0.10 (IQR +0.06…+0.14) overlapping days per unit: median 61, min 58 THIN: fewer than 60 overlapping days in some unit+0.03GFM (S-1) × CYGNSS median Spearman ρ across 10 units = +0.03 (IQR -0.13…+0.15) overlapping days per unit: median 90, min 85MODIS+0.19MODIS × FloodScan median Spearman ρ across 6 units = +0.19 (IQR +0.03…+0.48) overlapping days per unit: median 97, min 33 THIN: fewer than 60 overlapping days in some unit+0.03MODIS × GFDS median Spearman ρ across 5 units = +0.03 (IQR -0.16…+0.15) overlapping days per unit: median 93, min 61+0.10MODIS × GFM (S-1) median Spearman ρ across 2 units = +0.10 (IQR +0.06…+0.14) overlapping days per unit: median 61, min 58 THIN: fewer than 60 overlapping days in some unitMODIS × MODIS —-0.02MODIS × CYGNSS median Spearman ρ across 6 units = -0.02 (IQR -0.14…+0.50) overlapping days per unit: median 98, min 34 THIN: fewer than 60 overlapping days in some unitCYGNSS+0.10CYGNSS × FloodScan median Spearman ρ across 10 units = +0.10 (IQR -0.03…+0.46) overlapping days per unit: median 365, min 365+0.03CYGNSS × GFDS median Spearman ρ across 10 units = +0.03 (IQR -0.20…+0.13) overlapping days per unit: median 292, min 276+0.03CYGNSS × GFM (S-1) median Spearman ρ across 10 units = +0.03 (IQR -0.13…+0.15) overlapping days per unit: median 90, min 85-0.02CYGNSS × MODIS median Spearman ρ across 6 units = -0.02 (IQR -0.14…+0.50) overlapping days per unit: median 98, min 34 THIN: fewer than 60 overlapping days in some unitCYGNSS × CYGNSS —hover a cell for n; grey text = thin overlap; hatched = fewer than 30 shared days everywhereresidual z (61-day rolling median removed)FloodScanGFDSGFM (S-1)MODISCYGNSSFloodScanFloodScan × FloodScan —-0.01FloodScan × GFDS median Spearman ρ across 10 units = -0.01 (IQR -0.06…+0.05) overlapping days per unit: median 291, min 275-0.02FloodScan × GFM (S-1) median Spearman ρ across 10 units = -0.02 (IQR -0.06…+0.11) overlapping days per unit: median 87, min 80-0.05FloodScan × MODIS median Spearman ρ across 5 units = -0.05 (IQR -0.09…+0.10) overlapping days per unit: median 99, min 68-0.00FloodScan × CYGNSS median Spearman ρ across 10 units = -0.00 (IQR -0.04…+0.05) overlapping days per unit: median 365, min 365GFDS-0.01GFDS × FloodScan median Spearman ρ across 10 units = -0.01 (IQR -0.06…+0.05) overlapping days per unit: median 291, min 275GFDS × GFDS —+0.01GFDS × GFM (S-1) median Spearman ρ across 10 units = +0.01 (IQR -0.04…+0.04) overlapping days per unit: median 72, min 62+0.10GFDS × MODIS median Spearman ρ across 5 units = +0.10 (IQR +0.08…+0.18) overlapping days per unit: median 88, min 55 THIN: fewer than 60 overlapping days in some unit-0.02GFDS × CYGNSS median Spearman ρ across 10 units = -0.02 (IQR -0.07…-0.01) overlapping days per unit: median 292, min 276GFM (S-1)-0.02GFM (S-1) × FloodScan median Spearman ρ across 10 units = -0.02 (IQR -0.06…+0.11) overlapping days per unit: median 87, min 80+0.01GFM (S-1) × GFDS median Spearman ρ across 10 units = +0.01 (IQR -0.04…+0.04) overlapping days per unit: median 72, min 62GFM (S-1) × GFM (S-1) —+0.09GFM (S-1) × MODIS median Spearman ρ across 2 units = +0.09 (IQR +0.09…+0.10) overlapping days per unit: median 58, min 55 THIN: fewer than 60 overlapping days in some unit-0.01GFM (S-1) × CYGNSS median Spearman ρ across 10 units = -0.01 (IQR -0.08…+0.07) overlapping days per unit: median 87, min 80MODIS-0.05MODIS × FloodScan median Spearman ρ across 5 units = -0.05 (IQR -0.09…+0.10) overlapping days per unit: median 99, min 68+0.10MODIS × GFDS median Spearman ρ across 5 units = +0.10 (IQR +0.08…+0.18) overlapping days per unit: median 88, min 55 THIN: fewer than 60 overlapping days in some unit+0.09MODIS × GFM (S-1) median Spearman ρ across 2 units = +0.09 (IQR +0.09…+0.10) overlapping days per unit: median 58, min 55 THIN: fewer than 60 overlapping days in some unitMODIS × MODIS —+0.00MODIS × CYGNSS median Spearman ρ across 5 units = +0.00 (IQR -0.21…+0.16) overlapping days per unit: median 100, min 69CYGNSS-0.00CYGNSS × FloodScan median Spearman ρ across 10 units = -0.00 (IQR -0.04…+0.05) overlapping days per unit: median 365, min 365-0.02CYGNSS × GFDS median Spearman ρ across 10 units = -0.02 (IQR -0.07…-0.01) overlapping days per unit: median 292, min 276-0.01CYGNSS × GFM (S-1) median Spearman ρ across 10 units = -0.01 (IQR -0.08…+0.07) overlapping days per unit: median 87, min 80+0.00CYGNSS × MODIS median Spearman ρ across 5 units = +0.00 (IQR -0.21…+0.16) overlapping days per unit: median 100, min 69CYGNSS × CYGNSS —hover a cell for n; grey text = thin overlap; hatched = fewer than 30 shared days everywhere
What is shown
Spearman rank correlation between two products' z-scores computed WITHIN each province on the days both observed (≥ 20 % of the unit), then the median across provinces. Left: raw z. Right: z minus a centred 61-day rolling median per series, which removes the slow seasonal drift every in-period z carries. Colour: blue negative, red positive, saturation ∝ |ρ| up to 0.8. Hover shows the number of overlapping days.
Why it matters
Raw-value correlation between flood products mostly measures the rainy season. The residual matrix is the honest one; the difference between the two is the seasonality.
What we observe
Strongest raw pair: FloodScan–MODIS ρ = +0.19. Strongest residual pair: GFDS–MODIS ρ = +0.10 over a median of 88 shared days. Median residual |ρ| across all pairs: 0.01.
Caveats
Daily correlation is the wrong lens for products with 6–12-day revisit (GFM), a 4-day running mean (GFDS) or a 30-day composite (CYGNSS); see the lagged view. Constant series (floored zeros) give undefined ρ and are excluded.
When two products do agree, which one moves first, and by how many days?Cameroon 2024: lagged cross-correlation between daily products
−30 −20 −10 0 10 20 30 lag in days (positive = the second product moves AFTER the first) −0.2 −0.1 0.0 0.1 0.2 median Spearman ρ across provinces (residual z) GFDS → FloodScan GFDS → CYGNSS FloodScan → CYGNSS FloodScan → MODIS GFDS → MODIS MODIS → CYGNSS
What is shown
Median-across-provinces Spearman correlation of the first product's residual z at day t with the second's at day t + lag, for lags −30…+30. Dot = the lag of maximum correlation.
Why it matters
Products with different temporal smoothing cannot be compared at lag zero; the lag at maximum correlation is itself a measurement of the product's delay.
What we observe
GFDS→FloodScan peaks at lag +10 d (ρ +0.05, 10 units); GFDS→CYGNSS peaks at lag +17 d (ρ +0.09, 10 units); FloodScan→CYGNSS peaks at lag +22 d (ρ +0.06, 10 units); FloodScan→MODIS peaks at lag +28 d (ρ +0.15, 5 units); GFDS→MODIS peaks at lag +26 d (ρ +0.14, 5 units); MODIS→CYGNSS peaks at lag +27 d (ρ +0.21, 5 units).
Caveats
Low peak correlations (|ρ| < 0.2) mean the lag is poorly determined; it is reported, not interpreted.
Do the products move together from day to day, once shared seasonality is removed?Niger 2024: product-to-product agreement, day by day, within provinces
raw zFloodScanGFDSGFM (S-1)MODISCYGNSSFloodScanFloodScan × FloodScan —+0.06FloodScan × GFDS median Spearman ρ across 7 units = +0.06 (IQR +0.02…+0.16) overlapping days per unit: median 341, min 323+0.22FloodScan × GFM (S-1) median Spearman ρ across 7 units = +0.22 (IQR +0.15…+0.24) overlapping days per unit: median 90, min 55 THIN: fewer than 60 overlapping days in some unit-0.03FloodScan × MODIS median Spearman ρ across 7 units = -0.03 (IQR -0.10…+0.45) overlapping days per unit: median 311, min 267+0.06FloodScan × CYGNSS median Spearman ρ across 7 units = +0.06 (IQR -0.00…+0.54) overlapping days per unit: median 365, min 365GFDS+0.06GFDS × FloodScan median Spearman ρ across 7 units = +0.06 (IQR +0.02…+0.16) overlapping days per unit: median 341, min 323GFDS × GFDS —+0.09GFDS × GFM (S-1) median Spearman ρ across 8 units = +0.09 (IQR +0.04…+0.26) overlapping days per unit: median 93, min 52 THIN: fewer than 60 overlapping days in some unit-0.20GFDS × MODIS median Spearman ρ across 8 units = -0.20 (IQR -0.38…+0.08) overlapping days per unit: median 308, min 241-0.17GFDS × CYGNSS median Spearman ρ across 8 units = -0.17 (IQR -0.32…+0.13) overlapping days per unit: median 342, min 324GFM (S-1)+0.22GFM (S-1) × FloodScan median Spearman ρ across 7 units = +0.22 (IQR +0.15…+0.24) overlapping days per unit: median 90, min 55 THIN: fewer than 60 overlapping days in some unit+0.09GFM (S-1) × GFDS median Spearman ρ across 8 units = +0.09 (IQR +0.04…+0.26) overlapping days per unit: median 93, min 52 THIN: fewer than 60 overlapping days in some unitGFM (S-1) × GFM (S-1) —+0.02GFM (S-1) × MODIS median Spearman ρ across 7 units = +0.02 (IQR -0.07…+0.16) overlapping days per unit: median 94, min 62+0.22GFM (S-1) × CYGNSS median Spearman ρ across 8 units = +0.22 (IQR +0.10…+0.26) overlapping days per unit: median 100, min 55 THIN: fewer than 60 overlapping days in some unitMODIS-0.03MODIS × FloodScan median Spearman ρ across 7 units = -0.03 (IQR -0.10…+0.45) overlapping days per unit: median 311, min 267-0.20MODIS × GFDS median Spearman ρ across 8 units = -0.20 (IQR -0.38…+0.08) overlapping days per unit: median 308, min 241+0.02MODIS × GFM (S-1) median Spearman ρ across 7 units = +0.02 (IQR -0.07…+0.16) overlapping days per unit: median 94, min 62MODIS × MODIS —+0.56MODIS × CYGNSS median Spearman ρ across 8 units = +0.56 (IQR +0.47…+0.70) overlapping days per unit: median 326, min 268CYGNSS+0.06CYGNSS × FloodScan median Spearman ρ across 7 units = +0.06 (IQR -0.00…+0.54) overlapping days per unit: median 365, min 365-0.17CYGNSS × GFDS median Spearman ρ across 8 units = -0.17 (IQR -0.32…+0.13) overlapping days per unit: median 342, min 324+0.22CYGNSS × GFM (S-1) median Spearman ρ across 8 units = +0.22 (IQR +0.10…+0.26) overlapping days per unit: median 100, min 55 THIN: fewer than 60 overlapping days in some unit+0.56CYGNSS × MODIS median Spearman ρ across 8 units = +0.56 (IQR +0.47…+0.70) overlapping days per unit: median 326, min 268CYGNSS × CYGNSS —hover a cell for n; grey text = thin overlap; hatched = fewer than 30 shared days everywhereresidual z (61-day rolling median removed)FloodScanGFDSGFM (S-1)MODISCYGNSSFloodScanFloodScan × FloodScan —+0.01FloodScan × GFDS median Spearman ρ across 7 units = +0.01 (IQR -0.08…+0.10) overlapping days per unit: median 341, min 323+0.07FloodScan × GFM (S-1) median Spearman ρ across 6 units = +0.07 (IQR -0.00…+0.13) overlapping days per unit: median 96, min 75-0.01FloodScan × MODIS median Spearman ρ across 7 units = -0.01 (IQR -0.02…+0.14) overlapping days per unit: median 311, min 267+0.03FloodScan × CYGNSS median Spearman ρ across 7 units = +0.03 (IQR -0.01…+0.06) overlapping days per unit: median 365, min 365GFDS+0.01GFDS × FloodScan median Spearman ρ across 7 units = +0.01 (IQR -0.08…+0.10) overlapping days per unit: median 341, min 323GFDS × GFDS —+0.03GFDS × GFM (S-1) median Spearman ρ across 7 units = +0.03 (IQR -0.04…+0.10) overlapping days per unit: median 100, min 66-0.02GFDS × MODIS median Spearman ρ across 8 units = -0.02 (IQR -0.03…-0.01) overlapping days per unit: median 308, min 241+0.03GFDS × CYGNSS median Spearman ρ across 8 units = +0.03 (IQR -0.01…+0.07) overlapping days per unit: median 342, min 324GFM (S-1)+0.07GFM (S-1) × FloodScan median Spearman ρ across 6 units = +0.07 (IQR -0.00…+0.13) overlapping days per unit: median 96, min 75+0.03GFM (S-1) × GFDS median Spearman ρ across 7 units = +0.03 (IQR -0.04…+0.10) overlapping days per unit: median 100, min 66GFM (S-1) × GFM (S-1) —+0.02GFM (S-1) × MODIS median Spearman ρ across 7 units = +0.02 (IQR -0.00…+0.07) overlapping days per unit: median 92, min 55 THIN: fewer than 60 overlapping days in some unit+0.01GFM (S-1) × CYGNSS median Spearman ρ across 7 units = +0.01 (IQR -0.02…+0.05) overlapping days per unit: median 107, min 75MODIS-0.01MODIS × FloodScan median Spearman ρ across 7 units = -0.01 (IQR -0.02…+0.14) overlapping days per unit: median 311, min 267-0.02MODIS × GFDS median Spearman ρ across 8 units = -0.02 (IQR -0.03…-0.01) overlapping days per unit: median 308, min 241+0.02MODIS × GFM (S-1) median Spearman ρ across 7 units = +0.02 (IQR -0.00…+0.07) overlapping days per unit: median 92, min 55 THIN: fewer than 60 overlapping days in some unitMODIS × MODIS —+0.01MODIS × CYGNSS median Spearman ρ across 8 units = +0.01 (IQR -0.01…+0.06) overlapping days per unit: median 326, min 268CYGNSS+0.03CYGNSS × FloodScan median Spearman ρ across 7 units = +0.03 (IQR -0.01…+0.06) overlapping days per unit: median 365, min 365+0.03CYGNSS × GFDS median Spearman ρ across 8 units = +0.03 (IQR -0.01…+0.07) overlapping days per unit: median 342, min 324+0.01CYGNSS × GFM (S-1) median Spearman ρ across 7 units = +0.01 (IQR -0.02…+0.05) overlapping days per unit: median 107, min 75+0.01CYGNSS × MODIS median Spearman ρ across 8 units = +0.01 (IQR -0.01…+0.06) overlapping days per unit: median 326, min 268CYGNSS × CYGNSS —hover a cell for n; grey text = thin overlap; hatched = fewer than 30 shared days everywhere
What is shown
Spearman rank correlation between two products' z-scores computed WITHIN each province on the days both observed (≥ 20 % of the unit), then the median across provinces. Left: raw z. Right: z minus a centred 61-day rolling median per series, which removes the slow seasonal drift every in-period z carries. Colour: blue negative, red positive, saturation ∝ |ρ| up to 0.8. Hover shows the number of overlapping days.
Why it matters
Raw-value correlation between flood products mostly measures the rainy season. The residual matrix is the honest one; the difference between the two is the seasonality.
What we observe
Strongest raw pair: CYGNSS–MODIS ρ = +0.56. Strongest residual pair: FloodScan–GFM (S-1) ρ = +0.07 over a median of 96 shared days. Median residual |ρ| across all pairs: 0.02.
Caveats
Daily correlation is the wrong lens for products with 6–12-day revisit (GFM), a 4-day running mean (GFDS) or a 30-day composite (CYGNSS); see the lagged view. Constant series (floored zeros) give undefined ρ and are excluded.
When two products do agree, which one moves first, and by how many days?Niger 2024: lagged cross-correlation between daily products
−30 −20 −10 0 10 20 30 lag in days (positive = the second product moves AFTER the first) −0.075 −0.050 −0.025 0.000 0.025 0.050 0.075 0.100 median Spearman ρ across provinces (residual z) GFDS → FloodScan GFDS → CYGNSS FloodScan → CYGNSS FloodScan → MODIS GFDS → MODIS MODIS → CYGNSS
What is shown
Median-across-provinces Spearman correlation of the first product's residual z at day t with the second's at day t + lag, for lags −30…+30. Dot = the lag of maximum correlation.
Why it matters
Products with different temporal smoothing cannot be compared at lag zero; the lag at maximum correlation is itself a measurement of the product's delay.
What we observe
GFDS→FloodScan peaks at lag +3 d (ρ +0.11, 7 units); GFDS→CYGNSS peaks at lag +29 d (ρ +0.05, 8 units); FloodScan→CYGNSS peaks at lag +19 d (ρ +0.11, 7 units); FloodScan→MODIS peaks at lag +25 d (ρ +0.09, 7 units); GFDS→MODIS peaks at lag -17 d (ρ +0.06, 8 units); MODIS→CYGNSS peaks at lag -2 d (ρ +0.06, 8 units).
Caveats
Low peak correlations (|ρ| < 0.2) mean the lag is poorly determined; it is reported, not interpreted.
Do the products move together from day to day, once shared seasonality is removed?Bangladesh 2024: product-to-product agreement, day by day, within provinces
raw zGFDSGFM (S-1)MODISCYGNSSGFDSGFDS × GFDS —+0.16GFDS × GFM (S-1) median Spearman ρ across 8 units = +0.16 (IQR +0.10…+0.21) overlapping days per unit: median 131, min 109+0.69GFDS × MODIS median Spearman ρ across 8 units = +0.69 (IQR +0.46…+0.75) overlapping days per unit: median 164, min 154+0.39GFDS × CYGNSS median Spearman ρ across 8 units = +0.39 (IQR +0.16…+0.49) overlapping days per unit: median 295, min 292GFM (S-1)+0.16GFM (S-1) × GFDS median Spearman ρ across 8 units = +0.16 (IQR +0.10…+0.21) overlapping days per unit: median 131, min 109GFM (S-1) × GFM (S-1) —+0.23GFM (S-1) × MODIS median Spearman ρ across 8 units = +0.23 (IQR +0.19…+0.30) overlapping days per unit: median 89, min 80+0.04GFM (S-1) × CYGNSS median Spearman ρ across 8 units = +0.04 (IQR +0.01…+0.22) overlapping days per unit: median 166, min 136MODIS+0.69MODIS × GFDS median Spearman ρ across 8 units = +0.69 (IQR +0.46…+0.75) overlapping days per unit: median 164, min 154+0.23MODIS × GFM (S-1) median Spearman ρ across 8 units = +0.23 (IQR +0.19…+0.30) overlapping days per unit: median 89, min 80MODIS × MODIS —+0.35MODIS × CYGNSS median Spearman ρ across 8 units = +0.35 (IQR +0.22…+0.53) overlapping days per unit: median 196, min 192CYGNSS+0.39CYGNSS × GFDS median Spearman ρ across 8 units = +0.39 (IQR +0.16…+0.49) overlapping days per unit: median 295, min 292+0.04CYGNSS × GFM (S-1) median Spearman ρ across 8 units = +0.04 (IQR +0.01…+0.22) overlapping days per unit: median 166, min 136+0.35CYGNSS × MODIS median Spearman ρ across 8 units = +0.35 (IQR +0.22…+0.53) overlapping days per unit: median 196, min 192CYGNSS × CYGNSS —hover a cell for n; grey text = thin overlap; hatched = fewer than 30 shared days everywhereresidual z (61-day rolling median removed)GFDSGFM (S-1)MODISCYGNSSGFDSGFDS × GFDS —+0.03GFDS × GFM (S-1) median Spearman ρ across 8 units = +0.03 (IQR -0.04…+0.10) overlapping days per unit: median 131, min 109+0.08GFDS × MODIS median Spearman ρ across 8 units = +0.08 (IQR +0.01…+0.23) overlapping days per unit: median 163, min 152+0.07GFDS × CYGNSS median Spearman ρ across 8 units = +0.07 (IQR -0.02…+0.11) overlapping days per unit: median 295, min 292GFM (S-1)+0.03GFM (S-1) × GFDS median Spearman ρ across 8 units = +0.03 (IQR -0.04…+0.10) overlapping days per unit: median 131, min 109GFM (S-1) × GFM (S-1) —-0.01GFM (S-1) × MODIS median Spearman ρ across 8 units = -0.01 (IQR -0.14…+0.02) overlapping days per unit: median 88, min 79-0.06GFM (S-1) × CYGNSS median Spearman ρ across 8 units = -0.06 (IQR -0.08…-0.01) overlapping days per unit: median 166, min 136MODIS+0.08MODIS × GFDS median Spearman ρ across 8 units = +0.08 (IQR +0.01…+0.23) overlapping days per unit: median 163, min 152-0.01MODIS × GFM (S-1) median Spearman ρ across 8 units = -0.01 (IQR -0.14…+0.02) overlapping days per unit: median 88, min 79MODIS × MODIS —-0.00MODIS × CYGNSS median Spearman ρ across 8 units = -0.00 (IQR -0.05…+0.12) overlapping days per unit: median 194, min 191CYGNSS+0.07CYGNSS × GFDS median Spearman ρ across 8 units = +0.07 (IQR -0.02…+0.11) overlapping days per unit: median 295, min 292-0.06CYGNSS × GFM (S-1) median Spearman ρ across 8 units = -0.06 (IQR -0.08…-0.01) overlapping days per unit: median 166, min 136-0.00CYGNSS × MODIS median Spearman ρ across 8 units = -0.00 (IQR -0.05…+0.12) overlapping days per unit: median 194, min 191CYGNSS × CYGNSS —hover a cell for n; grey text = thin overlap; hatched = fewer than 30 shared days everywhere
What is shown
Spearman rank correlation between two products' z-scores computed WITHIN each province on the days both observed (≥ 20 % of the unit), then the median across provinces. Left: raw z. Right: z minus a centred 61-day rolling median per series, which removes the slow seasonal drift every in-period z carries. Colour: blue negative, red positive, saturation ∝ |ρ| up to 0.8. Hover shows the number of overlapping days.
Why it matters
Raw-value correlation between flood products mostly measures the rainy season. The residual matrix is the honest one; the difference between the two is the seasonality.
What we observe
Strongest raw pair: GFDS–MODIS ρ = +0.69. Strongest residual pair: GFDS–MODIS ρ = +0.08 over a median of 163 shared days. Median residual |ρ| across all pairs: 0.05.
Caveats
Daily correlation is the wrong lens for products with 6–12-day revisit (GFM), a 4-day running mean (GFDS) or a 30-day composite (CYGNSS); see the lagged view. Constant series (floored zeros) give undefined ρ and are excluded.
When two products do agree, which one moves first, and by how many days?Bangladesh 2024: lagged cross-correlation between daily products
−30 −20 −10 0 10 20 30 lag in days (positive = the second product moves AFTER the first) −0.15 −0.10 −0.05 0.00 0.05 0.10 0.15 median Spearman ρ across provinces (residual z) GFDS → CYGNSS GFDS → MODIS MODIS → CYGNSS
What is shown
Median-across-provinces Spearman correlation of the first product's residual z at day t with the second's at day t + lag, for lags −30…+30. Dot = the lag of maximum correlation.
Why it matters
Products with different temporal smoothing cannot be compared at lag zero; the lag at maximum correlation is itself a measurement of the product's delay.
What we observe
GFDS→CYGNSS peaks at lag +16 d (ρ +0.16, 8 units); GFDS→MODIS peaks at lag +1 d (ρ +0.17, 8 units); MODIS→CYGNSS peaks at lag +23 d (ρ +0.17, 8 units).
Caveats
Low peak correlations (|ρ| < 0.2) mean the lag is poorly determined; it is reported, not interpreted.
Do the products move together from day to day, once shared seasonality is removed?Mozambique 2026: product-to-product agreement, day by day, within provinces
raw zFloodScanGFDSGFM (S-1)MODISVIIRSCYGNSSFloodScanFloodScan × FloodScan —+0.33FloodScan × GFDS median Spearman ρ across 11 units = +0.33 (IQR +0.19…+0.36) overlapping days per unit: median 180, min 178+0.31FloodScan × GFM (S-1) median Spearman ρ across 11 units = +0.31 (IQR +0.22…+0.42) overlapping days per unit: median 98, min 62-0.03FloodScan × MODIS median Spearman ρ across 11 units = -0.03 (IQR -0.13…+0.24) overlapping days per unit: median 114, min 91+0.09FloodScan × VIIRS median Spearman ρ across 11 units = +0.09 (IQR -0.06…+0.33) overlapping days per unit: median 115, min 95+0.25FloodScan × CYGNSS median Spearman ρ across 11 units = +0.25 (IQR +0.05…+0.36) overlapping days per unit: median 177, min 177GFDS+0.33GFDS × FloodScan median Spearman ρ across 11 units = +0.33 (IQR +0.19…+0.36) overlapping days per unit: median 180, min 178GFDS × GFDS —+0.19GFDS × GFM (S-1) median Spearman ρ across 11 units = +0.19 (IQR +0.14…+0.20) overlapping days per unit: median 96, min 62-0.00GFDS × MODIS median Spearman ρ across 11 units = -0.00 (IQR -0.06…+0.12) overlapping days per unit: median 114, min 91+0.04GFDS × VIIRS median Spearman ρ across 11 units = +0.04 (IQR -0.04…+0.14) overlapping days per unit: median 115, min 95-0.06GFDS × CYGNSS median Spearman ρ across 11 units = -0.06 (IQR -0.10…+0.04) overlapping days per unit: median 176, min 174GFM (S-1)+0.31GFM (S-1) × FloodScan median Spearman ρ across 11 units = +0.31 (IQR +0.22…+0.42) overlapping days per unit: median 98, min 62+0.19GFM (S-1) × GFDS median Spearman ρ across 11 units = +0.19 (IQR +0.14…+0.20) overlapping days per unit: median 96, min 62GFM (S-1) × GFM (S-1) —+0.01GFM (S-1) × MODIS median Spearman ρ across 11 units = +0.01 (IQR -0.06…+0.08) overlapping days per unit: median 69, min 42 THIN: fewer than 60 overlapping days in some unit+0.04GFM (S-1) × VIIRS median Spearman ρ across 11 units = +0.04 (IQR -0.09…+0.12) overlapping days per unit: median 65, min 39 THIN: fewer than 60 overlapping days in some unit+0.14GFM (S-1) × CYGNSS median Spearman ρ across 11 units = +0.14 (IQR +0.06…+0.18) overlapping days per unit: median 97, min 61MODIS-0.03MODIS × FloodScan median Spearman ρ across 11 units = -0.03 (IQR -0.13…+0.24) overlapping days per unit: median 114, min 91-0.00MODIS × GFDS median Spearman ρ across 11 units = -0.00 (IQR -0.06…+0.12) overlapping days per unit: median 114, min 91+0.01MODIS × GFM (S-1) median Spearman ρ across 11 units = +0.01 (IQR -0.06…+0.08) overlapping days per unit: median 69, min 42 THIN: fewer than 60 overlapping days in some unitMODIS × MODIS —+0.50MODIS × VIIRS median Spearman ρ across 11 units = +0.50 (IQR +0.40…+0.65) overlapping days per unit: median 105, min 82+0.04MODIS × CYGNSS median Spearman ρ across 11 units = +0.04 (IQR -0.06…+0.17) overlapping days per unit: median 113, min 90VIIRS+0.09VIIRS × FloodScan median Spearman ρ across 11 units = +0.09 (IQR -0.06…+0.33) overlapping days per unit: median 115, min 95+0.04VIIRS × GFDS median Spearman ρ across 11 units = +0.04 (IQR -0.04…+0.14) overlapping days per unit: median 115, min 95+0.04VIIRS × GFM (S-1) median Spearman ρ across 11 units = +0.04 (IQR -0.09…+0.12) overlapping days per unit: median 65, min 39 THIN: fewer than 60 overlapping days in some unit+0.50VIIRS × MODIS median Spearman ρ across 11 units = +0.50 (IQR +0.40…+0.65) overlapping days per unit: median 105, min 82VIIRS × VIIRS —+0.04VIIRS × CYGNSS median Spearman ρ across 11 units = +0.04 (IQR -0.11…+0.19) overlapping days per unit: median 111, min 91CYGNSS+0.25CYGNSS × FloodScan median Spearman ρ across 11 units = +0.25 (IQR +0.05…+0.36) overlapping days per unit: median 177, min 177-0.06CYGNSS × GFDS median Spearman ρ across 11 units = -0.06 (IQR -0.10…+0.04) overlapping days per unit: median 176, min 174+0.14CYGNSS × GFM (S-1) median Spearman ρ across 11 units = +0.14 (IQR +0.06…+0.18) overlapping days per unit: median 97, min 61+0.04CYGNSS × MODIS median Spearman ρ across 11 units = +0.04 (IQR -0.06…+0.17) overlapping days per unit: median 113, min 90+0.04CYGNSS × VIIRS median Spearman ρ across 11 units = +0.04 (IQR -0.11…+0.19) overlapping days per unit: median 111, min 91CYGNSS × CYGNSS —hover a cell for n; grey text = thin overlap; hatched = fewer than 30 shared days everywhereresidual z (61-day rolling median removed)FloodScanGFDSGFM (S-1)MODISVIIRSCYGNSSFloodScanFloodScan × FloodScan —+0.13FloodScan × GFDS median Spearman ρ across 11 units = +0.13 (IQR +0.08…+0.26) overlapping days per unit: median 180, min 178+0.28FloodScan × GFM (S-1) median Spearman ρ across 11 units = +0.28 (IQR +0.11…+0.41) overlapping days per unit: median 98, min 62+0.09FloodScan × MODIS median Spearman ρ across 11 units = +0.09 (IQR +0.02…+0.29) overlapping days per unit: median 112, min 79+0.16FloodScan × VIIRS median Spearman ρ across 11 units = +0.16 (IQR +0.10…+0.36) overlapping days per unit: median 113, min 84+0.16FloodScan × CYGNSS median Spearman ρ across 11 units = +0.16 (IQR +0.00…+0.41) overlapping days per unit: median 177, min 177GFDS+0.13GFDS × FloodScan median Spearman ρ across 11 units = +0.13 (IQR +0.08…+0.26) overlapping days per unit: median 180, min 178GFDS × GFDS —+0.08GFDS × GFM (S-1) median Spearman ρ across 11 units = +0.08 (IQR +0.05…+0.17) overlapping days per unit: median 96, min 62-0.01GFDS × MODIS median Spearman ρ across 11 units = -0.01 (IQR -0.03…+0.11) overlapping days per unit: median 112, min 79+0.02GFDS × VIIRS median Spearman ρ across 11 units = +0.02 (IQR -0.02…+0.18) overlapping days per unit: median 113, min 84-0.07GFDS × CYGNSS median Spearman ρ across 11 units = -0.07 (IQR -0.13…-0.01) overlapping days per unit: median 176, min 174GFM (S-1)+0.28GFM (S-1) × FloodScan median Spearman ρ across 11 units = +0.28 (IQR +0.11…+0.41) overlapping days per unit: median 98, min 62+0.08GFM (S-1) × GFDS median Spearman ρ across 11 units = +0.08 (IQR +0.05…+0.17) overlapping days per unit: median 96, min 62GFM (S-1) × GFM (S-1) —+0.10GFM (S-1) × MODIS median Spearman ρ across 11 units = +0.10 (IQR +0.07…+0.18) overlapping days per unit: median 69, min 41 THIN: fewer than 60 overlapping days in some unit+0.21GFM (S-1) × VIIRS median Spearman ρ across 11 units = +0.21 (IQR +0.06…+0.32) overlapping days per unit: median 65, min 38 THIN: fewer than 60 overlapping days in some unit+0.07GFM (S-1) × CYGNSS median Spearman ρ across 11 units = +0.07 (IQR -0.01…+0.20) overlapping days per unit: median 97, min 61MODIS+0.09MODIS × FloodScan median Spearman ρ across 11 units = +0.09 (IQR +0.02…+0.29) overlapping days per unit: median 112, min 79-0.01MODIS × GFDS median Spearman ρ across 11 units = -0.01 (IQR -0.03…+0.11) overlapping days per unit: median 112, min 79+0.10MODIS × GFM (S-1) median Spearman ρ across 11 units = +0.10 (IQR +0.07…+0.18) overlapping days per unit: median 69, min 41 THIN: fewer than 60 overlapping days in some unitMODIS × MODIS —+0.28MODIS × VIIRS median Spearman ρ across 11 units = +0.28 (IQR +0.13…+0.51) overlapping days per unit: median 103, min 72+0.02MODIS × CYGNSS median Spearman ρ across 11 units = +0.02 (IQR -0.01…+0.10) overlapping days per unit: median 111, min 78VIIRS+0.16VIIRS × FloodScan median Spearman ρ across 11 units = +0.16 (IQR +0.10…+0.36) overlapping days per unit: median 113, min 84+0.02VIIRS × GFDS median Spearman ρ across 11 units = +0.02 (IQR -0.02…+0.18) overlapping days per unit: median 113, min 84+0.21VIIRS × GFM (S-1) median Spearman ρ across 11 units = +0.21 (IQR +0.06…+0.32) overlapping days per unit: median 65, min 38 THIN: fewer than 60 overlapping days in some unit+0.28VIIRS × MODIS median Spearman ρ across 11 units = +0.28 (IQR +0.13…+0.51) overlapping days per unit: median 103, min 72VIIRS × VIIRS —+0.06VIIRS × CYGNSS median Spearman ρ across 11 units = +0.06 (IQR -0.01…+0.13) overlapping days per unit: median 109, min 80CYGNSS+0.16CYGNSS × FloodScan median Spearman ρ across 11 units = +0.16 (IQR +0.00…+0.41) overlapping days per unit: median 177, min 177-0.07CYGNSS × GFDS median Spearman ρ across 11 units = -0.07 (IQR -0.13…-0.01) overlapping days per unit: median 176, min 174+0.07CYGNSS × GFM (S-1) median Spearman ρ across 11 units = +0.07 (IQR -0.01…+0.20) overlapping days per unit: median 97, min 61+0.02CYGNSS × MODIS median Spearman ρ across 11 units = +0.02 (IQR -0.01…+0.10) overlapping days per unit: median 111, min 78+0.06CYGNSS × VIIRS median Spearman ρ across 11 units = +0.06 (IQR -0.01…+0.13) overlapping days per unit: median 109, min 80CYGNSS × CYGNSS —hover a cell for n; grey text = thin overlap; hatched = fewer than 30 shared days everywhere
What is shown
Spearman rank correlation between two products' z-scores computed WITHIN each province on the days both observed (≥ 20 % of the unit), then the median across provinces. Left: raw z. Right: z minus a centred 61-day rolling median per series, which removes the slow seasonal drift every in-period z carries. Colour: blue negative, red positive, saturation ∝ |ρ| up to 0.8. Hover shows the number of overlapping days.
Why it matters
Raw-value correlation between flood products mostly measures the rainy season. The residual matrix is the honest one; the difference between the two is the seasonality.
What we observe
Strongest raw pair: MODIS–VIIRS ρ = +0.50. Strongest residual pair: MODIS–VIIRS ρ = +0.28 over a median of 103 shared days. Median residual |ρ| across all pairs: 0.09.
Caveats
Daily correlation is the wrong lens for products with 6–12-day revisit (GFM), a 4-day running mean (GFDS) or a 30-day composite (CYGNSS); see the lagged view. Constant series (floored zeros) give undefined ρ and are excluded.
When two products do agree, which one moves first, and by how many days?Mozambique 2026: lagged cross-correlation between daily products
−30 −20 −10 0 10 20 30 lag in days (positive = the second product moves AFTER the first) −0.3 −0.2 −0.1 0.0 0.1 0.2 0.3 median Spearman ρ across provinces (residual z) GFDS → FloodScan GFDS → CYGNSS FloodScan → CYGNSS FloodScan → MODIS GFDS → MODIS MODIS → VIIRS MODIS → CYGNSS
What is shown
Median-across-provinces Spearman correlation of the first product's residual z at day t with the second's at day t + lag, for lags −30…+30. Dot = the lag of maximum correlation.
Why it matters
Products with different temporal smoothing cannot be compared at lag zero; the lag at maximum correlation is itself a measurement of the product's delay.
What we observe
GFDS→FloodScan peaks at lag +4 d (ρ +0.26, 11 units); GFDS→CYGNSS peaks at lag +19 d (ρ +0.19, 11 units); FloodScan→CYGNSS peaks at lag +6 d (ρ +0.33, 11 units); FloodScan→MODIS peaks at lag +3 d (ρ +0.22, 11 units); GFDS→MODIS peaks at lag -1 d (ρ +0.11, 11 units); MODIS→VIIRS peaks at lag -1 d (ρ +0.29, 11 units); MODIS→CYGNSS peaks at lag +14 d (ρ +0.12, 11 units).
Caveats
Low peak correlations (|ρ| < 0.2) mean the lag is poorly determined; it is reported, not interpreted.

Spatial structure: do neighbours behave alike?

Is there spatial structure in the signals — do provinces that share a border show similar departures?Do neighbouring provinces behave alike? Adjacent versus non-adjacent correlation, per product
−0.2 0.0 0.2 0.4 0.6 0.8 1.0 mean Spearman ρ between two provinces' residual z (filled = neighbours, hollow = non-neighbours) Cameroon 2024 · FloodScan Cameroon 2024 · GFDS Cameroon 2024 · GFM (S-1) Cameroon 2024 · MODIS Cameroon 2024 · CYGNSS Niger 2024 · FloodScan Niger 2024 · GFDS Niger 2024 · GFM (S-1) Niger 2024 · MODIS Niger 2024 · CYGNSS Bangladesh 2024 · GFDS Bangladesh 2024 · GFM (S-1) Bangladesh 2024 · MODIS Bangladesh 2024 · CYGNSS Mozambique 2026 · FloodScan Mozambique 2026 · GFDS Mozambique 2026 · GFM (S-1) Mozambique 2026 · MODIS Mozambique 2026 · VIIRS Mozambique 2026 · CYGNSS Δ +0.16 p = 0.00** (17/28 pairs) Δ +0.18 p = 0.00** (17/28 pairs) Δ +0.34 p = 0.00** (15/20 pairs) Δ +0.30 p = 0.03* (5/5 pairs) Δ +0.17 p = 0.00** (17/28 pairs) Δ +0.13 p = 0.09 (8/13 pairs) Δ +0.27 p = 0.00** (11/17 pairs) Δ +0.22 p = 0.04* (8/2 pairs) Δ +0.10 p = 0.09 (11/17 pairs) Δ +0.05 p = 0.21 (11/17 pairs) Δ +0.20 p = 0.00** (14/14 pairs) Δ +0.18 p = 0.01* (14/14 pairs) Δ +0.21 p = 0.00** (14/14 pairs) Δ +0.19 p = 0.00** (14/14 pairs) Δ +0.40 p = 0.00** (16/39 pairs) Δ +0.18 p = 0.01** (16/39 pairs) Δ +0.29 p = 0.00** (16/38 pairs) Δ +0.42 p = 0.00** (16/39 pairs) Δ +0.36 p = 0.00** (16/39 pairs) Δ +0.26 p = 0.00** (16/39 pairs)
What is shown
For each product and case, the mean Spearman correlation of residual z between pairs of provinces that share a boundary (filled) versus pairs that do not (hollow); p from a permutation test that shuffles province labels (2 000 draws). Pairs need ≥ 30 shared days.
Why it matters
Floods are spatially coherent; a product that shows no neighbour effect is either noisy or resolving structure below province scale. For GFM, part of any neighbour effect is mechanical (shared 300 km tiles).
What we observe
17 of 20 case × product rows show a significantly higher correlation between neighbours (p < 0.05): Cameroon 2024 FloodScan (Δ +0.16), Cameroon 2024 GFDS (Δ +0.18), Cameroon 2024 GFM (S-1) (Δ +0.34), Cameroon 2024 MODIS (Δ +0.30), Cameroon 2024 CYGNSS (Δ +0.17), Niger 2024 GFDS (Δ +0.27), Niger 2024 GFM (S-1) (Δ +0.22), Bangladesh 2024 GFDS (Δ +0.20), Bangladesh 2024 GFM (S-1) (Δ +0.18), Bangladesh 2024 MODIS (Δ +0.21), Bangladesh 2024 CYGNSS (Δ +0.19), Mozambique 2026 FloodScan (Δ +0.40), Mozambique 2026 GFDS (Δ +0.18), Mozambique 2026 GFM (S-1) (Δ +0.29), Mozambique 2026 MODIS (Δ +0.42), Mozambique 2026 VIIRS (Δ +0.36), Mozambique 2026 CYGNSS (Δ +0.26).
Caveats
Eight to eleven provinces per country give 8–17 adjacent pairs; Niger's provinces are up to 620 000 km², so 'adjacent' says little about proximity of the actual water.
Mechanical coupling of provinces through shared GFM tiles (one matrix per case)
Which provinces' GFM series are correlated by construction?Cameroon 2024: mechanical coupling of provinces through shared GFM tiles
CM001CM002CM003CM004CM005CM006CM007CM008CM009CM010CM001CM001 × CM001: not defined60CM001 × CM002 60 % of CM001's GFM signal comes from tiles that also cover CM00298CM001 × CM003 98 % of CM001's GFM signal comes from tiles that also cover CM003CM001 × CM004 0 % of CM001's GFM signal comes from tiles that also cover CM004CM001 × CM005 0 % of CM001's GFM signal comes from tiles that also cover CM00598CM001 × CM006 98 % of CM001's GFM signal comes from tiles that also cover CM0062CM001 × CM007 2 % of CM001's GFM signal comes from tiles that also cover CM0072CM001 × CM008 2 % of CM001's GFM signal comes from tiles that also cover CM008CM001 × CM009 0 % of CM001's GFM signal comes from tiles that also cover CM0092CM001 × CM010 2 % of CM001's GFM signal comes from tiles that also cover CM010CM0027CM002 × CM001 7 % of CM002's GFM signal comes from tiles that also cover CM001CM002 × CM002: not defined15CM002 × CM003 15 % of CM002's GFM signal comes from tiles that also cover CM003CM002 × CM004 0 % of CM002's GFM signal comes from tiles that also cover CM00484CM002 × CM005 84 % of CM002's GFM signal comes from tiles that also cover CM0056CM002 × CM006 6 % of CM002's GFM signal comes from tiles that also cover CM00685CM002 × CM007 85 % of CM002's GFM signal comes from tiles that also cover CM00785CM002 × CM008 85 % of CM002's GFM signal comes from tiles that also cover CM00893CM002 × CM009 93 % of CM002's GFM signal comes from tiles that also cover CM00985CM002 × CM010 85 % of CM002's GFM signal comes from tiles that also cover CM010CM00320CM003 × CM001 20 % of CM003's GFM signal comes from tiles that also cover CM00137CM003 × CM002 37 % of CM003's GFM signal comes from tiles that also cover CM002CM003 × CM003: not definedCM003 × CM004 0 % of CM003's GFM signal comes from tiles that also cover CM004CM003 × CM005 0 % of CM003's GFM signal comes from tiles that also cover CM00520CM003 × CM006 20 % of CM003's GFM signal comes from tiles that also cover CM006CM003 × CM007 0 % of CM003's GFM signal comes from tiles that also cover CM007CM003 × CM008 0 % of CM003's GFM signal comes from tiles that also cover CM00836CM003 × CM009 36 % of CM003's GFM signal comes from tiles that also cover CM009CM003 × CM010 0 % of CM003's GFM signal comes from tiles that also cover CM010CM004CM004 × CM001 0 % of CM004's GFM signal comes from tiles that also cover CM001CM004 × CM002 0 % of CM004's GFM signal comes from tiles that also cover CM002CM004 × CM003 0 % of CM004's GFM signal comes from tiles that also cover CM003CM004 × CM004: not definedCM004 × CM005 0 % of CM004's GFM signal comes from tiles that also cover CM00565CM004 × CM006 65 % of CM004's GFM signal comes from tiles that also cover CM006CM004 × CM007 0 % of CM004's GFM signal comes from tiles that also cover CM007CM004 × CM008 0 % of CM004's GFM signal comes from tiles that also cover CM008CM004 × CM009 0 % of CM004's GFM signal comes from tiles that also cover CM009CM004 × CM010 0 % of CM004's GFM signal comes from tiles that also cover CM010CM005CM005 × CM001 0 % of CM005's GFM signal comes from tiles that also cover CM001100CM005 × CM002 100 % of CM005's GFM signal comes from tiles that also cover CM002CM005 × CM003 0 % of CM005's GFM signal comes from tiles that also cover CM003CM005 × CM004 0 % of CM005's GFM signal comes from tiles that also cover CM004CM005 × CM005: not definedCM005 × CM006 0 % of CM005's GFM signal comes from tiles that also cover CM006100CM005 × CM007 100 % of CM005's GFM signal comes from tiles that also cover CM007100CM005 × CM008 100 % of CM005's GFM signal comes from tiles that also cover CM008100CM005 × CM009 100 % of CM005's GFM signal comes from tiles that also cover CM009100CM005 × CM010 100 % of CM005's GFM signal comes from tiles that also cover CM010CM00629CM006 × CM001 29 % of CM006's GFM signal comes from tiles that also cover CM0016CM006 × CM002 6 % of CM006's GFM signal comes from tiles that also cover CM00229CM006 × CM003 29 % of CM006's GFM signal comes from tiles that also cover CM00371CM006 × CM004 71 % of CM006's GFM signal comes from tiles that also cover CM004CM006 × CM005 0 % of CM006's GFM signal comes from tiles that also cover CM005CM006 × CM006: not definedCM006 × CM007 0 % of CM006's GFM signal comes from tiles that also cover CM007CM006 × CM008 0 % of CM006's GFM signal comes from tiles that also cover CM008CM006 × CM009 0 % of CM006's GFM signal comes from tiles that also cover CM009CM006 × CM010 0 % of CM006's GFM signal comes from tiles that also cover CM010CM007100CM007 × CM001 100 % of CM007's GFM signal comes from tiles that also cover CM001100CM007 × CM002 100 % of CM007's GFM signal comes from tiles that also cover CM002CM007 × CM003 0 % of CM007's GFM signal comes from tiles that also cover CM003CM007 × CM004 0 % of CM007's GFM signal comes from tiles that also cover CM004CM007 × CM005 0 % of CM007's GFM signal comes from tiles that also cover CM005CM007 × CM006 0 % of CM007's GFM signal comes from tiles that also cover CM006CM007 × CM007: not defined100CM007 × CM008 100 % of CM007's GFM signal comes from tiles that also cover CM008CM007 × CM009 0 % of CM007's GFM signal comes from tiles that also cover CM009100CM007 × CM010 100 % of CM007's GFM signal comes from tiles that also cover CM010CM00815CM008 × CM001 15 % of CM008's GFM signal comes from tiles that also cover CM001100CM008 × CM002 100 % of CM008's GFM signal comes from tiles that also cover CM002CM008 × CM003 0 % of CM008's GFM signal comes from tiles that also cover CM003CM008 × CM004 0 % of CM008's GFM signal comes from tiles that also cover CM00485CM008 × CM005 85 % of CM008's GFM signal comes from tiles that also cover CM005CM008 × CM006 0 % of CM008's GFM signal comes from tiles that also cover CM006100CM008 × CM007 100 % of CM008's GFM signal comes from tiles that also cover CM007CM008 × CM008: not defined85CM008 × CM009 85 % of CM008's GFM signal comes from tiles that also cover CM009100CM008 × CM010 100 % of CM008's GFM signal comes from tiles that also cover CM010CM009CM009 × CM001 0 % of CM009's GFM signal comes from tiles that also cover CM00129CM009 × CM002 29 % of CM009's GFM signal comes from tiles that also cover CM0029CM009 × CM003 9 % of CM009's GFM signal comes from tiles that also cover CM003CM009 × CM004 0 % of CM009's GFM signal comes from tiles that also cover CM00428CM009 × CM005 28 % of CM009's GFM signal comes from tiles that also cover CM005CM009 × CM006 0 % of CM009's GFM signal comes from tiles that also cover CM00628CM009 × CM007 28 % of CM009's GFM signal comes from tiles that also cover CM00728CM009 × CM008 28 % of CM009's GFM signal comes from tiles that also cover CM008CM009 × CM009: not defined28CM009 × CM010 28 % of CM009's GFM signal comes from tiles that also cover CM010CM01014CM010 × CM001 14 % of CM010's GFM signal comes from tiles that also cover CM00195CM010 × CM002 95 % of CM010's GFM signal comes from tiles that also cover CM002CM010 × CM003 0 % of CM010's GFM signal comes from tiles that also cover CM003CM010 × CM004 0 % of CM010's GFM signal comes from tiles that also cover CM00481CM010 × CM005 81 % of CM010's GFM signal comes from tiles that also cover CM005CM010 × CM006 0 % of CM010's GFM signal comes from tiles that also cover CM00695CM010 × CM007 95 % of CM010's GFM signal comes from tiles that also cover CM00795CM010 × CM008 95 % of CM010's GFM signal comes from tiles that also cover CM00881CM010 × CM009 81 % of CM010's GFM signal comes from tiles that also cover CM009CM010 × CM010: not definedrow A, column B: share (%) of A's GFM tile signal from tiles that also cover B — mechanical coupling between provinces
What is shown
Share of a province's GFM signal drawn from tiles that also cover another province.
Why it matters
Any spatial correlation of GFM between two provinces must be read against this matrix first.
What we observe
Highest coupling: CM005 → CM002 at 100 %.
Caveats
Diagonal omitted.
Which provinces' GFM series are correlated by construction?Niger 2024: mechanical coupling of provinces through shared GFM tiles
NE001NE002NE003NE004NE005NE006NE007NE008NE001NE001 × NE001: not defined5NE001 × NE002 5 % of NE001's GFM signal comes from tiles that also cover NE002NE001 × NE003 0 % of NE001's GFM signal comes from tiles that also cover NE0038NE001 × NE004 8 % of NE001's GFM signal comes from tiles that also cover NE00425NE001 × NE005 25 % of NE001's GFM signal comes from tiles that also cover NE005NE001 × NE006 0 % of NE001's GFM signal comes from tiles that also cover NE00622NE001 × NE007 22 % of NE001's GFM signal comes from tiles that also cover NE007NE001 × NE008 0 % of NE001's GFM signal comes from tiles that also cover NE008NE0023NE002 × NE001 3 % of NE002's GFM signal comes from tiles that also cover NE001NE002 × NE002: not definedNE002 × NE003 0 % of NE002's GFM signal comes from tiles that also cover NE003NE002 × NE004 0 % of NE002's GFM signal comes from tiles that also cover NE004NE002 × NE005 0 % of NE002's GFM signal comes from tiles that also cover NE005NE002 × NE006 0 % of NE002's GFM signal comes from tiles that also cover NE00641NE002 × NE007 41 % of NE002's GFM signal comes from tiles that also cover NE007NE002 × NE008 0 % of NE002's GFM signal comes from tiles that also cover NE008NE003NE003 × NE001 0 % of NE003's GFM signal comes from tiles that also cover NE001NE003 × NE002 0 % of NE003's GFM signal comes from tiles that also cover NE002NE003 × NE003: not definedNE003 × NE004 0 % of NE003's GFM signal comes from tiles that also cover NE00425NE003 × NE005 25 % of NE003's GFM signal comes from tiles that also cover NE005100NE003 × NE006 100 % of NE003's GFM signal comes from tiles that also cover NE006NE003 × NE007 0 % of NE003's GFM signal comes from tiles that also cover NE00710NE003 × NE008 10 % of NE003's GFM signal comes from tiles that also cover NE008NE00450NE004 × NE001 50 % of NE004's GFM signal comes from tiles that also cover NE0011NE004 × NE002 1 % of NE004's GFM signal comes from tiles that also cover NE002NE004 × NE003 0 % of NE004's GFM signal comes from tiles that also cover NE003NE004 × NE004: not defined99NE004 × NE005 99 % of NE004's GFM signal comes from tiles that also cover NE005NE004 × NE006 0 % of NE004's GFM signal comes from tiles that also cover NE006100NE004 × NE007 100 % of NE004's GFM signal comes from tiles that also cover NE007NE004 × NE008 0 % of NE004's GFM signal comes from tiles that also cover NE008NE00535NE005 × NE001 35 % of NE005's GFM signal comes from tiles that also cover NE001NE005 × NE002 0 % of NE005's GFM signal comes from tiles that also cover NE00265NE005 × NE003 65 % of NE005's GFM signal comes from tiles that also cover NE00322NE005 × NE004 22 % of NE005's GFM signal comes from tiles that also cover NE004NE005 × NE005: not defined65NE005 × NE006 65 % of NE005's GFM signal comes from tiles that also cover NE00622NE005 × NE007 22 % of NE005's GFM signal comes from tiles that also cover NE007NE005 × NE008 0 % of NE005's GFM signal comes from tiles that also cover NE008NE006NE006 × NE001 0 % of NE006's GFM signal comes from tiles that also cover NE001NE006 × NE002 0 % of NE006's GFM signal comes from tiles that also cover NE00257NE006 × NE003 57 % of NE006's GFM signal comes from tiles that also cover NE003NE006 × NE004 0 % of NE006's GFM signal comes from tiles that also cover NE00430NE006 × NE005 30 % of NE006's GFM signal comes from tiles that also cover NE005NE006 × NE006: not definedNE006 × NE007 0 % of NE006's GFM signal comes from tiles that also cover NE00770NE006 × NE008 70 % of NE006's GFM signal comes from tiles that also cover NE008NE00743NE007 × NE001 43 % of NE007's GFM signal comes from tiles that also cover NE00192NE007 × NE002 92 % of NE007's GFM signal comes from tiles that also cover NE002NE007 × NE003 0 % of NE007's GFM signal comes from tiles that also cover NE00343NE007 × NE004 43 % of NE007's GFM signal comes from tiles that also cover NE0048NE007 × NE005 8 % of NE007's GFM signal comes from tiles that also cover NE005NE007 × NE006 0 % of NE007's GFM signal comes from tiles that also cover NE006NE007 × NE007: not definedNE007 × NE008 0 % of NE007's GFM signal comes from tiles that also cover NE008NE008NE008 × NE001 0 % of NE008's GFM signal comes from tiles that also cover NE001NE008 × NE002 0 % of NE008's GFM signal comes from tiles that also cover NE00211NE008 × NE003 11 % of NE008's GFM signal comes from tiles that also cover NE003NE008 × NE004 0 % of NE008's GFM signal comes from tiles that also cover NE004NE008 × NE005 0 % of NE008's GFM signal comes from tiles that also cover NE005100NE008 × NE006 100 % of NE008's GFM signal comes from tiles that also cover NE006NE008 × NE007 0 % of NE008's GFM signal comes from tiles that also cover NE007NE008 × NE008: not definedrow A, column B: share (%) of A's GFM tile signal from tiles that also cover B — mechanical coupling between provinces
What is shown
Share of a province's GFM signal drawn from tiles that also cover another province.
Why it matters
Any spatial correlation of GFM between two provinces must be read against this matrix first.
What we observe
Highest coupling: NE003 → NE006 at 100 %.
Caveats
Diagonal omitted.
Which provinces' GFM series are correlated by construction?Bangladesh 2024: mechanical coupling of provinces through shared GFM tiles
BD10BD20BD30BD40BD45BD50BD55BD60BD10BD10 × BD10: not defined100BD10 × BD20 100 % of BD10's GFM signal comes from tiles that also cover BD2039BD10 × BD30 39 % of BD10's GFM signal comes from tiles that also cover BD30100BD10 × BD40 100 % of BD10's GFM signal comes from tiles that also cover BD4039BD10 × BD45 39 % of BD10's GFM signal comes from tiles that also cover BD4539BD10 × BD50 39 % of BD10's GFM signal comes from tiles that also cover BD50BD10 × BD55 0 % of BD10's GFM signal comes from tiles that also cover BD5539BD10 × BD60 39 % of BD10's GFM signal comes from tiles that also cover BD60BD20100BD20 × BD10 100 % of BD20's GFM signal comes from tiles that also cover BD10BD20 × BD20: not defined60BD20 × BD30 60 % of BD20's GFM signal comes from tiles that also cover BD30100BD20 × BD40 100 % of BD20's GFM signal comes from tiles that also cover BD4060BD20 × BD45 60 % of BD20's GFM signal comes from tiles that also cover BD4560BD20 × BD50 60 % of BD20's GFM signal comes from tiles that also cover BD50BD20 × BD55 0 % of BD20's GFM signal comes from tiles that also cover BD5560BD20 × BD60 60 % of BD20's GFM signal comes from tiles that also cover BD60BD3081BD30 × BD10 81 % of BD30's GFM signal comes from tiles that also cover BD1081BD30 × BD20 81 % of BD30's GFM signal comes from tiles that also cover BD20BD30 × BD30: not defined100BD30 × BD40 100 % of BD30's GFM signal comes from tiles that also cover BD40100BD30 × BD45 100 % of BD30's GFM signal comes from tiles that also cover BD45100BD30 × BD50 100 % of BD30's GFM signal comes from tiles that also cover BD5019BD30 × BD55 19 % of BD30's GFM signal comes from tiles that also cover BD5581BD30 × BD60 81 % of BD30's GFM signal comes from tiles that also cover BD60BD402BD40 × BD10 2 % of BD40's GFM signal comes from tiles that also cover BD102BD40 × BD20 2 % of BD40's GFM signal comes from tiles that also cover BD2080BD40 × BD30 80 % of BD40's GFM signal comes from tiles that also cover BD30BD40 × BD40: not defined80BD40 × BD45 80 % of BD40's GFM signal comes from tiles that also cover BD4580BD40 × BD50 80 % of BD40's GFM signal comes from tiles that also cover BD5079BD40 × BD55 79 % of BD40's GFM signal comes from tiles that also cover BD551BD40 × BD60 1 % of BD40's GFM signal comes from tiles that also cover BD60BD4590BD45 × BD10 90 % of BD45's GFM signal comes from tiles that also cover BD1090BD45 × BD20 90 % of BD45's GFM signal comes from tiles that also cover BD2095BD45 × BD30 95 % of BD45's GFM signal comes from tiles that also cover BD3095BD45 × BD40 95 % of BD45's GFM signal comes from tiles that also cover BD40BD45 × BD45: not defined95BD45 × BD50 95 % of BD45's GFM signal comes from tiles that also cover BD5010BD45 × BD55 10 % of BD45's GFM signal comes from tiles that also cover BD5590BD45 × BD60 90 % of BD45's GFM signal comes from tiles that also cover BD60BD501BD50 × BD10 1 % of BD50's GFM signal comes from tiles that also cover BD101BD50 × BD20 1 % of BD50's GFM signal comes from tiles that also cover BD2096BD50 × BD30 96 % of BD50's GFM signal comes from tiles that also cover BD3096BD50 × BD40 96 % of BD50's GFM signal comes from tiles that also cover BD40100BD50 × BD45 100 % of BD50's GFM signal comes from tiles that also cover BD45BD50 × BD50: not defined99BD50 × BD55 99 % of BD50's GFM signal comes from tiles that also cover BD551BD50 × BD60 1 % of BD50's GFM signal comes from tiles that also cover BD60BD55BD55 × BD10 0 % of BD55's GFM signal comes from tiles that also cover BD10BD55 × BD20 0 % of BD55's GFM signal comes from tiles that also cover BD203BD55 × BD30 3 % of BD55's GFM signal comes from tiles that also cover BD303BD55 × BD40 3 % of BD55's GFM signal comes from tiles that also cover BD40100BD55 × BD45 100 % of BD55's GFM signal comes from tiles that also cover BD4596BD55 × BD50 96 % of BD55's GFM signal comes from tiles that also cover BD50BD55 × BD55: not definedBD55 × BD60 0 % of BD55's GFM signal comes from tiles that also cover BD60BD60100BD60 × BD10 100 % of BD60's GFM signal comes from tiles that also cover BD10100BD60 × BD20 100 % of BD60's GFM signal comes from tiles that also cover BD20100BD60 × BD30 100 % of BD60's GFM signal comes from tiles that also cover BD30100BD60 × BD40 100 % of BD60's GFM signal comes from tiles that also cover BD40100BD60 × BD45 100 % of BD60's GFM signal comes from tiles that also cover BD45100BD60 × BD50 100 % of BD60's GFM signal comes from tiles that also cover BD50BD60 × BD55 0 % of BD60's GFM signal comes from tiles that also cover BD55BD60 × BD60: not definedrow A, column B: share (%) of A's GFM tile signal from tiles that also cover B — mechanical coupling between provinces
What is shown
Share of a province's GFM signal drawn from tiles that also cover another province.
Why it matters
Any spatial correlation of GFM between two provinces must be read against this matrix first.
What we observe
Highest coupling: BD10 → BD20 at 100 %.
Caveats
Diagonal omitted.
Which provinces' GFM series are correlated by construction?Mozambique 2026: mechanical coupling of provinces through shared GFM tiles
MZ01MZ02MZ03MZ04MZ05MZ06MZ07MZ08MZ09MZ10MZ11MZ01MZ01 × MZ01: not definedMZ01 × MZ02 0 % of MZ01's GFM signal comes from tiles that also cover MZ02MZ01 × MZ03 0 % of MZ01's GFM signal comes from tiles that also cover MZ03MZ01 × MZ04 0 % of MZ01's GFM signal comes from tiles that also cover MZ04MZ01 × MZ05 0 % of MZ01's GFM signal comes from tiles that also cover MZ05MZ01 × MZ06 0 % of MZ01's GFM signal comes from tiles that also cover MZ0621MZ01 × MZ07 21 % of MZ01's GFM signal comes from tiles that also cover MZ0781MZ01 × MZ08 81 % of MZ01's GFM signal comes from tiles that also cover MZ08MZ01 × MZ09 0 % of MZ01's GFM signal comes from tiles that also cover MZ09MZ01 × MZ10 0 % of MZ01's GFM signal comes from tiles that also cover MZ1021MZ01 × MZ11 21 % of MZ01's GFM signal comes from tiles that also cover MZ11MZ02MZ02 × MZ01 0 % of MZ02's GFM signal comes from tiles that also cover MZ01MZ02 × MZ02: not defined83MZ02 × MZ03 83 % of MZ02's GFM signal comes from tiles that also cover MZ0373MZ02 × MZ04 73 % of MZ02's GFM signal comes from tiles that also cover MZ0417MZ02 × MZ05 17 % of MZ02's GFM signal comes from tiles that also cover MZ0517MZ02 × MZ06 17 % of MZ02's GFM signal comes from tiles that also cover MZ06MZ02 × MZ07 0 % of MZ02's GFM signal comes from tiles that also cover MZ07MZ02 × MZ08 0 % of MZ02's GFM signal comes from tiles that also cover MZ089MZ02 × MZ09 9 % of MZ02's GFM signal comes from tiles that also cover MZ09MZ02 × MZ10 0 % of MZ02's GFM signal comes from tiles that also cover MZ10MZ02 × MZ11 0 % of MZ02's GFM signal comes from tiles that also cover MZ11MZ03MZ03 × MZ01 0 % of MZ03's GFM signal comes from tiles that also cover MZ0199MZ03 × MZ02 99 % of MZ03's GFM signal comes from tiles that also cover MZ02MZ03 × MZ03: not defined88MZ03 × MZ04 88 % of MZ03's GFM signal comes from tiles that also cover MZ04MZ03 × MZ05 0 % of MZ03's GFM signal comes from tiles that also cover MZ05MZ03 × MZ06 0 % of MZ03's GFM signal comes from tiles that also cover MZ06MZ03 × MZ07 0 % of MZ03's GFM signal comes from tiles that also cover MZ07MZ03 × MZ08 0 % of MZ03's GFM signal comes from tiles that also cover MZ0887MZ03 × MZ09 87 % of MZ03's GFM signal comes from tiles that also cover MZ09MZ03 × MZ10 0 % of MZ03's GFM signal comes from tiles that also cover MZ10MZ03 × MZ11 0 % of MZ03's GFM signal comes from tiles that also cover MZ11MZ04MZ04 × MZ01 0 % of MZ04's GFM signal comes from tiles that also cover MZ0111MZ04 × MZ02 11 % of MZ04's GFM signal comes from tiles that also cover MZ0248MZ04 × MZ03 48 % of MZ04's GFM signal comes from tiles that also cover MZ03MZ04 × MZ04: not definedMZ04 × MZ05 0 % of MZ04's GFM signal comes from tiles that also cover MZ05MZ04 × MZ06 0 % of MZ04's GFM signal comes from tiles that also cover MZ06MZ04 × MZ07 0 % of MZ04's GFM signal comes from tiles that also cover MZ07MZ04 × MZ08 0 % of MZ04's GFM signal comes from tiles that also cover MZ0873MZ04 × MZ09 73 % of MZ04's GFM signal comes from tiles that also cover MZ0933MZ04 × MZ10 33 % of MZ04's GFM signal comes from tiles that also cover MZ1031MZ04 × MZ11 31 % of MZ04's GFM signal comes from tiles that also cover MZ11MZ05MZ05 × MZ01 0 % of MZ05's GFM signal comes from tiles that also cover MZ0196MZ05 × MZ02 96 % of MZ05's GFM signal comes from tiles that also cover MZ02MZ05 × MZ03 0 % of MZ05's GFM signal comes from tiles that also cover MZ03MZ05 × MZ04 0 % of MZ05's GFM signal comes from tiles that also cover MZ04MZ05 × MZ05: not defined96MZ05 × MZ06 96 % of MZ05's GFM signal comes from tiles that also cover MZ06MZ05 × MZ07 0 % of MZ05's GFM signal comes from tiles that also cover MZ07MZ05 × MZ08 0 % of MZ05's GFM signal comes from tiles that also cover MZ08MZ05 × MZ09 0 % of MZ05's GFM signal comes from tiles that also cover MZ09MZ05 × MZ10 0 % of MZ05's GFM signal comes from tiles that also cover MZ10MZ05 × MZ11 0 % of MZ05's GFM signal comes from tiles that also cover MZ11MZ06MZ06 × MZ01 0 % of MZ06's GFM signal comes from tiles that also cover MZ01100MZ06 × MZ02 100 % of MZ06's GFM signal comes from tiles that also cover MZ02MZ06 × MZ03 0 % of MZ06's GFM signal comes from tiles that also cover MZ03MZ06 × MZ04 0 % of MZ06's GFM signal comes from tiles that also cover MZ04100MZ06 × MZ05 100 % of MZ06's GFM signal comes from tiles that also cover MZ05MZ06 × MZ06: not definedMZ06 × MZ07 0 % of MZ06's GFM signal comes from tiles that also cover MZ07MZ06 × MZ08 0 % of MZ06's GFM signal comes from tiles that also cover MZ08MZ06 × MZ09 0 % of MZ06's GFM signal comes from tiles that also cover MZ09MZ06 × MZ10 0 % of MZ06's GFM signal comes from tiles that also cover MZ10MZ06 × MZ11 0 % of MZ06's GFM signal comes from tiles that also cover MZ11MZ0788MZ07 × MZ01 88 % of MZ07's GFM signal comes from tiles that also cover MZ01MZ07 × MZ02 0 % of MZ07's GFM signal comes from tiles that also cover MZ02MZ07 × MZ03 0 % of MZ07's GFM signal comes from tiles that also cover MZ03MZ07 × MZ04 0 % of MZ07's GFM signal comes from tiles that also cover MZ04MZ07 × MZ05 0 % of MZ07's GFM signal comes from tiles that also cover MZ05MZ07 × MZ06 0 % of MZ07's GFM signal comes from tiles that also cover MZ06MZ07 × MZ07: not defined14MZ07 × MZ08 14 % of MZ07's GFM signal comes from tiles that also cover MZ08MZ07 × MZ09 0 % of MZ07's GFM signal comes from tiles that also cover MZ09MZ07 × MZ10 0 % of MZ07's GFM signal comes from tiles that also cover MZ10100MZ07 × MZ11 100 % of MZ07's GFM signal comes from tiles that also cover MZ11MZ0871MZ08 × MZ01 71 % of MZ08's GFM signal comes from tiles that also cover MZ01MZ08 × MZ02 0 % of MZ08's GFM signal comes from tiles that also cover MZ02MZ08 × MZ03 0 % of MZ08's GFM signal comes from tiles that also cover MZ03MZ08 × MZ04 0 % of MZ08's GFM signal comes from tiles that also cover MZ04MZ08 × MZ05 0 % of MZ08's GFM signal comes from tiles that also cover MZ05MZ08 × MZ06 0 % of MZ08's GFM signal comes from tiles that also cover MZ0634MZ08 × MZ07 34 % of MZ08's GFM signal comes from tiles that also cover MZ07MZ08 × MZ08: not definedMZ08 × MZ09 0 % of MZ08's GFM signal comes from tiles that also cover MZ099MZ08 × MZ10 9 % of MZ08's GFM signal comes from tiles that also cover MZ1034MZ08 × MZ11 34 % of MZ08's GFM signal comes from tiles that also cover MZ11MZ09MZ09 × MZ01 0 % of MZ09's GFM signal comes from tiles that also cover MZ011MZ09 × MZ02 1 % of MZ09's GFM signal comes from tiles that also cover MZ0274MZ09 × MZ03 74 % of MZ09's GFM signal comes from tiles that also cover MZ0398MZ09 × MZ04 98 % of MZ09's GFM signal comes from tiles that also cover MZ04MZ09 × MZ05 0 % of MZ09's GFM signal comes from tiles that also cover MZ05MZ09 × MZ06 0 % of MZ09's GFM signal comes from tiles that also cover MZ06MZ09 × MZ07 0 % of MZ09's GFM signal comes from tiles that also cover MZ07MZ09 × MZ08 0 % of MZ09's GFM signal comes from tiles that also cover MZ08MZ09 × MZ09: not defined24MZ09 × MZ10 24 % of MZ09's GFM signal comes from tiles that also cover MZ1026MZ09 × MZ11 26 % of MZ09's GFM signal comes from tiles that also cover MZ11MZ10MZ10 × MZ01 0 % of MZ10's GFM signal comes from tiles that also cover MZ01MZ10 × MZ02 0 % of MZ10's GFM signal comes from tiles that also cover MZ02MZ10 × MZ03 0 % of MZ10's GFM signal comes from tiles that also cover MZ0332MZ10 × MZ04 32 % of MZ10's GFM signal comes from tiles that also cover MZ04MZ10 × MZ05 0 % of MZ10's GFM signal comes from tiles that also cover MZ05MZ10 × MZ06 0 % of MZ10's GFM signal comes from tiles that also cover MZ06MZ10 × MZ07 0 % of MZ10's GFM signal comes from tiles that also cover MZ0733MZ10 × MZ08 33 % of MZ10's GFM signal comes from tiles that also cover MZ0819MZ10 × MZ09 19 % of MZ10's GFM signal comes from tiles that also cover MZ09MZ10 × MZ10: not defined19MZ10 × MZ11 19 % of MZ10's GFM signal comes from tiles that also cover MZ11MZ1114MZ11 × MZ01 14 % of MZ11's GFM signal comes from tiles that also cover MZ01MZ11 × MZ02 0 % of MZ11's GFM signal comes from tiles that also cover MZ02MZ11 × MZ03 0 % of MZ11's GFM signal comes from tiles that also cover MZ039MZ11 × MZ04 9 % of MZ11's GFM signal comes from tiles that also cover MZ04MZ11 × MZ05 0 % of MZ11's GFM signal comes from tiles that also cover MZ05MZ11 × MZ06 0 % of MZ11's GFM signal comes from tiles that also cover MZ0621MZ11 × MZ07 21 % of MZ11's GFM signal comes from tiles that also cover MZ0714MZ11 × MZ08 14 % of MZ11's GFM signal comes from tiles that also cover MZ0879MZ11 × MZ09 79 % of MZ11's GFM signal comes from tiles that also cover MZ099MZ11 × MZ10 9 % of MZ11's GFM signal comes from tiles that also cover MZ10MZ11 × MZ11: not definedrow A, column B: share (%) of A's GFM tile signal from tiles that also cover B — mechanical coupling between provinces
What is shown
Share of a province's GFM signal drawn from tiles that also cover another province.
Why it matters
Any spatial correlation of GFM between two provinces must be read against this matrix first.
What we observe
Highest coupling: MZ06 → MZ02 at 100 %.
Caveats
Diagonal omitted.
First flag per province-event and product (tables)
Cameroon 2024: first flag per province-event and product
shortflood_typenameprimarysensorrolegood_looks_in_windowhitfirst_flaglatency_vs_startlatency_vs_peakz_maxtier
Far North floods, Logone-et-Chari and Mayo-Danay (Aug–Sep 2024)riverineExtrême-NordyesFLOODSCANdating83yes2024-08-2616.0-2.003.27strong
Far North floods, Logone-et-Chari and Mayo-Danay (Aug–Sep 2024)riverineExtrême-NordyesGFDSdating60
Far North floods, Logone-et-Chari and Mayo-Danay (Aug–Sep 2024)riverineExtrême-NordyesGFMdating19
Far North floods, Logone-et-Chari and Mayo-Danay (Aug–Sep 2024)riverineExtrême-NordyesMODISconfirming11yes2024-10-1061.043.05.38strong
Far North floods, Logone-et-Chari and Mayo-Danay (Aug–Sep 2024)riverineExtrême-NordyesCYGNSSconfirming83
Logone River overflows (October 2024)riverineExtrême-NordyesFLOODSCANdating65yes2024-09-18-10.0-26.03.69strong
Logone River overflows (October 2024)riverineExtrême-NordyesGFDSdating45yes2024-10-2527.011.04.27strong
Logone River overflows (October 2024)riverineExtrême-NordyesGFMdating15
Logone River overflows (October 2024)riverineExtrême-NordyesMODISconfirming41yes2024-10-1012.0-4.006.34strong
Logone River overflows (October 2024)riverineExtrême-NordyesCYGNSSconfirming65
Niger 2024: first flag per province-event and product
shortflood_typenameprimarysensorrolegood_looks_in_windowhitfirst_flaglatency_vs_startlatency_vs_peakz_maxtier
June 2024 early-season floods (Maradi, Niamey)flashMaradiyesFLOODSCANdating52
June 2024 early-season floods (Maradi, Niamey)flashMaradiyesGFDSdating44
June 2024 early-season floods (Maradi, Niamey)flashMaradiyesGFMdating7
June 2024 early-season floods (Maradi, Niamey)flashMaradiyesMODISconfirming29
June 2024 early-season floods (Maradi, Niamey)flashMaradiyesCYGNSSconfirming52
June 2024 early-season floods (Maradi, Niamey)flashNiameyyesFLOODSCANdating52
June 2024 early-season floods (Maradi, Niamey)flashNiameyyesGFDSdating44yes2024-06-3020.09.0017.4strong
June 2024 early-season floods (Maradi, Niamey)flashNiameyyesGFMdating12
June 2024 early-season floods (Maradi, Niamey)flashNiameyyesMODISconfirming22
June 2024 early-season floods (Maradi, Niamey)flashNiameyyesCYGNSSconfirming52
August–September 2024 rainy-season floods (nationwide)pluvialMaradiyesFLOODSCANdating92
August–September 2024 rainy-season floods (nationwide)pluvialMaradiyesGFDSdating75
August–September 2024 rainy-season floods (nationwide)pluvialMaradiyesGFMdating15yes2024-08-2221.0-3.002.81moderate
August–September 2024 rainy-season floods (nationwide)pluvialMaradiyesMODISconfirming29
August–September 2024 rainy-season floods (nationwide)pluvialMaradiyesCYGNSSconfirming92yes2024-08-1110.0-14.04.16strong
August–September 2024 rainy-season floods (nationwide)pluvialZinderyesFLOODSCANdating92
August–September 2024 rainy-season floods (nationwide)pluvialZinderyesGFDSdating73
August–September 2024 rainy-season floods (nationwide)pluvialZinderyesGFMdating23yes2024-09-0535.011.07.44strong
August–September 2024 rainy-season floods (nationwide)pluvialZinderyesMODISconfirming47
August–September 2024 rainy-season floods (nationwide)pluvialZinderyesCYGNSSconfirming92yes2024-08-2524.00.002.56moderate
August–September 2024 rainy-season floods (nationwide)pluvialTillabériyesFLOODSCANdating92
August–September 2024 rainy-season floods (nationwide)pluvialTillabériyesGFDSdating74yes2024-07-28-4.00-28.03.59strong
August–September 2024 rainy-season floods (nationwide)pluvialTillabériyesGFMdating23yes2024-08-2019.0-5.003.78strong
August–September 2024 rainy-season floods (nationwide)pluvialTillabériyesMODISconfirming26
August–September 2024 rainy-season floods (nationwide)pluvialTillabériyesCYGNSSconfirming92yes2024-08-1817.0-7.002.61moderate
August–September 2024 rainy-season floods (nationwide)pluvialDossoFLOODSCANdating92
August–September 2024 rainy-season floods (nationwide)pluvialDossoGFDSdating72
August–September 2024 rainy-season floods (nationwide)pluvialDossoGFMdating22yes2024-08-2019.0-5.004.85strong
August–September 2024 rainy-season floods (nationwide)pluvialDossoMODISconfirming18
August–September 2024 rainy-season floods (nationwide)pluvialDossoCYGNSSconfirming92
August–September 2024 rainy-season floods (nationwide)pluvialAgadezFLOODSCANdating92
August–September 2024 rainy-season floods (nationwide)pluvialAgadezGFDSdating76
August–September 2024 rainy-season floods (nationwide)pluvialAgadezGFMdating14yes2024-09-2959.035.02.87moderate
August–September 2024 rainy-season floods (nationwide)pluvialAgadezMODISconfirming83
August–September 2024 rainy-season floods (nationwide)pluvialAgadezCYGNSSconfirming92
August–September 2024 rainy-season floods (nationwide)pluvialTahouaFLOODSCANdating92
August–September 2024 rainy-season floods (nationwide)pluvialTahouaGFDSdating76
August–September 2024 rainy-season floods (nationwide)pluvialTahouaGFMdating14yes2024-08-2019.0-5.005.58strong
August–September 2024 rainy-season floods (nationwide)pluvialTahouaMODISconfirming48
August–September 2024 rainy-season floods (nationwide)pluvialTahouaCYGNSSconfirming92yes2024-08-2524.00.002.36moderate
August–September 2024 rainy-season floods (nationwide)pluvialNiameyFLOODSCANdating92
August–September 2024 rainy-season floods (nationwide)pluvialNiameyGFDSdating73yes2024-08-010.00-24.010.8strong
August–September 2024 rainy-season floods (nationwide)pluvialNiameyGFMdating23
August–September 2024 rainy-season floods (nationwide)pluvialNiameyMODISconfirming17
August–September 2024 rainy-season floods (nationwide)pluvialNiameyCYGNSSconfirming92
August–September 2024 rainy-season floods (nationwide)pluvialDiffaFLOODSCANdating92
August–September 2024 rainy-season floods (nationwide)pluvialDiffaGFDSdating73
August–September 2024 rainy-season floods (nationwide)pluvialDiffaGFMdating22
August–September 2024 rainy-season floods (nationwide)pluvialDiffaMODISconfirming61
August–September 2024 rainy-season floods (nationwide)pluvialDiffaCYGNSSconfirming92yes2024-10-1474.050.02.31moderate
Niger River local flood at Niamey (Aug–Sep 2024)riverineNiameyyesFLOODSCANdating73
Niger River local flood at Niamey (Aug–Sep 2024)riverineNiameyyesGFDSdating59yes2024-08-10-10.0-26.010.4strong
Niger River local flood at Niamey (Aug–Sep 2024)riverineNiameyyesGFMdating18
Niger River local flood at Niamey (Aug–Sep 2024)riverineNiameyyesMODISconfirming16
Niger River local flood at Niamey (Aug–Sep 2024)riverineNiameyyesCYGNSSconfirming73
Niger River local flood at Niamey (Aug–Sep 2024)riverineTillabériyesFLOODSCANdating73
Niger River local flood at Niamey (Aug–Sep 2024)riverineTillabériyesGFDSdating59yes2024-08-11-9.00-25.03.59strong
Niger River local flood at Niamey (Aug–Sep 2024)riverineTillabériyesGFMdating18yes2024-08-200.00-16.03.78strong
Niger River local flood at Niamey (Aug–Sep 2024)riverineTillabériyesMODISconfirming24
Niger River local flood at Niamey (Aug–Sep 2024)riverineTillabériyesCYGNSSconfirming73yes2024-08-18-2.00-18.02.61moderate
Niger River local flood at Niamey (Aug–Sep 2024)riverineDossoyesFLOODSCANdating73
Niger River local flood at Niamey (Aug–Sep 2024)riverineDossoyesGFDSdating58
Niger River local flood at Niamey (Aug–Sep 2024)riverineDossoyesGFMdating17yes2024-08-200.00-16.04.85strong
Niger River local flood at Niamey (Aug–Sep 2024)riverineDossoyesMODISconfirming18
Niger River local flood at Niamey (Aug–Sep 2024)riverineDossoyesCYGNSSconfirming73
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineNiameyyesFLOODSCANdating56
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineNiameyyesGFDSdating45yes2024-11-05-10.0-30.05.89strong
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineNiameyyesGFMdating15
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineNiameyyesMODISconfirming55yes2024-12-2641.021.02.76moderate
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineNiameyyesCYGNSSconfirming57yes2024-11-07-8.00-28.02.96moderate
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineTillabériyesFLOODSCANdating56
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineTillabériyesGFDSdating46
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineTillabériyesGFMdating15
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineTillabériyesMODISconfirming57
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineTillabériyesCYGNSSconfirming57
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineDossoyesFLOODSCANdating56
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineDossoyesGFDSdating46
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineDossoyesGFMdating15
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineDossoyesMODISconfirming56
Niger River Guinean flood (Nov–Dec 2024, AA activated)riverineDossoyesCYGNSSconfirming57
Bangladesh 2024: first flag per province-event and product
shortflood_typenameprimarysensorrolegood_looks_in_windowhitfirst_flaglatency_vs_startlatency_vs_peakz_maxtier
Cyclone Remal surge and rain (late May 2024)cycloneKhulnayesGFDSdating40
Cyclone Remal surge and rain (late May 2024)cycloneKhulnayesGFMdating22yes2024-05-293.002.0010.3strong
Cyclone Remal surge and rain (late May 2024)cycloneKhulnayesMODISconfirming10
Cyclone Remal surge and rain (late May 2024)cycloneKhulnayesCYGNSSconfirming45yes2024-06-0611.010.02.84moderate
Cyclone Remal surge and rain (late May 2024)cycloneBarisalyesGFDSdating40
Cyclone Remal surge and rain (late May 2024)cycloneBarisalyesGFMdating22yes2024-05-293.002.003.76strong
Cyclone Remal surge and rain (late May 2024)cycloneBarisalyesMODISconfirming10
Cyclone Remal surge and rain (late May 2024)cycloneBarisalyesCYGNSSconfirming45
Cyclone Remal surge and rain (late May 2024)cycloneChittagongyesGFDSdating38
Cyclone Remal surge and rain (late May 2024)cycloneChittagongyesGFMdating18yes2024-05-293.002.002.50moderate
Cyclone Remal surge and rain (late May 2024)cycloneChittagongyesMODISconfirming6
Cyclone Remal surge and rain (late May 2024)cycloneChittagongyesCYGNSSconfirming45
Sylhet floods (June 2024)flashSylhetyesGFDSdating38yes2024-06-07-10.0-13.02.73moderate
Sylhet floods (June 2024)flashSylhetyesGFMdating14
Sylhet floods (June 2024)flashSylhetyesMODISconfirming0yes2024-06-07-10.0-13.024.7strong
Sylhet floods (June 2024)flashSylhetyesCYGNSSconfirming55yes2024-06-170.00-3.002.57moderate
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineRangpuryesGFDSdating36
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineRangpuryesGFMdating24yes2024-06-22-6.00-14.05.23strong
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineRangpuryesMODISconfirming0
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineRangpuryesCYGNSSconfirming54
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineMymensinghyesGFDSdating37
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineMymensinghyesGFMdating12
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineMymensinghyesMODISconfirming0
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineMymensinghyesCYGNSSconfirming54
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineRajshahiyesGFDSdating39
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineRajshahiyesGFMdating24yes2024-06-22-6.00-14.06.89strong
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineRajshahiyesMODISconfirming0
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineRajshahiyesCYGNSSconfirming54
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineDhakayesGFDSdating39
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineDhakayesGFMdating12
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineDhakayesMODISconfirming0
Brahmaputra–Jamuna monsoon floods, north (July 2024)riverineDhakayesCYGNSSconfirming54
Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024)flashChittagongyesGFDSdating33
Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024)flashChittagongyesGFMdating23yes2024-08-212.00-2.002.34moderate
Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024)flashChittagongyesMODISconfirming2
Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024)flashChittagongyesCYGNSSconfirming54yes2024-09-1123.019.02.32moderate
Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024)flashSylhetGFDSdating31yes2024-08-190.00-4.002.35moderate
Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024)flashSylhetGFMdating23yes2024-08-289.005.002.12moderate
Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024)flashSylhetMODISconfirming10yes2024-08-2910.06.0018.4strong
Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024)flashSylhetCYGNSSconfirming54
Sherpur–Mymensingh floods (October 2024)flashMymensinghyesGFDSdating32
Sherpur–Mymensingh floods (October 2024)flashMymensinghyesGFMdating19
Sherpur–Mymensingh floods (October 2024)flashMymensinghyesMODISconfirming15yes2024-09-23-10.0-13.025.7strong
Sherpur–Mymensingh floods (October 2024)flashMymensinghyesCYGNSSconfirming44
Mozambique 2026: first flag per province-event and product
shortflood_typenameprimarysensorrolegood_looks_in_windowhitfirst_flaglatency_vs_startlatency_vs_peakz_maxtier
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineGazayesFLOODSCANdating64yes2026-01-1716.0-11.07.59strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineGazayesGFDSdating64yes2026-01-109.00-18.03.92strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineGazayesGFMdating39yes2026-01-1615.0-12.07.31strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineGazayesMODISconfirming36yes2026-01-2524.0-3.007.06strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineGazayesVIIRSconfirming31yes2026-01-2423.0-4.0013.6strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineGazayesCYGNSSconfirming64
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineMaputoyesFLOODSCANdating64yes2026-01-1615.0-12.014.0strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineMaputoyesGFDSdating64yes2026-01-1312.0-15.05.64strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineMaputoyesGFMdating37yes2026-01-1615.0-12.018.0strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineMaputoyesMODISconfirming34yes2026-01-2322.0-5.009.02strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineMaputoyesVIIRSconfirming30yes2026-01-2524.0-3.0012.4strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineMaputoyesCYGNSSconfirming64yes2026-02-0535.08.002.85moderate
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineMaputo CityFLOODSCANdating64
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineMaputo CityGFDSdating62yes2026-01-021.00-26.09.67strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineMaputo CityGFMdating37yes2026-01-1615.0-12.018.0strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineMaputo CityMODISconfirming36
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineMaputo CityVIIRSconfirming39
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineMaputo CityCYGNSSconfirming64yes2026-02-0333.06.002.51moderate
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineInhambaneFLOODSCANdating64yes2026-01-1716.0-11.02.23moderate
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineInhambaneGFDSdating64yes2026-01-098.00-19.03.19strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineInhambaneGFMdating34yes2026-01-1615.0-12.05.59strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineInhambaneMODISconfirming35
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineInhambaneVIIRSconfirming28
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineInhambaneCYGNSSconfirming64
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineSofalayesFLOODSCANdating64yes2026-01-010.00-27.09.14strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineSofalayesGFDSdating64yes2026-01-087.00-20.02.61moderate
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineSofalayesGFMdating29yes2026-01-2827.00.003.47strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineSofalayesMODISconfirming22
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineSofalayesVIIRSconfirming19yes2026-01-010.00-27.06.03strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineSofalayesCYGNSSconfirming64
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineZambeziaFLOODSCANdating64
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineZambeziaGFDSdating64yes2026-01-010.00-27.03.19strong
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineZambeziaGFMdating16
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineZambeziaMODISconfirming0
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineZambeziaVIIRSconfirming0
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineZambeziaCYGNSSconfirming64
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineNiassaFLOODSCANdating64
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineNiassaGFDSdating64
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineNiassaGFMdating32
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineNiassaMODISconfirming0
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineNiassaVIIRSconfirming0
Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)riverineNiassaCYGNSSconfirming64
Cyclone Gezani (February 2026)cycloneInhambaneyesFLOODSCANdating52yes2026-03-1328.026.02.19moderate
Cyclone Gezani (February 2026)cycloneInhambaneyesGFDSdating52yes2026-03-0318.016.03.04strong
Cyclone Gezani (February 2026)cycloneInhambaneyesGFMdating29yes2026-02-03-10.0-12.04.01strong
Cyclone Gezani (February 2026)cycloneInhambaneyesMODISconfirming32
Cyclone Gezani (February 2026)cycloneInhambaneyesVIIRSconfirming23
Cyclone Gezani (February 2026)cycloneInhambaneyesCYGNSSconfirming52
Cyclone Gezani (February 2026)cycloneGazayesFLOODSCANdating52yes2026-02-03-10.0-12.04.28strong
Cyclone Gezani (February 2026)cycloneGazayesGFDSdating52yes2026-02-03-10.0-12.03.12strong
Cyclone Gezani (February 2026)cycloneGazayesGFMdating33yes2026-02-03-10.0-12.04.19strong
Cyclone Gezani (February 2026)cycloneGazayesMODISconfirming29yes2026-02-03-10.0-12.04.65strong
Cyclone Gezani (February 2026)cycloneGazayesVIIRSconfirming26yes2026-02-03-10.0-12.04.78strong
Cyclone Gezani (February 2026)cycloneGazayesCYGNSSconfirming52
Cyclone Gezani (February 2026)cycloneSofalayesFLOODSCANdating52yes2026-03-1429.027.06.33strong
Cyclone Gezani (February 2026)cycloneSofalayesGFDSdating52yes2026-03-1631.029.03.30strong
Cyclone Gezani (February 2026)cycloneSofalayesGFMdating25
Cyclone Gezani (February 2026)cycloneSofalayesMODISconfirming18yes2026-03-2035.033.04.96strong
Cyclone Gezani (February 2026)cycloneSofalayesVIIRSconfirming13yes2026-03-2136.034.06.19strong
Cyclone Gezani (February 2026)cycloneSofalayesCYGNSSconfirming52

6. Impact anchors: displacement records and funding decisions

Two datasets that played no part in compiling the report list were added as independent anchors: the IDMC Global Internal Displacement Database (disaggregated records, 795 flow records for the four countries 2023–2025, of which 99 are storm or flood records — see the filter below; those with coordinates are mapped to ADM1 by point-in-polygon) and CERF allocations (42 flood/storm allocations for the four countries since 2006, of which 8 fall inside the case periods). IDMC answers "were people displaced there and then?"; CERF answers "when did money move, and how much satellite evidence existed by then?"

CaseIDMC flow records in windowof those, storm or floodIDMC flood/storm events with coordinatesIDMC (event, province) pairsDisplaced (sum of event totals)IDMC pairs also in the compiled listCompiled province-events with an IDMC recordCERF flood/storm allocations in periodCERF budget (USD M)
Cameroon 2024207331010264,0282/102/214.0
Niger 2024948181,172,0188/813/16212.0
Bangladesh 2024145462,401,5665/65/11317.6
Mozambique 202611119,0001/11/1029.5

The IDMC archive ends in 2025: Mozambique 2026 carries only a December 2025 record whose window reaches into January, so most IDMC-based statistics rest on the three 2024 cases. IDMC figures are per record (often national), never per province.

Which IDMC records count, and which were dropped

Every IDMC statistic below is computed on storm and flood disaster records only, selected on GIDD's typed hazard fields — Figure cause = Disaster plus an allowlist of Hazard type / Hazard sub type — and never on a text search of the event name, which mislabels records (one Bangladesh landslide record is named "Flood - Multiple Districts"). Kept: all flood sub types (GIDD does not split riverine, flash and coastal), Dam release flood, and the tropical and convective storm sub types (Storm, Storm surge, Typhoon/Hurricane/Cyclone, Tornado, Hailstorm). Dropped: drought, wildfire, extreme temperature, erosion, sea-level rise, wave action, sand/dust and winter storms, all geophysical hazards (earthquake, tsunami, volcanic activity, dry mass movement, sinkhole), Mixed disasters (whose typed fields carry no hazard), and every conflict record.

Landslides and wet mass movements are excluded, consistently and everywhere. GIDD carries no field recording whether a given landslide was rain-triggered, so "landslide with a flood trigger" cannot be identified row by row; and a landslide deposit is not standing water, so no flood-detection product should be expected to flag it. Including them would add records to the yardstick that the products cannot physically see. Across the four case countries this costs one record, and it falls outside every case window, so no figure in this report changes because of the choice.

Country (ISO3)Flow records 2023+Storm or floodDroppedDropped by hazard sub type
CMR44648398(conflict / untyped) 394; Landslide/Wet mass movement 3; Wildfire 1
NER19211181(conflict / untyped) 181
BGD532429Erosion 18; (conflict / untyped) 9; Landslide/Wet mass movement 2
MOZ1041688(conflict / untyped) 87; Wildfire 1
Do the independent impact records (IDMC displacement, CERF money) sit where the satellite clusters and the compiled reports sit?Cameroon 2024: displacement records, funding decisions and satellite clusters on one timeline
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Adamaoua (CM001) Centre (CM002) Est (CM003) Extrême-Nord (CM004) Littoral (CM005) Nord (CM006) Nord-Ouest (CM007) Ouest (CM008) Sud (CM009) Sud-Ouest (CM010) Flood $4.0M · 8 Nov compiled report window moderate/strong cluster onset IDMC flood record (dot ∝ log displaced) IDMC storm record (dot ∝ log displaced) CERF allocation date
What is shown
Rows: provinces. Grey bars: compiled report windows. Black ticks: onset of every moderate/strong satellite cluster. Coloured bars with a dot: IDMC displacement records mapped to the province by their coordinates (bar = record window, dot size ∝ log10 of displaced persons for the whole record). Dashed red lines: CERF flood/storm allocation dates (type and budget).
Why it matters
IDMC and CERF were not used to build the compiled list, so where they coincide with a cluster they are independent evidence; where they sit on a cluster the compiled list missed, the cluster was 'not in the reports' rather than a false alarm.
What we observe
10 IDMC flood/storm displacement event(s) with coordinates in the period, the largest Flood - Far North with 253,009 displacements; 1 CERF flood/storm allocation(s) dated inside the period.
Caveats
IDMC figures are per record, not per province: a record naming several provinces carries one national number. The IDMC archive ends in 2025, so Mozambique 2026 carries only a December 2025 record whose window reaches into January.
Do the independent impact records (IDMC displacement, CERF money) sit where the satellite clusters and the compiled reports sit?Niger 2024: displacement records, funding decisions and satellite clusters on one timeline
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Agadez (NE001) Diffa (NE002) Dosso (NE003) Maradi (NE004) Tahoua (NE005) Tillabéri (NE006) Zinder (NE007) Niamey (NE008) Flood $7.0M · 10 Oct Flood $5.0M · 26 Nov compiled report window moderate/strong cluster onset IDMC flood record (dot ∝ log displaced) CERF allocation date
What is shown
Rows: provinces. Grey bars: compiled report windows. Black ticks: onset of every moderate/strong satellite cluster. Coloured bars with a dot: IDMC displacement records mapped to the province by their coordinates (bar = record window, dot size ∝ log10 of displaced persons for the whole record). Dashed red lines: CERF flood/storm allocation dates (type and budget).
Why it matters
IDMC and CERF were not used to build the compiled list, so where they coincide with a cluster they are independent evidence; where they sit on a cluster the compiled list missed, the cluster was 'not in the reports' rather than a false alarm.
What we observe
1 IDMC flood/storm displacement event(s) with coordinates in the period, the largest Flood - Countrywide with 1,172,018 displacements; 2 CERF flood/storm allocation(s) dated inside the period.
Caveats
IDMC figures are per record, not per province: a record naming several provinces carries one national number. The IDMC archive ends in 2025, so Mozambique 2026 carries only a December 2025 record whose window reaches into January.
Do the independent impact records (IDMC displacement, CERF money) sit where the satellite clusters and the compiled reports sit?Bangladesh 2024: displacement records, funding decisions and satellite clusters on one timeline
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Barisal (BD10) Chittagong (BD20) Dhaka (BD30) Khulna (BD40) Mymensingh (BD45) Rajshahi (BD50) Rangpur (BD55) Sylhet (BD60) Storm $7.4M · 7 Jun Flood $6.2M · 4 Jul Flood $4.0M · 25 Sep compiled report window moderate/strong cluster onset IDMC flood record (dot ∝ log displaced) IDMC storm record (dot ∝ log displaced) CERF allocation date
What is shown
Rows: provinces. Grey bars: compiled report windows. Black ticks: onset of every moderate/strong satellite cluster. Coloured bars with a dot: IDMC displacement records mapped to the province by their coordinates (bar = record window, dot size ∝ log10 of displaced persons for the whole record). Dashed red lines: CERF flood/storm allocation dates (type and budget).
Why it matters
IDMC and CERF were not used to build the compiled list, so where they coincide with a cluster they are independent evidence; where they sit on a cluster the compiled list missed, the cluster was 'not in the reports' rather than a false alarm.
What we observe
4 IDMC flood/storm displacement event(s) with coordinates in the period, the largest Cyclone Remal - India (multiple states), Bang… with 1,086,725 displacements; 3 CERF flood/storm allocation(s) dated inside the period.
Caveats
IDMC figures are per record, not per province: a record naming several provinces carries one national number. The IDMC archive ends in 2025, so Mozambique 2026 carries only a December 2025 record whose window reaches into January.
Do the independent impact records (IDMC displacement, CERF money) sit where the satellite clusters and the compiled reports sit?Mozambique 2026: displacement records, funding decisions and satellite clusters on one timeline
Jan Feb Mar Apr May Jun Jul Cabo Delgado (MZ01) Gaza (MZ02) Inhambane (MZ03) Manica (MZ04) Maputo (MZ05) Maputo City (MZ06) Nampula (MZ07) Niassa (MZ08) Sofala (MZ09) Tete (MZ10) Zambezia (MZ11) Flood $5.0M · 5 Feb Storm $4.5M · 11 Feb compiled report window moderate/strong cluster onset IDMC flood record (dot ∝ log displaced) CERF allocation date
What is shown
Rows: provinces. Grey bars: compiled report windows. Black ticks: onset of every moderate/strong satellite cluster. Coloured bars with a dot: IDMC displacement records mapped to the province by their coordinates (bar = record window, dot size ∝ log10 of displaced persons for the whole record). Dashed red lines: CERF flood/storm allocation dates (type and budget).
Why it matters
IDMC and CERF were not used to build the compiled list, so where they coincide with a cluster they are independent evidence; where they sit on a cluster the compiled list missed, the cluster was 'not in the reports' rather than a false alarm.
What we observe
1 IDMC flood/storm displacement event(s) with coordinates in the period, the largest Flood - Zambézia, Sofala with 9,000 displacements; 2 CERF flood/storm allocation(s) dated inside the period.
Caveats
IDMC figures are per record, not per province: a record naming several provinces carries one national number. The IDMC archive ends in 2025, so Mozambique 2026 carries only a December 2025 record whose window reaches into January.

The signals that matched no report, re-examined

Of the moderate/strong clusters the compiled list could not explain, how many coincide with an independently recorded displacement?Adjudicating the signals that matched no report: does IDMC record displacement there and then?
0 5 10 15 20 25 moderate/strong clusters with no compiled report Cameroon 2024 Niger 2024 Bangladesh 2024 Mozambique 2026 5/19 3/4 0/29 0/11 IDMC displacement record overlaps the cluster (± 14 d, same province) no IDMC record IDMC has no data for the period
What is shown
Per case, the clusters with no compiled report split by whether an IDMC flood/storm displacement record mapped to the same province overlaps the cluster window (± 14 days).
Why it matters
This is the test the published report could not run: a cluster with an IDMC record is a flood that was written down somewhere, just not in the compiled list.
What we observe
8 of 63 unmatched clusters are anchored by IDMC: Cameroon 2024 5/19, Niger 2024 3/4, Bangladesh 2024 0/29, Mozambique 2026 0/11.
Caveats
IDMC records only displacement, so a flood with no displacement stays unanchored; country-wide records (Niger 2024) anchor every province for months and are generous anchors.
casepcodenameonsetendmax_peak_zsensorsstrengthidmc_event_nameidmc_figures
cmr-2024CM010Sud-Ouest2024-02-282024-04-203.14CYGNSS+GFDSmoderateCameroon: Storm - Southwest (Kupe-Muaneguba/Tombel) - 28/03/202435.0
cmr-2024CM007Nord-Ouest2024-04-022024-04-213.57GFDSstrongCameroon: Storm - Northwest (Donga Mantung/Nkambe) - 03/05/202435.0
cmr-2024CM004Extrême-Nord2024-06-062024-07-155.19GFDS+GFMstrongCameroon: Flood - Far North - 01/07/2024253,009
cmr-2024CM007Nord-Ouest2024-08-292024-08-293.04GFMmoderateCameroon: Flood - Northwest (Bui/Noni) - 08/09/202497.0
cmr-2024CM007Nord-Ouest2024-09-102024-09-102.07GFMmoderateCameroon: Flood - Northwest (Bui/Noni) - 08/09/202497.0
ner-2024NE008Niamey2024-01-012024-05-045.65GFDS+GFMmoderateNiger: Flood - Countrywide - 01/05/20241,172,018
ner-2024NE005Tahoua2024-05-282024-07-102.60GFMmoderateNiger: Flood - Countrywide - 01/05/20241,172,018
ner-2024NE003Dosso2024-05-262024-07-194.62FLOODSCAN+GFDS+GFMstrongNiger: Flood - Countrywide - 01/05/20241,172,018

Detection against an independent yardstick

Do the detection rates hold up against a yardstick that was not compiled by the project?Hit rates against two yardsticks: the compiled reports and IDMC displacement records
0 20 40 60 80 100 120 share of province-events flagged (%) FloodScan GFDS GFM (S-1) MODIS VIIRS CYGNSS union (dating) union IDMC 4/19 reports 9/28 IDMC 12/25 reports 18/39 IDMC 15/25 reports 22/39 IDMC 7/25 reports 10/39 IDMC 1/1 reports 5/10 IDMC 10/25 reports 12/39 IDMC 22/25 IDMC 23/25 reports 33/39 compiled report list (39 province-events) IDMC displacement records (independent yardstick)
What is shown
Per product and for the union: the share of (event, province) pairs with at least one headline-level flag inside the same [start − 10 d, end + 21 d] window, once for the compiled report list (filled) and once for IDMC displacement records mapped to provinces (hollow). 95 % bootstrap CIs over events; labels give hits/pairs.
Why it matters
If the two yardsticks disagree strongly, the compiled list — not the sensors — is the weak link.
What we observe
Union against IDMC: 23/25 (92 %). The product ordering is similar under both yardsticks; IDMC pairs are fewer and their windows longer.
Caveats
Different denominators: IDMC has one country-wide record for Niger 2024 (8 province-pairs, May–October) and none for Mozambique 2026 beyond a December 2025 record.
Does the strong > moderate > weak ordering survive when the anchor is IDMC instead of the compiled list?Verdict calibration against both anchors
weak moderate strong 0 20 40 60 80 100 share of clusters with an anchor (%) 16/135 16/135 13/51 12/51 22/47 13/47 anchored by a compiled report anchored by an IDMC displacement record
What is shown
Share of clusters (all cases pooled) whose window overlaps a compiled report (filled) or an IDMC displacement record in the same province (hollow), by verdict strength; Wilson 95 % intervals.
Why it matters
The compiled list was built by the same people who set the thresholds; IDMC was not.
What we observe
Report anchor: weak 12 %, moderate 25 %, strong 47 %; IDMC anchor: weak 12 %, moderate 24 %, strong 28 %.
Caveats
IDMC anchors are fewer and coarser (one country-wide Niger record), which flattens the IDMC curve.
Is the signal magnitude informative about impact size, or only about occurrence?Does a stronger satellite departure mean more people displaced?
2 4 6 8 10 12 14 16 18 strongest departure of any dating product in the event's provinces, inside the window (z, capped at 30) 1 0 2 1 0 3 1 0 4 1 0 5 1 0 6 displaced persons (IDMC record total, log scale) Flood - Sylhet Flood [Monsoon] - Sylhet and Suna… Flood [Monsoon] - Multiple Distri… Cyclone Remal - India (multiple s… Storm - Southwest (Kupe-Muaneguba… Storm - Northwest (Donga Mantung/… Flood - Far North Storm - Far North Flood - Northwest (Momo/Widikum) Flood - Northwest (Bui/Noni) Flood - Far North (Logone-et-Char… Flood - West (Menoua) Flood - Far North Flood - Far North Flood - Zambézia, Sofala Flood - Countrywide Spearman ρ = +0.11, n = 16 events Bangladesh 2024 Cameroon 2024 Mozambique 2026 Niger 2024
What is shown
One point per IDMC flood/storm event with coordinates: the record's displaced-persons total against the highest z any dating product reached in the event's provinces inside the window. Rank correlation and n in the title.
Why it matters
A trigger that scales action with signal strength needs this relation to exist; a flat cloud says the products detect occurrence, not severity.
What we observe
ρ = +0.11 over 16 events — weak association, on a small sample dominated by a few very large records.
Caveats
Displaced-persons totals are per record and often national; z is province-level and, for the floored products, an area share in disguise (see the MAD-floor audit).

The lead-time ledger

When money moved, how many days of satellite signal already existed — and for the anticipatory allocations, was there any?The lead-time ledger: how much satellite evidence existed before each CERF allocation
−100 −75 −50 −25 0 25 50 75 100 days relative to the CERF decision date (0 = money committed; negative = before) CERF-CMR-24-RR-1427 · Flood · $4.0M Cameroon 2024 CERF-NER-24-RR-1417 · Flood · $7.0M Niger 2024 CERF-NER-24-RR-1398 · Flood · $5.0M ANTICIPATORY ACTION Niger 2024 24-RR-BGD-63521 · Storm · $7.4M Bangladesh 2024 24-RR-BGD-65078 · Flood · $6.2M Bangladesh 2024 CERF-BGD-24-RR-1421 · Flood · $4.0M Bangladesh 2024 CERF-MOZ-26-RR-1517 · Flood · $5.0M Mozambique 2026 CERF-MOZ-26-RR-1513 · Storm · $4.5M ANTICIPATORY ACTION Mozambique 2026 first dating-product flag in the matched event's provinces first dating-product flag anywhere in the country (≤ 90 d) first moderate/strong cluster onset compiled report start compiled report peak first IDMC record in the window allocation
What is shown
One row per flood/storm CERF allocation whose decision date falls inside a case period, on a time axis centred on that decision date — the earliest project approval for a response allocation, the disbursement date for an anticipatory one, because an anticipatory allocation's approval date only records when the pre-agreed envelope was signed off. Filled ▲ = first dating-product flag inside the matched event's own provinces (from the event's window start); hollow ▲ = first dating-product flag anywhere in the country in the previous 90 days; tick = first moderate/strong cluster onset; ○/◆ = start/peak of the compiled event the allocation responds to — or, for an anticipatory allocation, the event it anticipates; ■ = first IDMC record.
Why it matters
For anticipatory action this is the operational question: the ledger shows whether an observation-based trigger could have fired before the decision, and by how much.
What we observe
Response allocations (6): the first dating-product flag in the event's provinces preceded the decision by a median 36 days. Anticipatory allocations (2): CERF-NER-24-RR-1398 (Niger 2024) committed money 11 d after the reported start of Niger River Guinean flood (Nov–Dec 2024, AA activated), dated from its earliest project approval; CERF-MOZ-26-RR-1513 (Mozambique 2026) committed money 2 d before the reported start of Cyclone Gezani (February 2026), dated from its disbursement date.
Caveats
Allocations are matched to events on the allocation code and the emergency type, never on the allocation title — CERF names an allocation for when the emergency began, so the cyclone envelope and the flood response here share the title 'Mozambique Jan 2026'. The 90-day look-back is a choice; a flag 'anywhere in the country' can belong to an earlier flood in the same season, which is why the event-level lead is the one to read. A cyclone cannot be observed before it forms: for Gezani the trigger was a forecast, and the flags its provinces carried before disbursement fall inside the January riverine flood's window and date that flood, not the storm.

Lead from the first dating-product flag in the affected provinces to the decision date: median 36 days (range 9–61) over 6 response allocations. Anticipatory allocations: CERF-NER-24-RR-1398 (Niger 2024, decision 26 Nov 2024 from its earliest project approval) — 11 d after the reported start of Niger River Guinean flood (Nov–Dec 2024, AA activated), with a dating-product flag in 3 of its provinces already 87 d earlier; CERF-MOZ-26-RR-1513 (Mozambique 2026, decision 11 Feb 2026 from its disbursement date) — 2 d before the reported start of Cyclone Gezani (February 2026), with a dating-product flag in 3 of its provinces already 41 d earlier.

Which date counts as the decision. A CERF allocation carries two dates per project, and the ledger uses whichever one marks the moment the money was actually committed — lead computed from in the table below records which, for every row. For a response allocation it is the earliest project approval: the allocation-level extract carries the latest, which can post-date the decision by a week (CERF-MOZ-26-RR-1517 05 Feb not 11 Feb). For an anticipatory allocation it is the disbursement date: the approval date only records when the pre-agreed envelope was signed off, which for CERF-MOZ-26-RR-1513 was 13 days earlier — 29 Jan 2026, before the hazard it pays for existed. Where the project-level export does not cover an allocation, no disbursement date exists and the approval date is used; AA flag from records whether the anticipatory flag came from the export's allocation title or, failing that, from the reference-event annotation.
Ledger table
casecodetypedecision datelead computed fromapproval (earliest project)approval (latest project)disbursement (earliest)budgetprojectsanticipatoryAA flag fromreport_eventreport_startreport_peakdays after reported startfirst dating flag in event provincesevent lead (d)event provinces flaggedfirst dating flag in event provinces, 90 d before decisionpre-decision lead (d)pre-decision provinces flaggedthat flag dates this other eventfirst dating flag, any province (90 d)country lead (d)first_cluster_onsetprovinces with a clusteridmc_first_startIDMC displaced in look-back
cmr-2024CERF-CMR-24-RR-1427Flood2024-11-08approval_first2024-11-082024-11-084,000,021n/a (response)Logone River overflows (October 2024)2024-09-282024-10-14412024-09-185112024-08-26741Far North floods, Logone-et-Chari and Mayo-Danay (Aug–Sep 2024)2024-08-23772024-08-2352024-08-31147.0
ner-2024CERF-NER-24-RR-1417Flood2024-10-10approval_first2024-10-102024-10-106,999,928n/a (response)Niger River local flood at Niamey (Aug–Sep 2024)2024-08-202024-09-05512024-08-106132024-07-28743August–September 2024 rainy-season floods (nationwide)2024-07-28742024-05-267
ner-2024CERF-NER-24-RR-1398Flood2024-11-26approval_first2024-11-262024-11-264,999,764yesreference eventNiger River Guinean flood (Nov–Dec 2024, AA activated)2024-11-152024-12-05112024-11-052112024-08-31873Niger River local flood at Niamey (Aug–Sep 2024)2024-08-31872024-07-278
bgd-202424-RR-BGD-63521Storm2024-06-07approval_first2024-06-072024-06-077,415,323n/a (response)Cyclone Remal surge and rain (late May 2024)2024-05-262024-05-27122024-05-29932024-05-29932024-05-2992024-01-2872024-05-261,861,056
bgd-202424-RR-BGD-65078Flood2024-07-04approval_first2024-07-042024-07-046,197,151n/a (response)Brahmaputra–Jamuna monsoon floods, north (July 2024)2024-06-282024-07-0662024-06-221222024-05-293622024-05-29362024-05-2972024-05-261,861,056
bgd-2024CERF-BGD-24-RR-1421Flood2024-09-25approval_first2024-09-252024-09-254,000,002n/a (response)Eastern flash floods, Feni–Cumilla–Noakhali (Aug 2024)2024-08-192024-08-23372024-08-193722024-07-08792Sylhet floods (June 2024)2024-07-04832024-05-2982024-08-21540,510
moz-2026CERF-MOZ-26-RR-1517Flood2026-02-05approval_first2026-02-052026-02-112026-02-105,010,1974.00export titleSouthern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)2026-01-012026-01-28352026-01-013562026-01-013562026-01-01352026-01-0182025-12-249,000
moz-2026CERF-MOZ-26-RR-1513Storm2026-02-11disbursement_first2026-01-292026-01-292026-02-114,500,0015.00yesexport titleCyclone Gezani (February 2026)2026-02-132026-02-15-22026-02-03822026-01-01413Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026)2026-01-01412026-01-0182025-12-249,000

7. Maps

Real COD-AB ADM1 geometries (fieldmaps.io originals, simplified for display). Blue maps share one 0–100 % scale.

Is coverage spatially even, and do the flagged provinces coincide with the reported ones?Cameroon 2024: coverage, monitoring, reported events and verdict by province
FloodScan: good-look days (%) GFDS: good-look days (%) GFM (S-1): good-look days (%) MODIS: good-look days (%) CYGNSS: good-look days (%) GFDS: monitored share of unit (%) 0 0 0 2 0 0 0 0 0 0 reported events naming the unit CM001 CM002 CM003 CM004 CM005 CM006 CM007 CM008 CM009 CM010 overall verdict 0 20 40 60 80 100 share (%) — one scale for every blue map Cameroon 2024: where each product looked, where floods were reported, and the verdict not observed no signal persistent offset only weak moderate strong
What is shown
Blue maps share ONE 0–100 % scale: share of period days with a good look per product, then the share of each unit that GFDS actually monitors. Grey map: number of reported events naming the unit. Right: the combined verdict.
Why it matters
A product's revisit statistic is a median; the map shows which provinces fall below it, and whether those are the provinces the reports name.
What we observe
Lowest median good-look rate: MODIS at 0 % of days.
Caveats
COD-AB geometries simplified for display only; p-codes printed on the verdict map are the official OCHA codes.
How large is the GFM tile-blur caveat, province by province?Cameroon 2024: how much of a province's GFM signal comes from inside the province
CM001 CM002 CM003 CM004 CM005 CM006 CM007 CM008 CM009 CM010 18 Sentinel-1 / GFM 300 km tiles over 10 provinces 0 20 40 60 80 100 share of the GFM signal a province receives that originates INSIDE it (%) Ouest (CM008) Sud (CM009) Extrême-Nord (CM004) Sud-Ouest (CM010) Nord-Ouest (CM007) Nord (CM006) Centre (CM002) Littoral (CM005) Est (CM003) Adamaoua (CM001) 2 tiles 4 tiles 4 tiles 3 tiles 2 tiles 4 tiles 4 tiles 1 tiles 6 tiles 3 tiles
What is shown
Left: the GFM tile footprints (green) actually acquired in the period, over the ADM1 units. Right: for each province, the floodable-area-weighted share of the covering tiles' footprint that lies inside the province — i.e. the share of the summed pixel counts the pipeline attributes to that province that could physically have come from within it.
Why it matters
The published report states the caveat but never sizes it. A province at 10 % is effectively reporting its neighbours' water.
What we observe
Ranges from 11 % (Ouest) to 38 % (Adamaoua); median 20 %.
Caveats
Computed from STAC footprints, which over-cover the valid data; the true inside share is somewhat higher where tiles contain nodata.
Is coverage spatially even, and do the flagged provinces coincide with the reported ones?Niger 2024: coverage, monitoring, reported events and verdict by province
FloodScan: good-look days (%) GFDS: good-look days (%) GFM (S-1): good-look days (%) MODIS: good-look days (%) CYGNSS: good-look days (%) GFDS: monitored share of unit (%) 1 1 3 2 1 3 1 4 reported events naming the unit NE001 NE002 NE003 NE004 NE005 NE006 NE007 NE008 overall verdict 0 20 40 60 80 100 share (%) — one scale for every blue map Niger 2024: where each product looked, where floods were reported, and the verdict not observed no signal persistent offset only weak moderate strong
What is shown
Blue maps share ONE 0–100 % scale: share of period days with a good look per product, then the share of each unit that GFDS actually monitors. Grey map: number of reported events naming the unit. Right: the combined verdict.
Why it matters
A product's revisit statistic is a median; the map shows which provinces fall below it, and whether those are the provinces the reports name.
What we observe
Lowest median good-look rate: GFM (S-1) at 23 % of days.
Caveats
COD-AB geometries simplified for display only; p-codes printed on the verdict map are the official OCHA codes.
How large is the GFM tile-blur caveat, province by province?Niger 2024: how much of a province's GFM signal comes from inside the province
NE001 NE002 NE003 NE004 NE005 NE006 NE007 NE008 31 Sentinel-1 / GFM 300 km tiles over 8 provinces 0 20 40 60 80 100 share of the GFM signal a province receives that originates INSIDE it (%) Niamey (NE008) Dosso (NE003) Maradi (NE004) Diffa (NE002) Tillabéri (NE006) Tahoua (NE005) Zinder (NE007) Agadez (NE001) 2 tiles 3 tiles 3 tiles 7 tiles 4 tiles 5 tiles 7 tiles 15 tiles
What is shown
Left: the GFM tile footprints (green) actually acquired in the period, over the ADM1 units. Right: for each province, the floodable-area-weighted share of the covering tiles' footprint that lies inside the province — i.e. the share of the summed pixel counts the pipeline attributes to that province that could physically have come from within it.
Why it matters
The published report states the caveat but never sizes it. A province at 10 % is effectively reporting its neighbours' water.
What we observe
Ranges from 1 % (Niamey) to 73 % (Agadez); median 36 %.
Caveats
Computed from STAC footprints, which over-cover the valid data; the true inside share is somewhat higher where tiles contain nodata.
Is coverage spatially even, and do the flagged provinces coincide with the reported ones?Bangladesh 2024: coverage, monitoring, reported events and verdict by province
GFDS: good-look days (%) GFM (S-1): good-look days (%) MODIS: good-look days (%) CYGNSS: good-look days (%) GFDS: monitored share of unit (%) 1 2 1 1 2 1 1 2 reported events naming the unit BD10 BD20 BD30 BD40 BD45 BD50 BD55 BD60 overall verdict 0 20 40 60 80 100 share (%) — one scale for every blue map Bangladesh 2024: where each product looked, where floods were reported, and the verdict not observed no signal persistent offset only weak moderate strong
What is shown
Blue maps share ONE 0–100 % scale: share of period days with a good look per product, then the share of each unit that GFDS actually monitors. Grey map: number of reported events naming the unit. Right: the combined verdict.
Why it matters
A product's revisit statistic is a median; the map shows which provinces fall below it, and whether those are the provinces the reports name.
What we observe
Lowest median good-look rate: MODIS at 41 % of days.
Caveats
COD-AB geometries simplified for display only; p-codes printed on the verdict map are the official OCHA codes.
How large is the GFM tile-blur caveat, province by province?Bangladesh 2024: how much of a province's GFM signal comes from inside the province
BD10 BD20 BD30 BD40 BD45 BD50 BD55 BD60 9 Sentinel-1 / GFM 300 km tiles over 8 provinces 0 20 40 60 80 100 share of the GFM signal a province receives that originates INSIDE it (%) Barisal (BD10) Mymensingh (BD45) Sylhet (BD60) Khulna (BD40) Rangpur (BD55) Dhaka (BD30) Chittagong (BD20) Rajshahi (BD50) 2 tiles 4 tiles 1 tiles 4 tiles 3 tiles 2 tiles 2 tiles 3 tiles
What is shown
Left: the GFM tile footprints (green) actually acquired in the period, over the ADM1 units. Right: for each province, the floodable-area-weighted share of the covering tiles' footprint that lies inside the province — i.e. the share of the summed pixel counts the pipeline attributes to that province that could physically have come from within it.
Why it matters
The published report states the caveat but never sizes it. A province at 10 % is effectively reporting its neighbours' water.
What we observe
Ranges from 6 % (Barisal) to 19 % (Rajshahi); median 15 %.
Caveats
Computed from STAC footprints, which over-cover the valid data; the true inside share is somewhat higher where tiles contain nodata.
Is coverage spatially even, and do the flagged provinces coincide with the reported ones?Mozambique 2026: coverage, monitoring, reported events and verdict by province
FloodScan: good-look days (%) GFDS: good-look days (%) GFM (S-1): good-look days (%) MODIS: good-look days (%) VIIRS: good-look days (%) CYGNSS: good-look days (%) GFDS: monitored share of unit (%) 0 2 2 0 1 1 0 1 2 0 1 reported events naming the unit MZ01 MZ02 MZ03 MZ04 MZ05 MZ06 MZ07 MZ08 MZ09 MZ10 MZ11 overall verdict 0 20 40 60 80 100 share (%) — one scale for every blue map Mozambique 2026: where each product looked, where floods were reported, and the verdict not observed no signal persistent offset only weak moderate strong
What is shown
Blue maps share ONE 0–100 % scale: share of period days with a good look per product, then the share of each unit that GFDS actually monitors. Grey map: number of reported events naming the unit. Right: the combined verdict.
Why it matters
A product's revisit statistic is a median; the map shows which provinces fall below it, and whether those are the provinces the reports name.
What we observe
Lowest median good-look rate: MODIS at 0 % of days.
Caveats
COD-AB geometries simplified for display only; p-codes printed on the verdict map are the official OCHA codes.
How large is the GFM tile-blur caveat, province by province?Mozambique 2026: how much of a province's GFM signal comes from inside the province
MZ01 MZ02 MZ03 MZ04 MZ05 MZ06 MZ07 MZ08 MZ09 MZ10 MZ11 30 Sentinel-1 / GFM 300 km tiles over 11 provinces 0 20 40 60 80 100 share of the GFM signal a province receives that originates INSIDE it (%) Maputo City (MZ06) Manica (MZ04) Maputo (MZ05) Tete (MZ10) Gaza (MZ02) Sofala (MZ09) Niassa (MZ08) Nampula (MZ07) Cabo Delgado (MZ01) Zambezia (MZ11) Inhambane (MZ03) 1 tiles 6 tiles 2 tiles 5 tiles 4 tiles 5 tiles 5 tiles 3 tiles 5 tiles 6 tiles 4 tiles
What is shown
Left: the GFM tile footprints (green) actually acquired in the period, over the ADM1 units. Right: for each province, the floodable-area-weighted share of the covering tiles' footprint that lies inside the province — i.e. the share of the summed pixel counts the pipeline attributes to that province that could physically have come from within it.
Why it matters
The published report states the caveat but never sizes it. A province at 10 % is effectively reporting its neighbours' water.
What we observe
Ranges from 0 % (Maputo City) to 58 % (Inhambane); median 43 %.
Caveats
Computed from STAC footprints, which over-cover the valid data; the true inside share is somewhat higher where tiles contain nodata.

8. Key findings

  1. F1 — Detection is a GFM story. On its own GFM (S-1) flags 22/39 province-events (56 %); every other product alone is between 26 % (MODIS, n = 39) and 50 % (VIIRS, n = 10) over the province-events it could see. The dropout test puts the union at 67 % without GFM against 85 % with it (dropout, ladder).
  2. F2 — Yet GFM is the product that looks least often. Its median good-look rate is 23 % (Cameroon 2024), 23 % (Niger 2024), 41 % (Bangladesh 2024), 50 % (Mozambique 2026); the combination therefore buys continuity of looks from the microwave products and continuity of detection from radar — two different things (observability, staleness).
  3. F3 — Optical missingness is not at random. Inside reported windows MODIS has a good look on 25 % of unit-days vs 5 % outside (Cameroon 2024); 49 % of unit-days vs 85 % outside (Niger 2024); 7 % of unit-days vs 43 % outside (Bangladesh 2024); 38 % of unit-days vs 24 % outside (Mozambique 2026) (figure).
  4. F4 — Latency depends on flood type; for flash floods the daily microwave products are late or silent. For flash province-events the products with hits are MODIS (median -10 d, 3/6), GFDS (median +0 d, 3/6), GFM (S-1) (median +6 d, 2/6), CYGNSS (median +12 d, 2/6) (by type).
  5. F5 — Products agree on episodes, not on days. Median |ρ| between products within provinces after removing seasonality: 0.01 (Cameroon 2024), 0.02 (Niger 2024), 0.05 (Bangladesh 2024), 0.09 (Mozambique 2026), against 0.06, 0.13, 0.29, 0.06 on raw z — most raw agreement is the rainy season. Lagged peaks with ρ ≥ 0.2: Cameroon 2024: MODIS→CYGNSS lag +27 d (ρ 0.21); Mozambique 2026: FloodScan→CYGNSS lag +6 d (ρ 0.33); Mozambique 2026: FloodScan→MODIS lag +3 d (ρ 0.22); Mozambique 2026: GFDS→FloodScan lag +4 d (ρ 0.26); Mozambique 2026: MODIS→VIIRS lag -1 d (ρ 0.29) (comparison).
  6. F6 — Neighbouring provinces do behave alike, for almost every product. 17 of 20 case × product rows show a significantly higher correlation between adjacent provinces than between non-adjacent ones (largest: Mozambique 2026 MODIS (Δρ +0.42, p = 0.00), Mozambique 2026 FloodScan (Δρ +0.40, p = 0.00), Mozambique 2026 VIIRS (Δρ +0.36, p = 0.00)); the exceptions are Niger 2024 FloodScan, Niger 2024 MODIS, Niger 2024 CYGNSS (adjacency). For GFM part of the effect is mechanical: shared 300 km tiles couple provinces by up to 100 % of their signal (CM005 from tiles shared with CM002, Cameroon 2024).
  7. F7 — Agreement between products is informative. The share of clusters anchored by a report rises from 22 % with one non-weak product to 44 % with two and 67 % with three (calibration).
  8. F8 — The z-scores are not one statistic. 62 of 113 in-period unit series sit on the MAD floor; for them 'z ≥ 2' is '≥ 0.4 % of the visible unit', which is why MODIS reaches z = 96 while GFDS never exceeds 17 (Section 3).
  9. F10 — The IDMC yardstick tells the same story as the compiled list. Union 23/25 (92 %); best single product GFM (S-1) at 60 % (15/25); dating products alone 88 % (two yardsticks).
  10. F11 — Part of the 'not in the reports' set is real, recorded displacement. 8 of 63 unmatched moderate/strong clusters overlap an IDMC displacement record in the same province (Bangladesh 2024 0/29, Cameroon 2024 5/19, Mozambique 2026 0/11, Niger 2024 3/4); the Bangladesh set — the largest — has none, which points at seasonal wetting and tile bleed rather than unreported floods there (adjudication).
  11. F12 — The tier ordering survives the independent anchor, but flatter: weak 12 %, moderate 24 %, strong 28 % of clusters overlap an IDMC record, against 47 % for strong clusters on the compiled list (calibration). Signal magnitude tracks displaced persons only weakly (ρ = +0.11, n = 16).
  12. F13 — Response money moved a median 36 days after the first dating-product flag in the affected provinces (6 response allocations, range 9–61 d). The 2 anticipatory allocations: CERF-NER-24-RR-1398 (Niger 2024) committed money 11 d after the reported start of Niger River Guinean flood (Nov–Dec 2024, AA activated), dated from its earliest project approval; CERF-MOZ-26-RR-1513 (Mozambique 2026) committed money 2 d before the reported start of Cyclone Gezani (February 2026), dated from its disbursement date. So an observation-based trigger had weeks of evidence in hand for every response allocation (ledger).
  13. F13b — for CERF-NER-24-RR-1398 the prior signal belongs to a different flood, so the trigger question stays open. 3 of the provinces of Niger River Guinean flood (Nov–Dec 2024, AA activated) carried a dating-product flag up to 87 d before the money moved, but that flag falls inside the window of Niger River local flood at Niamey (Aug–Sep 2024) — a different compiled event sharing those provinces — so it dates that flood, not the event this allocation anticipates. The earlier claim that this allocation had "no prior flag in its provinces" was an artefact of searching only from its own window start, which opens after the decision; on a window that can contain the decision date the flags exist but belong elsewhere. Neither figure is evidence about whether an observation-based trigger was feasible here (ledger).
  14. F13c — for CERF-MOZ-26-RR-1513 the prior signal belongs to a different flood, so the trigger question stays open. 3 of the provinces of Cyclone Gezani (February 2026) carried a dating-product flag up to 41 d before the money moved, but that flag falls inside the window of Southern and central floods, Limpopo–Incomáti–Buzi (Jan 2026) — a different compiled event sharing those provinces — so it dates that flood, not the event this allocation anticipates. A cyclone cannot be observed before it forms, so the observational record could not have carried this signal in any case. The earlier claim that this allocation had "no prior flag in its provinces" was an artefact of searching only from its own window start, which opens after the decision; on a window that can contain the decision date the flags exist but belong elsewhere. Neither figure is evidence about whether an observation-based trigger was feasible here (ledger).
  15. F9 — The published headline numbers reproduce exactly (33/39 province-events, 63 outside-report clusters, verdict counts per case) even though FloodScan's data changed from a 90-day window to a full record — its floored z rarely creates or removes a cluster on its own (Appendix A).

9. Recommendations and next steps

Recommendations are proposals that follow from the findings; they are not findings.

Data pipeline

  • Restore a day-of-year baseline for FloodScan. The team DB holds 1998→present; a per-unit day-of-year median (± 15 days, all years) reproduces what SFED_BASELINE gave and removes the MAD-floor artefact. The same climatology approach — a multi-year day-of-year normal from the archive — should replace the in-period median for CYGNSS (2018→) and the vendor static normal for GFDS (1997→), which the decision record already proposes and the code has not done.
  • Replace the absolute MAD floor with a product-specific area floor stated in area units (e.g. "0.4 % of the unit"), so that the report says what the threshold is instead of calling it z.
  • Encode the dating/confirming asymmetry. Let only FloodScan, GFDS and GFM set an episode's onset and the matched offset; let CYGNSS, MODIS and VIIRS extend or corroborate. Today a CYGNSS composite can be the peaking product of a matched cluster.
  • Unify the two definitions of "strong" (evidence.py `_strength` requires ≥ 5 sustained days for a single product; `event_check` does not).
  • Declare dependencies: the old HTML bundler needed `markdown`, which was never in pyproject.toml; the new pipeline uses only packages already installed.
  • Fix the `z_method` label for GFM ("product z (vendor normal)" is the repo's own climatology).
  • Drop the "too small for the sensor" GFDS rule as an area threshold (it flags Niamey and Maputo City for being cities); use the monitored share of the unit instead.
  • Keep the impact anchors in the loop. IDMC records should be refreshed with each GIDD release (the archive currently ends in 2025) and mapped to ADM2 where coordinates allow. For CERF, pull the project-level export for every case country, not just the allocation-level one: it is what carries the disbursement dates and the "(Anticipatory Action-…)" marker, and without it a lead time is measured against the wrong date — for the two Mozambique allocations that was the difference between −15 d and −2 d, and between 41 d and 35 d. Match allocations to events on the allocation code and the emergency type, never on the allocation title: CERF names an allocation for when the emergency began, so a cyclone envelope and a flood response can share the title "Mozambique Jan 2026".

Monitoring and event detection

  • Treat GFM as the detector and the microwave products as the continuity layer: a trigger design could require a GFM anomaly confirmed by any microwave product within 7 days, which the ladder and dropout figures show would retain almost every detection while adding a daily "still elevated / receded" signal.
  • For flash floods specifically, the daily products are late (Section 5); operational value lies in the 6-day S-1A + S-1C revisit and in downloading the 20 m GFM rasters (the sibling flood-multisensor pipeline) to remove the tile blur quantified here.
  • Use the days-since-last-good-look series as an operational status: it tells a decision-maker how stale each product's evidence is today.

Analysis and validation

  • Add rainfall (IMERG is already in the team DB) so that verdict calibration can test a rain precursor, and so that flood type can be assigned from data rather than from report text.
  • Extend the reference list: Mozambique March–June 2026 has no compiled events, and most of the unmatched clusters cannot be adjudicated by IDMC either. Systematic ReliefWeb/EM-DAT extraction with impact anchors would turn the "not in the reports" set into a labelled set.
  • Report the spatial resolution mismatch explicitly: province-level aggregation dilutes flash floods (Feni is a district inside Chattogram division); an ADM2 run is the obvious next step.

Visualisation

  • Keep one shared z scale and the collapsed empty panels; keep the staleness curve instead of the tick strips; keep one colour scale per map row. The province explorer should be extended with a date brush if the series grow to multi-year.

Future modelling

  • A multi-year event record for a rainfall-to-flood model should be built from GFM anomalies confirmed by a microwave product, with the first dating-product flag as the onset date, and the CYGNSS/optical flags as duration/extent attributes — never as onsets. IDMC displacement totals are the natural impact label for such a record; CERF dates are the natural decision label.

Limitations — what this data cannot support

  • Thirteen events, thirty-nine province-events. Every rate here has a wide bootstrap interval; differences of a few province-events between scenarios are within noise. The report shows intervals rather than claiming rankings.
  • The yardstick is a list of reports. Dates are publication-driven, windows are generous (−10/+21 days), impact is not water. Negative latencies and 'unmatched' clusters are consequences of the yardstick, not of the sensors.
  • Province-level aggregation. A flash flood in one district is diluted across a division of 10 000–30 000 km² (Bangladesh) or hundreds of thousands (Niger); the same signal would look different at ADM2.
  • GFM is a tile-metadata proxy, not a clipped raster: the inside-share figure sizes the bleed but does not remove it.
  • z is not one statistic across products (vendor normal, tile climatology, in-period median/MAD with a floor); magnitudes are comparable within a column, not across.
  • No rainfall, no gauges in the repository: flood types are read from report text, and no rain precursor can be tested.
  • One year per country (six months for Mozambique): seasonality cannot be estimated from the case data itself, only removed by a rolling median, which also removes slow genuine floods.
  • Bangladesh has no FloodScan; VIIRS exists only for 2026; the product sets therefore differ by case, and cross-case comparisons of the union are not like-for-like.
  • IDMC and CERF are anchors, not ground truth either. IDMC records displacement (not inundation), its figures are per record and often national, its archive ends in 2025, and Niger 2024 is one country-wide May–October record; CERF dates are approval dates at country level. Neither can locate a flood inside a province.

Appendix

A. Cross-check against the published report

The published values are transcribed constants (crosscheck.py); everything else is regenerated. Differences are explained, not hidden.

CaseMetricPublishedRegeneratedStatus
Niger 2024ADM1 units88match
Niger 2024strong verdicts77match
Niger 2024moderate verdicts11match
Niger 2024province-events flagged13 of 1613 of 16match
Niger 2024worst-hit provinces flagged8 of 118 of 11match
Niger 2024moderate/strong clusters outside reports44match
Cameroon 2024ADM1 units1010match
Cameroon 2024strong verdicts55match
Cameroon 2024moderate verdicts44match
Cameroon 2024province-events flagged2 of 22 of 2match
Cameroon 2024worst-hit provinces flagged2 of 22 of 2match
Cameroon 2024moderate/strong clusters outside reports1919match
Bangladesh 2024ADM1 units88match
Bangladesh 2024strong verdicts88match
Bangladesh 2024moderate verdicts00match
Bangladesh 2024province-events flagged9 of 119 of 11match
Bangladesh 2024worst-hit provinces flagged8 of 108 of 10match
Bangladesh 2024moderate/strong clusters outside reports2929match
Mozambique 2026ADM1 units1111match
Mozambique 2026strong verdicts88match
Mozambique 2026moderate verdicts33match
Mozambique 2026province-events flagged9 of 109 of 10match
Mozambique 2026worst-hit provinces flagged6 of 66 of 6match
Mozambique 2026moderate/strong clusters outside reports1111match
allprovince-events flagged33 of 3933 of 39match
allclusters outside reports6363match
allsignal peak vs reported peak, range (d)-27 … +53-26 … +53 over the in-window peaks of the 33 flagged province-events (the basis of the published prose); -19 … +53 over matched moderate/strong clusters; -30 … +53 including weak clustersdiffers by 1 d at the low end: the published range was computed on the pre-migration event checks (FloodScan = 90-day HDX window); same statistic, changed data

Revisit statistics as published

CaseProductPublished (units, good %, any %, gap, blind)RegeneratedStatus
Niger 2024CYGNSS8, 100, 100, 1, 08, 100.0, 100.0, 1, 0match
Niger 2024GFDS8, 89.1, 93.4, 1, 18, 89.1, 93.4, 1, 1match
Niger 2024GFM (S-1)8, 22.7, 27.35, 5, 128, 22.7, 27.4, 5, 12match
Niger 2024MODIS8, 76.25, 89.2, 1, 278, 76.2, 89.2, 1, 27match
Cameroon 2024CYGNSS10, 100, 100, 1, 010, 100.0, 100.0, 1, 0match
Cameroon 2024GFDS10, 77, 79.8, 1, 310, 77.0, 79.8, 1, 3match
Cameroon 2024GFM (S-1)10, 23.35, 24.6, 5, 910, 23.4, 24.6, 5, 9match
Cameroon 2024MODIS1, 0, 14.9, 1, 3661, 0.0, 14.9, 1, 366match
Bangladesh 2024CYGNSS8, 100, 100, 1, 08, 100.0, 100.0, 1, 0match
Bangladesh 2024GFDS8, 78.25, 80.7, 1, 28, 78.2, 80.7, 1, 2match
Bangladesh 2024GFM (S-1)8, 41.3, 45.4, 2, 68, 41.3, 45.4, 2, 6match
Bangladesh 2024MODIS8, 41.25, 53.6, 1, 838, 41.2, 53.6, 1, 83match
Mozambique 2026CYGNSS11, 97.8, 97.8, 1, 411, 97.8, 97.8, 1, 4match
Mozambique 2026FloodScan11, 16, 16, 1, 15211, 100.0, 100.0, 1, 0data changed: full FloodScan record now loaded from the team DB
Mozambique 2026GFDS11, 99.4, 99.4, 1, 111, 99.4, 99.4, 1, 1match
Mozambique 2026GFM (S-1)11, 49.7, 54.1, 2, 411, 49.7, 54.1, 2, 4match
Mozambique 2026MODIS5, 0, 63, 1, 1815, 0.0, 63.0, 1, 181match
Mozambique 2026VIIRS5, 0, 63.5, 1, 1815, 0.0, 63.5, 1, 181match

B. Where the project brief and the repository disagree

  • No module resembling aigle_latency.py (add_doy_zscore, rain_thresholds, marginal_ladder, …) exists in the repository, and no rainfall data does; the latency, ladder, dropout and calibration analyses here were written from scratch on the repo's episode tables, and a rain-precursor calibration is not possible.
  • FloodScan is no longer "mostly missing": an uncommitted migration to ocha-stratus loads the full daily record from public.floodscan for Cameroon 2024, Niger 2024, Mozambique 2026. The published "16 % / 152-day blind stretch" describes the previous state (outputs.before/).
  • That migration returns no SFED_BASELINE, so FloodScan's z is an in-period median/MAD, not a day-of-year anomaly as the brief and pipeline.py's docstring state.
  • "MODIS observed only 1 of 8 provinces in Niger" is Cameroon (1 of 10); Niger MODIS observes all 8 at a median 76 % good-look rate.
  • The peak-offset range of −27…+53 d was computed on the pre-migration event checks; the same statistic on today's data is in the cross-check table above.
  • Two definitions of "strong" coexist (evidence.py _strength vs event_check); the GFM z_method label is wrong; the dating/confirming asymmetry is not encoded anywhere in the code.
  • The IDMC GIDD and CERF datasets (data/raw/impact/) were added after the published report; Section 6 and findings F10–F13 exist only in this regenerated version.
  • Corrected: an earlier version of this appendix said the anticipatory allocation codes had to be recorded by hand on the reference events "because the CERF export carries no anticipatory-action marker". That is wrong for the project-level export (CERF_funding_list_country.xlsx), whose Allocation title reads "CERF Rapid Response: Mozambique Jan 2026 (Anticipatory Action-Storms)". The flag is now derived from that title, and the AA flag from column of the ledger records the provenance of every row. The hand annotation survives only as a fallback for allocations the project-level export does not cover — which is the case for CERF-NER-24-RR-1398, so the Niger anticipatory flag is still an annotation, not a derivation.
  • Corrected: the January 2026 Mozambique flood was previously attributed the allocation CERF-MOZ-26-RR-1513 (Storm, $4.5M, the cyclone anticipatory envelope) because the lead-in to One event, six products took the earliest allocation in the case period. Both allocations are titled "Mozambique Jan 2026" — CERF names an allocation for when the emergency began, not when it was approved. The flood response is CERF-MOZ-26-RR-1517 (Flood, $5.0M), and matching now requires the emergency type to agree with the event's hazard type, asserted in impact.cerf_ledger. This removed a contradiction with Section 6, which reported the other allocation for the same event.
  • Corrected: the ledger used Approval date for every allocation. It now uses the earliest project approval for a response allocation (the allocation-level extract carries the latest) and the Disbursement date for an anticipatory one. Cyclone Gezani formed on 4–5 February 2026 and was named on 8–9 February; CERF-MOZ-26-RR-1513's approval date of 29 January therefore pre-dates the storm, while its disbursement dates (11–12 February) are when the trigger fired. The reported lead for Gezani changed from −15 d to −2 d, and the Mozambique flood response from 41 d to 35 d after the reported start, which moved the response-allocation median from 39 d to 36 d.
  • Unresolved, left as the export has it: CERF-NER-24-RR-1398 is dated 2024-11-26 in the allocation-level export, later than CERF-NER-24-RR-1417 (2024-10-10) and CERF-BGD-24-RR-1421 (2024-09-25) despite carrying a lower allocation number. Allocation numbers are not issued in date order in this export, and no project-level export covering Niger 2024 is available to check the date against, so it is reported as the export gives it. If the number ordering is the reliable one, this allocation's date — and the 11 d and 21 d leads computed from it — are wrong.

C. Thresholds (config/thresholds.yaml)

GroupParameterValue
signalz_headline2.0
signalz_strong3.0
signalz_weak1.5
signalmin_duration_days3
signalmin_observations1
signalgap_tolerance_days2
signalgap_tolerance_days_sparse14
signalgap_tolerance_days_cloudy5
signalrobust_baselinemedian_mad
signalmad_floor_fraction0.002
signalz_sanity_bound50
signalchange_window_days91
signalchange_min_z1.5
signalchange_scale_floor0.5
signalpersistent_min_days30
signalgfm_clim_min_samples8
signalgfm_clim_ratio_floor0.002
coverageobserved_floor0.5
coveragepartial_floor0.2
coveragegfds_min_site_km21000
coveragegfm_min_anomaly_share0.25
coveragesparse_low_coverage_is_weakTrue
evidencecluster_window_days7
evidenceevent_lead_days10
evidenceevent_lag_days21
evidencestrong{'min_sensors': 2}
evidencestrong_single{'peak_z': 3.0, 'min_days': 5}
evidencemoderate{'peak_z': 2.0}

D. How to regenerate

uv sync                              # inputs: data/processed/obs/*.parquet, config/*.yaml, data/raw/impact/*.xlsx
uv run floodsig html                 # re-runs `analyse` for every case, computes all tables, draws all figures, writes this file
uv run floodsig html --no-analyse    # reuse the last analyse tables (faster)
uv run floodsig html --case ner-2024 --out /tmp/ner.html --n-boot 500

Derived tables: outputs/tables/report_*.csv. Figures: outputs/report/assets/*.svg. Code: src/floodsig/htmlreport/ (load → analysis / impact → figures_series / figures_stats / figures_impact → render; build.py orchestrates).