Inference package targeting ringdown modeling of numerical relativity waveforms, using a Bayesian method based on stochastic sampling for parameters extraction.
Requires Python 3.10 or newer.
Relies on pyRing for waveform interfacing. For source-based development, install the generalise_NR_informed_models branch of pyRing. It also relies on qnm for QNM frequencies computations and on cpnest/raynest for sampling.
The documentation can be found at https://gcarullo.github.io/bayRing/.
This repository also contains a reproducible SXS simulation selector for choosing one common set of non-deprecated, nonprecessing, non-eccentric BBH simulations with high-quality ringdown portions across a requested mode list.
Run the default pipeline with:
python -m scripts.ringdown_quality.cli run --config configs/default.ymlUseful overrides are:
python -m scripts.ringdown_quality.cli run \
--config configs/default.yml \
--output outputs/my_run \
--catalog-tag 3.0.0 \
--modes "2,2 2,1 3,3 4,4" \
--top-k 100 \
--max-simulations 200The selector loads sxs.load("dataframe", tag=...), filters the catalog without automatic supersession, computes mode-by-mode resolution, extrapolation-order, pointwise floor, and nonprecessing symmetry metrics on the fixed [0,30]M post-merger window, converts raw mode scores to within-mode percentiles, and selects simulations using a single simulation-level common score. It does not perform QNM or remnant-parameter fitting.
Outputs are written under outputs/ringdown_quality by default:
run_config_resolved.yml
candidate_catalog.csv
rejected_catalog.csv
per_mode_metrics.csv
simulation_scores.csv
selected_simulations.csv
selected_per_mode_metrics.csv
run_summary.txt