Automation of Online-Style Replication with Asimov
Usage Guide
For generalised instructions on the usage of Asimov, please see the asimov documentation.
Note
Replication of online analysis requires that you be able to authenticate on GraceDB
To begin, a project may be initialised with e.g.
$ asimov init bilby_online_project
Default Settings
The following settings replicate the online analyses as deployed by GWCelery
kind: configuration
pipelines:
bilbyonline:
mass settings:
# Lower mass bound is inclusive, high is exclusive
lowspin phenomd bns:
low mass bound: 0
high mass bound: 1.465
settings file: tests/ASIMOV/bns_online_settings.json
likelihood mode: lowspin_phenomd_fhigh_1024_roq
phenomp bns:
low mass bound: 1.465
high mass bound: 2.243
settings file: tests/ASIMOV/bbh_online_settings.json
likelihood mode: phenompv2_bns_roq
low mass ratio phenomp bbh:
low mass bound: 2.243
high mass bound: 12
settings file: tests/ASIMOV/bbh_online_settings.json
likelihood mode: low_q_phenompv2_roq
defaults:
settings file: tests/ASIMOV/bbh_online_settings.json
likelihood mode: phenomxphm_roq
postprocessing:
pesummary:
accounting group: ligo.dev.o4.cbc.pe.bilby
cosmology: Planck15
evolve spins: forwards
multiprocess: 4
redshift: exact
calculate:
- precessing snr
skymap samples: 2000
where the contents of the settings files are shown below. If these are contained within a file online_defaults.yaml, they may be applied to an initialised asimov project with
$ asimov apply -f online_defaults.yaml
This includes settings to allow the running of PESummary after the bilby run is complete.
BNS Settings
{
"summarypages_arguments": {
"gracedb": "G1234",
"no_ligo_skymap": true
},
"enforce_signal_duration": false,
"sampler_kwargs": {
"naccept": 10,
"nlive": 500,
"npool": 24,
"sample": "acceptance-walk"
},
"n_parallel": 2,
"request_cpus": 24,
"spline_calibration_nodes": 10,
"request_memory_generation": 8.0
}
BBH Settings
{
"summarypages_arguments": {
"gracedb": "G1234",
"no_ligo_skymap": true
},
"enforce_signal_duration": false,
"sampler_kwargs": {
"naccept": 60,
"nlive": 500,
"npool": 24,
"sample": "acceptance-walk"
},
"n_parallel": 2,
"request_cpus": 24,
"spline_calibration_nodes": 10,
"request_memory_generation": 36.0,
"request_memory": 16.0
}
Once applied, an event needs at a bare minimum only its GraceDB G-name. An example of a minimal event would be
kind: event
name: G298936
and the subsequent analysis file would be given by
kind: analysis
name: online-test
pipeline: bilbyonline
Assuming these files were named G298936.yaml and online.yaml respectively, these may be applied with
$ asimov apply -f G298936.yaml
$ asimov apply -f online.yaml -e G298936
with the settings file being applied using a similar command to the application of the event file.
Ledger Options
channels
May be given in the event YAML file to determine which set of channels to pull the interferometer data for the event from. This is passed directly to the –channel_dict option of bilby_pipe_gracedb so may be one of the options specified on the :doc: relevant page <gracedb>.
mass settings
A dictionary of dictionaries that maps the relevant settings and likelihood mode for the given mass constraint. These will be evaluated such that the lower bound is inclusive and the higher bound is exclusive. If a defaults key is included, it will be the fallback. Otherwise, an error will be raised if a mass is not within any specified boundary.
name
- The name given to that setting constraint.
low mass bound
Low mass edge of applicability of these settings (inclusive).
high mass bound
High mass edge of applicability of these settings (exclusive).
settings file
Path to JSON containing settings for the event.
likelihood mode
Name of the ROQ likelihood that should be used.