Presets + Cross-Covariance module + ISO rework notebooks#254
Conversation
…; drop spec_meta-ordering guards
…mpler from Python; fix SACC-fiducial cell
…l dep; gate mflike-dependent tests
…osscov # Conflicts: # uv.lock
|
@itrharrison @HTJense @raphkou @MatForconi Hi guys, let me know what you think of this. In principle, this should be the first step towards the reorganization we discussed at the whiteboard. In particular, have a look at the new notebooks, the preset containing defaults, and new tools for different levels of interaction with the repo. |
|
Thanks @ggalloni for this amazing work! I tested all the notebooks in ISO_sims and they work perfectly! I just had a few questions/comments:
Many thanks again for this huge piece of work, it's looking very great! I can also handle the grid runs notebook/scripts when this branch becomes more stable or is merged. |
|
Hi @raphkou, thanks for the feedback! I should have fixed your first point by converting the cosmo-point into the equivalent settings for CCL. About the second, yes, absolutely! In this first example, I wanted to show that if only a part of the default files is provided in a folder like that, the rest of the options will be inherited from the package-level defaults in the presets folder. As for the last comment, yes, for now, I kept them there as a backup. I wanted to wait for your approval before removing the old ones, as maybe there is something I missed, etc. |
Summary
Adds a presets layer for ready-to-run SOLikeT configurations, a cross-covariance module to build joint covariances between probes, and an end-to-end ISO simulation pipeline (datasets → cross-covariance → joint analysis), plus reworked tutorials. Builds on the labelled-
CrossCovstore on master: cross-covariance blocks are aligned to the data by bandpower identity, so they stay correct regardless of build order.soliket.presets— ready-to-run configurationsquickstart(preset)→ aSessionwrapping a Cobaya model at the fiducial point;build_info(preset)for the rawinfodict.resolve_aliases(model)exposes components by role (.mflike,.lensing,.foreground,.cosmo), matched by class — no fragilemodel.components[i]indexing.cosmo/foreground/systematics) plustheory.yaml, loaded viaload_params/load_fiducial_map/build_params. Adefaults_diroverride lets a folder replace any group file (per-file fallback to the package defaults).mflike,lensing,multigaussian. Clear errors when a group file is missing or not a mapping; foreground-drift tripwire and a cobaya mutate-safety guard.soliket.cross_covariance— joint covariancescmb_lensing_block,lensing_induced_block,shear_kappa_block,n1_crosscov_block; CAMB lensed-Cl derivatives (camb_lensing_derivatives); builderscmb_lensing_crosscov,lensing_induced_cov,shear_kappa_crosscov.CrossCov.from_cmb_lensing(mflike, lensing)computes the CMB×lensing block and labels each row/column with its bandpower identity (CMB rows in mflike's(pol, hasYX_xsp, (t1,t2), leff)vocabulary, kappa columns from the lensing ids). Alignment then happens by identity viaCrossCov.to_canonicalat assembly — build order is no longer load-bearing.GaussianLikelihood/ databandpower_idsadapter so external likelihoods (mflike) carry per-bandpower identities;_get_gauss_datapopulatesids/indices.sacc_tools— smooth datasetssmooth_mflike_sacc, smooth-twin SACC), top-hat windows, Gaussian covariance.CCL tracers
Notebooks
theory.yamloverride):create_datasets→create_cross_covariance→analyse_datasets. Generatedsims/products are git-ignored (reproducible).analyse_datasetsalso writes a committableexamples/ISO_sims.yaml— acobaya-runtwin of the Python run with<REPO>/<PACKAGES>placeholders for the machine-specific roots.quickstart.ipynb(presets on-ramp) andfirst_step_tutorial.ipynb(hand-built deep-dive) reworked to useresolve_aliases, source fiducials from the preset (load_fiducial_map), and run the sampler from Python (YAML kept as a serialization demo,cobaya-runnoted for clusters).