From 78985819210df99ca8ed9e5f69f257677801af95 Mon Sep 17 00:00:00 2001 From: tomrink <rink@ssec.wisc.edu> Date: Thu, 5 Aug 2021 19:30:54 -0500 Subject: [PATCH] more work on qc_icing/no_icing --- modules/icing/pirep_goes.py | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/modules/icing/pirep_goes.py b/modules/icing/pirep_goes.py index 69f10c24..177e8bd2 100644 --- a/modules/icing/pirep_goes.py +++ b/modules/icing/pirep_goes.py @@ -832,8 +832,10 @@ def apply_qc_icing_pireps(icing_alt, cld_top_hgt, cld_phase, cld_opd, cld_mask, def apply_qc_no_icing_pireps(icing_alt, cld_top_hgt, cld_phase, cld_opd, cld_mask, bt_11um, solzen, satzen, day_night='ANY'): opd_thick_threshold = 2 + opd_thin_threshold = 0.1 if day_night == 'DAY': opd_thick_threshold = 20 + opd_thin_threshold = 1 closeness = 100.0 # meters num_obs = len(icing_alt) cld_mask = cld_mask.reshape((num_obs, -1)) @@ -858,27 +860,32 @@ def apply_qc_no_icing_pireps(icing_alt, cld_top_hgt, cld_phase, cld_opd, cld_mas keep_0 = np.logical_or(cld_mask[i,] == 2, cld_mask[i,] == 3) # cloudy keep_1 = np.invert(np.isnan(cld_top_hgt[i,])) keep_2 = np.invert(np.isnan(bt_11um[i,])) - # keep_3 = np.invert(np.isnan(cld_opd[i,])) - # keep = keep_0 & keep_1 & keep_2 & keep_3 - # num_keep = np.sum(keep) - keep = keep_0 & keep_1 & keep_2 + keep_3 = np.invert(np.isnan(cld_opd[i,])) + keep = keep_0 & keep_1 & keep_2 & keep_3 num_keep = np.sum(keep) if num_keep == 0: continue + # Test1 keep = np.where(keep, cld_top_hgt[i,] > icing_alt[i], False) - # keep = np.where(keep, - # np.invert((cld_phase[i,] == 4) & - # np.logical_and(cld_top_hgt[i,]+closeness > icing_alt[i], cld_top_hgt[i,]-closeness < icing_alt[i])), - # False) - # keep = np.where(keep, (cld_opd[i,] >= opd_thick_threshold) & (cld_phase[i,] == 4) & (cld_top_hgt[i,] > icing_alt[i]), False) - # - # keep = np.where(keep, np.invert((cld_phase[i,] == 4) & (cld_opd[i,] < 0.1) & (cld_top_hgt[i,] > icing_alt[i])), False) - # - keep = np.where(keep, bt_11um[i,] > 270.0, False) - - keep = np.where(keep, bt_11um[i,] < 228.0, False) + # Test2 + keep = np.where(keep, + ((cld_phase[i,] == 4) & + np.logical_and(cld_top_hgt[i,]+closeness > icing_alt[i], cld_top_hgt[i,]-closeness < icing_alt[i])), + False) + + # Test4 + keep = np.where(keep, ((cld_phase[i,] == 4) & (cld_opd[i,] < opd_thin_threshold) & (cld_top_hgt[i,] > icing_alt[i])), False) + + # Test5 + keep = np.where(keep, (bt_11um[i,] > 270.0), False) + + # Test6 + keep = np.where(keep, (bt_11um[i,] < 228.0), False) + + # Test3 + keep = np.where(keep, np.invert((cld_opd[i,] >= opd_thick_threshold) & (cld_phase[i,] == 4) & (cld_top_hgt[i,] > icing_alt[i])), False) mask.append(keep) idxs.append(i) -- GitLab