TimeSeries.get needs a different channel name format for reading from frames or using nds
Created by: areeda
If a channel type is needed for NDS get will fail reading from frames. If frames are available the following fails
from gwpy.timeseries import TimeSeries
ts = TimeSeries.get('L1:DCS-CALIB_STRAIN_CLEAN_SUB60HZ_C01,rds', 1252939480, 1252939490, verbose=True)
however this works:
from gwpy.timeseries import TimeSeries
ts = TimeSeries.get('L1:DCS-CALIB_STRAIN_CLEAN_SUB60HZ_C01', 1252939480, 1252939490, verbose=True)
The opposite is true if we have to use NDS. The error message when reading frames is:
Attempting to access data from frames...
Determined best frametype as 'L1_HOFT_CLEAN_SUB60HZ_C01'
Traceback (most recent call last):
File "p.py", line 2, in <module>
ts = TimeSeries.get('L1:DCS-CALIB_STRAIN_CLEAN_SUB60HZ_C01,rds', 1252939480, 1252939490, verbose=True)
File "/home/joseph.areeda/miniconda3/envs/igwn-py38/lib/python3.8/site-packages/gwpy/timeseries/core.py", line 617, in get
return cls.DictClass.get(
File "/home/joseph.areeda/miniconda3/envs/igwn-py38/lib/python3.8/site-packages/gwpy/timeseries/core.py", line 1376, in get
return cls.find(channels, start, end, pad=pad, scaled=scaled,
File "/home/joseph.areeda/miniconda3/envs/igwn-py38/lib/python3.8/site-packages/gwpy/timeseries/core.py", line 1278, in find
sorted(set(c.ifo[0] for c in channellist)))
File "/home/joseph.areeda/miniconda3/envs/igwn-py38/lib/python3.8/site-packages/gwpy/timeseries/core.py", line 1278, in <genexpr>
sorted(set(c.ifo[0] for c in channellist)))
TypeError: Cannot parse list of IFOs from channel names
It seems that the channel type needed for NDS (RDS) is being treated as a second channel with no IFO when attempting to read frames.