The Verification Venue · a number that mostly has not moved

The Breath the Mountain Half Hears

Everyone knows the sawtooth on the Keeling curve. It is the northern hemisphere's land plants inhaling every summer and exhaling every winter, and the wiggle is not one size. It is 17.9 parts per million at Point Barrow, 11.7 at a pier in California, 7.0 at Mauna Loa, and 1.2 at the South Pole running half a year backwards. Mauna Loa, the station everybody quotes, is the faintest listener of the five northern stations in this network, and it is beaten by a sea-level site at its own latitude.

The Scripps CO2 Program has been measuring the air on that mountain since 1958, and it publishes the files this page reads. There is one honest thing to say before any number appears: this series moves about once a month, and it is often weeks late. So the first thing the page prints is not the carbon dioxide. It is how long it has been since anybody at Scripps last touched the file.

What the mountain last said, and when

Loading

...

Checking whether the source has moved since you were last here.

This year's drawdown, against where this page predicts it stops

Waiting for the feed.

Two publishers, two clocks, and a third that lies

Loading both clocks.

A published number is a snapshot of a moving thing

Loading the quotation.

The file that is four years dead and looks perfect

Alongside the monthly file, Scripps publishes one called daily_in_situ_co2_mlo.csv. It answers with HTTP 200. It is 727 kilobytes of well formed comma separated numbers. Its Last-Modified header is recent. Every signal a program normally checks is green, and its last reading is from February 2022.

A page that fetched it and printed "today's CO2" would be confidently, specifically wrong, and nothing would go red. That file is deliberately absent from this site's feed allowlist, so this page cannot reach it even by mistake. What follows is a committed excerpt of it, put through the same freshness gate, unmodified, that decides whether the live number above is allowed to be called current.

The negative control, run in front of you

Loading the fixture.

Before it tells you anything, it reproduces something published

NOAA and Scripps both measure the air on Mauna Loa. They are separate programmes with separate instruments, separate rules for deciding which hours count as baseline air, and separate calibration scales. NOAA publishes an annual growth rate for every year from 1959, and it publishes the recipe it uses, quoted here word for word from its own page:

Loading the snapshot.

So the test is this. Take NOAA's recipe. Apply it, in this browser, to Scripps' numbers, from the same live file the headline above came from. If the code that reports tonight's figure is measuring the world rather than echoing a file, it should land on NOAA's printed table without ever having seen it.

NOAA's recipe, Scripps' measurements, NOAA's published table

Recomputing 67 years.

The wiggle is not a fact about carbon. It is a fact about where you stand.

Now the same arithmetic, seven times. Take each station's monthly series, subtract a twelve month centred moving average (which is exactly annual, and therefore blind to the annual cycle it is removing), and what is left is the breathing. Measure the peak-to-trough size of it, one number per year. No fitting, no harmonics, no parameters. You could do it on paper.

Seven Scripps stations, from 82 north to the pole

Fetching seven stations.

Drag these and the amplitude trend is refitted over the window you chose, for every station at once. Some windows answer the question. Several do not, and the page says which.

a synthetic file with a known answer

The planted station is a Scripps-format CSV built in co2.js whose cycle starts at exactly 5.000 ppm in 1960 and grows at exactly 1.000 ppm per decade. Switch it on and it is handed to the same parser and the same decomposition as Alert and the South Pole, as one more row of data. Read the ppm/dec column: it should say +1.000. The ppm column will not say 5.000, and should not, because a cycle that grows has a mean larger than its first year; the row prints the mean the generator actually planted underneath the one recovered, so you can compare the two rather than take the match on trust. If the instrument cannot find a cycle it was told about, it has not earned the right to report one it was not.

One station, year by year

Two controls a reader can operate, and one comparison that only looks like one

The obvious objection to a latitude story is that latitude is confounded with everything else. Scripps' network happens to contain two comparisons that pull the confound apart, and all the stations involved are in the selector above. It also contains a third comparison that reads like a control and is not one, so that is labelled too rather than quietly used.

Waiting for the stations.

Where the result disappears

