Richter magnitude scaling is hard-wired, should not be handled internal. First step to flexible local-
magnitude estimation.
This commit is contained in:
parent
08b9cec674
commit
9aba69686d
@ -17,10 +17,14 @@ from pylot.core.pick.utils import getsignalwin, crossings_nonzero_all, \
|
|||||||
from pylot.core.util.utils import common_range, fit_curve
|
from pylot.core.util.utils import common_range, fit_curve
|
||||||
|
|
||||||
def richter_magnitude_scaling(delta):
|
def richter_magnitude_scaling(delta):
|
||||||
relation = np.loadtxt(os.path.join(os.path.expanduser('~'),
|
distance = np.arange(0, 1000, 10)
|
||||||
'.pylot', 'richter_scaling.data'))
|
richter_scaling = array([1.4, 1.5, 1.7, 1.9, 2.1, 2.3, 2.4, 2.5, 2.6, 2.8, 2.8, 2.9,
|
||||||
|
2.9, 3.0, 3.1, 3.1, 3.2, 3.2, 3.3, 3.3, 3.4, 3.4, 3.5, 3.5,
|
||||||
|
3.6, 3.7, 3.7, 3.8, 3.8, 3.9, 3.9, 4.0, 4.0, 4.1, 4.2, 4.2,
|
||||||
|
4.2, 4.2, 4.3, 4.3, 4.3, 4.4, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9,
|
||||||
|
5.1, 5.2, 5.4, 5.5, 5.7])
|
||||||
# prepare spline interpolation to calculate return value
|
# prepare spline interpolation to calculate return value
|
||||||
func, params = fit_curve(relation[:, 0], relation[:, 1])
|
func, params = fit_curve(distance, richter_scaling)
|
||||||
return func(delta, params)
|
return func(delta, params)
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user