pydarm doesn't seem to handle complex pole pairs for compensation filters
Example error trying to load in complex pole pairs from TIA compensation.
(pydarm) python3 GDS_filters_PostO3_L1_20230117_generation.py
Traceback (most recent call last):
File "/ligo/groups/cal/ifo/scripts/gdsfiltergeneration/GDS_filters_PostO3_L1_20230117_generation.py", line 10, in <module>
FG = pydarm.FIR.FilterGeneration(config)
File "/ligo/groups/cal/pydarm-dev/pydarm/FIR.py", line 739, in __init__
super().__init__(config)
File "/ligo/groups/cal/pydarm-dev/pydarm/darm.py", line 89, in __init__
self.sensing = sensing or SensingModel(config)
File "/ligo/groups/cal/pydarm-dev/pydarm/sensing.py", line 36, in __init__
super().__init__(config, measurement='sensing')
File "/ligo/groups/cal/pydarm-dev/pydarm/model.py", line 56, in __init__
self._load_configuration(config)
File "/ligo/groups/cal/pydarm-dev/pydarm/model.py", line 87, in _load_configuration
self._set_attribute(key, value)
File "/ligo/groups/cal/pydarm-dev/pydarm/model.py", line 137, in _set_attribute
inner_array = [float(arr_entry) for arr_entry in
File "/ligo/groups/cal/pydarm-dev/pydarm/model.py", line 137, in <listcomp>
inner_array = [float(arr_entry) for arr_entry in
ValueError: could not convert string to float: '9.276-i*29.555'
It looks like the code is trying convert to float instead of an appropriate complex variable.
Edited by Joseph Betzwieser