Skip to content

Remove old banksim/faithsim workflows add documentation/tests for new ones - #5392

Open
spxiwh wants to merge 16 commits into
gwastro:masterfrom
spxiwh:pr_update_xxsims
Open

Remove old banksim/faithsim workflows add documentation/tests for new ones#5392
spxiwh wants to merge 16 commits into
gwastro:masterfrom
spxiwh:pr_update_xxsims

Conversation

@spxiwh

@spxiwh spxiwh commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

It's time for pycbc_make_banksim and pycbc_make_faithsim to 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:

  • Removes the old workflow generators (which are now practically unusable as they need deprecated glue)
  • Does some quality-of-life improvements to the new workflow generators (HDF files!!)
  • Updates documentation to show the new versions
  • Adds a new unittest to run both faithsim and banksim workflows

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

  • REmove old workflows
  • Quality of life improvements for current codes
  • Update documentation to new codes (now 3 pages, one for faithsim, one for banksim executable and one for the banksim workflow. Considered merging the last 2, but proposing as separate pages for now ... Documentation drawn from example to avoid duplication
  • Update examples to have a clean banksim and a clean faithsim example. Both can run the workflow or just run the primary executable on pregenerated inputs.
  • Add new CI workflow to run the new example workflows (should be much quicker than other CI workflows!)

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!

  • The author of this pull request confirms they will adhere to the code of conduct

@spxiwh
spxiwh force-pushed the pr_update_xxsims branch from c283b56 to 5b300f8 Compare July 31, 2026 16:49
@spxiwh

spxiwh commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

The CI test is taking too long. I'll need to reduce the work being done there.

@titodalcanton

Copy link
Copy Markdown
Contributor

Will this break old config files we have been used for e.g. bank verification in O4? Pinging @pannarale for this.

@spxiwh

spxiwh commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

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.

Copilot AI lite review requested due to automatic review settings August 12, 2026 11:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread .github/workflows/faithsim-bank-verifier-workflow.yml
Comment thread pycbc/inject/inject.py
Comment thread docs/bank_verifier.rst Outdated
spxiwh and others added 5 commits August 12, 2026 12:49
@spxiwh

spxiwh commented Aug 12, 2026

Copy link
Copy Markdown
Contributor Author

This is ready for review @titodalcanton do you want to review this (or have someone else who would review it).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Things to improve in the bank verifier

3 participants