diff --git a/modules/icing/pirep_goes.py b/modules/icing/pirep_goes.py index b808b62d2e582e8d8e9d84b8dc6f8a13dcd2f3a1..92b3be0363c83cdd73225a7c542d8d38c7ea1daa 100644 --- a/modules/icing/pirep_goes.py +++ b/modules/icing/pirep_goes.py @@ -1490,6 +1490,50 @@ def run_mean_std_2(check_cloudy=False, no_icing_to_icing_ratio=5, params=train_p pickle.dump(mean_std_dct, f) f.close() + +def run_mean_std_3(train_file_path, check_cloudy=False, params=train_params_day): + + # params = ['cld_height_acha', 'cld_geo_thick', 'cld_press_acha', 'supercooled_cloud_fraction', 'cld_temp_acha', 'cld_opd_acha', + # 'cld_reff_acha', 'cld_reff_dcomp', 'cld_reff_dcomp_1', 'cld_reff_dcomp_2', 'cld_reff_dcomp_3', + # 'cld_opd_dcomp', 'cld_opd_dcomp_1', 'cld_opd_dcomp_2', 'cld_opd_dcomp_3', 'cld_cwp_dcomp', 'iwc_dcomp', + # 'lwc_dcomp', 'cld_emiss_acha', 'conv_cloud_fraction'] + #check_cloudy = True + + params = ['temp_10_4um_nom', 'temp_11_0um_nom', 'temp_12_0um_nom', 'temp_13_3um_nom', 'temp_3_75um_nom', + 'temp_6_2um_nom', 'temp_6_7um_nom', 'temp_7_3um_nom', 'temp_8_5um_nom', 'temp_9_7um_nom', + 'refl_0_47um_nom', 'refl_0_65um_nom', 'refl_0_86um_nom', 'refl_1_38um_nom', 'refl_1_60um_nom'] + check_cloudy = False + + mean_std_lo_hi_dct = {} + + h5f = h5py.File(train_file_path, 'r') + + if check_cloudy: + cld_msk = h5f['cloud_mask'][:].flatten() + + for dname in params: + data = h5f[dname][:,].flatten() + + if check_cloudy: + keep = np.logical_or(cld_msk == 2, cld_msk == 3) + data = data[keep] + + lo = np.nanmin(data) + hi = np.nanmax(data) + mean = np.nanmean(data) + data -= mean + std = np.nanstd(data) + + print(dname,': ', mean, std, lo, hi) + + mean_std_lo_hi_dct[dname] = (mean, std, lo, hi) + + h5f.close() + + f = open('/Users/tomrink/data/icing/mean_std_lo_hi_test.pkl', 'wb') + pickle.dump(mean_std_lo_hi_dct, f) + f.close() + # def split_data(num_obs, perc=0.2, skip=1, shuffle=True, seed=None): # idxs = np.arange(num_obs) # idxs = list(idxs)