From 4252db82751cc39085886cf3fcd3b800870de5c2 Mon Sep 17 00:00:00 2001
From: tomrink <rink@ssec.wisc.edu>
Date: Tue, 19 Jul 2022 11:28:16 -0500
Subject: [PATCH] snapshot...

---
 modules/util/util.py | 34 +++++++++++-----------------------
 1 file changed, 11 insertions(+), 23 deletions(-)

diff --git a/modules/util/util.py b/modules/util/util.py
index 3cfe094c..cd280594 100644
--- a/modules/util/util.py
+++ b/modules/util/util.py
@@ -690,17 +690,26 @@ def compute_lwc_iwc(iphase, reff, opd, geo_dz):
     xy_shape = iphase.shape
 
     iphase = iphase.flatten()
+    keep_0 = np.invert(np.isnan(iphase))
+
     reff = reff.flatten()
+    keep_1 = np.invert(np.isnan(reff))
+
     opd = opd.flatten()
+    keep_2 = np.invert(np.isnan(opd))
+
     geo_dz = geo_dz.flatten()
+    keep_3 = np.logical_and(np.invert(np.isnan(geo_dz)), geo_dz > 1.0)
+
+    keep = keep_0 & keep_1 & keep_2 & keep_3
 
     lwp_dcomp = np.zeros(reff.shape[0])
     iwp_dcomp = np.zeros(reff.shape[0])
     lwp_dcomp[:] = np.nan
     iwp_dcomp[:] = np.nan
 
-    ice = iphase == 1
-    no_ice = iphase != 1
+    ice = iphase == 1 & keep
+    no_ice = iphase != 1 & keep
 
     # compute ice/liquid water path, g m-2
     reff *= 1.0e-06  # convert microns to meters
@@ -754,32 +763,11 @@ def make_for_full_domain_predict_viirs_clavrx(h5f, name_list=None, res_fac=1, da
 
     if use_nl_comp:
         cld_phase = get_grid_values(h5f, 'cloud_phase', j_0, i_0, None, num_j=ylen, num_i=xlen)
-        dims_2d = cld_phase.shape
-        cld_phase.flatten()
-        keep_0 = np.invert(np.isnan(cld_phase))
-
         cld_dz = get_grid_values(h5f, 'cld_geo_thick', j_0, i_0, None, num_j=ylen, num_i=xlen)
-        cld_dz.flatten()
-        keep_1 = np.logical_and(np.invert(np.isnan(cld_dz)), cld_dz > 5.0)
-
         reff = grd_dct['cld_reff_dcomp']
-        reff.flatten()
-        keep_2 = np.invert(np.isnan(reff))
-
         opd = grd_dct['cld_opd_dcomp']
-        opd.flatten()
-        keep_3 = np.invert(np.isnan(opd))
-
-        keep = keep_0 & keep_1 & keep_2 & keep_3
-
-        cld_phase = cld_phase[keep]
-        reff = reff[keep]
-        opd = opd[keep]
-        cld_dz = cld_dz[keep]
 
         lwc_nlcomp, iwc_nlcomp = compute_lwc_iwc(cld_phase, reff, opd, cld_dz)
-        lwc_nlcomp = np.reshape(lwc_nlcomp, dims_2d)
-        iwc_nlcomp = np.reshape(iwc_nlcomp, dims_2d)
         grd_dct['iwc_dcomp'] = iwc_nlcomp
         grd_dct['lwc_dcomp'] = lwc_nlcomp
 
-- 
GitLab