The Sea Does Not Look Up
You were taught that the Moon pulls the ocean into a bulge, and that the bulge follows the Moon around the Earth. If that were how the sea worked, high water would arrive when the Moon is overhead. Here are 1,362 tide gauges and a year of six-minute water level. At Sitka, Alaska, high water comes 9 minutes after the Moon crosses the meridian. At Boston it comes 11 hours 14. Same Moon, same day, same ocean.
1 · Two clocks that do not agree
Where the crest actually fell
Nothing below is modelled. A lunar ephemeris gives the moment the Moon crossed each station's meridian, to better than a second. The station's own record gives the moment the water peaked. The dial shows every one of those gaps, for a whole year, laid on top of each other. Noon on the dial is the Moon overhead.
Each spoke is a bin of ~21 minutes; its length is how many of that year's high waters fell there. The heavy arrow is the circular mean. The dial runs one lunar semidiurnal period, 12 h 25 m 14 s.
The gaps are not scattered at random and they are not near zero. Each station has its own, tight and repeatable, and the stations do not agree with each other. That is the first thing the bulge picture cannot survive: a bulge held under the Moon by the Moon's own gravity has nowhere to put an eleven-hour delay.
2 · All of it at once
The crest travels. It just does not travel with the Moon.
Every dot is a tide station that publishes harmonic constants, 1,362 of them. No coastline is drawn underneath; the gauges trace their own. Run the clock and each one lights when its high water arrives. The pale vertical line is the meridian the Moon is over.
Equirectangular, longitudes 72°E→298°E so the Pacific stays in one piece; no projection correction, so high latitudes are stretched sideways. The Moon's meridian is drawn from the mean lunar rate, 14.4921°/h. Crest times are the M2 constituent alone; §1 shows what the full record does at the featured stations.
Watch the Gulf of Maine and the Gulf of Alaska. They light nearly half a cycle apart, and neither of them lights when the Moon is over it. What is travelling along the coast is a wave, moving at the speed the water and the depth allow, refracting into bays and running up estuaries. The Moon is only the thing that keeps pushing it.
Laplace worked this out in 1775, and the field has called it the dynamic theory of tides ever since. The reason the bulge picture survives anyway is that it is easy to draw and the correction is a map, not a sentence. So: the map.
3 · How fast
A crest with a speed you can measure
Take the stations along one open coast in order and plot when each one crests. If the tide is a travelling wave, the crest times should march; the slope is its speed. Every station in the region is drawn, including the ones excluded from the fit, so you can see exactly what was left out and why.
Grey dots: every station in the region's bounding box. Bright dots: the open-coast transect, listed by name in the apparatus. Distances are great-circle along the transect order. Phases are unwrapped so a crest that advances past 360° keeps going.
4 · Not even two a day
Pensacola gets one tide a day, and it is not because of the Moon either
This one needs no ephemeris, no constants, no model. Count the high waters in the record and measure how far apart they are.
Fifteen days of verified six-minute water level, 15–30 September 2024, sampled here every 30 minutes.
Spacing between successive high waters, 2024
Two clusters and nothing between them. The lunar semidiurnal period is 12 h 25 m; the lunar day is 24 h 50 m.
The northern Gulf of Mexico is where the principal lunar tide nearly disappears. Run the map above on how big the lunar tide is and watch the Louisiana and Florida panhandle coast go dark. At Pensacola the M2 amplitude is 1.7 cm; at Boston it is 137. The daily constituents are not similarly suppressed (K1 is 12.5 cm at Pensacola and 14.3 cm at Boston, near enough the same), so what is left is a once-a-day tide.
A basin can do that. Semidiurnal forcing that is badly matched to the basin's own response gets cancelled; the region sits near an amphidromic point, a place the co-tidal lines rotate around and where that constituent's range goes to nothing. The map below shows the collapse and the phase reversal that goes with it, walked along the coast from Texas to the Florida Keys.
NOAA published harmonic constants. Between Calcasieu Pass and Pensacola the M2 amplitude falls by a factor of eight and its Greenwich phase swings ~82°, while K1 holds steady within a couple of centimetres.
5 · The part that is not astronomy
What the machine cannot know
A tide prediction is computed from the Moon's and the Sun's mean motions and a table of local constants. It does not know there is a storm coming, and it never will. So observed minus predicted is, by construction, everything the astronomy does not contain.
The residual is not noise, and here is the test that says so. If it were the gauge misbehaving it would be independent between stations. If it were an error in the harmonic model it would repeat with the tide. It does neither: on 9–10 January 2024 it arrived at Grand Isle, Louisiana, then Pensacola, then Charleston, then Atlantic City, then New York, then Boston, then Eastport, in that order, over 3,844 km and 30.7 hours. Rank correlation between distance along the coast and arrival time: ρ = 0.976, exact permutation p = 0.0002 over all 40,320 orderings.
The same test run on the quietest week of the year, chosen by measurement rather than by eye, gives ρ = 0.467, p = 0.11: nothing. And run on a twelve-day window in late September, when the eastern seaboard saw more than one system, it gives ρ = −0.867: strongly ordered the wrong way, which is what you get when the largest departure at Florida and the largest departure at New York belong to different storms. A test that finds a front where there is one, no front where there is none, and nonsense when handed two fronts at once is worth more than a test that always agrees with you.
That September window had to be widened to get an honest answer. The first version of this analysis used four days, and the peak search cannot return an arrival inside the first 1.5 hours of a window, that being its smoothing half-width, so two stations came back with arrivals sitting on the very first admissible sample. Those were not measurements, they were the edge of the window. Every window now refuses to report an arrival within two hours of its own boundary, and says so.
Variance of the verified observations, and of what is left after NOAA's own harmonic prediction is subtracted, 2024.
One more thing has to be said before that table can be read as "the astronomy". Every harmonic table, NOAA's included, carries two constituents called Sa and Ssa: an annual and a semiannual term, 5 to 12 cm at these stations. The Sun's actual annual gravitational tide is under a millimetre. What Sa and Ssa are fitting is seasonal warming, steric expansion and river discharge: weather with an astronomical name, sitting inside the prediction.
So the split is worth doing twice. Refit each station with the seasonal and long-period terms removed, leaving only what the Moon and Sun actually pull, and the numbers move: hardly at all in some places, enormously in others.
The storm that was not there
The first version of this page reported that the largest departure from prediction anywhere in 2024 was 145 cm at San Francisco on 6 June. It was not a storm. It was the gauge dying: over that day the observed level moved through 128 cm while the prediction swung through 250, and three weeks later the station went off the air for 24 days.
NOAA had said so. Every 6-minute sample carries four quality-control bits and a verification state, and that whole stretch was flagged 1,1,1,1 and never verified. The fetcher used here had been throwing those fields away. It now keeps them, and every number on this page uses only NOAA-verified samples with no flag set, which costs San Francisco 56% of the year's 87,840 six-minute slots and every other station between 0.1% and 12%. With the flags applied, San Francisco's largest genuine departure of the year is 35 cm.
The check
The claim this page turns on is a number of minutes between two events, so it is measured twice by routes that share no arithmetic.
Route A subtracts two timestamps: the Moon's upper transit at that station, from a lunar ephemeris written from Meeus, and the peak of the water, from parabolic interpolation on the 6-minute record. No harmonic constants, no fitting, no model of the tide at all. Route B reads NOAA's published M2 Greenwich phase, removes the nodal angle (NOAA's phase is a nodally corrected five-year average, so the crest in any single year sits at κ − u, not κ) and divides by 28.984104°/h. Across 13 semidiurnal-dominated stations with a complete year of clean record, whose intervals run from 9 minutes to 11½ hours, the median disagreement is ….
And then the question that matters more than the agreement: what is that agreement worth? Route A finds the crest of the whole tide. Route B computes the crest of M2 alone. Those are different things even when both are perfectly right, because the overtides and the diurnal inequality shift the observed peak by a fixed amount that depends on the station. So route A was run a second time on a synthetic record built from NOAA's own constants (perfect harmonic astronomy, no weather, no gauge, no gaps) to see how much of the disagreement pure arithmetic already predicts.
It predicts nearly all of it. The synthetic record reproduces a median gap of … against route B, correlating with the observed gaps at …. Subtract what the model already knew, and what is left, the part that is actually evidence about the sea rather than about arithmetic, is …. That is the honest number, and it is a better one than the raw agreement: half a minute, between a lunar ephemeris plus a tide gauge on one side, and a table of published constants on the other.
The ephemeris itself is checked against JPL Horizons (DE441): apparent geocentric position of the Moon at 1,465 epochs through 2024 agrees to 3.4″ rms in right ascension, and, the number that matters, 29 lunar upper transits at Boston in March 2024 agree with Horizons' own topocentric hour angle to 0.24 s rms, worst case 0.51 s. The water-level data is sampled every 360 seconds, so the ephemeris is 1,500× finer than the thing it is being compared against.
The harmonic machinery is checked by reproducing NOAA. A least-squares analysis over 29 constituents, written from Schureman, run on a year of raw water level at 16 stations (the seventeenth is San Francisco, whose 2024 record is too broken to analyse, see above), recovers NOAA's independently published constants, derived by a different organisation from different years (a vector average of 2015–2019) with different software, to a median 0.17 cm in amplitude and 0.52° in phase across the 87 constituents with amplitude ≥ 5 cm.
That last check failed the first time it was run, and the failure is the reason to trust it now. Every diurnal constituent came back exactly 180° wrong while every semidiurnal one was already within a degree. That is the signature of one shared convention error, not four independent ones: the ±90° offsets in the diurnal equilibrium arguments had the wrong sign. Re-deriving them from Doodson's numbering (a derivation that also reproduces all eight diurnal speeds to 10⁻⁶ °/h) flipped them, and all four moved into agreement together while the semidiurnals, untouched, stayed put. A single free parameter per constituent could have been tuned to fit; one convention shared by four could not.
It failed a second time, later, and that one is worth more. The comparison above only ever looked at ten constituents. An adversarial review, run over all of them, found that J1, not among the ten and so invisible to the check, was still 180° out at every one of the 16 stations, because the re-derivation above had got J1's offset wrong while getting the other seven right. Deriving the J1 term directly from the diurnal tide-generating potential gives +90°, and flipping it moves the median disagreement from 157.8° to −0.2°. Two more things came out of the same pass and are fixed here: M1's argument was missing its perigee term (invisible in 2024 because the lunar perigee happened to sit near zero, and 123° wrong by 2027) and its nodal factor was a placeholder making its amplitude twice too large, so M1 is now removed rather than half-repaired; and route B was leaving out the nodal angle, worth +0.9 minutes in 2024 and ±4.4 at the extremes of the 18.6-year cycle. None of those changed a number on this page except the last, which is why they are here: a check that only looks where you already looked is not a check, it is a habit.