Skip to content
Snippets Groups Projects
Commit 91ab55a6 authored by tomrink's avatar tomrink
Browse files

snapshot...

parent 99166021
Branches
No related tags found
No related merge requests found
......@@ -947,22 +947,59 @@ def compare_amvs_bestfit(amvs_list, bfs_list, bin_size=200):
amvs = np.transpose(amvs, axes=[1, 0])
bfs = np.stack(bfs_list, axis=0)
didx = 4
sidx = 3
pidx = 2
good_amvs = amvs
num_good = good_amvs.shape[0]
didx = 6
sidx = 5
pidx = 4
vld_bf = bfs[:, 3] == 0
keep_idxs = vld_bf
print('Number of AMVs: {0:d}'.format(num_good))
spd_min = good_amvs[:, sidx].min()
spd_max = good_amvs[:, sidx].max()
print('spd min/max/mean: {0:.2f} {1:.2f} {2:.2f}'.format(spd_min, spd_max, np.average(good_amvs[:, sidx])))
p_min = good_amvs[:, pidx].min()
p_max = good_amvs[:, pidx].max()
print('pres min/max/mean: {0:.2f} {1:.2f} {2:.2f}'.format(p_min, p_max, np.average(good_amvs[:, pidx])))
low = good_amvs[:, pidx] >= 700
mid = np.logical_and(good_amvs[:, pidx] < 700, good_amvs[:, pidx] > 400)
hgh = good_amvs[:, pidx] <= 400
n_low = np.sum(low)
n_mid = np.sum(mid)
n_hgh = np.sum(hgh)
print('% low: {0:.2f}'.format(100.0*(n_low/num_good)))
print('% mid: {0:.2f}'.format(100.0*(n_mid/num_good)))
print('% hgh: {0:.2f}'.format(100.0*(n_hgh/num_good)))
print('---------------------------')
print('Low Spd min/max/mean: {0:.2f} {1:.2f} {2:.2f}'.format(good_amvs[low, sidx].min(), good_amvs[low, sidx].max(), good_amvs[low,sidx].mean()))
print('Low Press min/max/mean: {0:.2f} {1:.2f} {2:.2f}'.format(good_amvs[low, pidx].min(), good_amvs[low, pidx].max(), good_amvs[low, pidx].mean()))
print('---------------------------')
print('Mid Spd min/max/mean: {0:.2f} {1:.2f} {2:.2f}'.format(good_amvs[mid, sidx].min(), good_amvs[mid, sidx].max(), good_amvs[mid, sidx].mean()))
print('Mid Press min/max/mean: {0:.2f} {1:.2f} {2:.2f}'.format(good_amvs[mid, pidx].min(), good_amvs[mid, pidx].max(), good_amvs[mid, pidx].mean()))
print('---------------------------')
print('Hgh Spd min/max/mean: {0:.2f} {1:.2f} {2:.2f}'.format(good_amvs[hgh, sidx].min(), good_amvs[hgh, sidx].max(), good_amvs[hgh, sidx].mean()))
print('Hgh Press min/max/mean: {0:.2f} {1:.2f} {2:.2f}'.format(good_amvs[hgh, pidx].min(), good_amvs[hgh, pidx].max(), good_amvs[hgh, pidx].mean()))
# Comparison to Level of Best Fit (LBF) ------------------------------------------------------------------
# --------------------------------------------------------------------------------------------------------
bin_ranges = get_press_bin_ranges(50, 1050, bin_size=bin_size)
amv_p = amvs[keep_idxs, pidx]
vld_bf = bfs[:, 3] == 0
keep_idxs = vld_bf
amv_p = good_amvs[keep_idxs, pidx]
bf_p = bfs[keep_idxs, 2]
diff = amv_p - bf_p
mad = np.average(np.abs(diff))
bias = np.average(diff)
print('********************************************************')
print('Number of good best fits: ', bf_p.shape[0])
print('Number of good best fits to RAOB: ', bf_p.shape[0])
print('press, MAD: {0:.2f}'.format(mad))
print('press, bias: {0:.2f}'.format(bias))
pd_std = np.std(diff)
......@@ -972,8 +1009,8 @@ def compare_amvs_bestfit(amvs_list, bfs_list, bin_size=200):
bin_pres = bin_data_by(diff, amv_p, bin_ranges)
amv_spd = amvs[keep_idxs, sidx]
amv_dir = amvs[keep_idxs, didx]
amv_spd = good_amvs[keep_idxs, sidx]
amv_dir = good_amvs[keep_idxs, didx]
bf_spd, bf_dir = spd_dir_from_uv(bfs[keep_idxs, 0], bfs[keep_idxs, 1])
diff = amv_spd * units('m/s') - bf_spd
......@@ -994,7 +1031,7 @@ def compare_amvs_bestfit(amvs_list, bfs_list, bin_size=200):
print('-------------------------------------')
bin_dir = bin_data_by(dir_diff, amv_p, bin_ranges)
amv_u, amv_v = uv_from_spd_dir(amvs[keep_idxs, sidx], amvs[keep_idxs, didx])
amv_u, amv_v = uv_from_spd_dir(good_amvs[keep_idxs, sidx], good_amvs[keep_idxs, didx])
u_diffs = amv_u - (bfs[keep_idxs, 0] * units('m/s'))
v_diffs = amv_v - (bfs[keep_idxs, 1] * units('m/s'))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment