Precomputing the flood model…
Running the connectivity flood fill across all 193 timesteps up front, so scrubbing the timeline never has to re-simulate.
Timeline position
Day 1 · 04:00
Water level here
0.07 m
Elapsed
+4.0 h
Day 1 · 00:00▲ storm peak · h26Day 3 · 00:00
Legend
- Flooded (hatched, darker = deeper)
- Road open
- Road impassable (dashed)
- Selected route (solid)
- Other risk mode (dashed)
- Cut off
Conditions now
Normal conditionsWater level
0.07 m
tide 0.05 + surge 0.00
Rainfall
1.2 mm/h
1 cm accumulated
Roads impassable
31 / 4659
1% of the network
Landmarks cut off
0
all reachable
0.8% of the town’s land area is under water, and wind is gusting to 14 km/h.
6339 cells sit below the water level but have no path to the sea, so the model correctly leaves them dry. A plain elevation threshold would have flooded them.
Safe route
Risk tolerance
Excluding only roads that are under water at this moment.
Distance
4.11 km
Drive time
6 min
Clear
How this works
- 1 · Flood model. Water level is tide plus storm surge plus accumulated rainfall draining away on a 5-hour time constant. A cell floods only if it is below that level and connected to the open sea, found by breadth-first search from the coast.
- 2 · Safe routing. Each road segment is sampled every 15 m against the flood grid; anything standing in more than 30 cm of water is dropped from the graph. A* with a haversine heuristic then finds the shortest path through what is left.
The field app runs this exact engine — same numbers, same hour.