Calculate Local Magnitude (Richter)

Dear all,

is there a function in ObsPy to calculate the Ml (with a Wood-Anderson instrument correction build-in) to get a "Richter Magnitude"?

Best wishes,
Max

Try this:
http://docs.obspy.org/packages/autogen/obspy.signal.invsim.estimateMagnitude.html

best,
Tobias

Dear Tobias,

thank you very much. That looks like the one I was looking for.

Best wishes,
Max

Dear Tobias,

I've got some questions about the methods of the invsim package.

- Is there any documentation about the cornFreq2Paz method? Where does this calculation come from?
- As far as I know to estimate the magnitude using the counts of the amplitude, you need to know how much one count is. How is this information passed to the estimateMagnitude method?

Thank you for your help!

Best wishes,
Maximilian Krickl

- You can find more on the topic e.g. in "Of Poles and Zeros" by Frank
Scherbaum
- estimateMagnitude needs the Poles and Zeros of the respective
instrument. You can get those either via webservices or from local
metadata e.g. in dataless SEED using the obspy.xseed Parser.

best,
Tobias

Dear Tobias,

thank you for your answer.

The question came up, where for example different resolution of the data (say 16-Bit legacy ADC and new 24-Bit ADC) come into play?

Best wishes,
Maximilian Krickl

Hello again,

or in general, what is the way in ObsPy to estimate the local magnitude for a short period seismometer?

Best wishes,
Maximilian Krickl

Hello Maximilian,

this list is for discussions related to technical issues concerning
ObsPy. For basic seismological questions I would recommend to directly
contact your colleagues at the Observatory Bensberg.

best,
Tobias

Hello Tobias,

this is why I was asking about how to use the ObsPy methods for estimating local magnitude.

My question is, how ObsPy knows about the ADC, how many Bits are used per sample, so that the 'count' parameter can be set to the right value? With our older seismometer stations we used 16 Bit ADCs, but for future use we roll out new 24 Bit ADCs, but the seismometers are still the same. So I would assume that there is a difference in the outcome of estimateMagnitude if one count is e.g. 2mV/count or 0.2mV/count.

At the moment Dr. Lehmann, our seismologist, calculates the magnitude using SeisAn. He manually picks the amplitude and zero crossing. There is a so called "calibration file" for every station containing information about the seismometer and the ADC, like gain, damping, natural frequency and so on. Those settings, and the hardwired Wood-Anderson Poles and Zeros are used to correct the trace for the WA-Seismometer and calulate the Ml. Unfortunately this whole procedure is not available in a module to call it from a batch file.

I would like to use ObsPy to do this step automatically in a batch process.

Best wishes,
Maximilian Krickl

Hi Maximilian,

so you have all station metadata only in Seisan specific format, it
seems? What you need to use estimateMagnitude() is the metadata in Poles
and Zeros format (poles, zeros, overall sensitivity and normalization
factor). The de-facto standard for station metadata is SEED, at the moment.
As I mentioned, with (dataless) SEED you can use the obspy.xseed Parser
to extract the PAZ information used in estimateMagnitude(). I am not
familiar with specifics of Seisan, but if you can convert it to SEED the
rest is clear.

best,
Tobias