Skip to content

Add method to get data by channel name

This addresses the issues encountered when trying to load data spanning multiple frame files, and adopts the bilby_pipe method of loading data using gwpy.TimeSeries.get. I have added several functions along the lines of set_from_channel_name (I'm open to other suggestions for what to call this method) for creating an InterferometerStrainData object, a PowerSpectralDensity object, setting the interferometer.strain_data, and for creating an Interferometer object from the channel name directly. I basically followed the template of the from_frame_file functions for the structure. I also edited the load_from_cache_file function to address the logic issues. A couple questions:

  1. Should I make a separate gw.utils function for the actual loading of the data using gwpy.TimeSeries.get()? It's two lines so it seemed like overkill to add another function just for this instead of doing it directly in the set_from_channel_name method of the strain_data object.
  2. Should I add a buffer time? This is an argument of the from_frame_file function but it doesn't seem to be used... (https://git.ligo.org/lscsoft/bilby/blob/master/bilby/gw/utils.py#L387)

If you want to check out some plots to make sure this is doing what it's supposed to, I've plotted the PSDs estimated using this new method, the time domain strain, and the frequency domain strain (along with the Bayeswave ASD) for one trigger here: https://ldas-jobs.ligo.caltech.edu/~sylvia.biscoveanu/O3/S190521g/

Edited by Sylvia Biscoveanu

Merge request reports