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

snapshot...

parent c32dded5
Branches
No related tags found
No related merge requests found
...@@ -475,14 +475,19 @@ def get_raob_neighbors(lats, lons, raob_dct, dist_threshold=150): ...@@ -475,14 +475,19 @@ def get_raob_neighbors(lats, lons, raob_dct, dist_threshold=150):
alon = lons[j] alon = lons[j]
dist = haversine_np(rlons, rlats, alon, alat) dist = haversine_np(rlons, rlats, alon, alat)
ridxs = (np.nonzero(dist < dist_threshold))[0] ridxs = (np.nonzero(dist < dist_threshold))[0]
if ridxs.shape[0] != 0: if ridxs.shape[0] != 0:
# sort by distance
dist = dist[ridxs]
sidxs = np.argsort(dist)
dist = dist[sidxs]
ridxs = ridxs[sidxs]
nbor_keys = [] nbor_keys = []
for i in range(ridxs.shape[0]): for i in range(ridxs.shape[0]):
nbor_keys.append(keys[ridxs[i]]) nbor_keys.append(keys[ridxs[i]])
nbor_dct[j] = (nbor_keys, dist[ridxs]) nbor_dct[j] = (nbor_keys, dist)
else: else:
nbor_dct[j] = None nbor_dct[j] = None
...@@ -544,9 +549,9 @@ def amv_raob_diff(amv_lat, amv_lon, amv_spd, amv_dir, amv_press, raob_dct): ...@@ -544,9 +549,9 @@ def amv_raob_diff(amv_lat, amv_lon, amv_spd, amv_dir, amv_press, raob_dct):
tup = raob_nbor_dct[j] tup = raob_nbor_dct[j]
if tup is not None: if tup is not None:
nbor_keys = tup[0] nbor_keys = tup[0]
nbor_dsts = tup[1] # nbor_dsts = tup[1] future use maybe
for ll_tup in nbor_keys: for ll_tup in nbor_keys: # using only closest (see break below)
raob = raob_dct.get(ll_tup) raob = raob_dct.get(ll_tup)
pdiff = amv_press[j] - raob[:, raob_pres_idx] pdiff = amv_press[j] - raob[:, raob_pres_idx]
...@@ -577,6 +582,8 @@ def amv_raob_diff(amv_lat, amv_lon, amv_spd, amv_dir, amv_press, raob_dct): ...@@ -577,6 +582,8 @@ def amv_raob_diff(amv_lat, amv_lon, amv_spd, amv_dir, amv_press, raob_dct):
v_diffs.append(vdiff) v_diffs.append(vdiff)
prs_diffs.append(pdiff[lev_idx]) prs_diffs.append(pdiff[lev_idx])
break # Use first (closest) raob only
num = len(u_diffs) num = len(u_diffs)
dir_diffs = np.array(dir_diffs) dir_diffs = np.array(dir_diffs)
spd_diffs = np.array(spd_diffs) spd_diffs = np.array(spd_diffs)
...@@ -627,7 +634,7 @@ def run_best_fit(amvs, raob_dct, dist_threshold=200, min_num_levs=20): ...@@ -627,7 +634,7 @@ def run_best_fit(amvs, raob_dct, dist_threshold=200, min_num_levs=20):
s_i = np.argsort(nbor_dsts).tolist() s_i = np.argsort(nbor_dsts).tolist()
for k in range(len(nbor_keys)): for k in range(len(nbor_keys)):
dist = nbor_dsts[s_i[k]] # dist = nbor_dsts[s_i[k]]
ll_tup = nbor_keys[s_i[k]] ll_tup = nbor_keys[s_i[k]]
raob = raob_dct.get(ll_tup) raob = raob_dct.get(ll_tup)
... ...
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment