Failure when using private data -- "Channel Name None" error
As found by @kevin.turbang and I, when installing pygwb
in a fresh environment reading private data requires extra dependencies that are not automatically added by the package. This issue is not present when installing pygwb
in an igwn cloned environment.
I have found that the main missing package is framecpp
; specifically, when this reader is not available to astropy.io
, a gwpy
reader is used instead that does not parse/pass on the channel name properly. By conda installing the correct version of framecpp
, it is possible to run private data searches:
conda install -c conda-forge python-ldas-tools-framecpp==2.6.14
Note that using a newer/different version of framecpp may cause other mismatches with argument parsing/data reading which cause reading to fail (often leading to generic errors such as the all-time classic
time_series_data = read_data(
File "/home/arianna.renzini/PROJECTS/pygwb_main/pygwb/preprocessing.py", line 207, in read_data
data = data[0]
File "/home/arianna.renzini/.conda/envs/pygwb_kevin/lib/python3.9/site-packages/gwpy/timeseries/core.py", line 1618, in __getitem__
return super().__getitem__(key)
IndexError: list index out of range
)
I document here a package version configuration that is currently working (not all packages are necessarily strictly relevant to data reading):
python-ldas-tools-framecpp==2.6.14
gwsumm==2.1.4
gwpy==3.0.4
lscsoft_glue==3.0.1
astropy==5.3.4
At the very least, this should be well-documented to avoid this issue to be periodically re-discovered; I tag a list of people who may have encountered this error before and may be interested in this solution @alba.romero @sw56540 @max.lalleman