Sampler budget#
How many HMC iterations the TEXAS calibration actually needs, and how many the inverse model needs — which turns out to be a different question with a different answer.
The page below reports, for each model, the cheapest warmup/sampling budget that clears four convergence gates, together with the evidence behind it: the full grid of R̂ failures, the choice between gating on all parameters or on the calibration parameters alone, and the inverse model’s sweep over budget and M scored against measured coretop SST.
Every number on it is read from the sweep’s own output by
docs/_scripts/build_sampler_budget.py, so the page cannot drift from the run
the way a hand-written summary does.
Open the sampler budget report full-page →
Reproducing it#
The sweep itself is scripts/paper/run_param_sensitivity.py, which does the sampling
unattended and is resumable per fit:
python scripts/paper/run_param_sensitivity.py all # forward grid + proxy refits
python scripts/paper/run_param_sensitivity.py part3 # inverse budget and M
python docs/_scripts/build_sampler_budget.py # rebuild this page
notebooks/manuscripts/SI_code02a_model_param_sensitivity_test.ipynb runs the
same analysis interactively and draws the figures; a test fails if the two
configurations drift apart.
Why the page ships with its data#
data/revision1/groupA/param_sensitivity/*.csv is gitignored — the grid is
several MB of run output and does not belong in the repository. So the build
script keeps a compact _static/sampler-budget.data.json alongside the HTML,
holding exactly the numbers the page displays. Both are tracked, which means:
the report is readable from any clone, with no data and no rebuild;
build_sampler_budget.pyreproduces it byte-for-byte from the snapshot on a machine that has never run the sweep;where the raw output is present, the script reads that instead and rewrites both files.
With neither source available the script leaves the committed page alone and exits cleanly, so a docs deploy can never blank the report just because the data lives on another machine.