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]:
<xarray.Dataset>
Dimensions:    (lat: 375, lon: 297)
Coordinates:
  * lat        (lat) float64 40.07 40.13 40.2 40.27 40.33 40.4 40.47 40.53 ...
  * lon        (lon) float64 -19.89 -19.78 -19.67 -19.56 -19.44 -19.33 ...
Data variables:
    CP2_lv1_0  (lat, lon) bool ...

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)


<class 'xarray.core.dataarray.DataArray'>

In [12]:
newds.to_netcdf(new_fname)

In [ ]:
# Test new file

In [13]:
plot_ds(xr.open_dataset(new_fname))