Skip to content
Tides

How tide predictions work

Why NOAA can publish tide tables years ahead: harmonic constituents, tidal datums, and the difference between a prediction and what the water actually does.

By · Updated

NOAA predicts the astronomical tide by adding a station's periodic harmonic constituents. Those constituents describe how that location responds to the moon, sun, and Earth's motions. A prediction is not a live water-level reading and does not include wind, pressure, rainfall, river flow, or storm surge.

The shortest safe way to carry a prediction into another chart, spreadsheet, or app is as a complete tuple: station ID, product, date, datum and epoch, units, time-zone mode, interval, and source retrieval date. A bare number such as “10.2 feet” is not reproducible.

From gauge record to harmonic prediction

The moon and sun pull on the ocean, and the Earth rotates underneath the resulting bulges. If the planet were covered in uniform deep water, that would produce a tidy wave you could compute from orbital mechanics alone. It isn't — every basin, shelf, bay, and river mouth responds to that forcing differently. Water sloshes, resonates, and piles up. That's why Boston sees a nine-foot range while Key West sees under two, and why the Gulf of Mexico gets one high tide a day where the Atlantic coast gets two.

NOAA first measures the place. Harmonic analysis separates a long water-level record into periodic components such as the principal lunar M2 and solar S2 constituents. Each constituent has an amplitude and a phase lag. NOAA normally uses 37 of these cosine curves, then adds them together for the requested date to calculate the predicted height, as documented in its harmonic-constituent reference.

The astronomical cycles are predictable, so the calculation can run years ahead. The local harmonic constants are what carry the coastline's shape, depth, resonance, and timing into the answer. You can inspect those constants through the Perigee API and MCP server.

Reference and subordinate stations return different shapes

NOAA classifies prediction stations as harmonic or subordinate. A harmonic station has its own constituent set and may serve as the reference for nearby locations. It can produce a continuous interval curve as well as named high and low events. A subordinate station uses measured time and height adjustments to a designated harmonic reference station. NOAA applies those offsets to the reference station's high and low events. Its Tide Predictions help page defines those output and datum limits.

NOAA tide prediction output by station type
Station typeNOAA basisHonest outputDatum behavior
Harmonic (may be a reference)Local harmonic constantsHigh/low events or an interval curveSupported tidal or geodetic datums
SubordinateLocal offsets from a harmonic referenceLocally adjusted high/low eventsMLLW only

An interval curve between subordinate high and low events is an approximation, not the station's own harmonic prediction. Use the output shape the station actually supports. Read the full reference-versus-subordinate guide before substituting a parent station's curve for a local result.

Reproduce a NOAA prediction request

This fixed-date request asks NOAA for Boston station 8443970's high and low events on September 10–11, 2026. It returns JSON in feet above MLLW and local clock time with daylight saving applied:

curl 'https://api.tidesandcurrents.noaa.gov/api/prod/datagetter?product=predictions&application=PerigeeGuide&begin_date=20260910&end_date=20260911&datum=MLLW&station=8443970&time_zone=lst_ldt&units=english&interval=hilo&format=json'

When this guide was checked on September 14, 2026, the response began with this record:

{
  "predictions": [
    { "t": "2026-09-10 04:58", "v": "-0.366", "type": "L" }
  ]
}

In that row, t is the requested local timestamp, v is the predicted height, and type=L marks a low-water event. The row does not repeat the station, datum, units, or time-zone mode, so store the request parameters with the result. NOAA's response-field reference documents the compact field names.

Change the station and dates to reproduce the same method elsewhere. Keep every interpretation parameter visible:

  • product=predictions requests astronomical tide predictions, not observed water levels.
  • station=8443970 identifies the NOAA location; a place name alone is not a reproducible data key.
  • datum, units, time_zone, andinterval define what each returned value means.
  • application=PerigeeGuide identifies the caller in NOAA's automated request and error logs.

Perigee exposes the same prediction workflow through its simpler public REST route. See the developer overview and the machine-readable OpenAPI 3.1 contract for request and response schemas, or compare the result with the Boston station page.

Datum, units, and time zone are part of the value

A tide height is incomplete without its vertical reference. MLLW means mean lower low water: the average of each tidal day's lower low water over the applicable tidal-datum epoch. It is the standard reference for U.S. tide predictions and nautical chart depths. A value of 0.0 feet MLLW does not mean there is no water, and a negative prediction is below that reference rather than below the seabed. Read how to read the zero line on a tide chart.

