|
2 | 2 | name: 'ShapePipe cleanup: remove obsolete rho-stats/stile; modernize candide job scripts' |
3 | 3 | status: open |
4 | 4 | tags: |
5 | | - - shapepipe |
6 | | - - cleanup |
7 | | - - constitution |
| 5 | + - shapepipe |
| 6 | + - cleanup |
| 7 | + - constitution |
8 | 8 | created-at: 2026-05-30T21:45:50.977369486+02:00 |
9 | 9 | outcome: |- |
10 | | - Two independent cleanups, each delivered as its own PR (NOT merged to develop): (1) remove the obsolete in-shapepipe rho-stats/stile path — Martin confirmed it's superseded by sp_validation/cosmo_val — opened for Martin's review; (2) modernize the candide PBS job scripts to run via the container instead of a personal conda env, tested on candide (this host is c03=candide). The canfar job scripts are explicitly left untouched (can't verify them) and that's noted in the PR. Shuttled to Codex. |
| 10 | + Done — two PRs open against develop, neither merged (Martin reviews). (1) PR |
| 11 | + #736: removed the in-ShapePipe PSF-systematics plotting path (mccd_plots_runner |
| 12 | + + mccd_plot_utilities — the "rho statistics" were only a docstring promise, the |
| 13 | + code computed mean shapes + histograms, no treecorr/stile). Two sole-purpose |
| 14 | + configs deleted whole; six configs edited; docs updated to point PSF diagnostics |
| 15 | + at sp_validation/cosmo_val. In-image pytest 250 passed; CI green. (2) PR #737: |
| 16 | + candide_smp.sh / candide_mpi.sh now run via apptainer + the runtime image, no |
| 17 | + conda; SMP verified end-to-end on c03 (0 errors), MPI hybrid pattern written but |
| 18 | + needs a real allocation to verify (hangs on login node). Two scope findings: |
| 19 | + `stile` was already vestigial (zero refs anywhere — nothing to remove); |
| 20 | + `random_cat` was KEPT — it is a general LSS random-catalogue generator, not part |
| 21 | + of the rho-stats path, so deleting it would overreach what Martin flagged. |
| 22 | + canfar + ccin2p3 (cc_*.sh) scripts left untouched and noted in PR #737. |
11 | 23 | shuttle: |
12 | | - enabled: true |
13 | | - kind: oneshot |
14 | | - host: c03 |
15 | | - project_dir: /automnt/n17data/cdaley/unions/shapepipe |
16 | | - agent: claude-opus |
17 | | - session: |
18 | | - id: 30ae76cc-6d3d-4773-827f-b6505ca7f3e9 |
| 24 | + enabled: true |
| 25 | + kind: oneshot |
| 26 | + host: c03 |
| 27 | + project_dir: /automnt/n17data/cdaley/unions/shapepipe |
19 | 28 | agent: claude-opus |
20 | | - dispatched_at: 2026-05-30T19:52:16.666358713Z |
| 29 | + session: |
| 30 | + id: 30ae76cc-6d3d-4773-827f-b6505ca7f3e9 |
| 31 | + agent: claude-opus |
| 32 | + dispatched_at: 2026-05-30T19:52:16.666358713Z |
21 | 33 | --- |
22 | 34 |
|
23 | 35 | ## Desired State |
@@ -118,7 +130,30 @@ green on each, neither merged, canfar untouched-and-noted. |
118 | 130 | don't touch); the broader test-suite work (separate, done); any |
119 | 131 | scientific-algorithm change. |
120 | 132 |
|
121 | | -## Open Questions |
122 | | - |
123 | | -- Is `random_cat` truly rho-stats-only, or does any non-rho config/use depend on |
124 | | - it? Confirm before deleting it (vs. just `mccd_plots_runner`). |
| 133 | +## Resolution |
| 134 | + |
| 135 | +**`random_cat` is NOT rho-stats-only — kept.** Empirically: `random_cat_package` |
| 136 | +generates a random catalogue of points within the survey mask (healpix output, |
| 137 | +`config_Rc.ini`, authored by Martin). That is a general clustering / LSS tool |
| 138 | +(Landy-Szalay-style randoms), independent of PSF systematics. Rho statistics are |
| 139 | +auto/cross-correlations of PSF-ellipticity residuals at *star* positions and need |
| 140 | +no random catalogue. So the conditional in Deliverable 1 ("remove after confirming |
| 141 | +random_cat is rho-only") failed its precondition → random_cat stays. Removing it |
| 142 | +would overreach what Martin called obsolete; flagged in PR #736 for a follow-up if |
| 143 | +he does want it gone. |
| 144 | + |
| 145 | +**`stile` was already vestigial.** Zero references in `src/`, `example/`, `docs/`, |
| 146 | +`pyproject.toml`, `uv.lock` — never a declared dep, never imported. Nothing to |
| 147 | +remove; the absence is noted in PR #736 so it isn't read as an oversight. |
| 148 | + |
| 149 | +**The "rho-stats path" was really PSF-diagnostic plotting.** `mccd_plot_utilities` |
| 150 | +imports only matplotlib/mccd/numpy/astropy — it computes mean shapes and ellipticity |
| 151 | +histograms, no `treecorr`/`stile` correlation functions. The docstring's "rho |
| 152 | +statistics plot" was aspirational. Maps cleanly to Martin's "rho stats within |
| 153 | +shapepipe" = the PSF-leakage diagnostics now owned by `shear_psf_leakage`. |
| 154 | + |
| 155 | +**MPI verification gap.** `candide_smp.sh` is verified end-to-end through the |
| 156 | +container on c03. `candide_mpi.sh` uses the documented hybrid Apptainer pattern |
| 157 | +(host `mpiexec` launches container ranks) but can't be verified on a login node — |
| 158 | +`mpiexec` inside the container hangs without a PMIx allocation. ABI note for the |
| 159 | +reviewer: image ships OpenMPI 4.1.4, candide modules are now OpenMPI 5.0.x. |
0 commit comments