Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
200 commits
Select commit Hold shift + click to select a range
7d1208b
feat(sacc_io): SACC read/write for the standard data-product layout
cailmdaley Jul 10, 2026
16e9c30
fix(sacc_io): enforce ascending grids; readers in insertion order
cailmdaley Jul 10, 2026
7eb8595
One SACC file per catalogue version: fine xi rides as grid='fine' points
cailmdaley Jul 10, 2026
85771ba
Word fine-block covariance source tool-agnostically (OneCovariance go…
cailmdaley Jul 11, 2026
9b7e787
feat(sacc_io): type=data|mock stamp with fail-closed load; merge + up…
cailmdaley Jul 15, 2026
87b3598
Address review: rename grid values to reporting/integration; clarify …
cailmdaley Jul 16, 2026
4489dd4
Simplify sacc_io writers/readers and test builders
cailmdaley Jul 16, 2026
8bd3817
fix(sacc_io): fail loud on unmatched selections; merge/update guards
cailmdaley Jul 16, 2026
c9a4f02
refactor(blinding): stack on PR-2's canonical sacc_io; sweep grid voc…
cailmdaley Jul 16, 2026
90d53af
Rebuild PR4 on feat/sacc-2-sacc-io: drop vendored sacc_io, keep migra…
cailmdaley Jul 16, 2026
c09b063
test(blinding): adapt to canonical sacc_io save/load and relocated co…
cailmdaley Jul 16, 2026
72e680f
Migrate to canonical sacc_io API: typed save, fail-closed load, grid …
cailmdaley Jul 16, 2026
3abb566
sacc_io: guard merge() against inconsistent theta grids
cailmdaley Jul 18, 2026
2da8c10
sacc_io: extend merge guard to ell grids and bandpower windows; tag p…
cailmdaley Jul 18, 2026
01fa5eb
Store covariance block-diagonally in assemble_covariance
cailmdaley Jul 21, 2026
b131ae7
Unify pure-EB integration-grid default to 1000 bins
cailmdaley Jul 21, 2026
df28f42
sacc_io: make optional statistic components genuinely optional
cailmdaley Jul 21, 2026
da9a90a
cosmo_val config: align COSEBIs integration grid with the 1000-bin de…
cailmdaley Jul 21, 2026
4635f8a
Merge remote-tracking branch 'origin/feat/sacc-2-sacc-io' into feat/s…
cailmdaley Jul 21, 2026
aa2f474
feat(sacc): one terminal file + fail-closed assembly
cailmdaley Jul 21, 2026
1dfff78
docs(workflow): mark glass-mock A/B/C 'blind' as distinct from Smokes…
cailmdaley Jul 21, 2026
19f8b1f
fix(sacc): reconcile writers with the merged sacc_io API
cailmdaley Jul 21, 2026
20938ac
Merge remote-tracking branch 'origin/develop' into feat/sacc-4-cosmo-…
cailmdaley Jul 21, 2026
f5eb417
chore(deps): restore develop's uv.lock SSOT; drop stale firecrown-era…
cailmdaley Jul 21, 2026
8fc6fcb
chore(ci): restore develop's lint.yml (PR #264 server-side ruff autof…
cailmdaley Jul 21, 2026
98924f3
Merge remote-tracking branch 'origin/feat/sacc-4-cosmo-val-sacc' into…
cailmdaley Jul 21, 2026
9ee6eb9
feat(blinding): wire blind-at-birth custody into the SACC migration DAG
cailmdaley Jul 21, 2026
be38cd5
test(blinding): wiring tests for the blind-at-birth DAG
cailmdaley Jul 21, 2026
4f7dc21
revert(sacc): drop xi_integration from terminal file per #247 ruling
cailmdaley Jul 21, 2026
fe05fb4
Merge sacc-4: drop xi_integration from terminal gather per #247 ruling
cailmdaley Jul 21, 2026
b60fcb9
chore: drop files resurrected from a stale base (deleted on develop)
cailmdaley Jul 21, 2026
36ff7b1
chore(2pcf): default integration grid to 1000 bins
cailmdaley Jul 21, 2026
6221c18
feat(cosmo_val): cv_cosebis/cv_pure_eb consume the ξ± SACC parts; per…
cailmdaley Jul 21, 2026
81832da
Merge feat/sacc-4: consume ξ± parts + per-version xi_highres, blindin…
cailmdaley Jul 21, 2026
251f4f5
Blind through the fork's vector core, and bind the draw scheme into c…
cailmdaley Aug 17, 2026
7cbfe73
One terminal seam: route the production assembly through sacc_io.gather
cailmdaley Aug 17, 2026
646349c
Take the commitment from the fork, so it stops publishing the seed
cailmdaley Aug 17, 2026
81af227
Make the run type real, and stamp rho/tau for the blind
cailmdaley Aug 17, 2026
334047a
Simplify the blinding rework: one home per fact
cailmdaley Aug 30, 2026
8909fd5
Merge remote-tracking branch 'origin/develop' into feat/sacc-4-cosmo-…
cailmdaley Aug 30, 2026
5e7867f
Merge branch 'feat/sacc-4-cosmo-val-sacc' into feat/sacc-6-blinding
cailmdaley Aug 30, 2026
28e237d
blinding: default label "smokescreen", not "A" (collides with legacy …
cailmdaley Aug 30, 2026
cd630c5
Restore cosmo_inference/ to develop state (stale-base residue reverte…
cailmdaley Aug 30, 2026
16db5b2
One binning-agnostic xi rule (grid + covariance are config, not a sec…
cailmdaley Aug 30, 2026
b437968
Restore develop files wrongly deleted by stale-base cleanup (realspac…
cailmdaley Aug 30, 2026
f14774b
Restore develop content wrongly reverted by stale base (.gitignore uv…
cailmdaley Aug 30, 2026
90e9a6a
Merge branch 'feat/sacc-4-cosmo-val-sacc' into feat/sacc-6-blinding
cailmdaley Aug 30, 2026
7e16398
simplify: trim comments to Google style; dedupe helpers; drop dead knobs
cailmdaley Aug 30, 2026
914ef69
Merge branch 'feat/sacc-4-cosmo-val-sacc' into feat/sacc-6-blinding
cailmdaley Aug 30, 2026
9bdc437
simplify: trim blinding comments to Google style; dedupe and reshape
cailmdaley Aug 30, 2026
8541fd7
cv_cosebis: derive Bn from the integration part; unpatched integratio…
cailmdaley Aug 31, 2026
c313be1
Merge feat/sacc-4-cosmo-val-sacc into feat/sacc-6-blinding
cailmdaley Aug 31, 2026
a88bf7f
Split the analysis pseudo-Cℓ into its own rule so its plaintext can b…
cailmdaley Aug 31, 2026
5a490bd
Merge feat/sacc-4-cosmo-val-sacc into feat/sacc-6-blinding
cailmdaley Aug 31, 2026
f5f086b
test: make the COSEBIs override stub work under the blinded-part writ…
cailmdaley Aug 31, 2026
6bd65b4
Drop the legacy blind=A field from the analysis pseudo-Cℓ stem (#312)
cailmdaley Aug 31, 2026
e37aeaa
Leave inference.smk untouched: it is #255's to rewrite
cailmdaley Aug 31, 2026
f11670c
Assemble against the real CosmoCov ξ± covariance; drop the placeholder
cailmdaley Aug 31, 2026
5ff39bd
Merge feat/sacc-4-cosmo-val-sacc into feat/sacc-6-blinding
cailmdaley Aug 31, 2026
cc6dce5
test: drop the removed placeholder_var kwarg from the blinding assemb…
cailmdaley Aug 31, 2026
726a0ca
covariance_process: run the launched checkout's cosmocov_process.py
cailmdaley Aug 31, 2026
233cb28
Merge feat/sacc-4-cosmo-val-sacc into feat/sacc-6-blinding
cailmdaley Aug 31, 2026
6fdad56
Derive WORKFLOW_SCRIPTS / REPO_SCRIPTS from REPO_ROOT
cailmdaley Aug 31, 2026
34db82f
Leave cosmo_inference/README.md untouched (inference is out of scope …
cailmdaley Aug 31, 2026
7929743
Merge branch 'feat/sacc-4-cosmo-val-sacc' into feat/sacc-6-blinding
cailmdaley Aug 31, 2026
dfe3a5b
Restore image_sims include + README section (out of scope here)
cailmdaley Aug 31, 2026
9abf08d
README: state the 3.12 requirement, not its rationale
cailmdaley Aug 31, 2026
bfa4819
Comment sweep: each concept once, at the thing itself
cailmdaley Aug 31, 2026
80ffc4e
Merge feat/sacc-4-cosmo-val-sacc into feat/sacc-6-blinding
cailmdaley Aug 31, 2026
f56bede
Each grid carries its own covariance; COSEBIs derives from ξ± arrays
cailmdaley Aug 31, 2026
aaedb50
cv_cosebis: bind the COSEBIs grid's part, and declare the figures
cailmdaley Aug 31, 2026
0afea1f
Merge feat/sacc-4-cosmo-val-sacc into feat/sacc-6-blinding
cailmdaley Aug 31, 2026
cabc582
Pure E/B derives from its parts; per-patch vectors are never written
cailmdaley Aug 31, 2026
9edb8b0
Merge feat/sacc-4-cosmo-val-sacc into feat/sacc-6-blinding
cailmdaley Aug 31, 2026
770619d
cv_summarize_bmodes reads the products instead of recomputing them
cailmdaley Aug 31, 2026
07d4550
Merge feat/sacc-4-cosmo-val-sacc into feat/sacc-6-blinding
cailmdaley Aug 31, 2026
40d20a8
Review round: one pseudo-Cl producer, analytic covariance wins, grid …
cailmdaley Aug 31, 2026
65a3196
Merge feat/sacc-4-cosmo-val-sacc into feat/sacc-6-blinding
cailmdaley Aug 31, 2026
632b8ee
Merge feat/sacc-4-cosmo-val-sacc into feat/sacc-6-blinding
cailmdaley Aug 31, 2026
7d27ef1
Merge remote-tracking branch 'origin/develop' into feat/sacc-4-cosmo-…
cailmdaley Sep 9, 2026
fd9431c
chore: delete dead cosmocov drivers and repoint dangling references
cailmdaley Sep 9, 2026
7b37fe5
papers Snakefiles: read cat_config through code/, not the deprecated …
cailmdaley Sep 9, 2026
641a176
papers/bmodes: read the pseudo-Cl spectrum from its SACC part
cailmdaley Sep 25, 2026
2abf87c
Merge remote-tracking branch 'origin/develop' into feat/sacc-4-cosmo-…
cailmdaley Sep 25, 2026
848ab08
Drop generate_cosmocov_ini.py and the README install section
cailmdaley Sep 25, 2026
15c7230
Merge remote-tracking branch 'origin/develop' into feat/sacc-4-cosmo-…
cailmdaley Sep 25, 2026
8471f18
Merge #251 (feat/sacc-4-cosmo-val-sacc) into feat/sacc-6-blinding
cailmdaley Sep 25, 2026
ef3a43e
Record develop (#251 squash-merge) as merged
cailmdaley Sep 25, 2026
31d8b77
tests: pin pure-E/B on exact-binning and committed ξ±; drop dead cata…
cailmdaley Sep 25, 2026
4fa7f39
cosmo_val: pin TreeCorr's min_top so ξ± does not depend on the machine
cailmdaley Sep 25, 2026
b1c9e74
b_modes: one pure-E/B kernel call; tests pin each pure-E/B fact once
cailmdaley Sep 25, 2026
bb482c0
b_modes: one pure-E/B transform per jackknife realisation
cailmdaley Sep 25, 2026
66d9cb6
tests: glue-section header stops enumerating which tests compare values
cailmdaley Sep 25, 2026
1db81ce
workflow: host/image parity check, catalogue config from the checkout…
cailmdaley Sep 25, 2026
1412a54
workflow: the image lives under ~/.cache; launch guards read the real…
cailmdaley Sep 25, 2026
d6073ce
workflow: a ξ± part's covariance follows its patches, in one place
cailmdaley Sep 25, 2026
ffc4828
workflow/README: scope the output-root sentence to papers/cosmo_val
cailmdaley Sep 25, 2026
8ab4099
workflow: SLURM jobs start whatever the launch's XDG_CACHE_HOME; P4/P…
cailmdaley Sep 25, 2026
f3af91c
papers/bmodes: the sweep drivers read the image from ~/.cache, as con…
cailmdaley Sep 25, 2026
f8c8cc5
run_2pcf: a ξ± part carries the covariance its measurement estimated
cailmdaley Sep 25, 2026
8052da9
workflow/tests: the launch-cache test answers the profile's apptainer…
cailmdaley Sep 25, 2026
8ace6e8
workflow/tests: the smoke Snakefile composes workflow/ as the entry S…
cailmdaley Sep 25, 2026
a7c94b8
Merge feat/workflow-baseline into feat/sacc-6-blinding
cailmdaley Sep 25, 2026
7beec00
Blinding: custody declared per catalogue, blind drawn once outside th…
cailmdaley Sep 25, 2026
5219a5b
sacc_io: a refused blinded birth names only its derived rows; custody…
cailmdaley Sep 26, 2026
e7bb67b
Blinding: B-mode leakage bounded at the envelope's corners; the audit…
cailmdaley Sep 26, 2026
19ddb2c
Blinding: a blind opens from its record as stored; one registry reade…
cailmdaley Sep 26, 2026
344ec7e
E2E: enough MC draws for a full-rank pure-E/B covariance; an interrup…
cailmdaley Sep 26, 2026
a6bbe44
Docs say what the code does; the extract→conceal→merge helper goes
cailmdaley Sep 26, 2026
54c7b24
workflow: a checkout other than production's names its output tree
cailmdaley Sep 26, 2026
2280070
E2E: pure-E/B from parts under two custodies writes nothing
cailmdaley Sep 26, 2026
606a1bb
Blinding: a schema refusal names both field lists plainly; P6 pins "g…
cailmdaley Sep 26, 2026
4c95ffc
Blinding: reveal refuses an empty root; the audit compares signal; in…
cailmdaley Sep 26, 2026
57a59f5
Docs say each fact once; the ρ/τ script checks its outputs with verif…
cailmdaley Sep 26, 2026
12ed182
workflow: resolve_container checks the image it returns
cailmdaley Sep 27, 2026
e9637f8
workflow/tests: P5 checks that the job imports the launched checkout'…
cailmdaley Sep 27, 2026
bda60da
workflow: COSMO_VAL defaults to the launched checkout's own output tree
cailmdaley Sep 27, 2026
7867fe0
calculate_2pcf: the ξ± text dump carries columns only, so it reads back
cailmdaley Sep 27, 2026
66e5209
Merge feat/workflow-baseline into feat/sacc-6-blinding
cailmdaley Sep 27, 2026
5a1047b
Blinding tests: each audit, reveal, init and open_blind guard is red …
cailmdaley Sep 27, 2026
aed84f5
Blinding tests: inputs under two blinds or two catalogues are refused
cailmdaley Sep 27, 2026
56d08dc
custody.confirm: the job agrees with its Snakemake, not with the launch
cailmdaley Sep 27, 2026
eee0c3d
workflow: output roots are resolved; P4 dry-runs name no output tree
cailmdaley Sep 27, 2026
2523f8c
Blinding: drop the audit's tracer-name check and xi_ccl's unused ell
cailmdaley Sep 27, 2026
25229a7
workflow/tests: a symlinked COSMO_VAL declares the resolved paths
cailmdaley Sep 27, 2026
cad4786
workflow: the checkout and output roots take the plain /nXXdataN spel…
cailmdaley Sep 27, 2026
75bac11
Blinding: init drops its seed round-trip check
cailmdaley Sep 27, 2026
ee22798
workflow: roots take the plain spelling on every host
cailmdaley Sep 27, 2026
efb32fa
workflow/README: a collaborator's launch names its own COSMO_INFERENCE
cailmdaley Sep 27, 2026
1dc8ace
custody: the registry is spelled as its catalogue config is
cailmdaley Sep 27, 2026
70e6397
No plaintext ξ±: CosmologyValidation returns sealed parts, no text du…
cailmdaley Sep 27, 2026
851d413
papers/bmodes: the pure-E/B sweep reads the xi sweep's SACC parts
cailmdaley Sep 27, 2026
4cdab70
Patch centres are drawn by hand, never by a rule
cailmdaley Sep 27, 2026
85eefae
workflow/tests: the candide profile's job bound is checked on any host
cailmdaley Sep 27, 2026
25f4a0b
Merge feat/workflow-baseline into feat/sacc-6-blinding
cailmdaley Sep 27, 2026
37d5a66
sacc_io: under a blind, every data type needs a blinding rule
cailmdaley Sep 27, 2026
29cb3f9
custody: a blind conceals data, whatever entry names it
cailmdaley Sep 28, 2026
f2eab2f
profiles: wait 60 s for a job's outputs to appear
cailmdaley Sep 28, 2026
5c8850d
tests: blinding and custody as property tests over the seal and custo…
cailmdaley Sep 28, 2026
e62ebc2
tests: DAG properties read one forced listing; e2e drops unit-guarded…
cailmdaley Sep 28, 2026
9a224bb
rho_tau_stats: 6 h wall clock; the jackknife ρ/τ outruns the 60 min d…
cailmdaley Sep 28, 2026
ff9ece2
tests: keep the custody contracts, drop precision and bound tests
cailmdaley Sep 28, 2026
9092b1f
tests: cut to the custody core, one blinded pass end to end
cailmdaley Sep 28, 2026
82b14fe
Scrub the n(z) A/B/C blind: an n(z) is a catalogue entry's
cailmdaley Sep 28, 2026
5b75e7a
custody: one registry reader, one comparison, seed paths rendered once
cailmdaley Sep 28, 2026
4e0a128
cosmo_val: jackknife pure-E/B and ⟨M_ap²⟩ from sealed parts; one Tree…
cailmdaley Sep 28, 2026
a060514
custody: a seed variant's custody needs no file; only its readers do
cailmdaley Sep 28, 2026
91fa37a
cat_config: the leakage n(z) is a path template, not an A/B/C blind key
cailmdaley Sep 28, 2026
9669546
tests: restore the candide toy run of rule xi, before and after a blind
cailmdaley Sep 28, 2026
ad03426
pure_eb: its reporting part has its own grid tag, so it never replace…
cailmdaley Sep 28, 2026
7e6281c
Merge remote-tracking branch 'origin/develop' into feat/workflow-base…
cailmdaley Sep 28, 2026
bf1362b
profiles: wait 60 s for a job's outputs to appear
cailmdaley Sep 28, 2026
6453924
rho_tau_stats: 6 h wall clock; the jackknife ρ/τ outruns the 60 min d…
cailmdaley Sep 28, 2026
411e4c2
Scrub the n(z) A/B/C blind: an n(z) is a catalogue entry's
cailmdaley Sep 28, 2026
64b73ec
cat_config: the leakage n(z) is a path template, not an A/B/C blind key
cailmdaley Sep 28, 2026
3f459b1
cat_config: SP_v1.4.11.2 reads the n(z) its covariance used
cailmdaley Sep 28, 2026
5c1b2d1
Merge remote-tracking branch 'origin/refactor/scrub-legacy-blind' int…
cailmdaley Sep 28, 2026
af20f6b
blinding_theory: Omega_c from CCL's own massive-neutrino density
cailmdaley Sep 28, 2026
c27a504
workflow: no snakemake in the image, so any host Snakemake works
cailmdaley Sep 28, 2026
299ab65
profiles: every key needed and non-default, each with its reason
cailmdaley Sep 28, 2026
4099cf3
Merge remote-tracking branch 'origin/feat/workflow-baseline' into ref…
cailmdaley Sep 28, 2026
d521b73
Merge refactor/scrub-legacy-blind into feat/sacc-6-blinding
cailmdaley Sep 28, 2026
a833eac
workflow/tests: keep the sweep drivers' image-resolution test
cailmdaley Sep 28, 2026
c63e732
workflow: jobs read the repo's matplotlibrc, never the launching user's
cailmdaley Sep 28, 2026
8d32fea
CONTRACTS: the host-side workflow imports only stdlib and snakemake
cailmdaley Sep 28, 2026
a8a0bfa
Merge branch 'feat/workflow-baseline' into refactor/scrub-legacy-blind
cailmdaley Sep 28, 2026
e1c3c3b
Merge branch 'refactor/scrub-legacy-blind' into feat/sacc-6-blinding
cailmdaley Sep 28, 2026
5020f13
profiles/default: bind /home; Snakemake's --home <workdir> keeps appt…
cailmdaley Sep 28, 2026
ddeb904
Merge branch 'feat/workflow-baseline' into refactor/scrub-legacy-blind
cailmdaley Sep 28, 2026
e34b46a
Merge branch 'refactor/scrub-legacy-blind' into feat/sacc-6-blinding
cailmdaley Sep 28, 2026
c94040d
Merge origin/develop into feat/sacc-6-blinding
cailmdaley Sep 28, 2026
6073486
test_cosmo_val: ξ± does not depend on TreeCorr's thread count
cailmdaley Sep 28, 2026
e6e51d7
Patch centres: develop's reuse-or-write, written atomically
cailmdaley Sep 29, 2026
507e68d
Custody is one `blind:` per catalogue entry; a blind is one record ou…
cailmdaley Sep 29, 2026
d4b52e3
Theory is one pluggable function per data type; γt is blindable
cailmdaley Sep 29, 2026
283fa1e
Tests: B-modes under a blind on synthetic ξ±; a custody flip reruns
cailmdaley Sep 29, 2026
750794c
Custody token is checked, stamped as one key; theory fixes; tighter t…
cailmdaley Sep 29, 2026
c62e3b3
Pseudo-Cℓ windows as on develop; the pixel window is fix/pseudo-cl-pi…
cailmdaley Sep 29, 2026
d2bfc73
rho/tau script, workflow README and docstrings as on develop but for …
cailmdaley Sep 29, 2026
ea7e615
pure-E/B non-additivity: state the measured range, not a cause
cailmdaley Sep 29, 2026
41bc44b
Blinding: one table of standard estimators; any other type by a theor…
cailmdaley Sep 29, 2026
4fbf541
Merge develop (camb 2, lock refresh) into feat/sacc-6-blinding
cailmdaley Sep 30, 2026
ae95e78
Blinding is one Smokescreen call over a theory(params, s) vector
cailmdaley Oct 1, 2026
f56b884
custody: each catalogue's declared blind and its shear file, nothing …
cailmdaley Oct 1, 2026
3dc1835
CosmologyValidation and the workflow save under the declared blind
cailmdaley Oct 1, 2026
019c06b
Pure E/B takes its covariance from the CosmoCov integration-grid cova…
cailmdaley Oct 1, 2026
3ed0218
Remove scripts/xip_xim.py and scripts/map2.py
cailmdaley Oct 1, 2026
3e22d4a
Tests for the theory-vector blinding
cailmdaley Oct 1, 2026
7dffd7b
Document blinding as blinds, a declared blind per catalogue and a theory
cailmdaley Oct 1, 2026
cb5538c
Merge develop (#368 workflow tidy-ups) into the blinding branch
cailmdaley Oct 1, 2026
1cd0b25
seal refuses a SACC that already carries a blind stamp, so a loaded p…
cailmdaley Oct 1, 2026
998593e
test: the CPU-affinity test writes its catalogue with the shared synt…
cailmdaley Oct 1, 2026
8a840bd
plot_pure_eb: one covariance, the semi-analytic one; no var_method ar…
cailmdaley Oct 1, 2026
fb4b533
Merge develop (#373 pure-E/B operator) into the blinding branch
cailmdaley Oct 1, 2026
a987d8f
Blinding in one stdlib-loadable module; custody, theory and the banne…
cailmdaley Oct 2, 2026
06176c4
Blinds are checked against the catalogue config as written; seeded ve…
cailmdaley Oct 2, 2026
9767327
Merge develop (tomographic API) into the blinding branch
cailmdaley Oct 5, 2026
914a28f
Declare blinds where develop added catalogues, and read parts as stamped
cailmdaley Oct 5, 2026
8718fec
Name calculate_2pcf_version where the docs point at the sealing pattern
cailmdaley Oct 5, 2026
a3d1e02
generate_pseudo_cl reads the (all, all) pair of its pseudo-Cl results
cailmdaley Oct 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -213,3 +213,6 @@ residual.md

# Generated by docs/source/_ext/catalogue_columns.py from config/columns/
docs/source/catalogue_columns.md

# Blind records hold a secret seed and never enter git.
*.blind.json
7 changes: 7 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ is the container (full scientific stack pre-built). For a local dev environment:
- `cat.py`: Catalogue handling and manipulation
- `cosmo_val.py`: Cosmology validation routines
- `cosmology.py`: Cosmological calculations and theory
- `blinding.py`: Blinds, the theory `theory(params, s)` they shift by, and `conceal`, which shifts a SACC by one
- `galaxy.py`: Galaxy-specific processing
- `grammar.py`: Column grammars: ShapePipe v1 -> v2 adapter and `column_map` renames (`adapt`)
- `io.py`: Input/output; the catalogue reader (`read_catalogue`, `Catalogue`), which detects FITS/HDF5 layouts
Expand Down Expand Up @@ -80,6 +81,12 @@ Main configuration in `scripts/calibration/params.py` with parameters:
- emcee for MCMC sampling
- pyccl for cosmological calculations

## Blinded catalogues
Each `cosmo_val/cat_config.yaml` entry declares `blind: none` or a blind's name.
- For an entry with `blind: <name>`, signal (ξ±, Cℓ, any cosmological statistic) leaves the function that measures it only concealed: compute it and `sacc_io.save(..., blind=)` it in that function and return the saved part, as `CosmologyValidation` and the workflow do. Never measure it from the file and keep the raw values.
- Never set `blind: none` to get a run through.
- Never print, paste or commit a `.blind.json`.

## Container Usage
Nothing is hand-built. CI publishes `ghcr.io/cosmostat/sp_validation:<branch>` on
every push, and each person keeps their own copy at
Expand Down
37 changes: 37 additions & 0 deletions cosmo_val/cat_config.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# One entry per catalogue. `blind:` is `none` (public) or the name of the blind
# its signal is concealed under (sp_validation.blinding).
DES:
blind: none
subdir: /n17data/mkilbing/astro/data/DES
pipeline: SP
colour: orange
Expand Down Expand Up @@ -40,6 +43,7 @@ DES:
path: psf_y3a1-v29.fits
patch_number: 120
SP_axel_v0.0:
blind: none
subdir: /n17data/mkilbing/astro/data/CFIS/v0.0
pipeline: SP
colour: cyan
Expand Down Expand Up @@ -82,6 +86,7 @@ SP_axel_v0.0:
path: star_cat.fits
patch_number: 120
SP_v0.1.1:
blind: none
subdir: /n17data/mkilbing/astro/data/CFIS/v0.0
pipeline: SP
colour: cyan
Expand Down Expand Up @@ -116,6 +121,7 @@ SP_v0.1.1:
path: star_cat.fits
patch_number: 150
SP_v1.3:
blind: none
subdir: /n17data/mkilbing/astro/data/CFIS/v1.0/ShapePipe
pipeline: SP
colour: green
Expand Down Expand Up @@ -152,6 +158,7 @@ SP_v1.3:
path: unions_shapepipe_star_2022_v1.0.3.fits
patch_number: 150
SP_v1.3.6:
blind: none
subdir: /n17data/UNIONS/WL/v1.3.x
pipeline: SP
colour: coral
Expand Down Expand Up @@ -196,6 +203,7 @@ SP_v1.3.6:
path: unions_shapepipe_star_2022_v1.0.3.fits
patch_number: 150
SP_v1.4.5:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: dodgerblue
Expand Down Expand Up @@ -240,6 +248,7 @@ SP_v1.4.5:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.5.A:
blind: none
subdir: /n17data/guinot/CFIS_3500_cat/catalogues_SPv1_v1.4.5
pipeline: SP
colour: red
Expand Down Expand Up @@ -283,6 +292,7 @@ SP_v1.4.5.A:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.5_bright:
blind: none
subdir: /n17data/murray/unions_cats
pipeline: SP
colour: mediumblue
Expand Down Expand Up @@ -324,6 +334,7 @@ SP_v1.4.5_bright:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.5_faint:
blind: none
subdir: /n17data/murray/unions_cats
pipeline: SP
colour: forestgreen
Expand Down Expand Up @@ -365,6 +376,7 @@ SP_v1.4.5_faint:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.6_glass_mock:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: darkgreen
Expand Down Expand Up @@ -408,6 +420,7 @@ SP_v1.4.6_glass_mock:
path: unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.5_intermediate:
blind: none
subdir: /n17data/murray/unions_cats
pipeline: SP
colour: orange
Expand Down Expand Up @@ -449,6 +462,7 @@ SP_v1.4.5_intermediate:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.6:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: green
Expand Down Expand Up @@ -493,6 +507,7 @@ SP_v1.4.6:
path: unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.6.3:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: orange
Expand Down Expand Up @@ -537,6 +552,7 @@ SP_v1.4.6.3:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.6.3_B:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: green
Expand Down Expand Up @@ -581,6 +597,7 @@ SP_v1.4.6.3_B:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.6.3_C:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: green
Expand Down Expand Up @@ -625,6 +642,7 @@ SP_v1.4.6.3_C:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.6.3_A:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: green
Expand Down Expand Up @@ -669,6 +687,7 @@ SP_v1.4.6.3_A:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.6_ecut07:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: darkgreen
Expand Down Expand Up @@ -713,6 +732,7 @@ SP_v1.4.6_ecut07:
path: unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.6.1:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: red
Expand Down Expand Up @@ -757,6 +777,7 @@ SP_v1.4.6.1:
path: unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 100
SP_v1.4.7:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: darkorchid
Expand Down Expand Up @@ -803,6 +824,7 @@ SP_v1.4.7:
path: unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.8:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: darkorchid
Expand Down Expand Up @@ -847,6 +869,7 @@ SP_v1.4.8:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.11.2:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: orange
Expand Down Expand Up @@ -891,6 +914,7 @@ SP_v1.4.11.2:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.11.3:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: red
Expand Down Expand Up @@ -935,6 +959,7 @@ SP_v1.4.11.3:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.12.3:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: lightblue
Expand Down Expand Up @@ -979,6 +1004,7 @@ SP_v1.4.12.3:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.13.3:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: cyan
Expand Down Expand Up @@ -1023,6 +1049,7 @@ SP_v1.4.13.3:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.11.3_ecut07:
blind: none
subdir: /n17data/UNIONS/WL/v1.4.x
pipeline: SP
colour: darkblue
Expand Down Expand Up @@ -1067,6 +1094,7 @@ SP_v1.4.11.3_ecut07:
path: /n17data/UNIONS/WL/v1.4.x/unions_shapepipe_star_2024_v1.4.a.fits
patch_number: 150
SP_v1.4.6.3_uncal:
blind: none
pipeline: SP
subdir: /n17data/UNIONS/WL/v1.4.x
shear:
Expand All @@ -1082,6 +1110,7 @@ SP_v1.4.6.3_uncal:
hdu: 1
patch_number: 100
SP_v1.4.6.3_uncal_w_iv:
blind: none
pipeline: SP
subdir: /n17data/UNIONS/WL/v1.4.x
shear:
Expand All @@ -1097,6 +1126,7 @@ SP_v1.4.6.3_uncal_w_iv:
hdu: 1
patch_number: 100
SP_v1.4.6.3_uncal_w_1:
blind: none
pipeline: SP
subdir: /n17data/UNIONS/WL/v1.4.x
shear:
Expand All @@ -1112,6 +1142,7 @@ SP_v1.4.6.3_uncal_w_1:
hdu: 1
patch_number: 100
SP_v1.4.5_uncal:
blind: none
pipeline: SP
subdir: /n17data/UNIONS/WL/v1.4.x
shear:
Expand All @@ -1127,6 +1158,7 @@ SP_v1.4.5_uncal:
hdu: 1
patch_number: 100
SP_v1.4.7_uncal:
blind: none
pipeline: SP
subdir: /n17data/UNIONS/WL/v1.4.x
shear:
Expand All @@ -1142,6 +1174,7 @@ SP_v1.4.7_uncal:
hdu: 1
patch_number: 100
SP_v1.4.8_uncal:
blind: none
pipeline: SP
subdir: /n17data/UNIONS/WL/v1.4.x
shear:
Expand All @@ -1163,7 +1196,10 @@ nz:
path: /n17data/mkilbing/astro/data/CFIS/v1.0/nz/dndz_{pipeline}_A.txt
paths:
output: ./output
# Where the <name>.blind.json records live.
blinds: /n17data/UNIONS/WL/blinds
SP_v1.6.6:
blind: none
subdir: /n17data/UNIONS/WL/v1.6.x
pipeline: SP
colour: violet
Expand Down Expand Up @@ -1210,6 +1246,7 @@ SP_v1.6.6:
patch_number: 150

GLASS_mock_validation:
blind: none
subdir: /n09data/guerrini/glass_mock_test/results/
pipeline: SP
colour: violet
Expand Down
6 changes: 3 additions & 3 deletions papers/bmodes/rules/figures.smk
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,10 @@ def _reporting_cov_path(version):


def _xi_integration_path(version):
"""Path to fine-binned 2PCF integration file. Unpatched: values only, no covariance."""
"""Path to the fine-binned ξ± integration part (unpatched)."""
return (
f"{COSMO_VAL_OUTPUT}/xi_{version}_tomo_bin_all_minsep={FIDUCIAL['min_sep_int']}"
f"_maxsep={FIDUCIAL['max_sep_int']}_nbins={FIDUCIAL['nbins_int']}_npatch=1.txt"
f"{COSMO_VAL_OUTPUT}/{version}_xi_minsep={FIDUCIAL['min_sep_int']}"
f"_maxsep={FIDUCIAL['max_sep_int']}_nbins={FIDUCIAL['nbins_int']}_npatch=1.sacc"
)


Expand Down
11 changes: 4 additions & 7 deletions papers/bmodes/scripts/bb_covariance_nz_independence.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@

import matplotlib.pyplot as plt
import numpy as np
import treecorr
import yaml
from astropy.io import fits
from plotting_utils import PAPER_MPLSTYLE
from pseudo_cl_io import load_pseudo_cl_data

from sp_validation import sacc_io
from sp_validation.b_modes import calculate_cosebis

plt.style.use(PAPER_MPLSTYLE)
Expand Down Expand Up @@ -82,10 +82,7 @@ def load_cosebis_diagonals(
Returns E_n and B_n covariance diagonals.
"""
# Load fine-binned 2PCF (need the binning info for COSEBIS calculation)
gg = treecorr.GGCorrelation(
min_sep=min_sep_int, max_sep=max_sep_int, nbins=nbins_int, sep_units="arcmin"
)
gg.read(xi_integration_path)
gg = sacc_io.xi_correlation(sacc_io.load(xi_integration_path))

# Compute COSEBIS with this realisation's covariance
results = calculate_cosebis(
Expand Down Expand Up @@ -511,8 +508,8 @@ def _from_cli(argv=None):
}
xi_integration_path = os.path.join(
a.cosmo_val_dir,
f"xi_{version}_tomo_bin_all_minsep={min_sep_int}_maxsep={max_sep_int}"
f"_nbins={nbins_int}_npatch={npatch}.txt",
f"{version}_xi_minsep={min_sep_int}_maxsep={max_sep_int}"
f"_nbins={nbins_int}_npatch={npatch}.sacc",
)
pseudo_cl_path = os.path.join(
a.cosmo_val_dir, f"pseudo_cl_{version}_powspace_nbins=32.sacc"
Expand Down
13 changes: 3 additions & 10 deletions papers/bmodes/scripts/compute_cosebis_pte_single.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
from pathlib import Path

import numpy as np
import treecorr
from plotting_utils import compute_chi2_pte

from sp_validation import sacc_io
from sp_validation.b_modes import calculate_cosebis


Expand Down Expand Up @@ -89,14 +89,7 @@ def main(config, xi_integration, cov_integration, out_dir, version=None):
version = version if version is not None else fid["version"]
nmodes = int(fid["nmodes"]) # 20 for full computation

min_sep_int = fid["min_sep_int"]
max_sep_int = fid["max_sep_int"]
nbins_int = fid["nbins_int"]

gg = treecorr.GGCorrelation(
min_sep=min_sep_int, max_sep=max_sep_int, nbins=nbins_int, sep_units="arcmin"
)
gg.read(xi_integration)
gg = sacc_io.xi_correlation(sacc_io.load(xi_integration))

# Reporting theta grid (nbins+1 = 21 edges): geomspace(1', 250', 21)
theta_grid = np.geomspace(fid["min_sep"], fid["max_sep"], fid["nbins"] + 1)
Expand Down Expand Up @@ -183,7 +176,7 @@ def _from_cli(argv=None):
ap.add_argument(
"--xi-integration",
required=True,
help="Fiducial 1000-bin integration-grid TreeCorr xi_pm .txt dump",
help="Fiducial 1000-bin integration-grid ξ± SACC part",
)
ap.add_argument(
"--cov-integration",
Expand Down
Loading
Loading