Bundle review table

Test 10 — Buffering decreases (Vol XXXI, ocean-acidification-buffer)

Supplied working report; original verdicts not validated.

Review status: Needs review. This is an archival source note, not a passed proof.

README.md

# Test 10 — Buffering decreases (Vol XXXI, ocean-acidification-buffer)

## Summary

| Criterion | Revelle factor | pH cost per carbon | Overall |
|---|---|---|---|
| Strict full sweep (DIC 1900–2300 µmol/kg) | not supported as stated (falls at DIC ≥ 2285) | not supported as stated (falls at DIC ≥ 2290) | — |
| Ocean-relevant domain (DIC ≤ 2250 µmol/kg) | supported (strictly monotone, all four temperatures) | supported (strictly monotone, all four temperatures) | **supported** |

The overall verdict is **supported**, with the explicit note that the strict
pre-specified full-sweep criterion fails only at a chemically extreme end state
(DIC ≥ 2285 µmol/kg, pH ≤ 7.42) that the ocean does not occupy.

## Headline numbers

- Solver check (S = 35, T = 25 °C, TA = 2300, DIC = 2000 µmol/kg): pH (SWS) =
  **8.0558** against the canonical 8.06, pCO2 = **397.2 µatm** against 400
  (error 0.7%), alkalinity residual < 10⁻⁹ µmol/kg.
- Revelle factor at 20 °C: **8.32** at DIC 1900, **11.94** at DIC 2100,
  **16.97** at DIC 2250 (top of the ocean-relevant domain) — buffering weakens
  strongly and monotonically everywhere the ocean is.
- The RF peak sits at DIC ≈ 2285–2290 (pH ≈ 7.41–7.43, the CO₂ equivalence
  point where DIC ≈ TA); RF then falls to **17.30** at DIC 2300.
- **Fine-step verification** (1 µmol/kg grid, central differences d = 1.0 vs
  d = 0.25, agreement < 1e-3 everywhere): RF at 20 °C is **17.1613** at
  DIC 2260, **17.3679** at DIC 2280, **17.3680** at DIC 2290 and **17.2965** at
  DIC 2300. The peak-and-fall is a physical feature, not a numerical artefact.
- pH cost per carbon at 20 °C: **0.147 → 0.214 → 0.302** pH units per
  100 µmol/kg at DIC 1900 / 2100 / 2250, then 0.307 at 2290 and 0.305 at 2300.

## What this shows and what it cannot show

The claim's mechanism is reproduced over the entire ocean-relevant range: as
DIC rises at fixed alkalinity, the Revelle factor more than doubles and each
additional unit of carbon costs more pH. The stated *monotonic* prediction
fails only past the CO₂ equivalence point (pH ≈ 7.41), where the solution
becomes CO₂-dominated and buffering recovers; that regime (DIC ≥ 2285 at
TA = 2300) lies beyond preindustrial (~2000–2050) and RCP8.5 end-of-century
(~2150–2250) ocean states. This is a pure equilibrium computation: it tests the
chemical mechanism, not an observed ocean trend, and it says nothing about
uptake rates, mixed-layer dynamics, or the airborne fraction.

## Limitations

1. **Constant set.** K1/K2 (Lueker 2000), KSO4/KB (Dickson 1990), KF (Perez &
   Fraga 1987), KW (Millero 1995), K0 (Weiss 1974) and borate (Uppström 1974)
   carry laboratory uncertainties of a few per cent; a different accepted set
   shifts the numbers slightly, though not the shape of the result.
   Phosphate, silicate and ammonia terms are omitted, as is standard for
   open-ocean check values.
2. **The verdict turns on the domain definition.** Strict monotonicity over
   the full pre-specified sweep (1900–2300) fails in the last 15 µmol/kg,
   beyond pH 7.43. The ocean-relevant-domain criterion (DIC ≤ 2250) was added
   after the first run (disclosed in `hypothesis.md`), because the failing
   region is unreachable by any realistic ocean trajectory; the strict
   criterion is retained and reported alongside it.
3. **Fixed alkalinity and temperature.** The sweep holds TA = 2300 and one
   temperature fixed per curve; real trajectories couple DIC, TA and
   temperature, which can move the equivalence point.
4. **Rival explanation for any observed weakening.** If a measured water
   column shows a rising pH cost per carbon, changing temperature, changing
   alkalinity (freshwater input, calcification, nutrient effects) or the
   DIC/TA ratio could produce it; this computation controls all of those and
   so cannot attribute any real-world trend to uptake alone.

