Simulating instrument response

Given synthetic velocity seismograms for some known stations (i.e. I have full response-level inventory available), what’s the easiest way to forward-simulate the full instrument response to produce “realistic” raw seismograms? I’ve seen seen examples using Trace.simulate; but this only takes paz_simulate, simulate_sensitivity as arguments, not inventory metadata. Since channel response can consist of more than PolesZerosResponseStage, this seems inadequate to handle everything.

It looks like I could rip some code out of the guts of Trace.remove_response and replace 1/freq_response with freq_response, but figured I’d ask if there’s an easier way. Is there an inverse of Trace.remove_response somewhere that I’m missing?

Cheers

1 Like

I started working on this but had to work on other things while setting up proper tests. I think the code was pretty much ready just tests missing. In any case you can check it out as a starting point:

https://github.com/obspy/obspy/pull/3049/files

Thanks, I’ll have a look!