The U.S. Geological Survey runs a public web service called Water Services that publishes real-time data from gauges across the country. Most US reservoirs of any size have a USGS site reporting elevation every fifteen minutes. Lakebrief pulls these readings directly — no scraping, no third party — for any lake whose source file points at a USGS site ID.
The trick is that USGS exposes lake-surface elevation under several different parameter codes, depending on how the gauge was set up:
- 62614 — Elevation above NGVD 1929 (ft). Already absolute. No math needed.
- 62615 — Elevation above NAVD 1988 (ft). Already absolute.
- 00062 — "Elevation of reservoir water surface above datum, ft." Already absolute, datum specified per-site.
- 00065 — Gauge height (ft). Relative to the gauge zero, not absolute. To get an elevation, you have to add the gauge-zero altitude (which the USGS site page lists). For some sites,
00065is the only available parameter and it reports values that look absolute (e.g. 1198 ft for Lake Hefner, where full pool is 1201 ft) — that means the gauge zero is at zero elevation, and no offset is needed. Always check before assuming.
The Lakebrief catalog handles this in a single line: waterSource.paramElevation tells the data layer which code to fetch, and paramOffsetFt (when set) is added to each reading to convert gauge height into absolute elevation. Lake Hopatcong is the canonical example — its gauge reports 00065 values around 10 ft, with a documented gauge-zero altitude of 914.5 ft NAVD88, so the offset converts each reading to a real lake elevation.
To find a gauge for a new lake:
- Hit the USGS site service:
https://waterservices.usgs.gov/nwis/site/?format=rdb&stateCd=XX&siteName=<lake> - For each candidate, query its parameters:
https://waterservices.usgs.gov/nwis/iv/?format=json&sites=<siteId> - Pick the parameter that reports elevation, choose absolute (62614/62615/00062) when available, otherwise compute the offset from the site's gauge-zero altitude.
If a lake doesn't have a USGS gauge with an active elevation parameter, Lakebrief falls back to a "no water-level data" state for that lake rather than fabricate a reading. Several lakes in the catalog (Lake Norman, Lake Dillon, Lake Washington, Table Rock) sit in this state because their canonical elevation record is kept by a non-USGS operator (Duke Energy, Denver Water, USACE Seattle, etc.) that doesn't publish a public real-time API.