As of this guide's September 2026 review, NOAA identifies 1983–2001 as the current National Tidal Datum Epoch and is preparing replacement products from the 2002–2020 epoch. The official NTDE update page currently proposes a 2029 release. Record the epoch as well as the datum name when a comparison must remain valid across that transition.

  • Datum: compare heights only after confirming both datasets use the same vertical reference. MLLW, MSL, MHW, and NAVD88 are not interchangeable zeros.
  • Units: NOAA can return English or metric heights; changing units does not change the datum.
  • Time zone: lst_ldt follows local daylight saving, lst stays on local standard time, and gmtavoids local clock changes.

Prediction, observation, and model guidance are not synonyms

A tide prediction contains the astronomical component. A water-level observation is a gauge measurement and therefore includes non-tidal effects from weather, rivers, and other local conditions. NOAA operational forecast-system guidance is a third product: model output that can incorporate observed and forecast environmental forcing.

Real-time observations can be preliminary and carry quality-control fields; verified historical observations are a separate NOAA product. That quality state is independent of the prediction-versus-observation distinction. NOAA's response guide defines the observation flags and preliminary/verified labels.

Perigee station pages keep prediction and observation series separate. Their difference can reveal a residual such as storm surge, but it does not by itself diagnose the cause. Never replace a live observation with a harmonic prediction for navigation, flooding, or emergency decisions.

Freshness and cache semantics

Harmonic predictions do not become stale like a sensor reading every six minutes, but the source metadata is not immutable. NOAA can revise constituent sets, datums, station relationships, or availability. Perigee therefore retrieves NOAA-backed results and caches by product rather than treating copied tide numbers as a permanent source of truth.

NOAA says regular prediction updates are applied quarterly, during the first two weeks of January, April, July, and October. Those source revisions can add or remove stations, promote a subordinate station to harmonic, or change its offsets and reference station. A cache lifetime answers how soon Perigee rechecks the provider; NOAA's publication cadence answers when the underlying source may change. See NOAA's prediction update schedule.

  • Public prediction API responses target a 10-minute shared cache; public observed-water-level responses target five minutes.
  • Annual station-year tables refresh on a 24-hour server window because the underlying harmonic series is stable and expensive to regenerate.
  • Datum, units, interval, station, and time zone remain explicit in the request or page even when a response is served from cache.

For examples that distinguish predicted from observed source records, inspect Perigee's reproducible coastal data reports. The 2026 station coverage audit documents how ambiguous and missing prediction responses are classified.

See it live: pick your coast from the state directory or find the gauge nearest you.

Sources and methodology

Perigee separates NOAA definitions and prediction limits from practical interpretation. These primary sources anchor the guide:

Questions and quick answers

How can NOAA predict tides years in advance?
NOAA combines the periodic astronomical motions of the moon, sun, and Earth with harmonic constants derived from water-level observations at a station. Adding those constituent curves produces the astronomical tide for a future date.
Is a tide prediction the same as the actual water level?
No. A tide prediction represents the astronomical tide. An observed water level also includes weather and hydrologic effects such as wind, atmospheric pressure, rainfall, river flow, and storm surge.
Why do some NOAA stations show only high and low tides?
Subordinate stations use measured time and height offsets from a reference station. Those offsets support local high and low events, but they do not define every point of a continuous interval curve.
What datum and time zone should I use?
Use the datum and epoch that match the chart, threshold, or dataset you are comparing against; MLLW is the usual U.S. tide-prediction and nautical-chart reference. Use LST/LDT for local clock time with daylight saving, LST for local standard time, or GMT for an unambiguous global time reference.
How fresh are Perigee tide predictions?
Harmonic predictions are calculated data, not a live sensor feed. NOAA says it applies regular prediction updates quarterly. Perigee targets a 10-minute shared cache for its public prediction API and refreshes annual station-year results daily; observed water-level responses use a shorter five-minute target because they change in real time.
What should I save with a tide-prediction result?
Save the NOAA station ID, product, requested date range, datum and epoch, units, time-zone mode, interval, source URL, and retrieval date. The compact NOAA JSON rows do not repeat all of that context, so a height copied without its request parameters is not independently reproducible.