Usage
Supported event types
Format |
Example |
Source |
|---|---|---|
GWTC catalog event |
|
|
GraceDB event |
|
GraceDB (requires LIGO credentials) |
GraceDB superevent |
|
GraceDB (requires LIGO credentials) |
GPS time |
|
User-supplied |
When using a GPS time, buoy defaults to fetching data for H1, L1, and V1.
Use --ifos to restrict the detector set.
CLI
Single event
buoy --events GW150914 --outdir ./results
Multiple events
buoy --events '["GW190521", "GW190828_063405", "S200213t"]' --outdir ./results
GPS time
buoy --events 1187008882.4 --outdir ./results --ifos '["H1", "L1"]'
Config file
All arguments can be stored in a YAML config file:
# config.yaml
events:
- GW190521
- GW190814
outdir: ./results
samples_per_event: 10000
device: cuda
buoy --config config.yaml
Python API
from buoy.main import main
main(events="GW150914", outdir="./results", device="cuda")
Models can also be instantiated directly for custom workflows:
from buoy import Aframe, Amplfi
aframe = Aframe(device="cuda")
amplfi = Amplfi(config="path/to/config.yaml", load_weights=False)
print(aframe.sample_rate, amplfi.kernel_length)
Output structure
<outdir>/
└── <event>/
├── data/
│ ├── <event>.hdf5 # Raw strain data
│ ├── aframe_outputs.hdf5 # Aframe times, detection statistics
│ ├── posterior_samples.dat # AMPLFI posterior samples
│ ├── whitened_data.npy # Whitened strain used for plotting
│ └── amplfi_<HL|HLV>.fits # Skymap in FITS format
└── plots/
├── aframe_response.png # Detection statistic vs. time
├── H1_qtransform.png # Q-transform for H1
├── L1_qtransform.png # Q-transform for L1
├── skymap_<HL|HLV>.png # Mollweide sky localization map
└── corner_plot_<HL|HLV>.png # Corner plot of posterior samples
CLI reference
Argument |
Default |
Description |
|---|---|---|
|
(required) |
Event name(s) or GPS time(s) to analyze |
|
(required) |
Directory to write results |
|
|
Number of AMPLFI posterior samples |
|
|
HEALPix resolution for the skymap |
|
|
Minimum samples per pixel for distance ansatz |
|
|
Include distance in the 3D skymap |
|
HuggingFace |
Path to Aframe TorchScript weights ( |
|
HuggingFace |
Path to AMPLFI HL checkpoint ( |
|
HuggingFace |
Path to AMPLFI HLV checkpoint ( |
|
HuggingFace |
Path to Aframe model config ( |
|
HuggingFace |
Path to AMPLFI HL model config ( |
|
HuggingFace |
Path to AMPLFI HLV model config ( |
|
default branch |
HuggingFace revision for Aframe weights |
|
default branch |
HuggingFace revision for AMPLFI weights |
|
|
Local HuggingFace cache directory |
|
|
Use catalog/GraceDB time instead of Aframe-inferred time |
|
|
Detectors to use for GPS time events |
|
auto |
|
|
|
Random seed for AMPLFI reproducibility |
|
|
Enable DEBUG-level logging |
|
|
Run Aframe inference; if false, load saved outputs |
|
|
Run AMPLFI inference; if false, skip PE |
|
|
Generate output plots |
|
|
Reprocess events even if outputs already exist |
|
see below |
Parameters to include in the corner plot |
|
|
Generate an HTML summary page |
|
— |
Path to a YAML config file |
Default corner plot parameters: chirp_mass, mass_ratio, distance, mass_1, mass_2.