Live2026

FloodOps

Which facilities and roads go under at each of 21 coastal water levels, across 8 NJ towns.

  • flood
  • climate
  • gis
  • planning
  • python
  • javascript
  • 8NJ municipalities covered
  • 21Water levels, 0–20 ft above MHHW
  • 7 of 8Towns passing the tidal-datum gate
  • 0.5 ftDepth precision, matched to its error budget

Problem

Rutgers publishes a statewide coastal inundation model for New Jersey: 21 whole-foot water levels, 0 to 20 ft above Mean Higher High Water, as polygons. It tells you where the water goes. It does not tell you what the water reaches.

An emergency manager does not need a polygon. They need the list — which fire stations, which schools, which hospitals, which roads, at which level, and which facility loses its access before it ever takes on water. FloodOps turns the published hazard extent into that list, for eight coastal and tidal municipalities, one town and one level at a time.

The FloodOps dashboard showing Newark at 9 ft above MHHW: a blue modeled inundation extent covering the port and airport districts, facility dots coloured green for operational through orange and red for exposed, closed road segments drawn in red, and a summary reading 28 facilities affected, 2,467 roads closed, 189.1 closed miles.
Newark at 9 ft above MHHW. The question the map answers is not 'where is the water' but 'what stops working' — 9 facilities exposed, 5 isolated with every access road closed, 14 access-threatened, 149 still operational.Source: floodops-v2.ar-abdulkalam-mustaq.workers.dev, Newark, level 9 ft.

Approach

The hazard model is Rutgers’. Everything layered on top of it is this project’s own inference, and the whole design turns on keeping that seam visible.

Facility status is computed from extent membership first — whether the facility’s point falls inside the level’s modeled footprint, with a 20 m tolerance for alignment between OSM points and an independently produced hazard polygon. Towns with a verified tidal datum get a four-tier model (exposed / isolated / access-threatened / operational); towns without get a three-tier one. Roads are two-tier, open or closed, in every town — a graded “caution” tier would have to be depth-derived, and road segments never get a computed depth.

Access loss is the rule that makes the tool operational rather than cartographic: a facility is isolated when every road segment within 120 m of it is closed. A dry building you cannot reach is not a working building.

The FloodOps dashboard showing Hoboken at 6 ft above MHHW: nearly the entire municipality covered by the modeled inundation extent, with 20 facilities exposed, 11 access-threatened, and only 2 operational.
Hoboken at 6 ft, for contrast. Newark at 9 ft still has 149 facilities operating; Hoboken at 6 ft has two. Same model, same method — a small dense town on filled tidal marsh simply fails differently, and faster, than a large one.Source: floodops-v2.ar-abdulkalam-mustaq.workers.dev, Hoboken, level 6 ft.

The datum problem, and the gate it produced

Levels are given in feet above MHHW, a local tidal datum — the average of the higher daily high tide over a 19-year epoch. Ground elevation from USGS 3DEP comes in NAVD88, a fixed geodetic datum. The offset between them varies along the coast. Subtract one from the other without reconciling the two and you get a depth number that is confidently wrong.

So depth is gated on the datum, not assumed from it. Each town’s MHHW→NAVD88 offset is resolved from two independent public sources — a NOAA VDatum point conversion inside that town’s own flood extent, and the nearest NOAA CO-OPS tide station with a published NAVD88 datum. The two must agree within 0.25 ft or the town ships no depth at all. No averaging, no picking the more convenient value.

Seven of eight towns pass. Camden does not, and keeps the extent-only model rather than shipping a number that could not be verified. That is the result, not a gap in it.

The FloodOps methods page, documenting the hazard data source, the distinction between MHHW and NAVD88, an explicit list of what the tool does not compute, the two facility-status models, and the per-town table of tidal-datum offsets and cross-check stations.
The methods page leads with what the tool does not compute — no depth surface, no road-segment depth, no building-level survey — before it explains what it does. Every town's datum offset and its cross-check station ship with it.Source: floodops-v2.ar-abdulkalam-mustaq.workers.dev/methods.
Technical detail — the depth model and its error budget

For towns that clear the datum gate, depth at a facility point is:

WSE (NAVD88 ft) = MHHW offset (NAVD88 ft) + level (ft above MHHW)
depth (ft)      = max(0, WSE − ground elevation)

Three deliberate constraints on that number:

  • Reported at 0.5 ft precision only. Combined uncertainty — 3DEP accuracy, the offset approximation, and Rutgers’ extent having been produced from a different elevation model than this one — is on the order of the 1 ft spacing between levels. Reporting finer would claim a precision the method does not have.
  • Outside the extent, depth is exactly 0 — never computed from the raw elevation difference. The published extent stays the sole authority on whether a facility is exposed at all; this project’s arithmetic never overrides it.
  • The disagreement is published, not smoothed. A facility can sit inside Rutgers’ extent while this project’s own subtraction returns exactly 0 — two independently produced models disagreeing at the margin. The validator records how often that happens per town and level, and any town/level above 25% of exposed facilities becomes a named limitation.

The 1.0 ft first-floor offset that separates exposed from access-threatened is a uniform assumption applied to every facility regardless of category. It is the single largest lever in the model, and the methods page says so in those words.

Output

Each town and level produces a printable operations report and a CSV export that match the on-screen numbers exactly — the deliverable an emergency manager actually forwards, rather than a screenshot of a dashboard.

The FloodOps exposure report for Newark at 9 ft above MHHW: header stating the county, model, and the MHHW offset with its cross-check station; a summary of 9 exposed, 5 isolated, 14 access-threatened and 149 operational; a list of closed priority roads; and a table of affected facilities with elevation, depth, status, access, and first level exposed.
The Newark 9 ft operations report. It leads with the datum offset and its cross-check station, and every facility row carries its ground elevation, computed depth, access state, and the first level at which it becomes exposed — the last column being the one that drives mitigation sequencing.Source: floodops-v2.ar-abdulkalam-mustaq.workers.dev/report, Newark, level 9 ft.

Architecture and limits

Everything is precomputed and static: a Python pipeline resolves the ArcGIS layer for each town and level by matching layer names at runtime rather than hardcoding IDs, filters server-side by municipality, unions the main and low-lying extents, simplifies the geometry (Newark’s 2 ft extent alone is ~9,400 vertices before simplification), samples facility elevations from USGS EPQS, and publishes per-town and per-level JSON that the app reads directly. There is no server-side geoprocessing and no runtime API call.

Two limits worth stating plainly. The hazard model is a static bathtub inundation footprint, not a forecast — it carries no timing, no duration, and no hydraulic routing. And the dataset itself reaches only the tidal third of the state: roughly 235 of New Jersey’s 564 municipalities appear in it at all. A town’s absence from FloodOps means the coastal model does not represent it, which is not the same as that town being safe.

Data sources

DatasetSource
Coastal inundation extentsRutgers NJ Coastal Inundation Explorer (RU_NJ_CIE_Full)
Municipal boundariesCensus TIGERweb County Subdivisions
Facilities and roadsOpenStreetMap via Overpass
Ground elevationUSGS 3DEP, Elevation Point Query Service
Tidal datum offsetsNOAA VDatum (primary) + NOAA CO-OPS station datums (check)

Planning demonstration only — not a survey and not a forecast. Not for real-time emergency decisions; consult the National Weather Service, NJDEP, and local emergency management.

Share this page

https://abdulkalam.pages.dev/projects/floodops/

Scan to open this page. Download the SVG for print.