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():