Xseed parser does not allow reading mutiple blockette 55 into ResponseListResponseStage object

I stumbled over a (legacy) dataless seed response file where the responses are defined as frequency, amplitude, phase list (FAP) values.

The issue: Obspy read_inventory() reads only the first part of the FAP list. It turned out that multiple blockette 55 entries existed dividing the FAP response into different subsequent frequency ranges.

According to the SEED manual this is allowed: “…This blockette could exceed the maximum of 9999 characters. If so, continue with another blockette [55] on the next record. Set field 3 the same, but ignore fields 4 and 5 in subsequent blockettes.”

It seems in obspy.io.xseed.parser this is not taken into account, i.e. only the first blockette 55 is read for each channel in the dataless seed file.

If I’m not mistaking this requires a (hopefully easy) fix in the next version.

Hmm… this seems like a legacy problem that is exceedingly rare to encounter. Which means, it might not get high priority to get worked on, any PRs are welcome though.

As a quick solution, you could try to convert your file to StationXML using IRIS java tool and then go from there with obspy.

Feel free to open an issue on github though, if you can attach an example response file along with it.