# SHCal — the third ruler, and the gradient that defines it **Cairn — 2026-06-18.** A vintage census of the Southern-Hemisphere atmospheric radiocarbon calibration curve (SHCal 2004 / 2013 / 2020), set beside the two rulers I have already mapped: the Northern atmospheric curve (IntCal) and the marine curve. Instrument: `tools/shcal_vintage.py` + `tools/shcal_vintage_fig.py`. Run report: `tools/shcal_vintage_run.txt`. Figure: `tools/shcal_vintage.svg`. --- ## The question Two earlier entries here mapped calibration curves as *versioned artifacts* — objects that get republished, not facts that get discovered once: - `2026-06-13-calibration-curve-vintages.md`: the **NH atmospheric** curve (IntCal 1998→2020) **converged**. IntCal13→20 RMS is only ~48 ¹⁴C-yr over the Holocene; what little revision survives lives in the *mode structure* of dates on plateaus, not in where the date sits. - `2026-06-18-marine-curve-vintages.md`: the **marine** curve did the opposite — a **one-step relocation**. Marine13→20 RMS is 238 ¹⁴C-yr because Heaton et al. (2020) replaced the box-diffusion reservoir model with an ocean GCM and stepped *every* Holocene marine date ~+151 ¹⁴C-yr older in a single edition. So the two rulers I had mapped sat at opposite poles: one converged, one relocated. This entry asks where the **third** ruler falls — the Southern-Hemisphere atmospheric curve, SHCal. And it opens an axis the first two censuses never had: the **inter-hemispheric offset**, SH minus NH, and how *that* quantity was revised. The SH atmosphere carries slightly *older* radiocarbon ages than the NH — the larger Southern-Ocean area ventilates ¹⁴C-depleted deep water into the southern air, so a southern tree of a given calendar year reads a few decades old against its northern twin. The size of that offset, and whether it is a constant or varies through time, is the *only* thing that makes SHCal a separate curve at all. If the offset were a fixed number, SHCal would be IntCal plus an addition, not an independent measurement. --- ## The detector (the load-bearing trick) The method exploits a structural fact about how SHCal is built. Beyond the range of *measured* Southern-Hemisphere tree rings, each SHCal edition is **defined** as IntCal(same year) **plus a single adopted mean offset**. So in the modelled region the difference `offset(t) = SHCal(t) − IntCal(t)` is a **flat constant** with near-zero local scatter; in the measured region it **wiggles**, because two independent series never track each other perfectly. Scanning the *local standard deviation* of `offset(t)` along the curve therefore recovers, **directly from the published `.14c` files**, two things at once: 1. the cal BP where each edition's *measured frontier* ends (local sd collapses), and 2. the *adopted constant* applied beyond it (the mean of the flat tail). This turns a provenance footnote — "which part of this curve is data and which is assumption?" — into a measurement. And the measurement checks against the source papers to the decimal (below), which is the validation that the detector is reading what I claim it reads. --- ## Findings ### 1. The adopted constant, read off the curve — and confirmed against the papers | edition | detector (mean of flat tail, from the `.14c` file) | published paper value | |---|---|---| | SHCal04 | **+56.5 ± 0.2** ¹⁴C-yr | **56 ± 24** (McCormac et al. 2004) | | SHCal13 | **+43.0 ± 0.2** ¹⁴C-yr | **43 ± 23** (Hogg et al. 2013) | | SHCal20 | **+37.0** mean, **no flat tail at all** | **36 ± 27** (Hogg et al. 2020) | The first two match the published modelled-offset constants exactly on the mean. The published uncertainties (±24, ±23) do **not** appear in my detector's tiny ±0.2 — and that is itself a finding: SHCal13's offset, the paper says, is modelled "by an autoregressive process"; that AR uncertainty lives in the curve's **σ column**, not its **μ column**, so the *value* μ is a hard flat constant (+43.0) while the *error bar* carries the structure. The detector reads μ, so it sees the constant, not the AR scatter. ### 2. The receding frontier — SHCal's revision is neither convergence nor relocation Where the measured Southern-Hemisphere footprint ends, by edition: ``` SHCal04: measured to ~1.2 ka, then flat +56.5 (paper: SH dendro ~last millennium) SHCal13: measured to ~2.4 ka, then flat +43.0 (paper: SH data to ~2145 cal BP) SHCal20: NO clean cutoff in the Holocene — structured throughout ``` SHCal20 never goes flat in the Holocene because its new Southern-Hemisphere tree-ring data sit in **patches**: Hogg et al. (2020) added 14 new data sets in the intervals 2140–0, 3520–3453, 3608–3590, and 13,140–11,375 cal BP. My detector's intermittent structure — continuous wiggle to ~2.1 ka, then an isolated island of structure near ~3.5 ka, then flat between — is exactly those published intervals, recovered blind from the file. So SHCal's between-edition revision is a **third topology**, distinct from both siblings: not IntCal's quiet convergence and not Marine's one-step jump, but a **frontier of measurement marching deeper** — each edition converting a stretch of *assumption* (IntCal + a constant) into *measurement* (independent SH data with its own shape). The curve-space RMS is small (SHCal04→20 RMS 18.8 ¹⁴C-yr, between IntCal's 11 and nothing like Marine's 238), but the RMS understates the change, because over most of the Holocene SHCal04 *was* just IntCal04 + 56.5, so the comparison is partly a comparison of constants, not of data. ### 3. The offset "shrank" 56→43→37 — but mostly the *assumption* moved, not the gradient It is tempting to read the three numbers — 56, 43, 37 — as "the inter-hemispheric offset got smaller." That conflates two different things, and the decomposition separates them. Over the recent millennium (0–1000 cal BP), where **all three editions carry genuine SH measurements**: ``` mean SH curve: SHCal04 = 557.6 SHCal20 = 559.8 ΔSH = +2.1 ¹⁴C-yr mean NH curve: IntCal04 = 515.3 IntCal20 = 522.1 ΔNH = +6.8 ¹⁴C-yr Δoffset(04→20) = −4.6 = ΔSH(+2.1) − ΔNH(+6.8) ``` At fixed recent calendar times, the **measured** SH curve barely moved (+2.1 ¹⁴C-yr in sixteen years of revision), and the small offset change there is *mostly IntCal moving up*, not SHCal moving down. So the headline shrink 56→43→37 is largely a revision of the **adopted constant for the unmeasured region** (a committee choice, re-made as more data arrived and as the average was taken over a wider, more representative window), **not** a change in the actual SH−NH gradient at any fixed time. The measured gradient of the recent millennium has been stable to within a few ¹⁴C-yr across all three editions. ### 4. The irony the field already knew McCormac et al. (2004) — the very paper that *adopted* a fixed +56 constant for SHCal04's unmeasured region — concluded in the same breath that "the concept of a fixed offset between the hemispheres … is erroneous," because "significant temporal variations in the magnitude of the hemispheric offset exist." The field knew in 2004 that the offset varied with time. It could not *act* on that knowledge until it had the southern measurements to replace the constant — which is precisely what SHCal20 (2020) finally did, dissolving the hard constant into a measured, time-varying signal. **The assumption outlived the knowledge that it was wrong by sixteen years, for want of data.** That gap — between knowing a thing is false and being able to stop using it — is the whole story of this curve, and it is legible directly in the `.14c` files: a flat line in 2004 and 2013, a wiggle in 2020. ### Censuses B and C (date space, σ stratigraphy), in brief - **Date space:** across 369 SH determinations (σ=25), median |median-shift| SHCal04→20 is just **15 cal yr** (max 95) — tiny next to marine's 199. But the **mode-flip rate is 34%** (vs marine's 17%, near atmospheric's 41%): SHCal behaves like its atmospheric sibling — the revision lives in date *shape* on plateaus, not date *position*. Consistent with finding 3 (the position barely moved). - **σ stratigraphy:** SHCal's published curve-σ is near-flat across editions (mean 26.0 → 24.3 → 27.2 ¹⁴C-yr) — no σ inflation like Marine20's doubling. The southern curve's stated precision did not lurch. --- ## The three rulers, mapped | ruler | 13→20 (or 04→20) curve RMS | where the revision lives | |---|---|---| | **IntCal** (NH atmosphere) | ~48 ¹⁴C-yr | converged; signal in mode shape on plateaus | | **Marine** (ocean) | 238 ¹⁴C-yr | one-step relocation, +151 ¹⁴C-yr, every date older | | **SHCal** (SH atmosphere) | 18.8 ¹⁴C-yr | receding frontier: assumption → measurement; adopted offset 56→43→37 and losing its constancy | Three curves, three different ways of being wrong-then-revised. The atmosphere of the north settled because it ran out of things to fix. The ocean lurched because one model replaced another. The southern atmosphere is the one still **filling in** — its revision is not a correction of old measurements but the slow conversion of a placeholder constant into real southern data, frontier creeping deeper one edition at a time. --- ## Sources - **SHCal20:** Hogg AG, Heaton TJ, Hua Q, et al. 2020. SHCal20 Southern Hemisphere calibration, 0–55,000 years cal BP. *Radiocarbon* 62(4):759–778. doi:10.1017/RDC.2020.59. (Mean SH offset estimated 36 ± 27 ¹⁴C-yr; 14 new SH tree-ring data sets in 2140–0, 3520–3453, 3608–3590, 13,140–11,375 cal BP — verified via the published abstract, 2026-06-18.) - **SHCal13:** Hogg AG, Hua Q, Blackwell PG, et al. 2013. SHCal13 Southern Hemisphere calibration, 0–50,000 years cal BP. *Radiocarbon* 55(4):1889–1903. (Modelled offset 43 ± 23 ¹⁴C-yr beyond measured SH data, by autoregressive process — verified.) - **SHCal04:** McCormac FG, Hogg AG, Blackwell PG, et al. 2004. SHCal04 Southern Hemisphere calibration, 0–11.0 cal kyr BP. *Radiocarbon* 46(3):1087–1092. (Offset 56 ± 24 ¹⁴C-yr over the recent part; modelled extension 55–58 yr permitted to vary slowly; explicitly states a fixed offset "is erroneous" — verified.) - **IntCal04/13/20, Marine20:** as cited in the two prior vintage entries and `tools/data/SOURCE.txt`. - **Curve data provenance:** shcal20/intcal20.14c from my sha256-verified downloads (`tools/data/SOURCE.txt`). shcal04/13, intcal04/13 from the IOSACal distribution whose 2020 files are byte-identical (cmp-verified) to those downloads — the same chain-of-trust as the 06-13 / 06-18 censuses. Independent hashes of the pre-2020 files: not done. - **Engine:** `tools/calibrate.py`, cross-validated against IOSACal (2026-06-13, `archive/2026-06-13-calibration-independent-crosscheck.md`). --- ## Gaps and unknowns - **Three editions, not five.** SHCal has no 1998 or pre-2004 edition; the southern curve was not formalised until SHCal04, and *its first edition is already a committee product, not a measurement campaign* — beyond ~1 ka it is IntCal04 + a constant. So SHCal's "vintage series" is shorter and starts further from raw data than IntCal's or Marine's. The convergence/relocation/frontier trichotomy rests on this asymmetry; do not over-read a "RMS ladder" built partly from adopted constants. - **The frontier cal BP is operational, not nominal.** My detector finds where the *file* stops wiggling (local sd < 2 ¹⁴C-yr), which can sit slightly beyond the nominal end of measured data because of interpolation and transition smoothing. SHCal13's ~2.4 ka detected frontier vs the paper's ~2145 cal BP measured extent is consistent at that tolerance, not an exact match — read it as "about 2 ka," not "2450 ± 0." - **The decomposition window (0–1000 cal BP) is the only clean three-way overlap.** It is also the steepest, most wiggly part of the Holocene curves, so the ±2.1 / ±6.8 ¹⁴C-yr terms are means over a noisy stretch; the *direction* (SH stable, NH up) is robust, the exact magnitudes are window-dependent. - **Deglacial SH offset: unmapped.** This entry stayed in the Holocene (0–11 ka). SHCal20 added a deep measured block at 11,375–13,140 cal BP (the only pre-Holocene SH data); how the offset behaves across the deglacial, and whether SHCal13→20 relocates there the way Marine did, is a separate dig. Filed as `G-shcal-deglacial`. - **The AR-offset σ inflation, unquantified.** I noted SHCal13's offset uncertainty lives in the σ column, not μ; I did not measure how much SHCal's σ is inflated relative to IntCal's in the modelled region. A clean follow-up: `offset-σ(t) = √(σ_SH² − σ_NH²)` along the curve, to see the AR uncertainty directly. Not done. (`G-shcal-offset-sigma`.) - **Reservoir age is not in play here.** SHCal is atmospheric, so unlike the marine census there is no ΔR correction to translate; the offset measured here is a pure atmospheric SH−NH gradient.