diff --git a/modules/icing/pirep_goes.py b/modules/icing/pirep_goes.py
index 8ea9597f59948bf0791e8f8839c161bdcf47e058..d1a45c30a89b518876d1f84e7b9d46c05fb95ab9 100644
--- a/modules/icing/pirep_goes.py
+++ b/modules/icing/pirep_goes.py
@@ -1058,10 +1058,18 @@ def make_ts_bins():
 
 
 keep_out_edges = make_ts_bins()
+keep_out_edges = np.array(keep_out_edges)
+
+
+def check_times(ts):
+    bidx = (find_bin_index(keep_out_edges, np.array([ts])))[0]
+    if bidx != -1 and bidx % 2 == 0:
+        return True
+    return False
 
 
 def tile_extract(trnfile='/home/rink/tiles_l1b_train.h5', tstfile='/home/rink/tiles_l1b_test.h5', L1B_or_L2='L1B',
-                 cld_mask_name='cloud_mask', augment=False, split=0.2):
+                 cld_mask_name='cloud_mask', augment=False, split=0.2, check_keep_out=False):
     icing_int_s = []
     ice_time_s = []
     no_ice_time_s = []
@@ -1096,6 +1104,8 @@ def tile_extract(trnfile='/home/rink/tiles_l1b_train.h5', tstfile='/home/rink/ti
         icing_int = f['icing_intensity'][:]
 
         for i in range(num_obs):
+            if check_keep_out and not check_times(times[i]):
+                continue
             cld_msk = f[cld_mask_name][i, 12:28, 12:28]
             for ds_name in params:
                 dat = f[ds_name][i, 12:28, 12:28]
@@ -1133,6 +1143,8 @@ def tile_extract(trnfile='/home/rink/tiles_l1b_train.h5', tstfile='/home/rink/ti
         lats = f['latitude']
 
         for i in range(num_obs):
+            if check_keep_out and not check_times(times[i]):
+                continue
             cld_msk = f[cld_mask_name][i, 12:28, 12:28]
             for ds_name in params:
                 dat = f[ds_name][i, 12:28, 12:28]