Skip to content

Draft: Integrate SealGW with SPIIR for rapid skymap localisation.

This is a draft merge request to implement skymap localisation by Qian Hu: https://github.com/MarinerQ/SealGW, related to #33.

Please refer to the example notebooks in this repository as they demonstrate how to use the skymap code.

At the moment, we are using a fork of Qian's skymap repository here: https://github.com/tanghyd/SealGW/tree/spiir. This package also has a dependency on our SPIIR data processing library found here: https://git.ligo.org/spiir-group/spiir, which is in turn mirrored from https://github.com/tanghyd/spiir.

The spiir/ branch in our SealGW fork uses the newer namespace package here: https://git.ligo.org/spiir-group/spiir-data. The core difference between these packages is that the older version has LIGOLW handling (i.e. coinc.xml files) code in spiir.io.ligolw, whereas the namespace package has it under spiir.data.ligolw.

We use the conda environment igwn-py38-testing as spiir requires numpy >= 1.23.

Tentative To Do List:

  • Resolve the incorrect "horizon distance" input value issue(s).
  • Finish writing code for postcoh finalsink workflow (based on example2-localization.ipynb).
  • Finish code for fitting the SealGW skymap model (based on Qian's example1-fitting_and_initializing.ipynb).
  • Implement necessary trigger conditions (SNR, FAR, etc) required to localise a skymap.
  • Check code is compatible with multi-threading.
  • Implement code to write probability skymap to FITS file
  • Add code to upload skymap to GraceDB.
  • Move SealGW fork to GitLab spiir-group or merge changes into Qian's repository.
  • Add code to get maximum number of available threads.
  • Add functionality to execute fit_sealgw_model script on a recurring basis.
  • Run tests online to ensure pipeline latency does not increase beyond a reasonable level.
  • Fix matplotlib logging when using sealgw.calculation.localisation.plot_skymap in postcoh_finalsink.py.
Edited by Qian Hu

Merge request reports