The literature's claim is that the northern cycle is getting bigger. That claim is a measurement, and it is reachable in the panel above. So is its absence. Set the station to Mauna Loa and drag the window to 1990 to 2010, and the trend is indistinguishable from nothing. Do the same at Point Barrow and it is unmistakable. Shrink the window further, though, and even Point Barrow stops being able to answer, which is the more useful half of the lesson.

Waiting for the stations.

That is not a flaw in the window control, and it is not a flaw in Mauna Loa. It is the point. The mountain sits at 19.5 degrees north in free troposphere air that has been stirred for weeks before it arrives. It hears the northern forests, but faintly, and over twenty years the growth in what it hears is buried in the year-to-year noise. The station everybody quotes is the station where this particular result cannot be seen.

On why the northern cycle is growing, this page takes no side and has no standing to. Graven and colleagues (2013) read it as northern ecosystems exchanging more carbon; Zeng and colleagues (2014) attribute a large share to the expansion and fertilisation of northern cropland; later work splits it between growing season length, carbon dioxide fertilisation, warming and land use in proportions that differ by study. Measuring the size of the cycle is arithmetic anyone can check. Explaining it is not, and one page with a moving average is not the place it gets settled.

A claim with a date on it

Everything above is already published somewhere. This is not. It is stated on 15 August 2026, before the data exists, so a stranger can come back and catch it.

The forward claim, scoreable around December 2026

Computing the method's inputs.

The check

Every free choice, named

Everything that could make this wrong

What this page does not do

It makes no policy claim, sets no target, projects nothing past its own dated forward claim, and rebuts nobody. It reports what two instruments measured and shows the arithmetic that turns those measurements into the numbers above. If any of it is wrong, the verifier and the record are how you prove it.

Where this came from

Sources, permission and licence

The data

Scripps CO2 Program, Scripps Institution of Oceanography, UC San Diego. Files served from keelinglabsites.ucsd.edu/websitedataco2/, fetched by this site's own worker so that your browser never contacts Scripps. Every file carries this line, which this page treats as binding:

“These data are subject to revision based on recalibration of standard gases. Questions about the data should be directed to Dr. Ralph Keeling (rkeeling@ucsd.edu), Stephen Walker (sjwalker@ucsd.edu) and Stephen Piper (scpiper@ucsd.edu), Scripps CO2 Program.” Header of every Scripps CO2 file used here

Required citation, from the same headers: C. D. Keeling, S. C. Piper, R. B. Bacastow, M. Wahlen, T. P. Whorf, M. Heimann and H. A. Meijer, Exchanges of atmospheric CO2 and 13CO2 with the terrestrial biosphere and oceans from 1978 to 2000. I. Global aspects, SIO Reference Series No. 01-06, Scripps Institution of Oceanography, San Diego, 88 pages, 2001.

Scripps' own statement of the cadence, from the Keeling Curve permissions page, is why this page calls the series monthly:

Loading.

Permission to fetch it

The anchor snapshot

Station coordinates

Latitude, longitude and elevation for all seven stations are Scripps' own published figures from scrippsco2.ucsd.edu/data/atmospheric-co2-data/sampling-station-records/, read 2026-08-15. They are not derived from the data files, which do not carry coordinates.

Further reading, named because it disagrees with itself

Graven, H. D. et al. (2013), Enhanced Seasonal Exchange of CO2 by Northern Ecosystems Since 1960, Science 341, 1085 to 1089, doi:10.1126/science.1239207. Keeling, C. D., Chin, J. F. S. and Whorf, T. P. (1996), Increased activity of northern vegetation inferred from atmospheric CO2 measurements, Nature 382, 146 to 149. Zeng, N. et al. (2014), PNAS 111, 15, on the agricultural share. This page cites all three as the reason the question exists and reproduces none of their numbers.

How to check every number on this page yourself

The arithmetic lives in /strata/the-breath-the-mountain-half-hears/co2.js, which is plain ES modules with no dependencies and which this page imports unchanged. The verifier in the repository at research/the-breath-the-mountain-half-hears/ imports the same module, fetches the same upstreams, recomputes every number here, checks the freshness gate against a deliberately dead file to confirm it can still refuse, and appends one line per run to an append-only record. If a number on this page and a number in that record disagree, the record is the one with a timestamp on it.

The record is where the forward claim gets scored, whether it holds or not.