Remove old banksim/faithsim workflows add documentation/tests for new ones - #5392
Remove old banksim/faithsim workflows add documentation/tests for new ones#5392spxiwh wants to merge 16 commits into
Conversation
|
The CI test is taking too long. I'll need to reduce the work being done there. |
|
Will this break old config files we have been used for e.g. bank verification in O4? Pinging @pannarale for this. |
No this shouldn't break old bank verification functionality. However, there is now a preference for using HDF files throughout the workflow (which allows more waveform features). If there is a form of regression test for an "old style" config using XML that we want to test, please send that over and I can test it. |
There was a problem hiding this comment.
Pull request overview
This pull request retires the legacy pycbc_make_banksim / pycbc_make_faithsim (glue-based) generators and updates PyCBC’s banksim/faithsim tooling, examples, and documentation to center the modern Pegasus/HTCondor workflow generators, including improved HDF support.
Changes:
- Removes deprecated glue-based workflow generator scripts and updates docs to the modern workflow generators.
- Adds/updates HDF-friendly parameter-table reading utilities and updates banksim/faithsim executables to accept HDF parameter/injection inputs.
- Adds new example configs/scripts and a GitHub Actions workflow intended to run small faithsim + bank verifier workflows under Condor/Pegasus.
Reviewed changes
Copilot reviewed 19 out of 30 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
pycbc/inject/inject.py |
Adds helper functions to read parameter tables from HDF or LIGOLW XML and to access columns uniformly. |
examples/faith/run.sh |
Updates faithsim CLI example to HDF param file and newer option names. |
examples/faith/run_workflow.sh |
Updates the example workflow invocation to the new config filename. |
examples/faith/injection_priors.ini |
Adds a distributions config used by pycbc_create_injections for the faithsim workflow example. |
examples/faith/faithsim_workflow_config.ini |
Modernizes faithsim workflow configuration (HDF injections, executable selections, option names). |
examples/faith/faithsim_simple.ini |
Removes legacy example config for the retired generator. |
examples/banksim/run.sh |
Updates banksim CLI example to HDF inputs and newer option names/values. |
examples/banksim/run_verifier.sh |
Adds a runnable example script for pycbc_make_bank_verifier_workflow. |
examples/banksim/nsbh_below50.ini |
Removes legacy banksim workflow config example. |
examples/banksim/injection_priors.ini |
Adds a distributions config used by pycbc_create_injections for the bank verifier example. |
examples/banksim/banksim.ini |
Removes legacy example config for the retired generator. |
examples/banksim/banksim_simple.ini |
Removes legacy simplified example config. |
examples/banksim/bank0.xml |
Adds an example XML bank file (used for examples/documentation). |
examples/banksim/bank_verifier_config.ini |
Adds a complete example config for the bank verifier workflow generator. |
docs/faithsim.rst |
Rewrites faithsim documentation to describe pycbc_make_faithsim_workflow and HDF-friendly configuration. |
docs/banksim.rst |
Refocuses banksim docs around the bank verifier workflow and direct pycbc_banksim usage. |
docs/bank_verifier.rst |
Adds new documentation page describing the bank verifier workflow generator and its configuration. |
docs/apps.rst |
Adds bank_verifier to the applications documentation index. |
bin/workflows/pycbc_make_faithsim_workflow |
Modernizes faithsim workflow generator implementation (injection generation selection, generic splitters, output dirs). |
bin/workflows/pycbc_make_bank_verifier_workflow |
Fixes workflow correctness for empty point-injection configs and avoids output collisions between point/broad sets. |
bin/pycbc_make_faithsim |
Removes deprecated glue-based faithsim generator. |
bin/pycbc_make_banksim |
Removes deprecated glue-based banksim generator. |
bin/pycbc_faithsim_collect_results |
Updates results collector to read HDF/XML parameter tables via new shared helpers and fixes argument handling. |
bin/pycbc_faithsim |
Updates faithsim to load parameter tables via the shared HDF/XML reader. |
bin/pycbc_banksim_match_combine |
Updates injection-table loading to support HDF/XML via the shared reader and handles missing params more safely. |
bin/pycbc_banksim |
Updates banksim to read injections via the shared HDF/XML reader and improves waveform-generation error logging. |
.github/workflows/faithsim-bank-verifier-workflow.yml |
Adds CI workflow intended to generate/submit/run small Condor/Pegasus faithsim and bank verifier workflows. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
This is ready for review @titodalcanton do you want to review this (or have someone else who would review it). |
It's time for
pycbc_make_banksimandpycbc_make_faithsimto be retired. They've been greatly useful over the years (evolving from earlier codes pre-PyCBC) but they're now redundant with modern PyCBC-pegasus workflow based generators.This patch:
glue)Standard information about the request
This is a: Removal of old code
This change affects: the banksim/faithsim suite
This change changes: scientific output
This change: has appropriate unit tests, follows style guidelines (See e.g. PEP8), has been proposed using the contribution guidelines
This change will: break current functionality
Motivation
It's time to get rid of our old workflows (which basically don't work now) and make the new ones front-and-centre on our documentation. We also need to ensure that users can easily use the new codes, so these documentation pages needed updating.
Contents
Links to any issues or associated PRs
Fixes #4931
Testing performed
Have tested all the examples on CIT and locally using Claude to convert a dax to things we can run on my mac which doesn't have condor.
Additional notes
Thanks Claude!