From f163a7f2f08a95916ad4e79cbdaf221b149ea085 Mon Sep 17 00:00:00 2001
From: tomrink <rink@ssec.wisc.edu>
Date: Sun, 17 Jan 2021 17:26:07 -0600
Subject: [PATCH] snapshot...

---
 modules/aeolus/aeolus_amv.py | 11 +++++++++--
 modules/aeolus/datasource.py |  2 ++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/modules/aeolus/aeolus_amv.py b/modules/aeolus/aeolus_amv.py
index b44f163c..9bb73d8c 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 e3d9c743..586d79e3 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
-- 
GitLab