Contributing¶
Issues, feature requests and bug reports should be opened on the project repository. Code changes should follow the usual branch or fork workflow:
Create a branch for the change.
Make the smallest coherent code and documentation edits.
Add or update a runnable config or test when the behaviour changes.
Run the relevant tests.
Submit a merge request or pull request with the scientific and software scope stated explicitly.
Development Setup¶
Use an editable source install:
git clone https://github.com/GCArullo/bayRing.git
cd bayRing
export BAYRING_PREFIX=$PWD
pip install -r requirements.txt
pip install -e .
Run tests with:
pytest tests
Build docs with:
cd docs
make html
Adding A New Waveform¶
The source-module workflow is:
Add the model to the accepted template choices in
bayRing.initialise.read_config.Add compatibility checks in
bayRing.initialise.read_configwhere the model has catalogue, multipole or metadata requirements.Define default prior bounds in
bayRing.inference.read_default_bounds.Add parameter-name construction and fixed-parameter handling in
bayRing.inference.Dynamic_InferenceModel.Add waveform construction in
bayRing.template_waveforms.WaveformModel.Add the selected model branch to
WaveformModel.waveform.Add at least one runnable config under
config_files.Add focused tests for parser behaviour and waveform-parameter construction when practical.
Document the model in Waveform Models and update Configuration Reference.
Adding A New NR Catalogue¶
A catalogue integration should be explicit about data layout, metadata and error estimates. The implementation path is:
Add the catalogue name to parser documentation and validation in
bayRing.initialise.read_config.Add catalogue-specific loading to
bayRing.NR_waveforms.NR_simulation.Add a metadata dictionary branch in
bayRing.NR_waveforms.read_NR_metadata.Add helper readers for local files, metadata tables or downloaded files in
bayRing.NR_waveforms.Add an NR error prescription that is scientifically meaningful for that catalogue.
Add a runnable config under
config_files.Document local data path requirements in Numerical-Relativity Data.