analysis.estimate_a#
- seismostats.analysis.estimate_a(magnitudes: ~numpy.ndarray, mc: float, delta_m: float, scaling_factor: float | None = None, m_ref: float | None = None, b_value: float | None = None, method: ~seismostats.analysis.avalue.base.AValueEstimator = <class 'seismostats.analysis.avalue.classic.ClassicAValueEstimator'>, **kwargs) float#
Returns the a-value of the Gutenberg-Richter (GR) law.
\[N(m) = 10 ^ {a - b \cdot (m - m_{ref})},\]where \(N(m)\) is the number of events with magnitude larger than or equal to \(m\) that occurred in the timeframe of the catalog, \(a\) and \(b\) are the a- and b-value, and \(m_{ref}\) is the reference magnitude above which earthquakes are counted.
- Parameters:
magnitudes – Array of magnitudes.
mc – Completeness magnitude.
delta_m – Bin size of discretized magnitudes.
scaling_factor – Scaling factor. If given, this is used to normalize the number of observed events. For example: Volume or area of the region considered or length of the time interval, given in the unit of interest.
m_ref – Reference magnitude for which the a-value is estimated.
b_value – b-value of the Gutenberg-Richter law. Only relevant when m_ref is not None.
method – AValueEstimator class to use for calculation.
**kwargs – Additional parameters to be passed to the
calculate()method.
- Returns:
a – a-value of the Gutenberg-Richter law.
Examples
>>> import numpy as np >>> from seismostats.analysis import estimate_a >>> magnitudes = np.array([2.1, 2.3, 2.0, 2.0, 2.1, 2.2, 2.1, 2.3, 2.0, 2.0]) >>> mc = 2.0 >>> delta_m = 0.1 >>> a = estimate_a(magnitudes, mc, delta_m) >>> a 1.0
>>> from seismostats.analysis import APositiveAValueEstimator >>> times = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) >>> a = estimate_a(magnitudes, mc, delta_m, times=times, method=APositiveAValueEstimator) >>> a 0.9542425094393249