From 6b9a47f3c25cdaff7b3992a17068c8b1d074dcba Mon Sep 17 00:00:00 2001 From: tomrink <rink@ssec.wisc.edu> Date: Wed, 4 Nov 2020 13:48:09 -0600 Subject: [PATCH] snapshot... --- modules/util/gfs_reader.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/modules/util/gfs_reader.py b/modules/util/gfs_reader.py index 972ec182..0a2902e4 100644 --- a/modules/util/gfs_reader.py +++ b/modules/util/gfs_reader.py @@ -125,6 +125,20 @@ def get_horz_layer_s(xr_dataset, fld_names, press, lon_lo=None, lon_hi=None, lat return sub_fld +def get_time_interpolated_layer(ds_0, ds_1, time_0, time_1, time, fld_name, press, lon_lo, lon_hi, lat_lo, lat_hi): + lyr_0 = get_horz_layer(ds_0, fld_name, press, lon_lo, lon_hi, lat_lo, lat_hi) + lyr_1 = get_horz_layer(ds_1, fld_name, press, lon_lo, lon_hi, lat_lo, lat_hi) + + lyr = xr.concat([lyr_0, lyr_1], 'time') + lyr = lyr.assign_coords(time=[time_0, time_1]) + + intrp_lyr = lyr.interp(time=time, method='linear') + intrp_lyr = intrp_lyr.expand_dims('channel') + intrp_lyr = intrp_lyr.assign_coords(channel=[fld_name]) + + return intrp_lyr + + def get_vert_profile(xr_dataset, fld_name, lons, lats): if lon360: # convert -180/+180 to 0,360 lons = np.where(lons < 0, lons + 360, lons) -- GitLab