ValueError: invalid Name 'Sn(f)' when writing lal FrequencySeries
While this error originates from lalsuite/gstlal, it appears that this issue is a regression in behavior in ligo-lw in not allowing parentheses in names. Let me know if it's more appropriate for this issue to be moved to a downstream library.
This was also found in python-ligo-lw 1.6.0
so feel free to close if this has already been fixed.
Example command and traceback:
$ gstlal_psd_xml_from_asd_txt --instrument H1 --output H1_psd.xml.gz gstlal/share/early_aligo_asd.txt
Traceback (most recent call last):
File "/usr/bin/gstlal_psd_xml_from_asd_txt", line 88, in <module>
reference_psd.write_psd(options.output, {options.instrument: psdseries})
File "/usr/lib64/python3.6/site-packages/gstlal/reference_psd.py", line 207, in write_psd
ligolw_utils.write_filename(lal.series.make_psd_xmldoc(psddict), filename, gz = (filename or "stdout").endswith(".gz"), verbose = verbose, trap_signals = trap_signals)
File "/usr/lib64/python3.6/site-packages/lal/series.py", line 215, in make_psd_xmldoc
fs = lw.appendChild(build_REAL8FrequencySeries(psd))
File "/usr/lib64/python3.6/site-packages/lal/series.py", line 128, in build_REAL8FrequencySeries
return _build_series(series, (u"Frequency,Real", u"Frequency"), comment, 'deltaF', 's^-1')
File "/usr/lib64/python3.6/site-packages/lal/series.py", line 63, in _build_series
a = ligolw_array.Array.build(series.name, data, dim_names=dim_names)
File "/usr/lib64/python3.6/site-packages/ligo/lw/array.py", line 206, in build
elem.Name = name
File "/usr/lib64/python3.6/site-packages/ligo/lw/ligolw.py", line 163, in setter
self.setAttribute(name, enc(value))
File "/usr/lib64/python3.6/site-packages/ligo/lw/ligolw.py", line 472, in enc
raise ValueError("invalid Name '%s'" % name)
ValueError: invalid Name 'Sn(f)'