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/