TimeSeries.read with cache fails
Created by: andrew-lundgren
The code for reading TimeSeries data using a lal cache is failing. This only happens when using the FrameCPP backend. The workaround is to explicitly add format='lalframe'
as an option, but unfortunately framecpp is used by default. To reproduce on a cluster with recent H1_R
data:
from gwpy.timeseries import TimeSeries
from gwpy.io import datafind
chan='H1:SUS-ETMY_L2_NOISEMON_UR_OUT_DQ'
conn=datafind.connect()
cache = conn.find_frame_urls('H','H1_R',1174937200,1174937200+1200)
tst1=TimeSeries.read(cache, chan, 1174937210, 1174937211,format='lalframe')
tst2=TimeSeries.read(cache, chan, 1174937210, 1174937211,format='framecpp')
The first read succeeds, but the second fails with
ValueError: Cannot read H1:SUS-ETMY_L2_NOISEMON_UR_OUT_DQ from FrVect in /scratch/frames/cache/L0/H1/H-H1_R-11749/H-H1_R-1174937216-64.gwf ending at 1174937211.0
It looks like it is identifying the wrong one of the frame files in the cache to read from.