diff --git a/geomagio/algorithm/FilterAlgorithm.py b/geomagio/algorithm/FilterAlgorithm.py index 84b0f9234d7d247091250e33b9a1127937cb68f5..1bdc0cf11e78f5f1592644f1da5627cb62f1dafe 100644 --- a/geomagio/algorithm/FilterAlgorithm.py +++ b/geomagio/algorithm/FilterAlgorithm.py @@ -51,7 +51,7 @@ STEPS = [ { # one minute to one hour filter "name": "One Day", "data_interval": "day", - "data_interval_type": "filtered 1-Day", + "data_interval_type": "filtered 1-day", "input_sample_period": 60.0, "output_sample_period": 86400, "window": sps.windows.boxcar(1440), diff --git a/test/TimeseriesUtility_test.py b/test/TimeseriesUtility_test.py index a664b2e28a718e42e57553ca9c57d29aa02bae15..c3fbb918536a0b88f53c5e0e62b081c4b4c4162c 100644 --- a/test/TimeseriesUtility_test.py +++ b/test/TimeseriesUtility_test.py @@ -55,6 +55,34 @@ def test_create_empty_trace(): TimeseriesUtility.pad_timeseries(timeseries, starttime - 90, endtime + 90) assert_equal(len(trace3.data), trace3.stats.npts) assert_equal(timeseries[0].stats.starttime, timeseries[2].stats.starttime) + # test hourly/daily starttime shift + hour_trace = TimeseriesUtility.create_empty_trace( + starttime=trace1.stats.starttime, + endtime=trace1.stats.endtime, + observatory=observatory, + channel="F", + type="variation", + interval="hour", + network=network, + station=trace1.stats.station, + location=location, + ) + + assert_equal(hour_trace.stats.starttime, UTCDateTime("2018-01-01T00:29:30Z")) + + day_trace = TimeseriesUtility.create_empty_trace( + starttime=trace1.stats.starttime, + endtime=trace1.stats.endtime, + observatory=observatory, + channel="F", + type="variation", + interval="day", + network=network, + station=trace1.stats.station, + location=location, + ) + + assert_equal(day_trace.stats.starttime, UTCDateTime("2018-01-01T11:59:30Z")) def test_get_stream_gaps(): diff --git a/test/algorithm_test/FilterAlgorithm_test.py b/test/algorithm_test/FilterAlgorithm_test.py index 6a1947183d7d685bad3a6b2edec43bd51db86cc7..f235c162a6eb73a10c16ca52626a3ded2c5b5ccc 100644 --- a/test/algorithm_test/FilterAlgorithm_test.py +++ b/test/algorithm_test/FilterAlgorithm_test.py @@ -51,6 +51,8 @@ def test_second(): assert_almost_equal(w_filt.data, w.data, 2) assert_equal(filtered[0].stats.starttime, UTCDateTime("2020-01-06T00:00:00Z")) assert_equal(filtered[0].stats.endtime, UTCDateTime("2020-01-06T04:00:00Z")) + assert_equal(u_filt.stats.data_interval, "second") + assert_equal(u_filt.stats.data_interval_type, "Average 1-Second") def test_minute(): @@ -94,6 +96,10 @@ def test_minute(): assert_almost_equal(w_filt.data, w.data, 2) assert_equal(filtered[0].stats.starttime, UTCDateTime("2020-01-06T00:00:00Z")) assert_equal(filtered[0].stats.endtime, UTCDateTime("2020-01-06T04:00:00Z")) + assert_equal(filtered[0].stats.data_interval, "minute") + assert_equal( + filtered[0].stats.data_interval_type, "filtered 1-minute (00:15-01:45)" + ) def test_hour(): @@ -138,6 +144,8 @@ def test_hour(): assert_almost_equal(f_filt.data, f.data, 2) assert_equal(filtered[0].stats.starttime, UTCDateTime("2020-08-31T00:29:30")) assert_equal(filtered[0].stats.endtime, UTCDateTime("2020-08-31T03:29:30")) + assert_equal(filtered[0].stats.data_interval, "hour") + assert_equal(filtered[0].stats.data_interval_type, "filtered 1-hour") def test_day(): @@ -182,6 +190,8 @@ def test_day(): assert_almost_equal(f_filt.data, f.data, 2) assert_equal(filtered[0].stats.starttime, UTCDateTime("2020-08-27T11:59:30")) assert_equal(filtered[0].stats.endtime, UTCDateTime("2020-08-30T11:59:30")) + assert_equal(filtered[0].stats.data_interval, "day") + assert_equal(filtered[0].stats.data_interval_type, "filtered 1-day") def test_custom(): @@ -229,6 +239,8 @@ def test_custom(): assert_almost_equal(w_filt.data, w.data, 2) assert_equal(filtered[0].stats.starttime, UTCDateTime("2020-01-06T00:00:00Z")) assert_equal(filtered[0].stats.endtime, UTCDateTime("2020-01-06T04:00:00Z")) + assert_equal(filtered[0].stats.data_interval, "second") + assert_equal(filtered[0].stats.data_interval_type, "filtered custom interval") def test_starttime_shift():