Skip to content
Snippets Groups Projects
Commit 78985819 authored by tomrink's avatar tomrink
Browse files

more work on qc_icing/no_icing

parent 7656d143
Branches
No related tags found
No related merge requests found
......@@ -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)
# 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)
keep = np.where(keep, bt_11um[i,] < 228.0, 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)
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment