2026-08-10
Try it: demo viewer · openwaters.io/charts/seascape
Chart quality
- US coastal depths are referenced to chart datum (#117). CUDEM ships on NAVD88, a land survey datum sitting anywhere from half a metre below MLLW in the Columbia River estuary to more than 1.7 m above it in New England and Alaska, so uncorrected Atlantic depths read about a metre too deep and drying flats classified as navigable water. Depths are now corrected per pixel against NOAA's VDatum separation grids, the Columbia River against the datum NOAA actually charts it with, and the Pacific territories against per-island separations. The build refuses to publish a surface that misses the published CO-OPS separations at 17 tide stations.
- Drying flats and inland lakes portray correctly (#113): drying is no longer emitted in water with no chart datum to dry against, and tidal flats stop shattering into sub-legible confetti.
- Shorelines are smooth again at high zoom (#118). Coasts in places like Nassau Sound rendered as a hard staircase in both the depth shading and the depth areas.
- The Great Lakes stop charting land as deep water (#114): the NCEI grids carry land topography across their full rectangular extents, which put downtown Hamilton at −72 m.
- Below-sea-level land renders as land at low zoom (#112), so the Caspian Depression is no longer opaque unknown-depth water when you zoom out.
- Swimming pools are not charted (#111). The water mask kept all 25.8M polygonal non-ocean features, and every one of them became an unknown-depth water polygon.
Under the hood
- The inland water mask gates itself before publishing: a feature the filter admits cannot be silently lost, and a set of known lakes must still be present. Both checks caught real defects in this release.
- The mask's source data is downloaded and verified before it is read, rather than streamed over thousands of ranged requests that cannot distinguish a torn page from a short one.
- Build logs are one line per job (#119), where a recent build spent 1,852 of 2,103 lines on scaffolding.
- The hillshade style layer is renamed to avoid colliding with land hillshade (#115).
⚠ Not for navigational use
US coastal depths are referenced to MLLW; elsewhere the vertical datum varies by source and depths are not reduced to a chart datum. Nothing here accounts for tides or water level. Use official nautical charts for navigation.
Note on versioning: releases of the tiles move to a date, starting here. The @openwaters/seascape npm package keeps semantic versioning on its own cadence, because it has an API that consumers actually pin.