ShapePipe's Snakemake workflow (CosmoStat/shapepipe#852) processes a campaign — a tile list — with no intermediate "patch" (P1…P7) unit. Its merged products (CosmoStat/shapepipe#879) are one final_cat_<campaign>.hdf5 and one full_starcat-0000000.fits per campaign. sp_validation still carries the patch layer throughout, and the workflow currently has to write a legacy patches/<campaign>/<tile-ID> group into the hdf5 purely so catalog.py's reader opens it.
Where patch assumptions live today (rough grep, jackknife npatch excluded):
src/sp_validation/catalog.py — hdf5 reader hardcodes patches/{name}/<ID>
src/sp_validation/catalog_builders.py — get_patches() (v1/v1.5 → P1..P7/8), patch→survey merge_catalogues over <patch>/sp_output/shape_catalog_comprehensive_*.fits
src/sp_validation/survey.py — patch boundary coordinates
src/sp_validation/rho_tau.py, cosmo_val/real_space.py — patch-keyed paths/labels
- scripts:
combine_results.py, merge_psf_cat.py, prepare_patch_for_spval.sh, plot_rho_stats_patches.py, survey_stats_all.sh, stats_tile_id_gal_counts.py, star_match_stats.py, check_tile_IDs_SP_LF.py, compute_area.py
Proposed end state: sp_validation takes a campaign's two merged files directly (hdf5 with a flat per-tile layout, or a single top-level group; star cat as-is), and any cross-campaign combination is expressed as "list of campaigns", not "list of patches". Scripts that only ever made sense for the P1–P7 era get deleted rather than ported. Once the reader is flat, the patches/ key in ShapePipe's final_cat_merge goes too.
— Claude (Fable) on behalf of Cail
ShapePipe's Snakemake workflow (CosmoStat/shapepipe#852) processes a campaign — a tile list — with no intermediate "patch" (P1…P7) unit. Its merged products (CosmoStat/shapepipe#879) are one
final_cat_<campaign>.hdf5and onefull_starcat-0000000.fitsper campaign. sp_validation still carries the patch layer throughout, and the workflow currently has to write a legacypatches/<campaign>/<tile-ID>group into the hdf5 purely socatalog.py's reader opens it.Where patch assumptions live today (rough grep, jackknife
npatchexcluded):src/sp_validation/catalog.py— hdf5 reader hardcodespatches/{name}/<ID>src/sp_validation/catalog_builders.py—get_patches()(v1/v1.5→P1..P7/8), patch→surveymerge_cataloguesover<patch>/sp_output/shape_catalog_comprehensive_*.fitssrc/sp_validation/survey.py— patch boundary coordinatessrc/sp_validation/rho_tau.py,cosmo_val/real_space.py— patch-keyed paths/labelscombine_results.py,merge_psf_cat.py,prepare_patch_for_spval.sh,plot_rho_stats_patches.py,survey_stats_all.sh,stats_tile_id_gal_counts.py,star_match_stats.py,check_tile_IDs_SP_LF.py,compute_area.pyProposed end state: sp_validation takes a campaign's two merged files directly (hdf5 with a flat per-tile layout, or a single top-level group; star cat as-is), and any cross-campaign combination is expressed as "list of campaigns", not "list of patches". Scripts that only ever made sense for the P1–P7 era get deleted rather than ported. Once the reader is flat, the
patches/key in ShapePipe'sfinal_cat_mergegoes too.— Claude (Fable) on behalf of Cail