diff --git a/modules/aeolus/aeolus_amv.py b/modules/aeolus/aeolus_amv.py index 22511f911b92c76b41d07ca5b572e61795760dd0..03761158c4fe42e5f8d2bf017d647deae0a755f7 100644 --- a/modules/aeolus/aeolus_amv.py +++ b/modules/aeolus/aeolus_amv.py @@ -129,7 +129,7 @@ def match_amvs_to_raobs(raob_dict, raob_time, amv_ds, time_window=10, filepath=N for key in keys: - raob = raob_dict.get(key) + raob, sta_id = raob_dict.get(key) if raob is None: continue @@ -513,7 +513,7 @@ def run_best_fit(raob_to_amv_dct, raob_dct, gfs_at_raob_dct): do_gfs_best_fit = True for key_idx, key in enumerate(keys): - raob = raob_dct.get(key) + raob, sta_id = raob_dct.get(key) raob_prs = raob[:, 0] raob_spd = raob[:, 3] raob_dir = raob[:, 2] @@ -2032,6 +2032,7 @@ def create_bestfit_file(filename, match_dct, raob_dct, raob_ts, gfs_at_raob_dct, alons = [] alats = [] + ids = [] #amv_file_s = np.array(amv_file_s, dtype='object') @@ -2039,13 +2040,14 @@ def create_bestfit_file(filename, match_dct, raob_dct, raob_ts, gfs_at_raob_dct, keys = list(match_dct.keys()) num_aprofs = len(keys) for key in keys: - raob = raob_dct.get(key) + raob, sta_id = raob_dct.get(key) nlevs = raob.shape[0] if nlevs > max_num_alevels: max_num_alevels = nlevs alons.append(key.lon) alats.append(key.lat) + ids.append(sta_id) bf_tup = bf_dct.get(key) @@ -2079,10 +2081,14 @@ def create_bestfit_file(filename, match_dct, raob_dct, raob_ts, gfs_at_raob_dct, prf_lon = rootgrp.createVariable('longitude', 'f4', ['time', 'num_raob_profs']) prf_lon.units = 'degrees_east' prf_lon.long_name = 'raob longitude' + prf_lat = rootgrp.createVariable('latitude', 'f4', ['time', 'num_raob_profs']) prf_lat.units = 'degrees_north' prf_lat.long_name = 'raob latitude' + prf_id = rootgrp.createVariable('station_id', 'i4', ['time', 'num_raob_profs']) + prf_id.long_name = 'WMO station identifier' + prf_dir = rootgrp.createVariable('raob_dir', 'f4', ['time', 'num_raob_profs', 'max_num_raob_levels']) prf_dir.units = 'degree' prf_spd = rootgrp.createVariable('raob_spd', 'f4', ['time', 'num_raob_profs', 'max_num_raob_levels']) @@ -2168,6 +2174,7 @@ def create_bestfit_file(filename, match_dct, raob_dct, raob_ts, gfs_at_raob_dct, time[0] = raob_ts prf_lon[0, :] = alons prf_lat[0, :] = alats + prf_id[0, :] = ids #amv_file_names[:] = amv_file_s