Creating and managing events
Once you’ve created an asimov project you’ll need to add some gravitational wave events to it to analyse.
You can do this completely manually, or you can retrieve a pre-existing event from LIGO’s event database, GraceDB.
Creating an event
The simplest way to make a new event is manually (however you’ll need to specify all of its details manually later).
For example, if we want to make an event, and call it “GW150914” we can run
$ olivaw event create GW150914
The ledger file will then be updated to include the new event:
events:
- calibration: {}
interferometers: []
name: GW150914
productions: []
working directory: working/GW150914
In most situations we’ll want to pull some additional information about an event automatically.
This can be done using asimov’s integration with GraceDB, and all we need is either the GID
of the preferred event, or the SID
of the superevent.
Let’s try the GID approach first, because GW150914, for historical reasons, doesn’t have a superevent.
Note
You may need to use ligo-proxy-init
to generate login credentials before running this command.
$ olivaw event create --gid G190047
Then we can see that the ledger has been updated with the event information from the GraceDB server:
- calibration: {}
event time: 1126259462.426435
interferometers:
- H1
- L1
name: GW150914
productions: []
working directory: working/GW150914
Equivalently, if we have a superevent we can use the --superevent
option, and the preferred event will be found automatically.
$ olivaw event create GW190425 --superevent S190425z
If this event has an external git repository for storing configurations you can tell asimov about it here as well, and it will be checked-out, and asimov will add configurations to it automatically.
For example:
$ olivaw event create --gid G190047 --repository git@git.ligo.org/pe/O1/GW150914
Adding configurations
While it’s possible to manually update the configuration for each event (e.g. data quality information, and prior information) these can also be imported from other locations.
Asimov supports importing configurations from both json and yaml files; these can either be files of default information, or information produced by the PEConfigurator
program.
As an example, suppose we have some default data to add to an event, and this is in yaml format, saved in a file called data.yaml
.
data:
channels:
H1: H1:DCH-CALIB_STRAIN_C02
L1: L1:DCH-CALIB_STRAIN_C02
V1: Hrec_hoft_V1O2Repro2A_16384Hz
frame-types:
H1: H1_HOFT_C02
L1: L1_HOFT_C02
V1: V1O2Repro2A
priors:
distance: [None, 10000]
component: [1, 1000]
q: [0.05, 1.0]
In order to add these default data to an existing event we can use the olivaw event load
command:
$ olivaw event load GW170817 data.yaml
These will then be added to the event record in the ledger.
If we have a JSON file from the PEConfigurator we need to use the olivaw event configurator
command, which maps the outputs from the configurator to asimov’s data format:
$ olivaw event configurator GW170817 --json gw170817.json
Adding calibration evelopes
Many analyses will require access to calibration envelopes for the detectors.
Asimov includes a tool for locating the appropriate envelopes for events.
Provided you’ve already added a gpstime to the event (either manually, or from GraceDB) you can run
Note
This should work on LIGO clusters, but you’ll need to follow the instructions for adding calibration information manually if you’re running the command elsewhere.
$ olivaw event calibration GW170817
This will search for the calibration files for all of the available detectors, and add them to the event record in the ledger.
If you need to add calibrations manually you can do that by specifying them as options:
$ olivaw event calibration GW150914 --calibration H1:h1-cal.dat -- calibration L1:l1-cal.dat
Command documentation
olivaw
This is the main olivaw program which runs the DAGs for each event issue.
olivaw [OPTIONS] COMMAND [ARGS]...
event
Commands to handle collections.
olivaw event [OPTIONS] COMMAND [ARGS]...
calibration
olivaw event calibration [OPTIONS] EVENT
Options
-
--calibration <calibration>
The location of the calibration files.
Arguments
-
EVENT
Required argument
checkifo
olivaw event checkifo [OPTIONS] EVENT
Arguments
-
EVENT
Required argument
configurator
Add data from the configurator.
olivaw event configurator [OPTIONS] EVENT
Options
-
--json <json_data>
Arguments
-
EVENT
Required argument
create
Create a new event record in the ledger..
Parameters
- supereventstr
The ID of the superevent to be used from GraceDB
- namestr
The name of the event to be recorded in the issue tracker
- namespath, optional
The path to the name file which maps between old and new super event IDs
- oldname: str, optional
The old name of the event.
olivaw event create [OPTIONS] NAME
Options
-
--repository <repo>
The location of the repository for this event.
-
--superevent <superevent>
The superevent for the event.
-
--gid <gid>
The GraceDB GID for the event (for legacy events)
-
--old <oldname>
The old superevent ID for this event.
Arguments
-
NAME
Required argument
load
olivaw event load [OPTIONS] EVENT DATA
Arguments
-
EVENT
Required argument
-
DATA
Required argument
populate
Populate an event ledger with data from ini or yaml files.
olivaw event populate [OPTIONS] EVENT
Options
-
--ini <ini>
-
--yaml <yaml>
Arguments
-
EVENT
Required argument