diff --git a/modules/aeolus/aeolus_amv.py b/modules/aeolus/aeolus_amv.py index b44f163cd2397a74384a4a92920393d5cf0696bf..9bb73d8c2ecf5ebd8fbe2fbe970fd6a70bf17887 100644 --- a/modules/aeolus/aeolus_amv.py +++ b/modules/aeolus/aeolus_amv.py @@ -241,6 +241,7 @@ def create_file2(filename, raob_to_amv_dct, raob_dct, amv_files): def run_best_fit_all(amv_dir, source, product_dir, product, raob_path=None, gfs_path=None, full_domain=False): amv_files = get_datasource(amv_dir, 10, source) prd_files = get_datasource(product_dir, 10, product) + gfs_files = get_datasource(gfs_path, 10, 'GFS') raob_dir = '/home/rink/data/raob/' raob_files = ['raob_soundings20191117_0000.cdf', @@ -284,7 +285,10 @@ def run_best_fit_all(amv_dir, source, product_dir, product, raob_path=None, gfs_ for k, file in enumerate(raob_files): raob_dct, ts = get_raob_dict_cdf(raob_dir+file) m_d = match_amvs_to_raobs(raob_dct, ts, amv_files) - bf_dct = run_best_fit(m_d, raob_dct, gfs_dir+gfs_files[k]) + gfs_file = gfs_files.get_file(ts)[0] + if gfs_file is None: + continue + bf_dct = run_best_fit(m_d, raob_dct, gfs_file) prd_dct = get_product_at_locs(m_d, ts, prd_files) out_list.append((bf_dct, prd_dct)) @@ -316,7 +320,10 @@ def run_best_fit_all(amv_dir, source, product_dir, product, raob_path=None, gfs_ for k, file in enumerate(raob_files): raob_dct, ts = get_raob_dict_cdf(raob_dir+file) amvs = get_amvs(amv_files, ts) - bfs = run_best_fit_gfs(amvs, gfs_dir+gfs_files[k], amv_lat_idx=0, amv_lon_idx=1, amv_prs_idx=4, amv_spd_idx=5, amv_dir_idx=6) + gfs_file = gfs_files.get_file(ts)[0] + if gfs_file is None: + continue + bfs = run_best_fit_gfs(amvs, gfs_file, amv_lat_idx=0, amv_lon_idx=1, amv_prs_idx=4, amv_spd_idx=5, amv_dir_idx=6) alons = amvs[:, 0] alats = amvs[:, 1] prds = get_product_at_lat_lons(prd_files, ts, alons, alats, filepath=None) diff --git a/modules/aeolus/datasource.py b/modules/aeolus/datasource.py index e3d9c743051a4b3dc4f91a4c3411e8eec7a4926b..586d79e32e332911d970363c4f3af2d2b89898b9 100644 --- a/modules/aeolus/datasource.py +++ b/modules/aeolus/datasource.py @@ -335,5 +335,7 @@ def get_datasource(files_path, file_time_span, source, band='14'): return FrameworkCloudPhase(files_path, file_time_span) elif source == 'OPS_CLD_PHASE': return OpsCloudPhase(files_path, file_time_span) + elif source == 'GFS': + return GFSfiles(files_path, file_time_span, 'gfs*.h5') else: raise GenericException('Unknown data source type') \ No newline at end of file