Skip to content

[v2.3] Binary population test suite and reorganizing dev-tools#817

Open
sgossage wants to merge 41 commits intov2.3from
sg_v2.3_binpop_test_suite
Open

[v2.3] Binary population test suite and reorganizing dev-tools#817
sgossage wants to merge 41 commits intov2.3from
sg_v2.3_binpop_test_suite

Conversation

@sgossage
Copy link
Contributor

@sgossage sgossage commented Mar 8, 2026

This is a cherry picked version of PR#779 for v2.3.

This adds a population synthesis test suite and performs 4 tests currently:

  • BinaryPopulation saving binaries to RAM.
  • BinaryPopulation saving to hdf5, plus check saved/loaded DataFrame is equivalent to binaries in RAM.
  • BinaryPopulation saving in multiple batch hdf5 files (i.e., w/ optimize_ram = True).
  • PopulationRunner with multiple metallicities1. TODO: add a flag to turn on/OFF
  • Test full pop synth pipeline via CLI. This would need to be performed on HPC, so maybe a separate script.
  • Compare between branches automatically. E.g., using saved .h5 files from base branch.

Warning

We should check this vs. PR#780. Both PRs substantially restructure things in the dev-tools directory. Likely, we merge PR#780 first, then integrate it into this PR.

This also reorganizes dev-tools as follows:

dev-tools/
├── run_test_suite.sh
└── script_data/
    ├── inlists/
    ├── output/
    │   ├── binary_star_tests/
    │   └── population_tests/
    └── src/
        ├── binaries_suite.py
        ├── binary_test_cases.py
        ├── formatting.py
        ├── popsynth_suite.py
        └── utils.py

where the .ini files are generated on-the-fly in inlists/ and test output is saved to the various output/ subdirectories.

Footnotes

  1. ⚠️ The PopulationRunner test is implemented but disabled at the moment because it can break without appropriate system resources. This should be enabled prior to accepting this PR. (RAM fix helps here: PR#818).

@sgossage sgossage self-assigned this Mar 8, 2026
@sgossage sgossage added the enhancement New feature or request label Mar 8, 2026
@sgossage sgossage requested a review from a team March 10, 2026 02:01
@sgossage sgossage marked this pull request as ready for review March 11, 2026 23:28
@maxbriel maxbriel added this to the v2.3 milestone Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants