A retrospective research prototype reconstructing the downstream propagation of the 26 August 2026 Bhote Koshi–Trishuli flood from public satellite and terrain data — and connecting it to the people downstream. Validated at 3 independent gauges over 176 km.
If a sudden upstream mountain hazard occurs, how quickly can we estimate its downstream propagation from terrain and observation data alone — and who lies in its path?
The 26 August 2026 Bhote Koshi–Trishuli flood provided a real event to model. Three publicly available gauge readings at Malekhu, Muglin, and Devghat provided ground truth for validation across 176 km of river reach — without requiring any data that wouldn't be available in an actual emergency response window.
What CASCADE does not claim: it does not predict floods, replace warning systems, or attribute causation. It reconstructs a known event, validates modelled timing against observed arrivals, and estimates who is downstream and when the wave reaches them. Every output says modelled arrival time, never "warning time."
A terrain-routed kinematic-wave model over a 30m Copernicus DEM acquired via Google Earth Engine. Each module is a self-contained Python function with no side effects — the full pipeline is idempotent and reproducible from the raw GeoTIFFs.
The travel-time model reproduces observed flood-wave arrival times at all three independent gauges to within ~10–16%. Monte Carlo uncertainty analysis puts all three observed times inside the P5–P95 band, meaning the observations are consistent with plausible parameter uncertainty.
The distance experiment found the river is ~1.5× longer than straight-line distance — meaning a crow-flies travel-time estimate would substantially underestimate propagation time. Routing matters.
The human exposure model estimates ~38,200 people live in the modelled 300m corridor, broken down by modelled arrival-time band — the most directly actionable output for emergency response planning.
The terrain footprint model did not beat a simple geometric channel-buffer baseline (IoU 0.27 vs 0.18). This is reported as a real finding, not hidden. The value of CASCADE is in the travel-time and exposure axes, not the footprint axis.
The core model is a clean importable Python package (cascade/) with no side effects — terrain routing, kinematic-wave simulation, HAND inundation, uncertainty propagation, and population exposure are each a self-contained module. All run scripts are idempotent.
10 tests pass from a clean install. Data acquisition runs in Google Earth Engine (Colab); everything downstream runs locally from the exported GeoTIFFs. No proprietary data, no paid APIs in the core pipeline.
Without 3 independent gauge readings the model is just a number. Grounding the travel-time estimate against real observations — not just checking that it "looks plausible" — is what makes the result defensible.
The footprint model underperformed a simple baseline. Including that finding rather than adjusting the framing to hide it is what distinguishes a research prototype from a demo.
A 1.5× ratio between river length and straight-line distance isn't obvious until you measure it. First-response estimates based on crow-flies distance would be systematically wrong.
Next: extend to real-time ingestion of satellite SAR imagery to reduce the calibration lag — the current model requires a gauge reading to anchor the velocity estimate, which limits operational usefulness.