A Sentinel-1 SAR flood mapping pipeline applied to three contrasting flood events. The same core methodology runs across all three, with event-appropriate adaptations, enabling direct comparison of how land cover, soil moisture, and flood mechanism affect detection performance.
| Case Study | Event | Date | Best IoU | Status |
|---|---|---|---|---|
| Emilia-Romagna | Italy — Faenza/Forlì floods | May 2023 | 0.123 (recession) | Complete |
| Wroclaw | Poland — Storm Boris | Sep 2024 | 0.032 (maximum extent) | Complete |
| Jacobabad | Pakistan — monsoon mega-flood | Jul–Aug 2022 | 0.371 (peak) | Complete |
The three events span the full performance range for SAR change-detection flood mapping — from the physically inverted Wroclaw case (signal mechanism wrong, IoU 0.032) through Italy's soil moisture confound (IoU 0.053 peak / 0.123 recession) to Jacobabad's best-case arid open-water scenario (IoU 0.371).
All three case studies share the same pipeline:
CDSE download → SNAP RTC → Composite → Change Detection → Threshold Calibration → Validation
Change detection computes the log-ratio of gamma-naught backscatter between pre- and post-event Sentinel-1 IW GRD scenes:
ΔVV = post_VV − pre_VV (dB)
ΔVH = post_VH − pre_VH (dB)
Three detection modes are implemented, with the choice depending on expected flood physics:
| Mode | Formula | Use case |
|---|---|---|
combined_magnitude |
√(ΔVV² + ΔVH²) ≥ T | General — captures open-water and flooded-vegetation signals |
directional_decrease |
√(min(ΔVV,0)² + min(ΔVH,0)²) ≥ T | Open-water floods on stable backgrounds — suppresses crop growth |
pol_ratio |
ΔVH − ΔVV ≥ T | Theoretically optimal for specular open water; limited by VH noise in practice |
Threshold calibration sweeps 0.1–15 dB in 30 steps, selecting the value that maximises IoU against the primary EMSR reference.
Masking applied before classification, in all three case studies:
- Permanent water: JRC Global Surface Water occurrence ≥ 75% excluded
- Steep terrain: SRTM 1-arc-second slope > configured per-case threshold excluded
| Parameter | Emilia-Romagna | Wroclaw | Jacobabad |
|---|---|---|---|
| UTM Zone | 32N | 33N | 42N |
| Detection mode | combined_magnitude | combined_magnitude | directional_decrease |
| Slope filter | 5° | 2° | 2° |
| Pre / post dates | 10 May / 22 May 2023 | 3 Sep / 15 Sep 2024 | 25 Jul / 30 Aug 2022 |
| EMSR reference | EMSR664 | EMSR756 | EMSR629 |
| Calibration target | peak | maximum extent | peak |
| Case Study | Mode | Threshold | Best IoU | Precision | Recall | F1 | Detected | Reference |
|---|---|---|---|---|---|---|---|---|
| Emilia-Romagna | combined_magnitude | 8.834 dB | 0.123 (recession) | 0.200 | 0.241 | 0.219 | 12,917 ha | 11,212 ha |
| Wroclaw | combined_magnitude | 2.931 dB | 0.032 (maximum) | 0.032 | 0.704 | 0.061 | 418,172 ha | 20,161 ha |
| Jacobabad | directional_decrease | 7.807 dB | 0.371 (peak) | 0.417 | 0.769 | 0.541 | 92,470 ha | 50,185 ha |
Performance is fundamentally determined by how physically distinct the flood SAR response is from the surrounding background:
| Case | Pre-event soil | Mean ΔVV inside flood | Mean ΔVV outside | Separation | IoU |
|---|---|---|---|---|---|
| Jacobabad | Arid (dry pre-monsoon) | −9.45 dB | −4.18 dB | −5.27 dB | 0.371 |
| Emilia-Romagna | Wet (preceding rain) | −1.36 dB | −0.68 dB | 0.68 dB | 0.053 (peak) / 0.123 (recession) |
| Wroclaw | Very wet (Aug 2024) | +1.17 dB (double-bounce) | +1.57 dB (agriculture) | −0.40 dB | 0.032 |
Jacobabad confirms the hypothesis: arid pre-event conditions with correct-direction specular signal produce 3–13× higher IoU than the European cases (0.371 vs 0.123 for Italy recession, vs 0.032 for Wroclaw). The −5.27 dB separation is an order of magnitude stronger than either European case. Wroclaw is a degenerate case — the flood inundated standing September crops, producing flooded-vegetation double-bounce (VV increases), while agricultural harvest adds an even larger change signal across the background; steep-terrain masking (Sudetes foothills within the processing bbox) recovers a small further IoU gain (0.029 → 0.032) but the dominant remaining confound is agricultural signal on the flat floodplain itself, which no masking layer can remove.
SARFloodAnalysis/
├── README.md
├── emilia_romagna/
│ ├── config/pipeline_config.yaml
│ ├── src/pipeline/ # composite, change, validate, terrain
│ ├── scripts/ # run_processing, run_analysis, make_figures
│ ├── data/ # external refs, validation JSON, vectors
│ └── outputs/figures/ # fig01–04
├── wroclaw/
│ ├── config/pipeline_config.yaml
│ ├── src/pipeline/ # composite, change, validate, terrain
│ ├── scripts/ # run_processing, run_analysis, make_figures
│ ├── data/
│ └── outputs/figures/
└── jacobabad/
├── config/pipeline_config.yaml
├── src/pipeline/ # composite, change, validate, terrain
├── scripts/ # run_processing, run_analysis, make_figures
├── data/
└── outputs/figures/
Each case study runs independently from its own directory:
cd emilia_romagna/ # or wroclaw/ or jacobabad/
python scripts/run_analysis.py
python scripts/make_figures.pyCDSE credentials (CDSE_USER / CDSE_PASSWORD) required for scene download via scripts/run_processing.py.
The analysis pipeline (change detection, validation, figures) is containerised. SNAP RTC processing is intentionally excluded — it requires a 2 GB Java installation and runs for hours; the pre-computed RTC scenes in data/rtc/ are the starting point for the containers.
docker compose build # build all three images
docker compose run --rm emilia-romagna # run analysis + figures
docker compose run --rm wroclaw
docker compose run --rm jacobabad
docker compose up # run all three in parallelEach container mounts its own data/ and outputs/ as volumes, so figures and analysis outputs are written directly to disk. This split (offline heavy processing → containerised analysis) mirrors standard ELT practice in geospatial data pipelines.
| Dataset | Source |
|---|---|
| Sentinel-1 IW GRD | Copernicus CDSE |
| EMSR flood delineations | Copernicus EMS |
| SRTM 1-arc-second DEM | SNAP auxdata (NASA/USGS) |
| JRC Global Surface Water | EC JRC |
- Twele, A. et al. (2016). Sentinel-1-based flood mapping: a fully automated processing chain. Int. J. Remote Sens. 37(13), 2990–3004.
- Chini, M. et al. (2017). Hierarchical Split-Based Approach for Parametric Thresholding of SAR Images. IEEE TGRS 55(12), 6975–6988.
- Pekel, J.F. et al. (2016). High-resolution mapping of global surface water and its long-term changes. Nature 540, 418–422.
- Farr, T.G. et al. (2007). The Shuttle Radar Topography Mission. Rev. Geophys. 45, RG2004.