How do I add stations (and networks) to the inventory?

Dear Lion, dear D. Burk,
Dear List,

just for clarification, in case I want to set all the instrument responses manually, I would do so using the class Response, which contains a list of:

ResponseStage and

that represent the seismometer, digitizer and so on. I would include the Response-object first to the right Channel and then hook it up to in my Trace-objects using


Finally, deconvolution would be the one-liner:


Or did I miss something?

Hi Wasja,

that is more or less correct. You will have to create an inventory objects by hand which is a bit painful but can be done. The hierarchy is

Inventory -> Network -> Station -> Channel -> Response and the response finally contains a list of response stages.

That inventory can be attached to a trace and then the deconvolution is the one-liner you mentioned.

I actually think it might be a lot easier to just modify an existing StationXML file and read that with ObsPy to perform the rest.



I would agree with Lion. I tried making RESP files by hand and it is a pain. It is much easier and quicker to use the PDCC program and then convert seed to stationXML. You’re also less likely to screw it up. The PDCC manual is pretty easy to follow as well.

Attached is an example html file I made that shows all of the steps through deconvolution in obspy. (If you really want to use RESP files, you can export from PDCC to RESP instead of seed. However, this leaves you with many RESP files (1 for each channel) instead of one stationXML file for your entire array.)
Good luck!

Dylan (2.69 MB)

Hi Wasja

To add to Lion’s response you can find a brief graphical overview of the metadata model used in obspy at: I’ve also added as an attachment to this reply a more extensive overview that I set up a while ago while digging into the subject (let me know if it doesn’t get through, not sure if the mail list accepts attachments, and I can mail it to you directly if you are interested). regP

obspy_classes.pdf (100 KB)