diff --git a/modules/util/viirs_l1b_l2.py b/modules/util/viirs_l1b_l2.py
index 5031c70ebe75506cb82bc28797cb30cf74ce50d9..1fe321fc060bde4f2baf55f8b157ccd1901eafbf 100644
--- a/modules/util/viirs_l1b_l2.py
+++ b/modules/util/viirs_l1b_l2.py
@@ -224,6 +224,8 @@ def run_one(data_h5f, data_tiles, tile_width=64, kernel_size=9):
     for param in data_params:
         try:
             grd = get_grid_values(data_h5f, param, 0, 0, None, num_lines, num_pixels, range_name=None)
+            if (np.sum(np.isnan(grd)) / grd.size) > 0.10:  # skip if more than 10% missing
+                return
             grd_s.append(grd)
         except Exception as e:
             print(e)