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.