Magnitude estimation of an earthquake with accelerometers

Hello obspy community,

I am doing the exercise: advanced_exercise_solution_3b of the obspy tutorial in order to calculate the magnitude of the events of other seismological data. However, I have noticed that the magnitude of the accelerometers are higher than seismometers.

I want to be sure that this exercise is also useful for accelerometers. I am not sure because st.simulate() uses simulate_seismometer() method, and I am not completly sure if it also works properly for accelerometers because I am not definining the units of the response function in the exercise.

Could you give me your opinion about this?

That exercise is really old, and we (or well, I, in that case) did not have accelerometers in mind. Actually, many routines for magnitude estimation in obspy are from the time when we did not have the whole proper Inventory high-level setup and were mostly juggling around poles and zeros dictionaries on low-level, so relying on people knowing the caveats PAZ input. I added the option to pass in a Response object to estimate_magntiude but it might be easy to overlook, since I left the kwarg name unchanged as paz.

Can you try to use something like and see if that works?

resp = inv.get_response(, tr.stats.starttime)
estimate_magnitude(resp, amplitude, timespan, h_dist)
1 Like

Thanks for your reply.
It works properly. I was using this dictionary, and this is the reason why the magnitude value was overestimated for accelerometers .

paz_wa = {'sensitivity': 2800, 'zeros': [0j], 'gain': 1,
          'poles': [-6.2832 - 4.7124j, -6.2832 + 4.7124j]}

Now, I am aware that in the function “estimate_magnitude”, we are estimating wood anderson amplitude using response, and it works well for accelerometers.

Good to hear. The poles and zeros you were using were probably taking the data to m/s² while the poles/zeros for the second part expect m/s as input.

see magnitude estimation: some clarifications on potential issues with PAZ by megies · Pull Request #3154 · obspy/obspy · GitHub