Physical flood model
A connectivity-filled water surface over a 300 × 300 elevation grid at 40 m cells. Water reaches a cell only if it can actually get there from the sea, so an inland hollow below sea level stays dry until something connects it.
CoastGuard AI runs a real hydrological model over real elevation, tide and road data — then solves the routes that are still open. One engine drives the operations dashboard and the offline field app in every responder’s pocket.
No sign-up. No backend. Works with the network down.
Built on measured data, not synthetic terrain
A connectivity-filled water surface over a 300 × 300 elevation grid at 40 m cells. Water reaches a cell only if it can actually get there from the sea, so an inland hollow below sea level stays dry until something connects it.
A* over 4,659 real OSM road segments, re-weighted at every timestep. A shelter 300 m away across a flooded causeway is correctly reported as no distance at all.
193 timesteps at 15-minute resolution across a full 48 hours. Drag the timeline and the flood, the closures, the routes and every panel move with it — including the answers the assistant gives.
Questions are answered by the model and the router first; the language model only rephrases. Every reply names the source it came from, and none of them can invent a road that does not exist.
The engine is compiled to a single JavaScript bundle that runs entirely in the browser. No backend, no round trip, no degradation on the day the towers go down.
Shelters with live capacity, shared resources, hazard reports and volunteer jobs — each pinned to a real road node with its elevation read from the DEM, so both surfaces agree on where it is.
Nothing is precomputed into a picture. The whole chain re-runs for every position on the timeline, in your browser.
USGS 3DEP bare-earth elevations are sampled onto the operations grid in NAVD88, the same datum NOAA publishes tides against — so a water level and a ground height are directly comparable numbers.
300 × 300 cells · 40 m · −7.9 m to 16.3 m
Measured NOAA astronomical tide at Virginia Key, plus a Category 2 design-storm surge, rainfall and wind. The tide alone does not flood Miami-Dade; a design storm is how coastal risk is actually planned against.
2.2 m surge peak · 48 mm/h rain · 165 km/h wind
Every road segment is tested against the water surface at that instant, the impassable ones are cut, and A* re-solves over what remains. That is what the map, the shelter recommendation and the assistant all read from.
4,659 segments re-weighted per timestep
Most disaster chatbots answer with general safety advice, because general safety advice is all a language model has. This one reads the question, works out what is being asked, and answers from the flood model and the router — the actual distance, the actual depth, the actual shelter with capacity left.
Yes — Jackson Memorial Hospital is 3.4 km away, about 11 minutes by road in cautious mode. Watch out: NW 12th Ave is flagged by the forecast.
Source: A* router, forecast +12 h, cautious mode
The surge peaks at hour 26 of the window. At the peak the model closes the largest share of the road network and cuts off two key locations entirely.
Source: Flood model, full 48 h window
The dashboard answers “what is happening to the county”. The field app answers “what do I do now”. They compile from the same model, so they never disagree.
A town safety score derived from the model rather than invented, a four-horizon flood outlook, active incidents ranked by road distance, and the shelter the router — not straight-line distance — says to send people to.
A single HTML file, sized for a phone. Photograph a flooded street and it estimates depth and hazards; claim a neighbour’s generator; join a debris-clearing job; flag that you need evacuation assistance. It opens straight off disk.
The elevation and the road network are. Elevations come from the USGS 3DEP 1 m bare-earth DEM via The National Map, referenced to NAVD88; the roads are OpenStreetMap geometry pulled through Overpass. The tide curve is NOAA CO-OPS astronomical prediction for Virginia Key. The surge, rainfall and wind are a stated Category 2 design storm rather than a live forecast — because the astronomical tide alone does not flood Miami-Dade, and a design storm is how coastal flood risk is actually planned against.
No. The model, the router and the whole 48-hour simulation are compiled into a JavaScript bundle that runs in the browser. There is no database and no API call in the critical path, which is deliberate: the moment a tool like this matters is the moment the network is least likely to be there.
It phrases. Questions are matched to what the engine can answer — a route, a water depth, a shelter recommendation — and the numbers in every reply come from that computation. When an API key is configured the language model rewrites that grounded answer into plainer prose. It is never asked for a fact, so it has nothing to hallucinate about.
Yes. The data layer is five JSON files — elevation grid, forcing curve, road graph, landmarks, community fixtures — regenerated by the scripts in the repo. Swap the bounding box, re-run the generators, and the engine, the dashboard and the field app all follow.
No, and it says so. Shelters, incidents, resources and volunteer jobs are operational fixtures for exercise use, not a live feed. Their placement is real — every one sits on an actual road-network node with its elevation read from the DEM — so the router paths to them correctly.
Forty-eight hours of Miami-Dade, at fifteen-minute resolution, running in your browser right now. Scrub to the peak and see what is still open.