From 9b90db58c916491c04244ee86ae3e0f9b43e9c0f Mon Sep 17 00:00:00 2001
From: pcain-usgs <pcain@usgs.gov>
Date: Wed, 10 Jun 2020 11:12:29 -0600
Subject: [PATCH] Check starttime before filter operation

---
 geomagio/algorithm/FilterAlgorithm.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/geomagio/algorithm/FilterAlgorithm.py b/geomagio/algorithm/FilterAlgorithm.py
index 5814c22e8..bba6da2b0 100644
--- a/geomagio/algorithm/FilterAlgorithm.py
+++ b/geomagio/algorithm/FilterAlgorithm.py
@@ -188,13 +188,14 @@ class FilterAlgorithm(Algorithm):
 
         out = Stream()
         for trace in stream:
-            filtered = self.firfilter(trace.data, window, decimation)
             stats = Stats(trace.stats)
-            stats.starttime = stats.starttime + input_sample_period * (numtaps // 2)
-            if stats.starttime.timestamp % output_sample_period != 0:
+            filtered_starttime = stats.starttime + input_sample_period * (numtaps // 2)
+            if filtered_starttime.timestamp % output_sample_period != 0:
                 raise ValueError(
                     "Invalid starttime. Filter is not centered in timeseries."
                 )
+            filtered = self.firfilter(trace.data, window, decimation)
+            stats.starttime = filtered_starttime
             stats.delta = output_sample_period
             stats.npts = len(filtered)
             trace_out = self.create_trace(stats.channel, stats, filtered)
-- 
GitLab