diff --git a/modules/icing/pirep_goes.py b/modules/icing/pirep_goes.py index a3b24a18882a3bd21fca8e7339cdccfe0bc787d7..800b29751eb717953e75571fc401d71740a9299d 100644 --- a/modules/icing/pirep_goes.py +++ b/modules/icing/pirep_goes.py @@ -1590,61 +1590,61 @@ def tile_extract(icing_files, no_icing_files, trnfile='/home/rink/tiles_train.h5 ice_flt_alt_s = np.array(ice_flt_alt_s) num_ice = icing_int_s.shape[0] - # # No icing ------------------------------------------------------------ - # num_no_ice = 0 - # for fidx in range(len(no_icing_files)): - # fname = no_icing_files[fidx] - # f = h5py.File(fname, 'r') - # h5_s_no_icing.append(f) - # - # times = f['time'] - # num_obs = len(times) - # lons = f['longitude'] - # lats = f['latitude'] - # flt_altitude = f['icing_altitude'][:] - # - # for i in range(num_obs): - # cld_msk = f[cld_mask_name][i, n_a:n_b, m_a:m_b] - # for ds_name in params: - # dat = f[ds_name][i, n_a:n_b, m_a:m_b] - # if L1B_or_L2 == 'L2': - # keep = np.logical_or(cld_msk == 2, cld_msk == 3) # cloudy - # np.where(keep, dat, np.nan) - # no_icing_data_dct[ds_name].append(dat) - # num_no_ice += 1 - # no_ice_time_s.append(times[i]) - # no_ice_lon_s.append(lons[i]) - # no_ice_lat_s.append(lats[i]) - # no_ice_flt_alt_s.append(flt_altitude[i]) - # - # print(fname) - # - # for ds_name in params: - # lst = no_icing_data_dct[ds_name] - # no_icing_data_dct[ds_name] = np.stack(lst, axis=0) - # no_icing_int_s = np.full(num_no_ice, -1) - # no_ice_time_s = np.array(no_ice_time_s) - # no_ice_lon_s = np.array(no_ice_lon_s) - # no_ice_lat_s = np.array(no_ice_lat_s) - # no_ice_flt_alt_s = np.array(no_ice_flt_alt_s) - # - # icing_intensity = np.concatenate([icing_int_s, no_icing_int_s]) - # icing_times = np.concatenate([ice_time_s, no_ice_time_s]) - # icing_lons = np.concatenate([ice_lon_s, no_ice_lon_s]) - # icing_lats = np.concatenate([ice_lat_s, no_ice_lat_s]) - # icing_alt = np.concatenate([ice_flt_alt_s, no_ice_flt_alt_s]) - - icing_intensity = icing_int_s - icing_times = ice_time_s - icing_lons = ice_lon_s - icing_lats = ice_lat_s - icing_alt = ice_flt_alt_s + # No icing ------------------------------------------------------------ + num_no_ice = 0 + for fidx in range(len(no_icing_files)): + fname = no_icing_files[fidx] + f = h5py.File(fname, 'r') + h5_s_no_icing.append(f) + + times = f['time'] + num_obs = len(times) + lons = f['longitude'] + lats = f['latitude'] + flt_altitude = f['icing_altitude'][:] + + for i in range(num_obs): + cld_msk = f[cld_mask_name][i, n_a:n_b, m_a:m_b] + for ds_name in params: + dat = f[ds_name][i, n_a:n_b, m_a:m_b] + if L1B_or_L2 == 'L2': + keep = np.logical_or(cld_msk == 2, cld_msk == 3) # cloudy + np.where(keep, dat, np.nan) + no_icing_data_dct[ds_name].append(dat) + num_no_ice += 1 + no_ice_time_s.append(times[i]) + no_ice_lon_s.append(lons[i]) + no_ice_lat_s.append(lats[i]) + no_ice_flt_alt_s.append(flt_altitude[i]) + + print(fname) + + for ds_name in params: + lst = no_icing_data_dct[ds_name] + no_icing_data_dct[ds_name] = np.stack(lst, axis=0) + no_icing_int_s = np.full(num_no_ice, -1) + no_ice_time_s = np.array(no_ice_time_s) + no_ice_lon_s = np.array(no_ice_lon_s) + no_ice_lat_s = np.array(no_ice_lat_s) + no_ice_flt_alt_s = np.array(no_ice_flt_alt_s) + + icing_intensity = np.concatenate([icing_int_s, no_icing_int_s]) + icing_times = np.concatenate([ice_time_s, no_ice_time_s]) + icing_lons = np.concatenate([ice_lon_s, no_ice_lon_s]) + icing_lats = np.concatenate([ice_lat_s, no_ice_lat_s]) + icing_alt = np.concatenate([ice_flt_alt_s, no_ice_flt_alt_s]) + + # icing_intensity = icing_int_s + # icing_times = ice_time_s + # icing_lons = ice_lon_s + # icing_lats = ice_lat_s + # icing_alt = ice_flt_alt_s data_dct = {} - # for ds_name in params: - # data_dct[ds_name] = np.concatenate([icing_data_dct[ds_name], no_icing_data_dct[ds_name]]) for ds_name in params: - data_dct[ds_name] = icing_data_dct[ds_name] + data_dct[ds_name] = np.concatenate([icing_data_dct[ds_name], no_icing_data_dct[ds_name]]) + # for ds_name in params: + # data_dct[ds_name] = icing_data_dct[ds_name] # do sort ------------------------------------- ds_indexes = np.argsort(icing_times) @@ -1789,8 +1789,8 @@ def tile_extract(icing_files, no_icing_files, trnfile='/home/rink/tiles_train.h5 for h5f in h5_s_icing: h5f.close() - # for h5f in h5_s_no_icing: - # h5f.close() + for h5f in h5_s_no_icing: + h5f.close() def write_file(outfile, params, param_types, data_dct, icing_intensity, icing_times, icing_lons, icing_lats, icing_alt):