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