From 6b116eea9aca494f85db4a623ef1cabab87ba835 Mon Sep 17 00:00:00 2001 From: tomrink <rink@ssec.wisc.edu> Date: Mon, 21 Dec 2020 11:59:44 -0600 Subject: [PATCH] snapshot... --- modules/aeolus/aeolus_amv.py | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/modules/aeolus/aeolus_amv.py b/modules/aeolus/aeolus_amv.py index 9a32208d..19802e36 100644 --- a/modules/aeolus/aeolus_amv.py +++ b/modules/aeolus/aeolus_amv.py @@ -1068,7 +1068,7 @@ def compare_amvs_bestfit_driver(all_list, bin_size=200): amvs_list = [] bfs_list = [] rb_list = [] - gfs_list = [] + bfs_gfs_list = [] prd_list = [] for tup in all_list: ab_dct = tup[0] @@ -1080,7 +1080,7 @@ def compare_amvs_bestfit_driver(all_list, bin_size=200): amvs_list.append(tup[0]) bfs_list.append(tup[1]) rb_list.append(tup[2]) - gfs_list.append(tup[3]) + bfs_gfs_list.append(tup[3]) keys = list(pr_dct.keys()) for key in keys: @@ -1106,12 +1106,12 @@ def compare_amvs_bestfit_driver(all_list, bin_size=200): amvs = np.concatenate(amvs_list) bfs = np.concatenate(bfs_list) rbm = np.concatenate(rb_list) - gfs_bfs = np.concatenate(gfs_list) + bfs_gfs = np.concatenate(bfs_gfs_list) prd = np.concatenate(prd_list) thin = np.logical_and(prd[:, 2] > 0, prd[:, 2] < 1) - thick = np.logical_and(prd[:, 2] >= 1, prd[:, 2] < 18) - deep = np.logical_and(prd[:, 2] >= 18, prd[:, 2] <= 20) + thick = np.logical_and(prd[:, 2] >= 1, prd[:, 2] < 6) + deep = np.logical_and(prd[:, 2] >= 6, prd[:, 2] <= 20) amvs_thin = amvs[thin, :] amvs_thick = amvs[thick, :] @@ -1121,11 +1121,22 @@ def compare_amvs_bestfit_driver(all_list, bin_size=200): bfs_thick = bfs[thick, :] bfs_deep = bfs[deep, :] + bfs_gfs_thin = bfs_gfs[thin, :] + bfs_gfs_thick = bfs_gfs[thick, :] + bfs_gfs_deep = bfs_gfs[deep, :] + + values = [] + bin_ranges, bin_pres, bin_spd, bin_dir = compare_amvs_bestfit(amvs_thin, bfs_thin, bin_size=bin_size) + values.append(bin_pres) + bin_ranges, bin_pres, bin_spd, bin_dir = compare_amvs_bestfit(amvs_thick, bfs_thick, bin_size=bin_size) + values.append(bin_pres) bin_ranges, bin_pres, bin_spd, bin_dir = compare_amvs_bestfit(amvs, bfs, bin_size=bin_size) - #bin_ranges, bin_pres, bin_spd, bin_dir = compare_amvs_bestfit(amvs_thin, bfs_thin, bin_size=bin_size) + values.append(bin_pres) #bin_ranges, bin_pres, bin_spd, bin_dir = compare_amvs_bestfit(amvs_thick, bfs_thick, bin_size=bin_size) #bin_ranges, bin_pres, bin_spd, bin_dir = compare_amvs_bestfit(amvs_deep, bfs_deep, bin_size=bin_size) + make_plot(bin_ranges, values) + def compare_amvs_bestfit(amvs, bfs, bin_size=200): @@ -1246,10 +1257,14 @@ def make_plot(bin_ranges, bin_values): bin_vals_r = bin_values[0] bin_vals_g = bin_values[1] + bin_vals = bin_values[2] x_values = [] num_vals_r = [] num_vals_g = [] + num_vals = [] + mad = [] + bias = [] mad_r = [] bias_r = [] mad_g = [] @@ -1258,15 +1273,18 @@ def make_plot(bin_ranges, bin_values): num_r = 0 num_g = 0 + num = 0 for i in range(len(bin_ranges)): num_r += bin_vals_r[i].shape[0] num_g += bin_vals_g[i].shape[0] + num += bin_vals[i].shape[0] for i in range(len(bin_ranges)): x_values.append(np.average(bin_ranges[i])) num_vals_r.append((bin_vals_r[i].shape[0])/num_r) num_vals_g.append((bin_vals_g[i].shape[0])/num_g) + num_vals.append((bin_vals[i].shape[0])/num) mad_r.append(np.average(np.abs(bin_vals_r[i]))) bias_r.append(np.average(bin_vals_r[i])) @@ -1274,9 +1292,11 @@ def make_plot(bin_ranges, bin_values): mad_g.append(np.average(np.abs(bin_vals_g[i]))) bias_g.append(np.average(bin_vals_g[i])) + mad.append(np.average(np.abs(bin_vals[i]))) + bias.append(np.average(bin_vals[i])) - do_plot(x_values, [mad_r, mad_g], ['GFS_linear', 'GFS_nearest'], ['blue', 'red'], title='ACHA - BestFit', x_axis_label='MAD', y_axis_label='hPa', invert=True, flip=True) + do_plot(x_values, [bias_r, bias_g, bias], ['THIN', 'THICK', 'ALL'], ['blue', 'red', 'black'], title='ACHA - BestFit (RAOB)', x_axis_label='BIAS', y_axis_label='hPa', invert=True, flip=True) #do_plot(x_values, [pres_mad_r, pres_mad_g], ['RAOB', 'GFS'], ['blue', 'red'], title='ACHA - BestFit', x_axis_label='MAD', y_axis_label='hPa', invert=True, flip=True) #do_plot(x_values, [spd_mad_r, spd_mad_g], ['RAOB', 'GFS'], ['blue', 'red'], title='ACHA - BestFit', x_axis_label='MAE (m/s)', y_axis_label='hPa', invert=True, flip=True) #do_plot(x_values, [pres_bias_r, pres_bias_g], ['RAOB', 'GFS'], ['blue', 'red'], title='ACHA - BestFit', x_axis_label='BIAS', y_axis_label='hPa', invert=True, flip=True) -- GitLab