From 32ff55c9481b11ed796a9be4f024633625d82ae2 Mon Sep 17 00:00:00 2001
From: tomrink <rink@ssec.wisc.edu>
Date: Wed, 8 Dec 2021 12:04:46 -0600
Subject: [PATCH] output missing outside of lat training range

---
 modules/util/util.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/modules/util/util.py b/modules/util/util.py
index 298ef6ed..58352cac 100644
--- a/modules/util/util.py
+++ b/modules/util/util.py
@@ -571,7 +571,7 @@ flt_level_ranges_str[3] = '6000_8000'
 flt_level_ranges_str[4] = '8000_15000'
 
 
-def write_icing_file(clvrx_str_time, output_dir, preds_dct, probs_dct, x, y, lons, lats):
+def write_icing_file(clvrx_str_time, output_dir, preds_dct, probs_dct, x, y, lons, lats, lat_range=[-63.0, 63.0]):
     outfile_name = output_dir + 'icing_prediction_'+clvrx_str_time+'.h5'
     h5f_out = h5py.File(outfile_name, 'w')
 
@@ -581,17 +581,23 @@ def write_icing_file(clvrx_str_time, output_dir, preds_dct, probs_dct, x, y, lon
     flt_lvls = list(preds_dct.keys())
     for flvl in flt_lvls:
         preds = preds_dct[flvl]
+        keep = np.logical_or(lats < lat_range[0], lats > lat_range[1])
+        np.where(keep, preds, -1)
         icing_pred_ds = h5f_out.create_dataset('icing_prediction_level_'+flt_level_ranges_str[flvl], data=preds, dtype='i2')
         icing_pred_ds.attrs.create('coordinates', data='y x')
         icing_pred_ds.attrs.create('grid_mapping', data='Projection')
+        icing_pred_ds.attrs.create('missing', data=-1)
         icing_pred_ds.dims[0].label = dim_0_name
         icing_pred_ds.dims[1].label = dim_1_name
 
     for flvl in flt_lvls:
         probs = probs_dct[flvl]
+        keep = np.logical_or(lats < lat_range[0], lats > lat_range[1])
+        np.where(keep, probs, -1.0)
         icing_prob_ds = h5f_out.create_dataset('icing_probability_level_'+flt_level_ranges_str[flvl], data=probs, dtype='f4')
         icing_prob_ds.attrs.create('coordinates', data='y x')
         icing_prob_ds.attrs.create('grid_mapping', data='Projection')
+        icing_prob_ds.attrs.create('missing', data=-1.0)
         icing_prob_ds.dims[0].label = dim_0_name
         icing_prob_ds.dims[1].label = dim_1_name
 
-- 
GitLab