estimate_magnitude(paz, amplitude, timespan, h_dist)[source]

Estimate local magnitude.

Estimates local magnitude from poles and zeros or full response of given instrument, the peak to peak amplitude and the time span from peak to peak. Readings on two components can be used in magnitude estimation by providing lists for paz, amplitude and timespan.


The input poles and zeros for the actual instrument in use need to convert input data units to velocity in m/s. Metadata from accelerometers and other instruments might have to be adjusted accordingly. It is strongly recommended to supply Response objects instead of poles and zeros dictionaries, as these adjustment are then done automatically.

  • paz – PAZ of the instrument [m/s] (as a dictionary) or response of the instrument (as Response) or list of the same

  • amplitude – Peak to peak amplitude [counts] or list of the same

  • timespan – Timespan of peak to peak amplitude [s] or list of the same

  • h_dist – Hypocentral distance [km]


Estimated local magnitude Ml


Magnitude estimation according to Bakun & Joyner, 1984, Eq. (3) page 1835. Bakun, W. H. and W. B. Joyner: The Ml scale in central California, Bull. Seismol. Soc. Am., 74, 1827-1843, 1984


>>> paz = {'poles': [-4.444+4.444j, -4.444-4.444j, -1.083+0j],
...        'zeros': [0+0j, 0+0j, 0+0j],
...        'gain': 1.0, 'sensitivity': 671140000.0}
>>> mag = estimate_magnitude(paz, 3.34e6, 0.065, 0.255)
>>> print(round(mag, 6))
>>> mag = estimate_magnitude([paz, paz], [3.34e6, 5e6], [0.065, 0.1],
...                          0.255)
>>> print(round(mag, 6))