diff --git a/modules/icing/pirep_goes.py b/modules/icing/pirep_goes.py
index 9af161ce4280a1d46902e6f19782604e07a56a8d..68eae2be79792394ce821c25aed8c612ff099afe 100644
--- a/modules/icing/pirep_goes.py
+++ b/modules/icing/pirep_goes.py
@@ -121,9 +121,20 @@ def create_file(filename, data_dct, ds_list, lon_c, lat_c, time_s, fl_alt_s):
     h5f.close()
 
 
-def run(pirep_dct, outfile=None, outfile_l1b=None):
+def run(pirep_dct, outfile=None, outfile_l1b=None, dt_str_start=None, dt_str_end=None):
     time_keys = list(pirep_dct.keys())
 
+    t_start = None
+    t_end = None
+    if (dt_str_start is not None) and (dt_str_end is not None):
+        dto = datetime.datetime.strptime(dt_str_start, '%Y-%m-%d_%H:%M').replace(tzinfo=timezone.utc)
+        dto.replace(tzinfo=timezone.utc)
+        t_start = dto.timestamp()
+
+        dto = datetime.datetime.strptime(dt_str_end, '%Y-%m-%d_%H:%M').replace(tzinfo=timezone.utc)
+        dto.replace(tzinfo=timezone.utc)
+        t_end = dto.timestamp()
+
     nav = GEOSNavigation(sub_lon=-75.0, CFAC=5.6E-05, COFF=-0.101332, LFAC=-5.6E-05, LOFF=0.128212, num_elems=2500, num_lines=1500)
 
     lon_s = np.zeros(1)
@@ -136,6 +147,12 @@ def run(pirep_dct, outfile=None, outfile_l1b=None):
     time_s = []
     fl_alt_s = []
     for idx, time in enumerate(time_keys):
+        if t_start is not None:
+            if time < t_start:
+                continue
+            if time > t_end:
+                continue
+
         reports = pirep_dct[time]
         for tup in reports:
             lat, lon, fl, rpt_str = tup