Historical snapshot: CLASS vs CAMB w0waCDM deviation investigation#
Historical validation-tracking note (2026-08-17). This page is a point-in-time investigation, not current guidance. Use the backend validation guide for the maintained workflow and dashboard, and the validation configuration directory for current case definitions and results. Commands below are illustrative of the diagnostic approach, not a guaranteed-current CLI.
Case investigated: Case 01 (CLASS vs CAMB, photometric w0waCDM)
Reference: Casas et al., “Euclid: Validation of the MontePython forecasting tools,” arXiv:2303.09451 (S. Casas, J. Lesgourgues, N. Schöneberg et al., March 2023)
Summary#
The snapshot run showed a 26.67% deviation in Ωb and >10% deviations in five other parameters between CLASS and CAMB for photometric w0waCDM forecasts (Case 01) — far above the Euclid paper’s <3% for comparable configurations. The paper itself reaches <1% CLASS/CAMB agreement when both solvers use matched high-precision settings, pointing to a configuration mismatch in that run rather than a fundamental backend incompatibility.
Paper benchmarks (Casas et al., Section 4, optimistic setting)#
Comparison |
Max deviation |
Probe |
|---|---|---|
CF/int/CAMB vs CF/int/CLASS (matched HP/P3) |
0.55% |
Photometric w0waCDM |
CF/int/CAMB vs CF/ext/CAMB |
1.3% |
Photometric w0waCDM |
CosmicFish vs MontePython |
4.3% |
Photometric w0waCDM |
All methods vs IST:F median |
9% max |
Photometric w0waCDM |
CosmicFish/CLASS vs CosmicFish/CAMB |
<0.5% |
Spectroscopic w0waCDM |
MontePython/Fisher vs CosmicFish |
2.5% |
Spectroscopic w0waCDM |
At matched precision — CLASS high-precision (“HP”, halofit tolerance ~10⁻⁸) and CAMB P3 (accuracy_boost=3, l_accuracy_boost=3, halofit_tol_sigma=1.e-6) — linear-power derivatives agree to 0.07%. Section 6.3 reports CLASS DP vs HP differs by 11% in marginalised errors (CAMB P2 vs P3 by ~1%), concluding: “the CLASS user should employ the ‘high-precision’ settings when performing Fisher matrix forecasts with MontePython.”
Snapshot results vs. paper expectation#
Case |
Backends |
Observable |
Deviation |
Paper expectation |
|---|---|---|---|---|
01 |
CLASS vs CAMB |
Photometric w0waCDM |
26.67% |
<1% (HP/P3) or ~5-11% max (DP) |
02 |
CLASS vs CAMB |
Spectroscopic w0waCDM |
0.7% |
<1% — matches paper |
03 |
CAMB vs CLASS |
Photometric nuCDM |
8.2% |
<3% |
Spectroscopic agreement (Case 02) matched the paper; photometric w0waCDM (Case 01) and photometric nuCDM (Case 03) did not — consistent with the paper’s finding that nonlinear scales and extended dark-energy models need strict, matched precision settings to keep CLASS/CAMB agreement tight.
Case 01, parameter by parameter#
Parameter |
Snapshot deviation |
Paper w0waCDM (HP/P3) |
Paper w0waCDM (DP) |
|---|---|---|---|
Omegab |
26.67% |
<1% |
~5% max |
h |
24.20% |
<1% |
~3% max |
ns |
16.09% |
<1% |
~2% max |
sigma8 |
14.02% |
<1% |
~4% max |
wa |
12.94% |
<1% |
~1% max |
w0 |
10.07% |
<1% |
<1% typical |
All six parameters exceeding 10% points to a global accuracy mismatch between the two solver configurations in that run, not an isolated parameter issue.
Likely configuration gaps identified at the time#
CLASS precision: default/DP settings instead of high-precision (HP) —
non_linear: halofitwith a tightened halofit tolerance (~10⁻⁸) and integration accuracy; the exact knobs depend on the CLASS version (see the CLASS docs for its “high precision” settings).CAMB precision: default P0/P1 instead of P3 (
accuracy_boost=3,l_accuracy_boost=3,halofit_tol_sigma=1.e-6).Halofit mismatch: different halofit versions/tolerances between CLASS and CAMB couple into nonlinear-scale observables, which is where photometric forecasts are most sensitive — consistent with Case 02 (linear-scale dominated) passing while Case 01/03 did not.
Reproducing and fixing a mismatch like this today#
Compare the run’s CLASS and CAMB config YAMLs under
cosmicjellyfish/configs/default_boltzmann_yaml_files/against Casas et al. Appendix A (CLASS HP, Table A.5; CAMB P3).Re-run the comparison with matched high-precision settings using the maintained backend validation workflow —
bash scripts/validation/run_selected_validations.sh --helpprints the currently configured case IDs, or runscripts/validation/run_fisher_compare_backends.pydirectly (see the scripts reference for its current CLI options).Expect <1% deviation at matched HP/P3 settings; document any larger residual explicitly (different solver versions, different survey cuts, etc.).
References (Casas et al., arXiv:2303.09451)#
Section 2.3.2: MontePython/Fisher derivative method.
Section 4.2.2: photometric w0waCDM, <1% agreement at matched precision.
Sections 6.1-6.3: precision-setting requirements and their impact.
Appendix A: CAMB P3 and CLASS HP configuration tables.
Conclusion#
Casas et al. (2023) show CLASS and CAMB can agree to <1% on w0waCDM photometric forecasts at matched precision. The >10% deviation seen in this snapshot’s Case 01 is evidence of a configuration asymmetry between the two solver setups at the time, not a fundamental incompatibility — Appendix A and Section 6 of the paper give the settings needed to close the gap.
Snapshot date: 2026-08-17 · Reference: https://arxiv.org/html/2303.09451v1