diff --git a/modules/icing/pirep_goes.py b/modules/icing/pirep_goes.py index 20166a07572950a75c20fc21b3a61f3c483eb78a..2c70b4ed89523a90bebec76a4e1ccf9117fa3ab1 100644 --- a/modules/icing/pirep_goes.py +++ b/modules/icing/pirep_goes.py @@ -820,11 +820,14 @@ 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 + elif day_night == 'NIGHT' or day_night == 'ANY': + opd_thick_threshold = 2 + opd_thin_threshold = 0.1 + closeness = 100.0 # meters num_obs = len(icing_alt) cld_mask = cld_mask.reshape((num_obs, -1)) @@ -843,6 +846,9 @@ def apply_qc_no_icing_pireps(icing_alt, cld_top_hgt, cld_phase, cld_opd, cld_mas continue elif day_night == 'DAY' and not is_day(solzen[i,]): continue + elif day_night == 'ANY': + if not (is_day(solzen[i,]) or is_night(solzen[i,])): + continue keep_0 = np.logical_or(cld_mask[i,] == 2, cld_mask[i,] == 3) # cloudy keep_1 = np.invert(np.isnan(cld_top_hgt[i,])) @@ -856,22 +862,7 @@ def apply_qc_no_icing_pireps(icing_alt, cld_top_hgt, cld_phase, cld_opd, cld_mas # Test1 keep = np.where(keep, cld_top_hgt[i,] > icing_alt[i], 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 + # 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)