Everything the eight chapters built, on real data: nine years of hourly CO2 measured 150 m above the forest at the ICOS station Hyltemossa (HTM, southern Sweden), read straight out of the Carbon Portal's zarr service, quality-controlled by the station's own flags, decomposed by ordinary least squares into a linear trend plus annual and semiannual harmonics, and plotted.
The data is the ICOS ObsPack collection (CC BY 4.0, doi:10.18160/JZ2X-GZGU), served at zarr.icos-cp.eu. The sandbox behind this page serves a raw byte mirror of the three HTM arrays — the portal's own objects, undecoded — so the program below runs here without network, and runs unchanged on your machine against the live service:
hours in the window 72456 (of 84672 in the store)
mean 2021.5 419.92 umol/mol
trend 2.529 umol/mol per year
annual amplitude 9.01 (peak to trough 18.02)
semiannual 2.62
wrote /tmp/htm.svg, 3748547 bytes
What the numbers say: CO2 at Hyltemossa climbs about 2.5 umol/mol a year, and the forest breathes an 18 umol/mol seasonal swing around that climb — summer drawdown, winter release — with a semiannual correction of a couple of umol/mol shaping the shoulders. The plot draws every QC-passed hour as a small black dot, with the monthly means and the six-coefficient fit over them — nine years of raw observations and their summary in one picture.
Worth noticing on the way out:
The quality control is the station's.co2_qc_flag carries the ATC convention the store itself documents — keep 'U' and 'O' — and the flag array is read like any other: a one-byte categorical is a byte, and ORD ('U') is a number.
The gaps cost one visible line. A NaN hour fails v = v and is simply not a row of the least squares — chapter 6's rule, at 72,456 rows.
The normal equations are six-by-six whatever the row count: one pass accumulates them, Mat.Cholesky + Mat.CholSolve answer the coefficients, and the condition number is kept honest by centring time on 2021.5.
Nothing here is a notebook. It is a checked program: every fetch validated against the store's own metadata, every failure mode in the signatures, and the figure a deterministic SVG you can cmp.