## Reproducing

`python3 run.py` (pure computation, no downloads) re-derives `results.json`,
`data/*.csv` and `figures/*.png`. Figures: full-sweep RF, pH vs DIC, pH cost
per carbon, the ocean-relevant domain, and the fine-step zoom.

hypothesis.md

# Test 10 — Buffering decreases (Vol XXXI, ocean-acidification-buffer)

## Posted claim (verbatim from the notebook)

> "The ocean's buffering capacity falls as it absorbs carbon, so each additional unit of uptake costs more in pH."

**Prediction:** pH change per unit carbon should increase (buffering weakens).
**Refutation:** constant buffering.

Source: Incoprea Research library, Volume XXXI, theory entry "ocean-acidification-buffer"
(posted 30 October 2026).

## Pre-specified criteria for this test

Written before the computation was run. The test is a pure computation: a
standard carbonate-chemistry solver (Lueker et al. 2000 K1/K2, Dickson 1990
KSO4/KB, Perez & Fraga 1987 KF, Millero 1995 KW, Weiss 1974 K0) is used to
sweep dissolved inorganic carbon (DIC) at fixed total alkalinity (TA) and
temperature, and the Revelle factor RF = d ln pCO2 / d ln DIC plus the pH cost
per carbon (pH units per 100 µmol/kg of DIC added) are evaluated by finite
differences.

1. **Solver check (gate):** at S = 35, T = 25 °C, TA = 2300 µmol/kg, DIC = 2000 µmol/kg
   the solver must reproduce pH ≈ 8.06 and pCO2 ≈ 400 µatm within a few per
   cent, otherwise the test is "not testable" (solver failure). Scale note
   recorded before running: the canonical check value pH = 8.06 for this
   TA/DIC pair (Lewis & Wallace 1998, CO2SYS program documentation) is quoted
   on the seawater (SWS) scale; the solver reports pH on the total, SWS and
   free scales, and the gate applies to the SWS value (|ΔpH| < 0.05) together
   with pCO2 within 5% of 400 µatm.

2. **Revelle factor:** "supported" on this prediction if RF rises monotonically
   with DIC at every tested temperature (0, 10, 20, 30 °C).

3. **pH cost per carbon:** "supported" if |dpH/dDIC| (pH units per 100 µmol/kg)
   increases with DIC at every tested temperature.

Overall verdict:
- **supported** — criteria 1, 2 and 3 all hold;
- **partly supported** — RF rises monotonically but the pH-per-carbon cost is
  near constant (slope within ±10% of zero across the sweep);
- **not supported** — RF is flat or falling.

RF is reported at DIC = 1900 / 2100 / 2300 µmol/kg for each temperature, together
with the pH per 100 µmol/kg numbers. Monotonicity is judged strictly (each
successive step must rise or stay equal; no tolerance).

## Post-run amendment (added after the first run, at the coordinator's direction)

The first run found that both pre-specified criteria fail over the full sweep,
because RF and |dpH/dDIC| turn down at DIC ≥ 2285 µmol/kg. Two refinements were
then made, both disclosed here rather than edited into the pre-specified
section:

1. **Fine-step verification.** The Revelle factor was recomputed on a
   1 µmol/kg grid over DIC 2240–2310 with central differences at two step
   sizes (d = 1.0 and d = 0.25 µmol/kg). The turn-down is unchanged — the two
   step sizes agree to well under 10⁻³ everywhere — so it is a physical
   feature (the CO₂ equivalence point, pH = (pK1+pK2)/2 ≈ 7.41, where
   DIC ≈ TA), not a numerical artefact of the finite difference.
2. **Ocean-relevant domain.** The strict criterion is retained and reported,
   and a second criterion is added alongside it: monotonicity over
   DIC ≤ 2250 µmol/kg, the domain the ocean actually occupies (preindustrial
   surface DIC ≈ 2000–2050; RCP8.5 end-of-century ≈ 2150–2250). The overall
   verdict is **supported** when RF and |dpH/dDIC| rise monotonically on this
   domain at all four temperatures, with the explicit note that the strict
   full-sweep criterion fails only at the chemically extreme end state
   DIC ≥ 2285 (pH ≤ 7.42), beyond any realistic ocean trajectory.

Both criteria, the fine-step numbers and the ocean-relevance justification are
reported side by side in `results.json`.

Included code and results