From 733f568100d83b248eaa54a5649bef2cd7f5ed50 Mon Sep 17 00:00:00 2001 From: Aron Mirwald Date: Tue, 18 Feb 2025 16:08:30 +0900 Subject: [PATCH] review: include .nonzero instead of where, and adjust binning warning --- seismostats/analysis/avalue/base.py | 5 +++-- seismostats/analysis/avalue/tests/test_avalue.py | 6 ++---- seismostats/analysis/bvalue/base.py | 5 +++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/seismostats/analysis/avalue/base.py b/seismostats/analysis/avalue/base.py index 54111df..6d64e3d 100644 --- a/seismostats/analysis/avalue/base.py +++ b/seismostats/analysis/avalue/base.py @@ -79,7 +79,7 @@ def _filter_magnitudes(self) -> np.ndarray: ''' Filter out magnitudes below the completeness magnitude. ''' - self.idx = np.where(self.magnitudes >= self.mc - self.delta_m / 2)[0] + self.idx = (self.magnitudes >= self.mc - self.delta_m / 2).nonzero()[0] self.magnitudes = self.magnitudes[self.idx] if len(self.magnitudes) == 0: @@ -92,7 +92,8 @@ def _sanity_checks(self): ''' # test magnitude binnning if len(self.magnitudes) > 0: - if not binning_test(self.magnitudes, self.delta_m, + tolerance = 1e-8 + if not binning_test(self.magnitudes, max(self.delta_m, tolerance), check_larger_binning=False): raise ValueError('Magnitudes are not binned correctly.') diff --git a/seismostats/analysis/avalue/tests/test_avalue.py b/seismostats/analysis/avalue/tests/test_avalue.py index e5bdc18..5f7531b 100644 --- a/seismostats/analysis/avalue/tests/test_avalue.py +++ b/seismostats/analysis/avalue/tests/test_avalue.py @@ -1,5 +1,4 @@ from datetime import datetime, timedelta -import warnings import numpy as np import pytest @@ -42,9 +41,8 @@ def test_estimate_a_classic(): assert a_estimate == 1.0 # reference magnitude is given and b-value given - with warnings.catch_warnings(record=True): - a_estimate = estimator.calculate(mags, mc=1, delta_m=0.0, - m_ref=0, b_value=1) + a_estimate = estimator.calculate(mags, mc=1, delta_m=0.0, + m_ref=0, b_value=1) assert a_estimate == 2.0 # reference magnitude but no b-value diff --git a/seismostats/analysis/bvalue/base.py b/seismostats/analysis/bvalue/base.py index 5af9561..7a2abd0 100644 --- a/seismostats/analysis/bvalue/base.py +++ b/seismostats/analysis/bvalue/base.py @@ -65,7 +65,7 @@ def _filter_magnitudes(self): ''' Filter out magnitudes below the completeness magnitude. ''' - self.idx = np.where(self.magnitudes >= self.mc - self.delta_m / 2)[0] + self.idx = (self.magnitudes >= self.mc - self.delta_m / 2).nonzero()[0] self.magnitudes = self.magnitudes[self.idx] if self.weights is not None: @@ -81,7 +81,8 @@ def _sanity_checks(self): ''' # test magnitude binnning if len(self.magnitudes) > 0: - if not binning_test(self.magnitudes, self.delta_m, + tolerance = 1e-8 + if not binning_test(self.magnitudes, max(self.delta_m, tolerance), check_larger_binning=False): raise ValueError('Magnitudes are not binned correctly.')