Research case study
Urban Flood Risk Simulation
A 5 m city-scale hydrodynamic model evaluated against observed flood reports and independent susceptibility evidence.
- Role
- Flood Simulation & Hazard Modelling
- Period
- 2026
- Status
- Accepted
- Stack
- Python · 2D Hydrodynamics · LInA Solver · LiDAR DTM · GIS · NumPy

One-line summary
A frozen 5 m hydrodynamic model turns observed rainfall into street-level flood hazard, then tests whether reported cases rank above their surrounding road background.
At a glance
- 01Problem
- Transit-access research needs a defensible estimate of where rainfall flooding places water on the street network.
- 02Context
- The hazard layer of a NetMob 2026 study in Niterói, Brazil.
- 03My contribution
- Built the flood simulation and hazard-modelling workflow from rainfall forcing through validation outputs.
- 04Outcome
- Across two historical storms, all 8 non-favela reported cases rank above their local background median; the result supports spatial hazard ranking in the evaluated setting while leaving future-event and water-depth accuracy unvalidated.
Three-minute walkthrough
The research question
How can observed rainfall be converted into a city-wide hazard field that is detailed enough for downstream transit-access analysis, while keeping the modelling assumptions and validation limits visible?
Rainfall observations alone do not tell us which streets accumulate water. A street-level hazard layer is needed to connect rainfall forcing with terrain, infiltration and shallow-water movement. We address this modelling gap with a frozen hydrodynamic workflow, then check its spatial evidence against reported flood locations and independent susceptibility data; these checks do not establish water-depth accuracy or future-event prediction.

A frozen 5 m rainfall-to-hazard model
Observed 15-minute gauge rainfall passes through a Modified Horton infiltration scheme and then a two-dimensional local-inertial (LInA) solver on a 5 m LiDAR terrain grid. The solver retains local acceleration, the water-surface gradient and friction, while the workflow records mass balance at every time step. The parameter set was frozen before the observed-location evaluation.
Two observation-driven storm simulations
The evaluation reconstructs two historical storm events from quality-controlled rain-gauge observations and runs the same frozen model for both. Diagnostics cover rainfall forcing, solver stability and mass closure before any reported flood case is scored, so the location comparison is not used to tune the simulation.

Reported cases rank above nearby road background
At the frozen 100 m scoring window, 8 of 8 cases exceed their local background median and 5 of 8 reach the top decile; the mean local hazard percentile is 94.27%. The direction remains stable at 50 m, 100 m and 200 m. A case-level Monte Carlo test is strong, but the two reports at one junction are not spatially independent and only two storms contribute event-level replication.

Convergent spatial evidence across 66 flood scenarios
A separate ensemble of 66 flood scenarios provides an independent spatial check against the official SGB susceptibility classes. For shallow ponding at 0.05 m or more, simulated frequency rises from 5.05% in Baixa areas to 6.77% in Média and 7.99% in Alta, with a 500 m spatial-block interval of +0.98 to +5.05 percentage points for Alta minus Baixa. Alta exceeds Baixa and Média exceeds Baixa in all 66 scenarios, while the complete Baixa < Média < Alta ordering holds in 49 of 66. Agreement weakens at deeper thresholds, so the official map is not treated as a continuous depth scale.

Where the simulated and official hazard layers overlap
When equal-area deep-ponding cells are compared with the official Alta class, precision and recall are both 23.95%, intersection-over-union is 13.60%, and overlap is 1.65 times the chance baseline. This is positive spatial convergence, not exact map agreement: the two layers encode related but different hazard concepts.

Limits that bound the claim
All observed cases are in non-favela census tracts, and reported incidents reflect documentation patterns rather than a complete flood inventory. The eight cases represent seven independent locations, and the event-level sign test is p = 0.25 because there are only two historical storm events. The single case with a readable depth interval is overpredicted, so this study does not validate water-depth accuracy. The supported claim is narrower: the frozen model produces spatial hazard rankings that align with reported cases and independent susceptibility evidence within the evaluated setting.