diff --git a/modules/aeolus/aeolus_amv.py b/modules/aeolus/aeolus_amv.py index 929388214a55a7d3860b5d654f4a135981c97966..36a83cf6e3ab9fe6b17cea09cbaf8655b9f2c499 100644 --- a/modules/aeolus/aeolus_amv.py +++ b/modules/aeolus/aeolus_amv.py @@ -419,7 +419,7 @@ def run_best_fit_all(): raob_dct, ts = get_raob_dict_cdf(raob_dir+file, raob_dtsts[k]) m_d = match_amvs_to_raobs(raob_dct, ts, amv_files=amv_files) amvs_list, bf_list, raob_match_list, bf_gfs_list = run_best_fit(m_d, raob_dct, gfs_dir+gfs_files[k]) - analyze2(None, None, amvs_list, bf_list, raob_match_list, bf_gfs_list) + analyze2(amvs_list, bf_list, raob_match_list, bf_gfs_list) def run_best_fit(raob_to_amv_dct, raob_dct, gfs_filename=None): @@ -484,64 +484,7 @@ def run_best_fit(raob_to_amv_dct, raob_dct, gfs_filename=None): return amvs_list, bf_list, raob_match_list, bf_gfs_list -def analyze2(raob_to_amv_dct, raob_dct, amvs_list, bf_list, raob_match_list, bf_gfs_list, gfs_filename=None): - # keys = list(raob_to_amv_dct.keys()) - # - # do_gfs_best_fit = False - # gfs_press = None - # gfs_spd = None - # gfs_dir = None - # bf_gfs_list = None - # if gfs_filename is not None: - # locs = np.array(keys) - # do_gfs_best_fit = True - # xr_dataset = xr.open_dataset(gfs_filename) - # bf_gfs_list = [] - # gfs_press = xr_dataset['pressure levels'] - # gfs_press = gfs_press.values - # gfs_press = gfs_press[::-1] - # - # uv_wind = get_vert_profile_s(xr_dataset, ['u-wind', 'v-wind'], locs[:, 1], locs[:, 0], method='nearest') - # uv_wind = uv_wind.values - # wspd, wdir = spd_dir_from_uv(uv_wind[0, :, :], uv_wind[1, :, :]) - # wspd = wspd.magnitude - # wdir = wdir.magnitude - # gfs_spd = wspd[:, ::-1] - # gfs_dir = wdir[:, ::-1] - # - # amvs_list = [] - # bf_list = [] - # raob_match_list = [] - # for key_idx, key in enumerate(keys): - # raob = raob_dct.get(key) - # nlevs = raob.shape[0] - # raob_prs = raob[:, 0] - # raob_spd = raob[:, 2] - # raob_dir = raob[:, 3] - # amvs = raob_to_amv_dct.get(key) - # amvs_list.append(amvs) - # num_amvs = amvs.shape[1] - # for i in range(num_amvs): - # amv_lon = amvs[0, i] - # amv_lat = amvs[1, i] - # amv_prs = amvs[4, i] - # amv_spd = amvs[5, i] - # amv_dir = amvs[6, i] - # - # bf = best_fit(amv_spd, amv_dir, amv_prs, amv_lat, amv_lon, raob_spd, raob_dir, raob_prs) - # bf_list.append(bf) - # - # pdiff = amv_prs - raob_prs - # lev_idx = np.argmin(np.abs(pdiff)) - # if np.abs(pdiff[lev_idx]) > 100.0: - # tup = (raob_spd[lev_idx], raob_dir[lev_idx], raob_prs[lev_idx], -9) - # else: - # tup = (raob_spd[lev_idx], raob_dir[lev_idx], raob_prs[lev_idx], 0) - # raob_match_list.append(tup) - # - # if do_gfs_best_fit: - # bf = best_fit(amv_spd, amv_dir, amv_prs, amv_lat, amv_lon, gfs_spd[key_idx], gfs_dir[key_idx], gfs_press) - # bf_gfs_list.append(bf) +def analyze2(amvs_list, bf_list, raob_match_list, bf_gfs_list): amvs = np.concatenate(amvs_list, axis=1) amvs = np.transpose(amvs, axes=[1, 0])