diff --git a/modules/icing/pirep_goes.py b/modules/icing/pirep_goes.py index e6535722743daa85ebf5744b543b76c40cce5061..0a383550dab304189e614d6fb0d35c1e129d0aaf 100644 --- a/modules/icing/pirep_goes.py +++ b/modules/icing/pirep_goes.py @@ -1572,18 +1572,49 @@ def analyze_moon_phase(icing_dict): print(len(icing_dict), cnt) -def collect(icing_times, icing_intensity): +def collect(icing_times, icing_intensity, jdays=['071', '072', '074', '079', '080', '081', '082', '084', '085', '088', + '107', '110', '113', '117', '119', '129', '132', '134', '139', '150', '164', '203', '205', '232', '252', '254']): + nbins = 6 - jdays = ['071', '072', '074', '079', '080', '081', '082', '084', '085', '088', '107', '110', '113', - '117', '119', '129', '132', '134', '139', '150', '164', '203', '205', '232', '252', '254'] - keep_idxs = [[[] for j in range(nbins)] for i in range(len(jdays))] + keep_idxs_yes = [[[] for j in range(nbins)] for i in range(len(jdays))] + keep_idxs_no = [[[] for j in range(nbins)] for i in range(len(jdays))] + ice_intsy = [[[] for j in range(7)] for i in range(len(jdays))] for jidx, jd in enumerate(jdays): + _, ts_edges = make_times('2019-' + jd + '_00:00', None, num_steps=6, format_code='%Y-%j_%H:%M', hours=4) + fltr_times, fltr_idxs = time_filter_2(icing_times, '2019-'+jd+'_00:00', '2019-'+jd+'_23:59', format_code='%Y-%j_%H:%M') - _, ts_edges = make_times('2019-'+jd+'_00:00', None, num_steps=6, format_code='%Y-%j_%H:%M', hours=4) bin_idxs = find_bin_index(np.array(ts_edges), np.array(fltr_times)) + for cnt, bi in enumerate(bin_idxs): + #keep_idxs[jidx][bi].append(fltr_idxs[cnt]) + k = fltr_idxs[cnt] + if icing_intensity[k] == -1: + keep_idxs_no[jidx][bi].append(k) + else: + keep_idxs_yes[jidx][bi].append(k) + + ice_intsy[jidx][0] = np.sum(icing_intensity[fltr_idxs] == -1) + ice_intsy[jidx][1] = np.sum(icing_intensity[fltr_idxs] == 1) + ice_intsy[jidx][2] = np.sum(icing_intensity[fltr_idxs] == 2) + ice_intsy[jidx][3] = np.sum(icing_intensity[fltr_idxs] == 3) + ice_intsy[jidx][4] = np.sum(icing_intensity[fltr_idxs] == 4) + ice_intsy[jidx][5] = np.sum(icing_intensity[fltr_idxs] == 5) + ice_intsy[jidx][6] = np.sum(icing_intensity[fltr_idxs] == 6) + + print(jd, ' --------------------') + for j in range(nbins): + print(len(keep_idxs_no[jidx][j]), len(keep_idxs_yes[jidx][j])) + print('no icing: ', ice_intsy[jidx][0]) + print('icing 1: ', ice_intsy[jidx][1]) + print('icing 2: ', ice_intsy[jidx][2]) + print('icing 3: ', ice_intsy[jidx][3]) + print('icing 4: ', ice_intsy[jidx][4]) + print('icing 5: ', ice_intsy[jidx][5]) + print('icing 6: ', ice_intsy[jidx][6]) + + return keep_idxs_no, keep_idxs_yes, ice_intsy # ------------ This code will not be needed when we implement a Fully Connected CNN -----------------------------------