In [1]:
import xarray as xr
from ahh import exp, sci, ext, era
In [2]:
ds = exp.arr_ds() # import experimental dataset; NCEP tmp 1948
In [3]:
lats = ds['lat'].values
lons = ds['lon'].values
time = ds['time'].values
air = ds['air'].values
da = xr.DataArray(air, coords={'time': time, 'lat': lats, 'lon': lons},
dims=('time', 'lat', 'lon')) # create a data array
da.attrs = ds.attrs # copy over attributes (although a bit different)
dv = da.variable # leave out coordinate data
da_2 = ds['air'] # also can do this, but assuming you don't start out with a xr.dataset
In [4]:
ds_t2 = exp.arr_ds(timestep=2) # import another ds; NCEP tmp 1949
ds_list = [ds, ds_t2] # insert the datasets to concatenate across time axis
ds_comb = xr.concat(ds_list, 'time') # combined dataset
ds.time[0].values # first time step
ds_t2.time[-1].values # last time step
ds_comb.time[0].values, ds_comb.time[-1].values # contains both time steps
Out[4]:
Out[4]:
Out[4]:
In [5]:
ds_v2 = exp.arr_ds(var='rh') # import another ds; NCEP rh 1948
da = ds.air # get data array out
da2 = ds_v2.rhum # get data array out
ds_comb_v = xr.Dataset({'t2m': da, 'rh': da2}) # merge two different variables with same dimensions into one dataset
ds_comb_v
Out[5]:
In [32]:
ds = exp.arr_ds() # import experimental dataset; NCEP tmp 1948
ds_mth = ds.groupby('time.month').mean()
da_seas = era.mth2terc(ds_mth['month'].values) # get seasonal values
ds_seas = ds_mth.copy() # copy over dataset to prevent contamination
ds_seas['month'] = da_seas
ds_seas.assign(terc_air=(('month'), sci.get_terc_avg(ds_seas.air.values)))
Out[32]:
In [ ]:
In [ ]:
In [ ]: