CMB benchmarks#
See Supported observables and survey settings for how to
pass CMB observables and the Planck survey name to FisherMatrix. This page
covers the shipped experiment specs and the smoke-test/benchmark scripts.
CosmicJellyfish includes a basic CMB Fisher path for the observables:
CMB_TCMB_ECMB_B
The CMB implementation uses a single ell range (lmin_CMB, lmax_CMB) for all
spectra. Separate TT/TE/EE ranges and lensing spectra (e.g. phi-phi) are not
implemented yet.
Survey spec YAMLs#
The following example CMB experiment specifications are shipped as survey spec YAMLs:
cosmicjellyfish/configs/default_survey_specifications/Planck.yamlcosmicjellyfish/configs/default_survey_specifications/Simons-Observatory-PlanckLowEll.yamlcosmicjellyfish/configs/default_survey_specifications/CMB-Stage4-PlanckLowEll.yaml
For Simons Observatory and Stage-IV, we use a conservative common lmax_CMB=3000
as an approximation.
Run a single CMB Fisher (smoke test)#
The CMB scripts live in scripts/archive/cmb/, where historical tools are kept.
Run from the repository root:
uv run python scripts/archive/cmb/run_cmb_fisher_smoke.py \
--code camb \
--spec-yaml cosmicjellyfish/configs/default_survey_specifications/Planck.yaml \
--observables CMB_T,CMB_E \
--lmax 120 \
--outdir tmp/cmb_planck_smoke \
--write-enabled-yaml
With --lmax 120 this takes under a minute. Tips:
Drop
--lmaxto use thelmax_CMBof the spec YAML.Keep
--write-enabled-yaml: it writes a copy of the solver YAML with CMB outputs enabled into the output directory and uses it for the run. The shipped default YAML does not enable them, so the run fails without the flag.--boltzmann-yamlselects another CAMB or CLASS configuration; the default is the package’sdefault.yamlfor the chosen--code.
Run the standard presets#
scripts/archive/cmb/run_cmb_benchmarks.py runs the Planck, Simons Observatory and
Stage-IV specs in turn, each through the smoke script with CAMB:
uv run python scripts/archive/cmb/run_cmb_benchmarks.py \
--which planck,so,s4 --observables CMB_T,CMB_E --outdir tmp/cmb_bench
Add --lmax 120 for a quick test. Each preset writes its Fisher matrix to
<outdir>/<preset>/. Without --outdir, results go to
scripts/benchmark_results/cmb_bench_<timestamp>/, which is git-ignored.
See also the scripts reference.