I am a student new to working with obspy and seismic traces. I have a lot of miniseed files that I am using. I believe I need to remove the instrument response before I do anything else, which means, since they are miniseed files, I need to attach a response inventory to the traces. I am having a lot of trouble with this. I know the sensor and datalogger used, so I can manually input the poles, zeros, sensitivity, and A/D conversion factor, but I just don’t know how. Can anyone help?

After I remove the response (and at the same time convert to velocity), I need to apply a bandpass filter. I was hoping to merge the traces together after filtering, but in tests I get an “incompatible data type” error. The stats don’t seem to change through the filter, and merging is no problem before the filter. Any ideas?

Thank you,
Jordan Hisel

Hello Jordan,

Without seeing the details of what you are doing it is hard to know why it isn’t working. Below is an example of how you can remove the response and apply a filter. I have attached the response and the data as well.


#!/usr/bin/env python
from obspy.core import read
from import Parser

Grab response file

sp = Parser(‘RESP.IU.ANMO.00.LHZ’)

Read data

st = read(‘00_LHZ.512.seed’)

Get PAZ from response file

paz = sp.get_paz(‘IU.ANMO.00.LHZ’, datetime=st[0].stats.starttime)

Remove response


Bandpass filter

st.filter(‘bandpass’,freqmax=0.1, freqmin=0.01)

00_LHZ.512.seed (191 KB)


Hi Jordan,

Welcome! It’s a little hard to help you diagnose your problem without a minimum working example, which would require some miniseed files and maybe their responses. Can you cut your problem down to the exact files that are giving you trouble, post them somewhere, and also post your specific error?