NOAA tidal water-level anomaly intelligence (daily)
Every NOAA coastal water-level station's observed-minus-predicted tidal residuals over the trailing 24 complete UTC hours, transformed into a ranked surge/drawdown intelligence digest. Each row is one station: hourly residual statistics (mean, max, min, std in meters; observed minus astronomical prediction, so the ordinary tide is removed), counts of surge/drawdown hours at +/-0.3 m, sustained-event flags (3-hour running mean at +/-0.5 m), the residual least-squares trend (m/hour) flagging building surge situations, and a documented 0-100 anomaly_score ranked as anomaly_rank with tiers extreme/high/elevated/normal. Stations need >= 18 of 24 hours with both observed and predicted values; stations with no hourly predictions (mostly Great Lakes gauges) are excluded by design. Primary key: station_id. Cadence: daily; as_of is the window end (last complete UTC day), so identical input produces an identical content hash. Caveats: observations are preliminary and may be revised by NOAA; anomalies are non-astronomical water-level deviations, not weather forecasts. NOAA tide data is U.S. federal public domain — commercial_use = yes. Sample use: filter anomaly_tier in ('extreme','high') for stations seeing real surge right now, or track one station's residual_trend across snapshots for a building surge.
- Rows
- 234
- Columns
- 26
- Source cadence
- Daily
- Last refreshed
- Sep 26, 2026
- Theme
- environment
| Column | Type | Description |
|---|---|---|
| as_of | string | Window end date — the last complete UTC day in the digest. Fixed per run so identical input produces an identical content hash. (unit: date) |
| window_start_utc | string | Start of the 24-complete-hour window (00:00 UTC of as_of). |
| window_end_utc | string | End of the 24-complete-hour window (23:59 UTC of as_of). |
| station_id | string | NOAA station id (e.g. 8518750 = The Battery, NY). Stable primary key. (unit: id) |
| station_name | string | Station name as published by NOAA (verbatim). |
| state | string | U.S. state/territory code from NOAA's station metadata (verbatim; offshore stations keep their code). |
| country_code | string | ISO alpha-3 country code (USA for every station — constant join key). |
| lat | float | Station latitude (decimal degrees, from NOAA metadata). (unit: degrees) |
| lon | float | Station longitude (decimal degrees, from NOAA metadata). (unit: degrees) |
| tide_type | string | NOAA tide type for the station (e.g. Semidiurnal, Mixed, Diurnal; verbatim). |
| n_hours | integer | Hours in the window (always 24). (unit: count) |
| hours_complete | integer | Hours with both an observed and a predicted value; >= 18 is the publication gate. (unit: count) |
| mean_residual_m | float | Mean hourly residual over the window: observed minus astronomical prediction. Positive = water ran high (surge/setup); negative = low. The ordinary tide is removed by construction. (unit: meters) |
| max_residual_m | float | Largest hourly residual in the window (the peak high-water deviation). (unit: meters) |
| min_residual_m | float | Smallest hourly residual in the window (the peak low-water deviation). (unit: meters) |
| std_residual_m | float | Population standard deviation of the hourly residuals (volatility of the anomaly). (unit: meters) |
| surge_hours | integer | Count of window hours with residual >= 0.30 m. (unit: count) |
| drawdown_hours | integer | Count of window hours with residual <= -0.30 m. (unit: count) |
| surge_event | integer | 1 when any 3-hour running-mean residual reaches 0.5 m — a sustained surge, not a single noisy reading. |
| drawdown_event | integer | 1 when any 3-hour running-mean residual reaches -0.5 m — a sustained drawdown. |
| residual_trend_m_per_h | float | Least-squares slope of the hourly residuals over the window. Positive + positive residual = building surge; negative = water draining out. (unit: meters/hour) |
| anomaly_score | float | Documented 0-100 score = 100*(0.35 * clipped(|mean_residual|/0.5) + 0.45 * clipped(max_abs_residual/1.0) + 0.20 * (surge_hours+drawdown_hours)/24): persistent deviation, peak deviation, and event duration. (unit: score) |
| anomaly_rank | integer | Station rank within the snapshot (1 = most anomalous; ties broken by max absolute residual desc, then station_id asc). (unit: rank) |
| anomaly_tier | string | Score bucket: extreme (>= 40), high (>= 20), elevated (>= 8), normal (< 8). (unit: category) |
| source_url | string | The station's page on tidesandcurrents.noaa.gov. (unit: URL) |
| row_hash | string | SHA-256 (16 hex chars) over the row's content fields; identical input yields an identical hash, so a re-run on unchanged data is a no-op. (unit: hash) |
First 10 sample rows — a preview, not the complete dataset.
| as_of | window_start_utc | window_end_utc | station_id | station_name | state | country_code | lat | lon | tide_type | n_hours | hours_complete | mean_residual_m | max_residual_m | min_residual_m | std_residual_m | surge_hours | drawdown_hours | surge_event | drawdown_event | residual_trend_m_per_h | anomaly_score | anomaly_rank | anomaly_tier | source_url | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-09-25 | 2026-09-25 00:00:00 | 2026-09-25 23:59:59 | 8639348 | Money Point | VA | USA | 36.778 | -76.302 | Mixed | 24 | 24 | 0.889 | 1.001 | 0.755 | 0.073 | 24 | 0 | 1 | 0 | -0.01 | 100 | 1 | extreme | https://tidesandcurrents.noaa.gov/stationhome.html?id=8639348 | bc6e3e4e41fc9c8d |
| 2026-09-25 | 2026-09-25 00:00:00 | 2026-09-25 23:59:59 | 9440422 | Longview | WA | USA | 46.106 | -122.954 | Mixed | 24 | 24 | 0.53 | 1.003 | 0.243 | 0.212 | 22 | 0 | 1 | 0 | 0.019 | 98.33 | 2 | extreme | https://tidesandcurrents.noaa.gov/stationhome.html?id=9440422 | c77f6711328e6306 |
| 2026-09-25 | 2026-09-25 00:00:00 | 2026-09-25 23:59:59 | 8638610 | Sewells Point | VA | USA | 36.943 | -76.329 | Mixed | 24 | 24 | 0.845 | 0.942 | 0.756 | 0.065 | 24 | 0 | 1 | 0 | -0.009 | 97.39 | 3 | extreme | https://tidesandcurrents.noaa.gov/stationhome.html?id=8638610 | 237802dc13c8937b |
| 2026-09-25 | 2026-09-25 00:00:00 | 2026-09-25 23:59:59 | 8631044 | Wachapreague | VA | USA | 37.608 | -75.686 | Mixed | 24 | 24 | 0.829 | 0.911 | 0.721 | 0.05 | 24 | 0 | 1 | 0 | -0 | 96 | 4 | extreme | https://tidesandcurrents.noaa.gov/stationhome.html?id=8631044 | ef40d2aa041fbbce |
| 2026-09-25 | 2026-09-25 00:00:00 | 2026-09-25 23:59:59 | 8651370 | Duck | NC | USA | 36.183 | -75.747 | Mixed | 24 | 24 | 0.8 | 0.899 | 0.693 | 0.053 | 24 | 0 | 1 | 0 | -0.003 | 95.45 | 5 | extreme | https://tidesandcurrents.noaa.gov/stationhome.html?id=8651370 | 06b08e679c320f63 |
| 2026-09-25 | 2026-09-25 00:00:00 | 2026-09-25 23:59:59 | 8637689 | Yorktown USCG Training Center | VA | USA | 37.227 | -76.479 | Mixed | 24 | 24 | 0.784 | 0.87 | 0.706 | 0.059 | 24 | 0 | 1 | 0 | -0.008 | 94.15 | 6 | extreme | https://tidesandcurrents.noaa.gov/stationhome.html?id=8637689 | 1655fd6fd6dce83c |
| 2026-09-25 | 2026-09-25 00:00:00 | 2026-09-25 23:59:59 | 8557380 | Lewes | DE | USA | 38.783 | -75.119 | Mixed | 24 | 24 | 0.726 | 0.859 | 0.582 | 0.08 | 24 | 0 | 1 | 0 | 0.008 | 93.66 | 7 | extreme | https://tidesandcurrents.noaa.gov/stationhome.html?id=8557380 | e437f7d630d6af22 |
| 2026-09-25 | 2026-09-25 00:00:00 | 2026-09-25 23:59:59 | 8638901 | CBBT, Chesapeake Channel | VA | USA | 37.033 | -76.083 | Mixed | 24 | 24 | 0.787 | 0.851 | 0.718 | 0.039 | 24 | 0 | 1 | 0 | -0.004 | 93.29 | 8 | extreme | https://tidesandcurrents.noaa.gov/stationhome.html?id=8638901 | 898f7f03612f7c6f |
| 2026-09-25 | 2026-09-25 00:00:00 | 2026-09-25 23:59:59 | 8536110 | Cape May | NJ | USA | 38.968 | -74.96 | Mixed | 24 | 24 | 0.688 | 0.842 | 0.537 | 0.085 | 24 | 0 | 1 | 0 | 0.008 | 92.89 | 9 | extreme | https://tidesandcurrents.noaa.gov/stationhome.html?id=8536110 | 45db74ba7c36ce89 |
| 2026-09-25 | 2026-09-25 00:00:00 | 2026-09-25 23:59:59 | 9468756 | Nome, Norton Sound | AK | USA | 64.495 | -165.44 | Mixed | 24 | 24 | 0.597 | 0.813 | 0.412 | 0.109 | 24 | 0 | 1 | 0 | 0.011 | 91.59 | 10 | extreme | https://tidesandcurrents.noaa.gov/stationhome.html?id=9468756 | e9351478cfed9f92 |
Profiled Sep 26, 2026 from snapshot 20260926T003145Z-8c5cb945dbfd
Measured- Completeness
- 100%
- Rows
- 234
- Columns
- 26
- Columns with gaps
- 0
| Column | Missing | Distinct | Range | Distribution |
|---|---|---|---|---|
| as_ofvarchar | 0% | 1 | — |
|
| window_start_utcvarchar | 0% | 1 | — |
|
| window_end_utcvarchar | 0% | 1 | — |
|
| station_idvarchar | 0% | 245 | — |
|
| station_namevarchar | 0% | 220 | — |
|
| statevarchar | 0% | 26 | — |
|
| country_codevarchar | 0% | 1 | — |
|
| latdouble | 0% | 255 | -14.28 → 70.41median 34.94 | 6 outside 1st–99th percentile |
| londouble | 0% | 252 | -177.36 → 167.74median -90.72 | 6 outside 1st–99th percentile |
| tide_typevarchar | 0% | 3 | — |
|
| n_hoursbigint | 0% | 1 | 24 → 24median 24 | |
| hours_completebigint | 0% | 3 | 21 → 24median 24 | |
| mean_residual_mdouble | 0% | 187 | -0.325 → 0.889median 0.1695 | 6 outside 1st–99th percentile |
| max_residual_mdouble | 0% | 186 | -0.031 → 1.01median 0.3375 | 6 outside 1st–99th percentile |
| min_residual_mdouble | 0% | 205 | -0.853 → 0.756median 0.084 | 6 outside 1st–99th percentile |
| std_residual_mdouble | 0% | 148 | 0.005 → 0.514median 0.071 | 6 outside 1st–99th percentile |
| surge_hoursbigint | 0% | 25 | 0 → 24median 3 | |
| drawdown_hoursbigint | 0% | 12 | 0 → 13median 0 | 2 outside 1st–99th percentile |
| surge_eventbigint | 0% | 2 | 0 → 1median 0 | |
| drawdown_eventbigint | 0% | 2 | 0 → 1median 0 | |
| residual_trend_m_per_hdouble | 0% | 159 | -0.0263 → 0.0317median 0.0015 | 6 outside 1st–99th percentile |
| anomaly_scoredouble | 0% | 183 | 5.99 → 100median 32.24 | 6 outside 1st–99th percentile |
| anomaly_rankbigint | 0% | 259 | 1 → 234median 117.5 | 6 outside 1st–99th percentile |
| anomaly_tiervarchar | 0% | 4 | — |
|
| source_urlvarchar | 0% | 230 | — |
|
| row_hashvarchar | 0% | 277 | — |
|
- Current
20260926T003145Z-8c5cb945dbfd · sha256 8c5cb945dbfd…
234 rows · first snapshot
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
curl "https://datazimuts.com/v1/datasets/noaa_tidal_signals/noaa_tidal_anomaly_daily" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/noaa_tidal_signals/noaa_tidal_anomaly_daily").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/noaa_tidal_signals/noaa_tidal_anomaly_daily
Tip: fetch /llms.txt for the full machine-readable catalog.
Where this data comes from and what was made from it. Other people's work shows as counts; only shared projects are named.
Cite this snapshot
Pinned to snapshot 20260926T003145Z-8c5cb945dbfd and its content hash, so readers get exactly the data you used.
NOAA Tidal Water-Level Anomaly Intelligence. (2026). NOAA tidal water-level anomaly intelligence (daily) [Data set, snapshot 20260926T003145Z-8c5cb945dbfd, sha256 8c5cb945dbfd]. Datazimuts. Retrieved 2026-09-26, from https://datazimuts.com/en/datasets/noaa_tidal_signals/noaa_tidal_anomaly_daily?snapshot=20260926T003145Z-8c5cb945dbfd
@misc{dz_noaa_tidal_signals_noaa_tidal_anomaly_da_8c5cb945,
title = {{NOAA tidal water-level anomaly intelligence (daily)}},
author = {{NOAA Tidal Water-Level Anomaly Intelligence}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/noaa_tidal_signals/noaa_tidal_anomaly_daily?snapshot=20260926T003145Z-8c5cb945dbfd}},
note = {Snapshot 20260926T003145Z-8c5cb945dbfd, sha256 8c5cb945dbfd063b032b3436aaf60753e9f46980ea2427efed43d70f849479a4; accessed 2026-09-26}
}Embed a table or a chart
Paste this into any page. The embed is pinned to the same snapshot, follows the reader's light or dark setting, and always shows the source, license and a link back.
<iframe src="https://datazimuts.com/embed/chart?dataset=noaa_tidal_signals%2Fnoaa_tidal_anomaly_daily&lang=en&theme=auto&snapshot=20260926T003145Z-8c5cb945dbfd&x=as_of&y=lat&agg=avg" title="NOAA tidal water-level anomaly intelligence (daily)" width="100%" height="380" style="border:0" loading="lazy"></iframe>
Ask about this dataset. Answers come only from its catalog record, measured profile and change history, and list the facts they used.