From 5f0c832bbac5224bdf340780c26228073e13562f Mon Sep 17 00:00:00 2001 From: Alex Wernle <awernle@usgs.gov> Date: Tue, 26 Nov 2024 11:27:42 -0700 Subject: [PATCH] Added error handling for if window>period. --- geomagio/algorithm/SpikesAlgorithm.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/geomagio/algorithm/SpikesAlgorithm.py b/geomagio/algorithm/SpikesAlgorithm.py index 5a4cfa19..185b5023 100644 --- a/geomagio/algorithm/SpikesAlgorithm.py +++ b/geomagio/algorithm/SpikesAlgorithm.py @@ -99,7 +99,13 @@ class SpikesAlgorithm(MetadataAlgorithm): timestamps = trace.times("UTCDateTime") signal = trace.data - # TODO: throw error if singal len < window! + + # throw error if singal len < window + if len(signal) < self.window_size: + raise ValueError( + f"Signal length ({len(signal)}) must be at least as large as the window size ({self.window_size})." + ) + spike_timestamps = self._despike(signal, timestamps) # check existing metadata @@ -119,7 +125,7 @@ class SpikesAlgorithm(MetadataAlgorithm): return None - def check_existing_spike_metadata(self, trace: Trace) -> str | None: + def check_existing_spike_metadata(self, trace: Trace) -> Optional[str] | None: """ Find existing spike metadata for a specified period. -- GitLab