Issue with water level in instrumental correction (when working with non-flat responses, e.g. additional integration/derivation on a flat response)

We found a bug with the instrumental correction tool of Obspy. The bug occur only with low waterlevel values (<80 dB) and when a change from velocity to acceleration or inversely is requested.

The waterlevel problems is observed at high frequency when the instrumental correction is applied to a velocimeter which has been changed to acceleration. The same problem is observed when an accelerogram is moved to velocity, but then at low frequency. It is due to the waterlevel value which is not change in the new domain (acceleration or velocity). I have written a more detailed document of the problem which can be found here polybox or on request (

Possible Obspy command line to generate the bug on the recording of a velocimeter:
waveform.remove_response(pre_filt =[0.001, 1/120, 95, 100], water_level=40, output=‘ACC’)
if you applied the previous instrumental correction to a velocimeter record, then compute its spectrum and divide it by the spectrum of the same recording instrumentally corrected with a waterlevel of 100 dB, you will see that spectral ratio is diverging from one at high frequency.
If you do the same without the output=‘ACC’ option, then the problem disappear.

The instrumental correction with waterlevel should be applied before the derivation of the signal from velocity to acceleration (or integration from acceleration to velocity) !

1 Like

Thanks for the on-spot analysis of the problem. I also stumbled upon the described behavior before. I agree that it is probably best to define the waterlevel relative to the input unit. Could you open a ticket in the issue tracker?

Thanks Trichter for the comment! I did’nt knew about the ticket system. It is done now:

1 Like