feat(sea-level): world 40, in some places the sea is going down - #60
Merged
Conversation
The other half of a sentence the ice tab makes explicitly: melting sea ice does not raise sea level, the rise comes from land ice and thermal expansion, and neither is computed there. This computes what is measured instead. Two instruments, two questions A satellite altimeter measures the sea surface against the centre of the Earth and gives one number for the planet, about 3.2 mm a year. A tide gauge measures it against the land it is bolted to, and the land moves. Over the same decades: Skagway minus 21 mm a year, because the land is rising two centimetres a year as Little Ice Age glaciers unload it; Stockholm and Oslo negative from post-glacial rebound; Manila plus 13, because the groundwater was pumped out from under the city. A spread of over 30 mm a year in one ocean. Both instruments are right, and anyone asking whether their street will flood wants the gauge. Acceleration A quadratic fit gives 0.081 mm/yr per year against a published 0.084, so the rate was about 1.9 mm/yr at the start of the record and is about 4.5 now. The famous 3.2 is the average of something that has doubled and describes neither end. Shown again with no curve assumed, as straight lines over ten-year blocks. Three findings that corrected assumptions made while writing this 1. The record is not a clean relay. Two satellites report at once for years, because a new altimeter flies in FORMATION with the old one before it retires. That is how the splice is calibrated, so the missions are kept apart and the disagreement measured: 1.93 mm on average over the 3.5-year TOPEX/Jason-1 overlap, worst 5.67 mm, against a signal of 3 mm a YEAR. 2. A mission's samples are not contiguous either, and the first explanation for that was wrong. It is not coverage holes: during an overlap the two ten-day cycles are out of phase, so samples interleave and each mission's indices step by two. Measured in time there is exactly one real gap in 33 years, 72 days of Jason-1. 3. The decades are not a tidy staircase. The first two are the same within their error bars and only the third is faster, partly because the 2010-2011 La Nina moved an enormous amount of water onto land. Curvature over thirty years does not oblige a series to rise smoothly inside it. The copy said otherwise until the numbers were on screen. A disagreement left unresolved on purpose Our least squares on NOAA's own file gives 3.23 mm/yr where their header says 3.17. Three explanations were tested and rejected: the seasonal treatment (adding harmonics to the seasonal-retained product reproduces the seasonal-removed slope to 0.001, which is a real cross-check of their deseasonalisation and it passes), the start date, and which satellite is preferred during an overlap. Both numbers are on the page. Tuning ours until it matched would have destroyed the only interesting thing there. Conventions, named NOAA publishes the same passes four ways and the spatial domain alone moves the trend 2 percent. The figure usually quoted also carries a glacial isostatic adjustment of +0.3 mm/yr, because the ocean floor is still sinking as the mantle relaxes: 3.2 and 3.5 both defensible, answering different questions. Named, not applied. PSMSL values sit above an arbitrary local datum, so the gauge exhibit charts rates and never heights on a shared axis. 29 tests validate against NOAA's own header trends, the published acceleration, Brest starting in 1807, and the known rebound stations. The module refuses trend windows under ten years and acceleration windows under twenty, which is why there is no trend per satellite: three of the five have flown for under a decade and there is no sea level trend in four years of data. Stated on the page: no projection to 2100, which needs ice sheet dynamics rather than a parabola carried forward; no flood risk, since mean sea level is the baseline a surge starts from and not a forecast; no split between thermal expansion and the ice sheets, which needs GRACE and Argo. Payload went from 276 KB to 86 KB by hoisting the shared time axis and the shared per-satellite coverage, storing missions sparsely, and dropping the merged series the browser can rebuild. Verified: 1,488 tests pass, tsc clean, fresh production build, all 40 routes sweep clean, no console errors, no mobile overflow. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The other half of a sentence the ice tab makes explicitly: melting sea ice does not raise sea level, the rise comes from land ice and thermal expansion, and neither is computed there. This computes what is measured instead.
Two instruments, two questions
A satellite altimeter measures the sea surface against the centre of the Earth and gives one number for the planet, about 3.2 mm a year. A tide gauge measures it against the land it is bolted to, and the land moves. Over the same decades: Skagway minus 21 mm a year, because the land is rising two centimetres a year as Little Ice Age glaciers unload it; Stockholm and Oslo negative from post-glacial rebound; Manila plus 13, because the groundwater was pumped out from under the city. A spread of over 30 mm a year in one ocean. Both instruments are right, and anyone asking whether their street will flood wants the gauge.
Acceleration
A quadratic fit gives 0.081 mm/yr per year against a published 0.084, so the rate was about 1.9 mm/yr at the start of the record and is about 4.5 now. The famous 3.2 is the average of something that has doubled and describes neither end. Shown again with no curve assumed, as straight lines over ten-year blocks.
Three findings that corrected assumptions made while writing this
A disagreement left unresolved on purpose
Our least squares on NOAA's own file gives 3.23 mm/yr where their header says 3.17. Three explanations were tested and rejected: the seasonal treatment (adding harmonics to the seasonal-retained product reproduces the seasonal-removed slope to 0.001, which is a real cross-check of their deseasonalisation and it passes), the start date, and which satellite is preferred during an overlap. Both numbers are on the page. Tuning ours until it matched would have destroyed the only interesting thing there.
Conventions, named
NOAA publishes the same passes four ways and the spatial domain alone moves the trend 2 percent. The figure usually quoted also carries a glacial isostatic adjustment of +0.3 mm/yr, because the ocean floor is still sinking as the mantle relaxes: 3.2 and 3.5 both defensible, answering different questions. Named, not applied. PSMSL values sit above an arbitrary local datum, so the gauge exhibit charts rates and never heights on a shared axis.
29 tests validate against NOAA's own header trends, the published acceleration, Brest starting in 1807, and the known rebound stations. The module refuses trend windows under ten years and acceleration windows under twenty, which is why there is no trend per satellite: three of the five have flown for under a decade and there is no sea level trend in four years of data.
Stated on the page: no projection to 2100, which needs ice sheet dynamics rather than a parabola carried forward; no flood risk, since mean sea level is the baseline a surge starts from and not a forecast; no split between thermal expansion and the ice sheets, which needs GRACE and Argo.
Payload went from 276 KB to 86 KB by hoisting the shared time axis and the shared per-satellite coverage, storing missions sparsely, and dropping the merged series the browser can rebuild.
Verified: 1,488 tests pass, tsc clean, fresh production build, all 40 routes sweep clean, no console errors, no mobile overflow.
What & why
How to test
Checklist
npm run buildpasses locally.npx vitest runpasses (added or updated tests for new logic where it makes sense).docs/DATA_SOURCES.mdin this same PR..envconfig (a new source needing a key ships with a keyless fallback).lib/geo.ts; the globe mesh is not rotated (coordinate convention is locked).useFrameloops; heavy scenes stay dynamically imported (60fps budget on integrated graphics).The honesty rule
This project's credibility rests on one rule: every number on screen traces to a real data source or a documented calculation, and anything simulated is labeled as simulated. By opening this PR you confirm your change respects it.
Screenshots / recording