From c52ce979d373bbcaea92eae0e78bdd61e0e40db5 Mon Sep 17 00:00:00 2001 From: tomrink <rink@ssec.wisc.edu> Date: Thu, 4 Jan 2024 18:59:14 -0600 Subject: [PATCH] snapshot... --- modules/util/abi_surfrad.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/modules/util/abi_surfrad.py b/modules/util/abi_surfrad.py index f7faf59b..4b4427bb 100644 --- a/modules/util/abi_surfrad.py +++ b/modules/util/abi_surfrad.py @@ -70,10 +70,21 @@ def process_cld_prob(grd_k): def process_cloud_frac(grd_k): - pass + keep = np.invert(np.isnan(grd_k)) + num_keep = np.sum(keep) + + grd_by_cat = get_cloud_frac_5cat(grd_k) + # if at least 20% mixed pass + keep_mix = np.where(keep, 0 < grd_by_cat < 4, False) + frac_mix = np.sum(keep_mix)/num_keep + if frac_mix < 0.20: + return None + grd_k = np.where(np.invert(keep), 0, grd_k) # Convert NaN to 0 + return grd_k def get_cloud_frac_5cat(grd_k): + grd_k = grd_k.copy() grd_k = np.where(np.isnan(grd_k), 0, grd_k) grd_k = np.where(grd_k < 0.5, 0, 1) @@ -82,11 +93,11 @@ def get_cloud_frac_5cat(grd_k): grd_k[:, 0::4, 2::4] + grd_k[:, 1::4, 2::4] + grd_k[:, 2::4, 2::4] + grd_k[:, 3::4, 2::4] + \ grd_k[:, 0::4, 3::4] + grd_k[:, 1::4, 3::4] + grd_k[:, 2::4, 3::4] + grd_k[:, 3::4, 3::4] - cat_0 = np.logical_and(s >= 0, s < 2) - cat_1 = np.logical_and(s >= 2, s < 6) + cat_0 = np.logical_and(s >= 0, s < 1) + cat_1 = np.logical_and(s >= 1, s < 6) cat_2 = np.logical_and(s >= 6, s < 11) - cat_3 = np.logical_and(s >= 11, s < 15) - cat_4 = np.logical_and(s >= 15, s <= 16) + cat_3 = np.logical_and(s >= 11, s <= 15) + cat_4 = np.logical_and(s > 15, s <= 16) s[cat_0] = 0 s[cat_1] = 1 -- GitLab