Eight NOAA tide gauges follow the tide in from the Pacific, through the Strait and down the Sound to Tacoma. Every six hours a FORTRAN program predicts the tide at each one from its 37 harmonic constituents, the way NOAA's tide tables are made, and checks itself against NOAA's tables. Then it measures what the weather is adding, and looks ahead a year for king tides and the low tides worth getting up for.
Every run is a batch job, like a mainframe: Python fetches NOAA's data, GFortran compiles the program, and the program runs and sets a return code. 0 is normal; 4 means a gauge was late or missing, and the report says which.
Each gauge's latest reading in feet above mean lower low water, the zero on tide tables. Tide is what FORTRAN predicts from the constituents alone; surge is the difference, the part the weather adds: wind, air pressure, river water. The 24-hour surge is ranked against every day within two weeks of the date from 1991 to 2020.
The next week of high and low tides as FORTRAN predicts them, beside NOAA's published table. The last column is how far apart the two are in minutes. Times are Pacific.
The tide is a wave, and it takes hours to squeeze in from the ocean. Each circle is sized by the main lunar tide at that gauge; the label is how many hours it arrives after Neah Bay. It shrinks in the Strait of Juan de Fuca, then grows again as Puget Sound's long inlets funnel it, until Tacoma's is almost half again as big as the ocean's.
The highest tides of the coming year, one per spell, from FORTRAN's predictions. They come with the new and full moons, biggest when the moon is also at its closest, and in Puget Sound they cluster in the mornings from late November to January. A storm surge on top of one is when the waterfronts flood: on December 27, 2022 it put Seattle at its highest water on record.
Every low tide below zero, the line on the charts, that comes while the sun is up, from FORTRAN's predictions and its own sunrise and sunset. In fall and winter the big lows come in the middle of the night; from spring they swing round to the middle of the day.
Yearly mean sea level against the pier at each gauge, and FORTRAN's trend through every monthly mean on record, with a mean for each calendar month so the seasons don't bias it. These are relative sea level: the land is moving too. NOAA's published trends are alongside.
What FORTRAN writes, exactly as written, on green-bar paper. Well, blue-bar.
Loading…
The loop that adds up the 37 constituents into a tide, copied live from TIDE_PHYS.f90. On the 1957 form, columns 1–5 held a statement number, 6 marked a continued line, 7–72 the statement and 73–80 the card's ID. This is modern free-form FORTRAN, so it doesn't follow those columns, but every line keeps to the form's 72-column width.
The tide, by harmonics. The tide is the sum of dozens of steady waves, each keeping time with something the moon or sun does: M2 with the moon's twice-a-day pull, K1 and O1 with its swing north and south of the equator, S2 with the sun. NOAA measures each one's size and timing at every gauge, and a tide table is those 37 waves added up. Lord Kelvin built a brass machine to add them up in 1872, and NOAA's predecessor, the Coast and Geodetic Survey, made its tide tables on one, Old Brass Brains, until the mid-1960s. This program does it in FORTRAN, with the moon and sun's positions and the 18.6-year cycle of the moon's orbit worked out from scratch (Schureman, 1958).
Checked every run. Each run compares FORTRAN's highs and lows for the next week with NOAA's published predictions. Over full years, FORTRAN's hourly tide matches NOAA's to within about a hundredth of a foot, and two thousandths on average. Getting there meant finding that NOAA starts one small constituent, M1, without the moon's perigee each January.
Normal, built in FORTRAN. A second program, NORMALS, reads every hourly water level at the eight gauges from 1991 through 2020, takes away the tide it predicts for that hour, and keeps each day's mean surge and highest water. For every day of the year it keeps the 10th to 90th percentiles.
What's real. Every number on this page comes from a file FORTRAN wrote; the page draws, it doesn't calculate. Water levels, constituents, datums and monthly means are NOAA's Center for Operational Oceanographic Products and Services (CO-OPS). Recent readings are preliminary until NOAA verifies them. When a gauge is late or missing, the job says so with return code 4 and nothing is filled in.
Limits. These are predictions for the gauges, not your beach: the tide is later and bigger at the far ends of the inlets. Surge is everything that isn't predicted tide, so it also holds any change in mean sea level since the 1983–2001 datum epoch. Not for navigation.
It is the third in a family: SIERRA-FLOW does Sierra Nevada rivers in COBOL, and CASCADIA-WX the Northwest's weather balloons in FORTRAN.