Skip to content

Time Segment Bug in the Filter DAG creation of the latest workflow

Prathamesh and I discover a potential bug on the latest offline work flow, when generating the filter DAG by (on CIT)

singularity exec /home/wanting.niu/o4-test/new_injection_table/integrate_simCBC/comp_test/offline_analysis/gstlal-dev/ make filter

which shows the following error:

Traceback (most recent call last):
  File "/usr/bin/gstlal_inspiral_workflow", line 97, in <module>
    triggers, dist_stats = dag.filter(ref_psd, svd_bank)
  File "/usr/lib64/python3.6/site-packages/gstlal/dags/__init__.py", line 121, in wrapped
    return func(self.config, self, *args, **kwargs)
  File "/usr/lib64/python3.6/site-packages/gstlal/dags/layers/inspiral.py", line 249, in filter_layer
    Option("reference-psd", ref_psds[(ifo_combo, span)].files),
KeyError: ('H1L1', segment(LIGOTimeGPS(1368984000, 0), LIGOTimeGPS(1368991575, 0)))
make: *** [Makefile:106: filter_inspiral_dag.dag] Error 1

After a little debugging, we find out that the dag.filter is looking for H1L1-GSTLAL_REFERENCE_PSD-1368984000-7575.xml.gz, while actual reference-psd stored (from completing PSD DAG) is H1L1-GSTLAL_REFERENCE_PSD-1368984000-7716.xml.gz. The expected time segments is read from the config.yml and segments.xml.gz, while the actual time segments is directly read from the PSD filenames and paths. There could be an error on the segments.py (or inspiral.config) mistakenly achieving the time segments when creating filtering DAG. Such error only appears in some of the time segments. (if we pick a shorter time duration for GPS-time, this error does not show up).

run-dir: /home/wanting.niu/o4-test/new_injection_table/integrate_simCBC/comp_test/offline_analysis/injections_with_simcbc/