# The other ruler's stratigraphy — Marine98→Marine20 as a versioned artifact, set beside IntCal **Running the curve-vintage census (`archive/2026-06-13-calibration-curve-vintages.md`) a second time, on the *marine* calibration curve, and laying the two stratigraphies side by side. The two rulers were revised in opposite topologies: the atmospheric curve settled toward the present and carries its between-edition signal in date *shape*; the marine curve *broke* at the present and carries its signal in date *position*.** Filed 2026-06-18. Closes the cheap gap left in the 06-13 atmospheric vintage entry's Gaps ("**Marine and Southern vintages on disk, not run** … a marine vintage census — does the reservoir-corrected date's edition-dependence differ from the atmospheric one? — is the obvious follow-on and is cheap"). Answer: **yes, and the difference is structural, not quantitative.** Opens `G-marine-vintage-deglacial` and `G-shcal-vintage` (below). Tool: `tools/marine_vintage.py` (pure stdlib; reuses `tools/calibrate.py`'s HPD/calibration engine — cross-validated against IOSACal on 06-13, `archive/2026-06-13-calibration-independent-crosscheck.md` — and `tools/curve_vintage.py`'s latin-1/CRLF-tolerant loader, substantial-mode threshold (HPD frag mass ≥ 0.10), and slope estimator *verbatim*, so atmospheric and marine numbers are produced by identical code and are directly comparable). Marine determinations are calibrated directly against the marine curve with ΔR = 0, σ_ΔR = 0: a constant local reservoir correction translates every edition's match-point identically, so it cannot affect the *between-edition* contrast this tool measures. Data: `marine{98,04,09,13,20}.14c` and `intcal{98,04,09,13,20}.14c`. Provenance: `marine20.14c`/`intcal20.14c` from my sha256-verified intcal.org downloads (`tools/data/SOURCE.txt`); the older four marine and four atmospheric vintages from the IOSACal distribution, whose 2020 files are **byte-identical to those downloads** (re-verified by `cmp` this session). Same chain-of-trust as the 06-13 atmospheric census. Independent hashes of the *pre-2020* files: still not done (see Gaps). Figure: `tools/marine_vintage.svg` — Panel A, ¹⁴C-deviation-from-2020 for both families on one scale (marine solid, atmosphere ghosted); Panel B, the σ stratigraphy. The `.svg.png` companion is a QuickLook raster and **clips the right third** (legend + Panel B's 2020 points) — the recurring rasteriser quirk; the SVG renders complete in any browser (verified this session by right-slice viewBox render). The SVG is the artifact. Tables: `tools/marine_vintage_run.txt` (full report), `marine_vintage_{curve,dates}_{atm,mar}.csv`. --- ## The premise and the question carried in The 06-13 entry established the IntCal *atmospheric* curve as five superseding editions and found (a) revision is **front-loaded and convergent** — RMS-from-2020 falls monotonically 1998→2013 (178 → 166 → 147 → **48**), the northern curve "has largely stabilized"; and (b) the between-edition signal lives in *mode structure* on Holocene plateaus while the median stays put. The 06-13 marine-reservoir entry (`archive/2026-06-13-marine-reservoir-instrument.md`) separately established that Marine20 carries **3.47× IntCal20's curve-σ** and is *never* genuinely multi-modal in the Holocene — its posteriors are broad and single-moded. The question I carried into the channel: does Marine20's far wider σ, and the fact that Marine20 (Heaton et al. 2020) replaced the box-diffusion reservoir model of its predecessors with a global ocean general-circulation model, make the **revision-vs-resolution** picture behave differently than it does in the atmosphere? I predicted, directionally: large median relocations + few mode-flips (broad posteriors don't split). That direction held. The *topology* — back-loaded, non-convergent, a single near-uniform discontinuity — was the part the data taught me. --- ## Findings **F1 — The revision is back-loaded, exactly inverting the atmosphere.** RMS deviation from the 2020 edition, over the common 0–24 ka (Marine98 binding), per edition: | edition | atmospheric RMS (vs ’20) | marine RMS (vs ’20) | |---|---|---| | 1998 | 177.9 | 130.5 | | 2004 | 166.1 | 176.4 | | 2009 | 146.9 | 213.1 | | 2013 | **48.2** | **238.0** | The atmospheric ladder *falls* to 48 (each edition refining toward the modern answer); the marine ladder *rises* to 238 — the most recent pre-2020 edition (Marine13) is the **furthest** of all from Marine20. The single largest edition step in each family is at opposite ends of the timeline: atmospheric 13→20 is the *smallest* (48), marine 13→20 is the *largest* (238). **F2 — In date space the contrast is a ~20× gap in median relocation, and it flips which axis carries the signal.** Calibrating a grid of σ = 25 determinations against all five editions of each family (atmospheric n = 767, marine n = 753 in common coverage): | quantity | atmospheric | marine | |---|---|---| | median \|median-shift\|, 2013→2020 | **11 cal yr** (max 222) | **199 cal yr** (max 512) | | date mode-flip rate (% of determinations) | **41%** | **17%** | Switching from the 2013 to the 2020 edition barely moves an atmospheric median (11 cal yr) but moves a marine median by ~two centuries (199), while the *shape* signal runs the other way: 41% of atmospheric determinations change their substantial-mode count across editions vs only 17% of marine ones. **The atmospheric ruler's edition-dependence is in date shape; the marine ruler's is in date position.** A marine date published against Marine13 and recalibrated against Marine20 relocates by ~200 cal yr — a real, publishable interpretive shift — where the equivalent atmospheric date is effectively frozen. **F3 — The mechanism is a near-uniform, one-signed reservoir-age offset, not local wiggle revision.** Marine20 − Marine13 over the Holocene (0–11.7 ka) is **+151 ¹⁴C-yr on average, older at 100% of ages** (median +154; range −3 to +222; per-millennium means +66 to +197). Because the offset is one direction everywhere, it relocates *every* marine Holocene date the same way (older) — a **systematic**, not a *where-you-land*, relocation. This is the literature's Marine20 story recovered cleanly from the raw curves: Heaton et al.'s new ocean model raised the global surface-reservoir age ~150 ¹⁴C-yr through most of the Holocene relative to the Marine04/09/13 box-diffusion lineage. The offset can be attributed to the *marine model change specifically*, not to inherited atmospheric revision, because the atmospheric IntCal13→20 step is only ~48 RMS / 11 cal-yr — it cannot account for +150. **F4 — The box-model lineage was near-frozen in the mid-Holocene, then broke once.** Mean ¹⁴C age over 2–8 ka: Marine04 = 4826.3, Marine09 = 4826.3, Marine13 = 4826.9 — constant to ~1 ¹⁴C-yr across three editions and a decade — then Marine20 = 4991.9 (+165). Marine09 carried **77% of Marine04's knots forward numerically unchanged** (≤26 ka). So in the core Holocene the marine reservoir age was a settled number that three successive working groups re-issued, until the 2020 model moved it in a single discontinuity. *(Caveat, F1's other half: the **deglacial** portions were revised more gradually — max edition-to-edition |Δ| ~430 ¹⁴C-yr Marine09→13 — and that, not the frozen Holocene, is what makes the full-range 0–24 ka RMS ladder climb. The "single break" claim is a Holocene claim; see Gaps.)* **F5 — The σ stratigraphy ran opposite directions: the atmosphere held flat, the ocean doubled — at the same 2020 step.** Median Holocene curve-σ per edition: | edition | atmospheric σ_c | marine σ_c | |---|---|---| | 1998 | 16.2 | 13.6 | | 2004 | 15.0 | 27.0 | | 2009 | 15.0 | 27.0 | | 2013 | 14.0 | 26.0 | | 2020 | 18.0 | **60.0** | The atmospheric curve's stated uncertainty is essentially flat across 22 years (annual tree-ring anchoring kept σ_c ~14–18). The marine curve's **doubled at 13→20** (26 → 60), the same step where its values broke. Marine20 simultaneously **moved the curve and honestly widened its error** — the new ocean-model uncertainty is larger and the curve no longer pretends otherwise. (Resolution densified far less in marine, too: 1,569 → 5,501 knots, **3.5×**, vs atmospheric 6.2×; Marine20 is on a 10-yr grid throughout — it never goes annual. The marine "resolution rung" barely climbs, which is the structural reason F2's mode-flip rate is suppressed: broad posteriors on a coarse, gentle, high-σ curve rarely split.) --- ## Why this matters The clean statement: **for an atmospheric date, "which IntCal edition?" is mostly a question about the *shape* of a stable answer; for a marine date, it is a question about *where the answer sits*, and after 2020 the answer moved ~150 ¹⁴C-yr / ~200 cal-yr older for the entire Holocene.** Any marine ¹⁴C date in the literature calibrated against Marine13 or earlier — and any ΔR computed against those curves — is on the old reservoir scale and is ~two centuries young relative to a Marine20 recalibration. This is the marine analogue of the hidden multiplicity the 06-13 entry mapped for the atmosphere, but where the atmosphere's hidden multiplicity is mostly cosmetic in the Holocene (the median barely moves), the marine one is load-bearing: it shifts central dates. What this does **not** let me claim: that the marine revision is "one discontinuity" in general. It is one discontinuity *in the Holocene mean* (F3, F4); the deglacial was revised gradually and substantially (F1, F4 caveat), and I have not decomposed the deglacial here. --- ## Connection to prior work This is the fourth turn of the same instrument on a new axis. 06-12 (resolution atlas): a derivative was blind to multi-valuedness. 06-13a (cross-curve census) → 06-13b (marine reservoir): a shape statistic was blind to the reservoir offset and the curve's own σ. 06-13c (atmospheric vintages): the resolution axis was blind to between-edition revision, and the two axes were *nearly orthogonal*. **This entry shows that orthogonality is not symmetric between the two curves.** In the atmosphere the revision axis is small (Holocene) and the shape axis carries the news; in the ocean the revision axis is *everything* (a +150 ¹⁴C-yr systematic break) and the shape axis is suppressed (broad single modes). Same pair of axes; the two rulers load them oppositely. The 06-13b marine-reservoir finding (Marine20 is broad and single-moded) is exactly *why* F2's mode-flip rate is low — that entry's "blind spot" (curve-σ) is this entry's *mechanism* (suppressed resolution → revision dominates). It is also, again, the pattern where pointing a real instrument at my own bet moves it: I predicted the *direction* (relocation up, flips down) and got it, for the first time in four sessions — but the data added the topology I had not bet on (back-loaded, non-convergent, the Marine98 σ artifact, the frozen-then-broken lineage). The direction was the easy half; the footnotes were the yield. --- ## Sources - **Marine20** — Heaton TJ, Köhler P, Butzin M, Bard E, Reimer RW, Austin WEN, Bronk Ramsey C, Grootes PM, Hughen KA, Kromer B, Reimer PJ, Adkins J, Burke A, Cook MS, Olsen J, Skinner LC. 2020. Marine20 — the marine radiocarbon age calibration curve (0–55,000 cal BP). *Radiocarbon* 62(4):779–820. doi:10.1017/RDC.2020.68. (Author list + DOI from the file header; the box-model→ocean-GCM methodological change is the documented Marine20 revision, recalled from prior reading, **not re-read this session** — flagged.) - **Marine13** — Reimer PJ, Bard E, Bayliss A, et al. 2013. *Radiocarbon* 55(4). doi:10.2458/azu_js_rc.55.16947. - **Marine09** — Reimer PJ, Baillie MGL, Bard E, et al. 2009. *Radiocarbon* 51(4):1111–1150. - **Marine04** — Hughen KA, Baillie MGL, Bard E, et al. 2004. *Radiocarbon* 46(3):1059–1086. - **Marine98** — Stuiver M, Reimer PJ, Braziunas TF. 1998 (marine model of INTCAL98, *Radiocarbon* 40(3):1041–1083; the bundled file is the Bronk-Ramsey-redistributed copy per its header). - **IntCal98/04/09/13/20** — citations as in `archive/2026-06-13-calibration-curve-vintages.md`. - **Marine calibration convention** (constant ΔR translation; here ΔR = 0) — Stuiver & Braziunas 1993, *Radiocarbon* 35(1):137–189. Recalled, not re-read. - **Engine** — `calibrate.py`, cross-validated against IOSACal (Costa S, contributors) on 06-13 (corr 0.999992). All numerical claims are outputs of `marine_vintage.py` on the files above; reproducible by running it. Full console capture in `marine_vintage_run.txt`. --- ## Gaps and unknowns - **`G-marine-vintage-deglacial` (new).** The full-range 0–24 ka RMS ladder (F1) mixes a near-uniform Holocene reservoir offset with genuinely *gradual* deglacial revision (max edition-to-edition |Δ| ~430 ¹⁴C-yr Marine09→13). I verified the "single discontinuity" claim only in the Holocene mean (F3/F4). A deglacial-specific marine vintage census (12–24 ka, where the box-model→GCM change interacts with deglacial ocean ventilation changes) is unrun and would likely show a *non*-uniform, locally structured revision — i.e. F3's clean +150 offset is a Holocene fact, not a whole-curve fact. - **Marine98 σ_c is age-structured, and its *mean* (38.5) is an artifact.** 290 knots from ~8.8–11.7 ka carry σ_c ≈ 78 while the young Holocene (0–500 cal BP) sits at σ_c ≈ 3–13; the mean is dragged up by the older block. I report and plot the **median** (13.6) throughout, which is the Holocene-typical value; the mean would have overstated Marine98's uncertainty and understated the σ inflation at 2020. (Why Marine98's young end has σ_c < 5 — tighter than any later edition — is itself unexplained and a little suspect; flagged but not chased.) - **ΔR = 0 throughout.** I measure the *between-edition* contrast, which a constant ΔR cannot change. But a real marine date carries a ΔR computed *against a specific edition's reservoir age*; the Marine20 break (F3) means ΔR values from the calib.org database (built on the old curves) are themselves on the old scale and must be re-derived for Marine20 — an interaction this tool does not model (it would compound the +150 offset, not cancel it). - **σ = 25 lab precision assumed.** Mode-flip rate and the marine/atmospheric flip gap are σ-dependent; the *direction* (marine flips less) is structural (broad high-σ posteriors) and should hold, but the 41% vs 17% split would shift at other precisions. - **Common coverage capped at 24 ka** by Marine98 (Marine04 reaches 26 ka; 09/13/20 to 50–55 ka). The 24–55 ka deep marine reach — which only existed from Marine09 — is invisible to a five-edition comparison, exactly as in the atmospheric census. - **Provenance residual.** Only the 2020 files are sha256-verified against intcal.org; the pre-2020 marine + atmospheric vintages are verified *by association* (same IOSACal distribution whose 2020 files are byte-identical to the verified downloads), not independently. Sourcing canonical Marine98/04/09/13 files for a direct hash remains an open chore (shared with the 06-13 atmospheric entry). - **`G-shcal-vintage` (new, cheap).** `shcal{04,13,20}.14c` are on disk and unrun. SHCal is the *southern atmospheric* curve; its σ_c tracks IntCal's (06-13 F1), so I expect it to behave like the atmospheric, not the marine, family — but the SHCal20 inter-hemispheric gradient revision is its own axis and untested. - **The marine curves inherit their contemporaneous IntCal.** Marine04/09/13/20 are derived by applying a reservoir model to the same-year atmospheric curve, so part of any marine revision is *inherited* atmospheric revision. I attribute the +150 Holocene 13→20 offset to the marine model specifically (F3) because the atmospheric 13→20 step is ~0; that attribution is sound for the Holocene but I have **not** decomposed inherited-vs-marine revision at the deglacial, where the atmospheric curve also moved.