When official tide predictions are out of reach, you can still reconstruct a useful tide curve from a station’s published harmonic constants. This estimator sums the four dominant constituents — M2, S2, K1, and O1 — using their fixed astronomical speeds and your supplied amplitudes and phases.
How it works
Each constituent contributes a cosine wave, and the total height at hour t is
the datum plus the sum of those waves:
h(t) = Z0 + Σ Hᵢ × cos( ωᵢ × t − gᵢ )
ω(M2) = 28.984°/h ω(S2) = 30.000°/h
ω(K1) = 15.041°/h ω(O1) = 13.943°/h
Hᵢ is the amplitude in metres, gᵢ the phase lag in degrees, and ωᵢ × t is
the constituent’s astronomical argument advanced from the start of the day.
Degrees are converted to radians internally before the cosine is taken.
What each constituent represents
The four constituents used here are not arbitrary: they are the four largest tidal components at most of the world’s coastal stations, and together they determine whether a place has a predominantly semidiurnal (two highs and two lows per day), diurnal (one high and one low), or mixed tidal regime.
M2 — the principal lunar semidiurnal constituent — is driven by the gravitational pull of the Moon on a 12.42-hour cycle. It is the largest constituent at the vast majority of Atlantic and Pacific coast ports. Its amplitude alone gives you a rough idea of the tidal range at a location: an M2 amplitude of 2 metres means a spring tidal range of around 4 metres when M2 and S2 reinforce at new and full moon.
S2 — the principal solar semidiurnal constituent — follows the same 12-hour rhythm as the solar day and interacts with M2 to produce the spring/neap cycle. When M2 and S2 are in phase (at new and full moon), they add together for spring tides. When they are opposed (at the quarters), they partially cancel for neap tides. The ratio of S2 amplitude to M2 amplitude controls how pronounced this variation is.
K1 and O1 — the two main diurnal constituents — are on roughly 24-hour cycles and are responsible for the once-daily inequality in semidiurnal tides and for the dominant signal at diurnal ports in places like the Gulf of Mexico, parts of the Pacific, and Southeast Asia. At a port where K1 and O1 are large relative to M2 and S2, the tide may alternate between large and small highs (or even produce only one high and one low per day) depending on the phase relationship.
Example and worked illustration
A semidiurnal port with the following harmonic constants:
Z0 = 0.0 m (mean sea level above chart datum)
M2: H = 1.8 m, g = 200°
S2: H = 0.6 m, g = 240°
K1: H = 0.15 m, g = 60°
O1: H = 0.10 m, g = 30°
This port would show two distinct high waters and two low waters per day, with a maximum range on spring tides of roughly 4.8 m when M2 and S2 add constructively. The small K1 and O1 amplitudes produce only a modest diurnal inequality — the two highs will be close in height but not identical.
Where to find harmonic constants
Published harmonic constants are available from national hydrographic offices and oceanographic data centres. NOAA publishes them for US stations; the UK Hydrographic Office maintains them for British and many international stations; the IOC/PSMSL global tide gauge network publishes data for many academic stations. Constants are typically listed by station name and include the amplitude in metres or centimetres and the phase lag in degrees referred to the Greenwich meridian.
Notes on accuracy and limitations
Because this model omits nodal factor corrections and the many minor constituents that a full tidal analysis includes, expect height errors of a few tens of centimetres and timing errors of tens of minutes. The nodal cycle — an 18.6-year variation in the Moon’s orbital plane — modulates the amplitudes of M2 and other constituents by a few percent, which this simplified model does not account for. Use it for planning intuition, never for navigation where an official prediction exists.