In [1]:
# Load netcdf file with AMM7 subdomains, passed to me by S.W. or Y.A. and correct naming corresponding, create missing NortherNEA, and save to new file
In [2]:
import xarray as xr
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import math
In [38]:
#originalds = xr.open_dataset('data/amm7_subdomains.nc')
originalds = xr.open_dataset('data/amm7_CP2_lv2.nc')
new_fname = 'data/amm7_subdomains_v2.nc'
In [23]:
def plot_ds(ds):
nvars = len(ds.data_vars)
nrows = math.ceil(math.sqrt(nvars))
ncols = math.ceil(nvars/nrows)
fig,axs = plt.subplots(nrows=nrows,ncols=ncols,figsize=(15,15))
for ind, varn in enumerate(ds.data_vars):
data = ds[varn].values.squeeze()
col = ind % 4
row = int((ind-col)/4)
if (nrows == 1 and ncols ==1):
axs.imshow(np.flipud(data))
axs.set_title(varn)
else:
ax = axs[row,col].imshow(np.flipud(data))
axs[row,col].set_title(varn)
In [39]:
originalds
Out[39]:
In [30]:
plot_ds(originalds)
In [11]:
#varns = newds.data_vars
newds = originalds.rename({'SouthernNS':'temp',
'CentralNS':'SouthernNS',
'NorthernNS':'CentralNS',
'Channel':'NorthernNS',
'Skagerrak':'Channel',
'NorwegianT':'Skagerrak',
'Shetland':'NorwegianT',
'IrishShelf':'Shetland',
'IrishSea':'IrishShelf',
'CelticSea':'IrishSea',
'Armorican':'CelticSea',
'NorthernNEA':'Armorican',
'Ocean':'DeepOcean'})
newds.rename({'temp':'Ocean'},inplace=True)
NorthernNEA = newds['DeepOcean'] - newds['SouthernNEA']
print(type(NorthernNEA))
newds= newds.assign(NorthernNEA = NorthernNEA)
plot_ds(newds)
In [12]:
newds.to_netcdf(new_fname)
In [ ]:
# Test new file
In [13]:
plot_ds(xr.open_dataset(new_fname))