diff --git a/modules/deeplearning/cloud_fraction_fcn_abi.py b/modules/deeplearning/cloud_fraction_fcn_abi.py index 63bce62f7c42f11669775fc87f0b618b6bae87b3..3e7008d7055b627e3cdc94916274b2c5bb4ce71e 100644 --- a/modules/deeplearning/cloud_fraction_fcn_abi.py +++ b/modules/deeplearning/cloud_fraction_fcn_abi.py @@ -186,6 +186,32 @@ def get_label_data_5cat(grd_k): return s +def get_label_data_8cat(grd_k): + grd_k = np.where(np.isnan(grd_k), 0, grd_k) + grd_k = np.where(grd_k < 0.5, 0, 1) + + s = grd_k[:, 0::4, 0::4] + grd_k[:, 1::4, 0::4] + grd_k[:, 2::4, 0::4] + grd_k[:, 3::4, 0::4] + \ + grd_k[:, 0::4, 1::4] + grd_k[:, 1::4, 1::4] + grd_k[:, 2::4, 1::4] + grd_k[:, 3::4, 1::4] + \ + 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 < 1) # CLDY + cat_1 = np.logical_and(s >= 1, s < 4) + cat_2 = np.logical_and(s >= 4, s < 6) + cat_3 = np.logical_and(s >= 6, s < 9) + cat_4 = np.logical_and(s >= 9, s < 11) + cat_5 = np.logical_and(s >= 11, s < 14) + cat_6 = np.logical_and(s >= 14, s <= 15) + cat_7 = np.logical_and(s > 15, s <= 16) # CLR + + s[cat_0] = 0 + s[cat_1] = 1 + s[cat_2] = 2 + s[cat_3] = 3 + s[cat_4] = 4 + + return s + def get_label_data(grd_k): grd_k = np.where(np.isnan(grd_k), 0, grd_k) grd_k = np.where(grd_k < 0.5, 0, 1)