Where the Sea Is Rising Fastest, and the Places It’s Falling
At 390 tide gauges the sea rose a median 3.1 mm a year from 1995 to 2024. On the Gulf Coast it rose three times as fast; in Alaska it fell.
Satellites measure the global average rise of the sea. Nobody lives at the global average. What matters to a harbour, a beach or a house is the sea level against the land right there, and that is what a tide gauge measures: the water against a mark on a pier.
The Permanent Service for Mean Sea Level (PSMSL), based at the National Oceanography Centre in Liverpool, collects the annual records of tide gauges worldwide and adjusts each to one consistent local datum. This piece ranks the gauges by how fast the sea is rising against them, and asks whether it is rising faster than it used to. Every number below is printed by the code shown.
The gauges
import zipfile
from pathlib import Path
import numpy as np
import pandas as pd
import requests
Path("data").mkdir(exist_ok=True)
f = Path("data/rlr_annual.zip")
if not f.exists():
r = requests.get("https://psmsl.org/data/obtaining/rlr.annual.data/rlr_annual.zip", timeout=300); r.raise_for_status(); f.write_bytes(r.content)
z = zipfile.ZipFile(f)
gauges = pd.read_csv(z.open("rlr_annual/filelist.txt"), sep=";", header=None, skipinitialspace=True,
names=["id", "lat", "lon", "name", "coastline", "station", "flag"])
gauges["name"] = gauges.name.str.strip().str.title()
series = []
for gid in gauges.id:
d = pd.read_csv(z.open(f"rlr_annual/data/{gid}.rlrdata"), sep=";", header=None, skipinitialspace=True, names=["year", "mm", "gappy", "attention"])
series.append(d.assign(id=gid))
years = pd.concat(series).astype({"year": int, "mm": float, "gappy": str, "attention": int})
print(f"{len(gauges):,} tide gauges, {len(years):,} gauge-years, {years.year.min()}–{years.year.max()}")1,638 tide gauges, 65,895 gauge-years, 1807–2025The archive holds 1,638 gauges, with records from 1807 to 2025, and 65,895 years of annual means between them. Most records are short or broken: gauges are moved, destroyed by storms, or abandoned.
Thirty years at 390 gauges
To compare like with like, each gauge’s rate is a straight-line fit through its annual means from 1995 to 2024, and only gauges with at least 25 good years in that window are kept. Years PSMSL marks as missing too many days, and whole records it flags as doubtful, are left out.
ok = gauges[gauges.flag.str.strip() == "N"] # PSMSL flags whole records it has doubts about
years = years[(years.mm != -99999) & (years.gappy.str.strip() == "N") # gappy: too many missing days in the year
& (years.attention == 0) & years.id.isin(ok.id)]
def trend(g, first, last, need=25):
g = g[g.year.between(first, last)]
return np.polyfit(g.year, g.mm, 1)[0] if len(g) >= need else np.nan # mm per year, least squares
rates = years.groupby("id").apply(lambda g: pd.Series({"1965–1994": trend(g, 1965, 1994), "1995–2024": trend(g, 1995, 2024)}),
include_groups=False).join(gauges.set_index("id")[["name", "lat", "lon"]])
recent = rates.dropna(subset=["1995–2024"])
print(f"{len(recent)} gauges with 25 or more good years in 1995–2024")
print(f"median rise {recent['1995–2024'].median():.1f} mm a year; falling at {(recent['1995–2024'] < 0).sum()}; "
f"rising faster than 5 mm a year at {(recent['1995–2024'] > 5).sum()}")390 gauges with 25 or more good years in 1995–2024
median rise 3.1 mm a year; falling at 57; rising faster than 5 mm a year at 73The median gauge saw the sea rise 3.1 mm a year, about 9 cm over the thirty years. At 73 of the 390 it rose faster than 5 mm a year. At 57 it fell.
Get nunacode’s stories in your inbox
Join Medium for free to get updates from this writer.
These are relative rates: the water’s change plus the land’s. Where the ground sinks, the sea rises faster than the ocean does; where the ground rises, the sea can fall. That difference is the story of the extremes. (The difference between global, regional and relative sea-level change is explained here; it matters whenever a sea-level figure meets a map.)
The fastest and the slowest
show = ["name", "lat", "lon", "1995–2024"]
print(recent.nlargest(12, "1995–2024")[show].round(1).to_string(index=False))
print("...")
print(recent.nsmallest(6, "1995–2024")[show].round(1).to_string(index=False, header=False)) name lat lon 1995–2024
Becancour 46.4 -72.4 12.0
Omaezaki Ii 34.6 138.2 10.8
Trois-Rivieres 46.3 -72.6 10.1
Ko Taphao Noi 7.8 98.4 10.0
Grand Isle 29.3 -90.0 9.9
Shimizu-Minato 35.0 138.5 9.5
Galveston Ii, Pier 21, Tx 29.3 -94.8 9.4
Suva-B -18.1 178.4 9.4
Murotomisaki 33.3 134.2 9.1
Anabar 73.2 113.5 9.0
Uragami 33.6 135.9 8.6
Rockport 28.0 -97.0 8.6
...
Skagway 59.4 -135.3 -21.1
Yakutat 59.5 -139.7 -17.2
Juneau 58.3 -134.4 -14.6
Nikiski, Alaska 60.7 -151.4 -11.4
Valdez 61.1 -146.4 -9.3
Kodiak Island, Womens Bay 57.7 -152.5 -8.4The top of the list has three kinds of place.
- Sinking deltas and coasts. Grand Isle, Louisiana (9.9 mm a year), Galveston (9.4) and Rockport, Texas (8.6) sit on the soft sediments of the Gulf Coast, which compact under their own weight, and in places over drained oil, gas and groundwater. On top of that, the Gulf has seen some of the fastest ocean rise in the world since about 2010.
- Earthquake country. Omaezaki, Shimizu, Murotomisaki and Uragami are on Japan’s Pacific coast above the Nankai subduction zone, where the land is slowly dragged down between great earthquakes. Ko Taphao Noi, off Phuket, has been sinking since the 2004 Sumatra–Andaman earthquake.
- Rivers. Bécancour and Trois-Rivières, the top and third, are on the St Lawrence, upstream of Quebec City, where the water level follows the river’s flow as much as the tide.
At the other end, every one of the six fastest falls is in Alaska: Skagway (−21.1 mm a year), Yakutat, Juneau, Nikiski, Valdez and Kodiak. South-east Alaska is rising as its glaciers melt and the weight of ice comes off the crust, among the fastest anywhere, so the sea is falling against the land.
Is it speeding up?
both = rates.dropna()
print(f"{len(both)} gauges with 25 or more good years in both periods")
print(f"median rate {both['1965–1994'].median():.1f} mm a year in 1965–1994, {both['1995–2024'].median():.1f} mm a year in 1995–2024")
print(f"faster in the later period at {(both['1995–2024'] > both['1965–1994']).mean():.0%} of them")150 gauges with 25 or more good years in both periods
median rate 1.2 mm a year in 1965–1994, 3.2 mm a year in 1995–2024
faster in the later period at 85% of them150 gauges have 25 good years in both 1965–1994 and 1995–2024. At the median gauge the rate rose from 1.2 mm a year to 3.2, and at 85% of them the sea rose faster in the later period. That agrees with what satellites and climate scientists report: the ocean is warming and ice sheets are melting faster, and the rise is accelerating.
Some familiar harbours
places = {"New York (The Battery)": "New York", "San Francisco": "San Francisco", "Brest": "Brest",
"Sydney": "Sydney, Fort Denison", "Honolulu": "Honolulu", "Stockholm": "Stockholm"}
for label, key in places.items():
hit = recent[recent.name.str.startswith(key)].iloc[0]
print(f"{label:24s}{hit['1995–2024']:5.1f} mm a year ({hit['name']})")New York (The Battery) 5.1 mm a year (New York (The Battery))
San Francisco 2.4 mm a year (San Francisco)
Brest 3.3 mm a year (Brest)
Sydney 3.7 mm a year (Sydney, Fort Denison 2)
Honolulu 2.7 mm a year (Honolulu)
Stockholm -1.0 mm a year (Stockholm)New York’s Battery gauge, one of the longest-running in America, rose 5.1 mm a year from 1995 to 2024. Its land is also slowly sinking, a lingering after-effect of the last ice sheet, which pushed up a bulge south of its edge that is still subsiding. Brest, one of the oldest records in the world, rose 3.3 mm a year, close to the median. Stockholm, where the land is still rebounding from the same ice age, saw the sea fall 1.0 mm a year.
If you want to work with a gauge near you, the same kind of data can be fetched hour by hour, though datums and time zones need care.
Takeaways
- Local rates differ wildly from the global one. The median gauge rose 3.1 mm a year from 1995 to 2024; the Gulf Coast three times that; south-east Alaska fell by up to 21 mm a year.
- The land matters as much as the water. The fastest risers are sinking coasts and earthquake zones; the fallers are where the land is rebounding from melted ice.
- The rise is speeding up. At 85% of gauges with long records, the sea rose faster in 1995–2024 than in 1965–1994, and the median rate more than doubled.
Data: Permanent Service for Mean Sea Level (PSMSL), “Tide Gauge Data”, Revised Local Reference annual means, retrieved October 2026 (Holgate et al., 2013, Journal of Coastal Research). Rates are least-squares trends of annual means.










