In [6]:
import xarray as xr
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/dask/config.py:131: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
data = yaml.load(f.read()) or {}
In [45]:
import iris
In [70]:
import cf_units
In [1]:
import glob
In [2]:
infile_list = glob.glob('/g/data/p66/cm2704/archive/bj594/history/ocn/ocean_month.nc-*')
In [4]:
infile_list.sort()
In [8]:
cube = iris.load_cube(infile, 'implicit vert diffusion of heat')
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'tx_trans_int_z': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'tx_trans_int_z': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_gyre_pacific': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'salt_xflux_ndiffuse_int_z': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'salt_xflux_ndiffuse_int_z': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_advect_arctic': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'tx_trans': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'tx_trans': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'temp_yflux_gm': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_yflux_gm': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'salt_yflux_ndiffuse_int_z': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_yflux_ndiffuse_int_z': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'temp_yflux_submeso': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_yflux_submeso': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_advect_southern': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'temp_yflux_ndiffuse_int_z': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_yflux_ndiffuse_int_z': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'psiu': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'psiu': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_gyre_indian': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_over_indian': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_gyre_southern': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_advect_atlantic': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_advect_atlantic': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'ty_trans_gm': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'ty_trans_gm': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'salt_xflux_adv': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'salt_xflux_adv': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_advect_pacific': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_gyre_arctic': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'temp_xflux_submeso_int_z': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'temp_xflux_submeso_int_z': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_gyre_indian': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_over_indian': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_gyre_southern': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_gyre_global': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'temp_yflux_ndiffuse': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_yflux_ndiffuse': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'salt_yflux_submeso': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_yflux_submeso': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_advect_arctic': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'ty_trans': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'ty_trans': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'temp_xflux_submeso': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'temp_xflux_submeso': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'temp_yflux_submeso_int_z': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_yflux_submeso_int_z': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_gyre_arctic': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'temp_xflux_ndiffuse': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'temp_xflux_ndiffuse': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_gyre_pacific': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'temp_xflux_sigma': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'temp_xflux_sigma': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_advect_southern': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'salt_yflux_ndiffuse': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_yflux_ndiffuse': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'temp_yflux_sigma': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_yflux_sigma': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_advect_pacific': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'ty_trans_int_z': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'ty_trans_int_z': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_over_southern': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'ty_trans_submeso': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'ty_trans_submeso': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'temp_xflux_adv': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'temp_xflux_adv': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'salt_xflux_submeso': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'salt_xflux_submeso': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_advect_global': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'temp_xflux_ndiffuse_int_z': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'temp_xflux_ndiffuse_int_z': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_over_southern': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_gyre_atlantic': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_over_global': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'temp_xflux_gm': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'temp_xflux_gm': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'salt_yflux_gm': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_yflux_gm': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_gyre_global': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_over_atlantic': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'salt_yflux_adv': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_yflux_adv': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_advect_indian': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_over_arctic': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_over_global': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'tx_trans_gm': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'tx_trans_gm': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_over_pacific': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'tx_trans_submeso': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'tx_trans_submeso': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_advect_global': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'temp_yflux_adv': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_yflux_adv': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'salt_xflux_gm': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'salt_xflux_gm': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_c' referenced by variable 'salt_xflux_ndiffuse': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_t' referenced by variable 'salt_xflux_ndiffuse': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'st_ocean', 'yt_ocean', 'xu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'psiv': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'psiv': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_over_arctic': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'ekman_we': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'ekman_we': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolon_t' referenced by variable 'tau_curl': Dimensions ('yt_ocean', 'xt_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'tau_curl': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean', 'xt_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'salt_merid_flux_advect_indian': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_over_atlantic': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_gyre_atlantic': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:1033: UserWarning: Ignoring variable 'geolat_c' referenced by variable 'temp_merid_flux_over_pacific': Dimensions ('yu_ocean', 'xu_ocean') do not span ('time', 'yu_ocean')
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'kmt' invalid units 'dimensionless'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'sss' invalid units 'psu'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'agm_grid_scaling' invalid units 'dimensionless'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'kmu' invalid units 'dimensionless'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'salt' invalid units 'psu'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'viscosity_scaling' invalid units 'dimensionless'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1725: UnknownCellMethodWarning: NetCDF variable 'hblt_max' contains unknown cell method 'max'
warnings.warn(message=msg, category=UnknownCellMethodWarning)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'salt_rhodzt' invalid units 'psu*(kg/m^3)*m'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'mix_efficiency' invalid units 'dimensionless'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'f_vis' invalid units 'dimensionless'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'bottom_salt' invalid units 'psu'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'tide_speed_mask' invalid units 'dimensionless'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'sw_frac' invalid units 'dimensionless'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'sst_sq' invalid units 'squared degrees K'
warnings.warn(msg)
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/_pyke_rules/compiled_krb/fc_rules_cf_fc.py:1932: UserWarning: Ignoring netCDF variable 'drhodsalinity' invalid units 'kg/m^3/psu'
warnings.warn(msg)
In [9]:
cube
Out[9]:
Implicit Vert Diffusion Of Heat (Watts/m^2)
time
tcell zstar depth
latitude
longitude
Shape
6
50
300
360
Dimension coordinates
time
x
-
-
-
tcell
zstar
depth
-
x
-
-
latitude
-
-
x
-
cartesian_axis
Y
longitude
-
-
-
x
cartesian_axis
X
Auxiliary coordinates
latitude
-
-
x
x
valid_range
array
-91
91
dtype
float32
longitude
-
-
x
x
valid_range
array
-281
361
dtype
float32
Attributes
filename
ocean_month.nc-20121231
grid_tile
N/A
grid_type
regular
time_avg_info
average_T1,average_T2,average_DT
title
AusCOM_CMIP5
valid_range
[-1.e+16 1.e+16]
Cell methods
mean
time
In [10]:
coord_names = [coord.name() for coord in cube.dim_coords]
In [11]:
coord_names
Out[11]:
['time', 'tcell zstar depth', 'latitude', 'longitude']
In [12]:
cube.coord('tcell zstar depth')
Out[12]:
DimCoord(array([5.00000000e+00, 1.50000000e+01, 2.50000000e+01, 3.50000000e+01,
4.50000000e+01, 5.50000000e+01, 6.50000000e+01, 7.50000000e+01,
8.50000000e+01, 9.50000000e+01, 1.05000000e+02, 1.15000000e+02,
1.25000000e+02, 1.35000000e+02, 1.45000000e+02, 1.55000000e+02,
1.65000000e+02, 1.75000000e+02, 1.85000000e+02, 1.95000000e+02,
2.05000000e+02, 2.16846756e+02, 2.41349014e+02, 2.80780731e+02,
3.43250458e+02, 4.27315552e+02, 5.36715637e+02, 6.65414124e+02,
8.12781616e+02, 9.69065125e+02, 1.13093494e+03, 1.28960461e+03,
1.45577014e+03, 1.62292566e+03, 1.80155811e+03, 1.98485461e+03,
2.18290479e+03, 2.38841748e+03, 2.61093506e+03, 2.84256445e+03,
3.09220483e+03, 3.35129468e+03, 3.62805762e+03, 3.91326440e+03,
4.21449512e+03, 4.52191797e+03, 4.84256592e+03, 5.16612988e+03,
5.49924512e+03, 5.83129443e+03]), standard_name=None, units=Unit('meters'), long_name='tcell zstar depth', var_name='st_ocean', attributes={'cartesian_axis': 'Z', 'edges': 'st_edges_ocean', 'positive': 'down'})
In [14]:
cube.coord('tcell latitude')
---------------------------------------------------------------------------
CoordinateNotFoundError Traceback (most recent call last)
<ipython-input-14-3d0eceabc6e7> in <module>
----> 1 cube.coord('tcell latitude')
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/cube.py in coord(self, name_or_coord, standard_name, long_name, var_name, attributes, axis, contains_dimension, dimensions, coord_system, dim_coords)
1461 msg = 'Expected to find exactly 1 %s coordinate, but found ' \
1462 'none.' % bad_name
-> 1463 raise iris.exceptions.CoordinateNotFoundError(msg)
1464
1465 return coords[0]
CoordinateNotFoundError: 'Expected to find exactly 1 tcell latitude coordinate, but found none.'
In [28]:
dset = xr.open_mfdataset(infile_list, decode_times=False)
In [29]:
dset
Out[29]:
<xarray.Dataset>
Dimensions: (grid_xt_ocean: 360, grid_xu_ocean: 360, grid_yt_ocean: 300, grid_yu_ocean: 300, nv: 2, potrho: 80, potrho_edges: 81, st_edges_ocean: 51, st_ocean: 50, sw_edges_ocean: 51, sw_ocean: 50, time: 1980, xt_ocean: 360, xu_ocean: 360, yt_ocean: 300, yu_ocean: 300)
Coordinates:
* xt_ocean (xt_ocean) float64 -279.5 -278.5 ... 79.5
* yt_ocean (yt_ocean) float64 -77.88 -77.63 ... 89.77
* nv (nv) float64 1.0 2.0
* xu_ocean (xu_ocean) float64 -279.0 -278.0 ... 80.0
* yu_ocean (yu_ocean) float64 -77.75 -77.51 ... 90.0
* st_ocean (st_ocean) float64 5.0 15.0 ... 5.831e+03
* st_edges_ocean (st_edges_ocean) float64 0.0 10.0 ... 6e+03
* sw_ocean (sw_ocean) float64 10.0 20.0 ... 6e+03
* sw_edges_ocean (sw_edges_ocean) float64 5.0 15.0 ... 6e+03
* grid_xu_ocean (grid_xu_ocean) float64 -279.0 ... 80.0
* grid_yt_ocean (grid_yt_ocean) float64 -77.88 ... 89.77
* potrho (potrho) float64 1.028e+03 ... 1.038e+03
* potrho_edges (potrho_edges) float64 1.028e+03 ... 1.038e+03
* grid_xt_ocean (grid_xt_ocean) float64 -279.5 ... 79.5
* grid_yu_ocean (grid_yu_ocean) float64 -77.75 ... 90.0
geolat_c (yu_ocean, xu_ocean) float32 -77.75317 ... 65.0
geolon_c (yu_ocean, xu_ocean) float32 -279.0 ... 80.0
geolat_t (yt_ocean, xt_ocean) float32 -77.876625 ... 65.21044
geolon_t (yt_ocean, xt_ocean) float32 -279.5 ... 79.99112
* time (time) float64 15.5 45.0 ... 6.025e+04
Data variables:
ht (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
hu (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
dxt (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
dyt (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
dxu (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
dyu (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
area_t (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
area_u (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
kmt (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
kmu (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
pbot_t (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
patm_t (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sea_level (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sea_level_sq (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
rho (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
rho_dzt (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
dht (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
pot_temp (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
sst (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sst_sq (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
salt (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
sss (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
pot_rho_0 (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
age_global (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
psiu (time, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
mld (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
mld_sq (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
hblt_max (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
u (time, st_ocean, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
v (time, st_ocean, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
tz_trans (time, sw_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
tz_trans_sq (time, sw_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
tx_trans (time, st_ocean, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
ty_trans (time, st_ocean, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
tx_trans_rho (time, potrho, grid_yt_ocean, grid_xu_ocean) float32 dask.array<shape=(1980, 80, 300, 360), chunksize=(6, 80, 300, 360)>
ty_trans_rho (time, potrho, grid_yu_ocean, grid_xt_ocean) float32 dask.array<shape=(1980, 80, 300, 360), chunksize=(6, 80, 300, 360)>
tx_trans_gm (time, st_ocean, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
ty_trans_gm (time, st_ocean, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
tx_trans_rho_gm (time, potrho, grid_yt_ocean, grid_xu_ocean) float32 dask.array<shape=(1980, 80, 300, 360), chunksize=(6, 80, 300, 360)>
ty_trans_rho_gm (time, potrho, grid_yu_ocean, grid_xt_ocean) float32 dask.array<shape=(1980, 80, 300, 360), chunksize=(6, 80, 300, 360)>
tx_trans_submeso (time, st_ocean, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
ty_trans_submeso (time, st_ocean, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
tx_trans_int_z (time, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
ty_trans_int_z (time, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
temp_xflux_ndiffuse_int_z (time, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
temp_yflux_ndiffuse_int_z (time, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
temp_xflux_sigma (time, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
temp_yflux_sigma (time, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
temp_yflux_submeso_int_z (time, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
temp_xflux_submeso_int_z (time, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
temp_merid_flux_advect_global (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_over_global (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_gyre_global (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_advect_global (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_over_global (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_gyre_global (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_advect_southern (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_over_southern (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_gyre_southern (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_advect_southern (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_over_southern (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_gyre_southern (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_advect_atlantic (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_over_atlantic (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_gyre_atlantic (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_advect_atlantic (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_over_atlantic (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_gyre_atlantic (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_advect_pacific (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_over_pacific (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_gyre_pacific (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_advect_pacific (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_over_pacific (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_gyre_pacific (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_advect_arctic (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_over_arctic (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_gyre_arctic (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_advect_arctic (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_over_arctic (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_gyre_arctic (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_advect_indian (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_over_indian (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
temp_merid_flux_gyre_indian (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_advect_indian (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_over_indian (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
salt_merid_flux_gyre_indian (time, yu_ocean) float32 dask.array<shape=(1980, 300), chunksize=(6, 300)>
lprec (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
fprec (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
evap (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
runoff (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
ice_calving (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
melt (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
pme_river (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sfc_salt_flux_ice (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sfc_salt_flux_runoff (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sfc_hflux_from_water_prec (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sfc_hflux_from_water_evap (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sfc_hflux_from_runoff (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sfc_hflux_from_calving (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
fprec_melt_heat (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
calving_melt_heat (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
lw_heat (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
evap_heat (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sens_heat (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
swflx (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sw_heat (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
tau_x (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
tau_y (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
diff_cbt_t (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
frazil_2d (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
pme (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
pme_mass (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
river (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
swflx_vis (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sw_frac (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
f_vis (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sfc_hflux_coupler (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sfc_hflux_pme (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
tau_curl (time, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
ekman_we (time, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
salt_calvingmix (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_calvingmix (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_runoffmix (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_rivermix (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_runoff (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
temp_calving (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
pme_correct (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
pme_net (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
wfimelt (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
wfiform (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
pbot0 (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
anompb (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
eta_t (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
eta_u (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
rhobarz (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
conv_rho_ud_t (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
urhod (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
vrhod (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
u_surf (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
v_surf (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
u_bott (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
v_bott (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
bottom_temp (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
bottom_salt (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
bottom_age_global (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
temp (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_xflux_adv (time, st_ocean, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_yflux_adv (time, st_ocean, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_zflux_adv (time, sw_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_xflux_adv (time, st_ocean, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_yflux_adv (time, st_ocean, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_zflux_adv (time, sw_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_vdiffuse_impl (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_vdiffuse_impl (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_tendency (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_tendency (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_tendency_expl (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_tendency_expl (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_submeso (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_submeso (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_xflux_submeso (time, st_ocean, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_yflux_submeso (time, st_ocean, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_zflux_submeso (time, sw_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_xflux_gm (time, st_ocean, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_yflux_gm (time, st_ocean, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_zflux_gm (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_rhodzt (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_xflux_submeso (time, st_ocean, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_yflux_submeso (time, st_ocean, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_zflux_submeso (time, sw_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_xflux_gm (time, st_ocean, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_yflux_gm (time, st_ocean, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_zflux_gm (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_rhodzt (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_xflux_ndiffuse (time, st_ocean, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_yflux_ndiffuse (time, st_ocean, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_zflux_ndiffuse (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_xflux_ndiffuse (time, st_ocean, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_yflux_ndiffuse (time, st_ocean, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_zflux_ndiffuse (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
neutral_rho (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
pot_rho_2 (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
potrho_mix_base (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
potrho_mix_depth (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
press (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
wt (time, sw_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
wrhot (time, sw_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
drhodtheta (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
drhodsalinity (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
cabbeling (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
thermobaricity (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_xflux_ndiffuse_int_z (time, yt_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
salt_yflux_ndiffuse_int_z (time, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
psiv (time, yu_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
temp_sigma (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
mixdownslope_temp (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
mixdownslope_salt (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
eddy_depth (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
agm_grid_scaling (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
bv_freq (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
rossby (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
rossby_radius (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
buoy_freq_ave_submeso (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
hblt_submeso (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
viscosity_scaling (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
visc_crit_bih (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
lap_fric_u (time, st_ocean, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
lap_fric_v (time, st_ocean, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
diff_cbt_wave (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
diff_cbt_drag (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
bvfreq_bottom (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
mix_efficiency (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
power_waves (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
power_diss_wave (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
power_diss_drag (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
energy_flux (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
diff_cbt_kpp_t (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
diff_cbt_kpp_s (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
tide_speed_wave (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
tide_speed_drag (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
tide_speed_mask (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
roughness_length (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
roughness_amp (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
bmf_u (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
bmf_v (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
bottom_power_u (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
bottom_power_v (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
wind_power_u (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
wind_power_v (time, yu_ocean, xu_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
net_sfc_heating (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
frazil_3d (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
sfc_salt_flux_restore (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sfc_salt_flux_coupler (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sfc_salt_flux_pme (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sfc_salt_flux_prec (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
sfc_salt_flux_evap (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
temp_advection (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_nonlocal_KPP (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_eta_smooth (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
neutral_gm_temp (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
neutral_diffusion_temp (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_vdiffuse_diff_cbt (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_vdiffuse_diff_cbt_conv (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_vdiffuse_k33 (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_vdiffuse_sbc (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
temp_sigma_diff (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_advection (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_nonlocal_KPP (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_eta_smooth (time, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 300, 360), chunksize=(6, 300, 360)>
neutral_gm_salt (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
neutral_diffusion_salt (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_vdiffuse_diff_cbt (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_vdiffuse_diff_cbt_conv (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_vdiffuse_k33 (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_vdiffuse_sbc (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_rivermix (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
salt_sigma_diff (time, st_ocean, yt_ocean, xt_ocean) float32 dask.array<shape=(1980, 50, 300, 360), chunksize=(6, 50, 300, 360)>
average_T1 (time) float64 dask.array<shape=(1980,), chunksize=(6,)>
average_T2 (time) float64 dask.array<shape=(1980,), chunksize=(6,)>
average_DT (time) float64 dask.array<shape=(1980,), chunksize=(6,)>
time_bounds (time, nv) float64 dask.array<shape=(1980, 2), chunksize=(6, 2)>
Attributes:
filename: ocean_month.nc-18500630
title: AusCOM_CMIP5
grid_type: regular
grid_tile: N/A
In [31]:
dset['time']
Out[31]:
<xarray.DataArray 'time' (time: 1980)>
array([1.55000e+01, 4.50000e+01, 7.45000e+01, ..., 6.01885e+04, 6.02190e+04,
6.02495e+04])
Coordinates:
* time (time) float64 15.5 45.0 74.5 ... 6.019e+04 6.022e+04 6.025e+04
Attributes:
long_name: time
units: days since 1850-01-01 00:00:00
cartesian_axis: T
calendar_type: GREGORIAN
calendar: GREGORIAN
bounds: time_bounds
In [23]:
dset['temp'].data.max()
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/numpy/core/_methods.py:28: RuntimeWarning: invalid value encountered in reduce
return umr_maximum(a, axis, None, out, keepdims, initial)
Out[23]:
nan
In [41]:
dset['geolat_t']
Out[41]:
<xarray.DataArray 'geolat_t' (yt_ocean: 300, xt_ocean: 360)>
array([[-77.876625, -77.876625, -77.876625, ..., -77.876625, -77.876625,
-77.876625],
[-77.629715, -77.629715, -77.629715, ..., -77.629715, -77.629715,
-77.629715],
[-77.38171 , -77.38171 , -77.38171 , ..., -77.38171 , -77.38171 ,
-77.38171 ],
...,
[ 65.209656, 65.62409 , 66.032196, ..., 66.032196, 65.62409 ,
65.209656],
[ 65.21018 , 65.62565 , 66.03475 , ..., 66.03475 , 65.62565 ,
65.21018 ],
[ 65.21044 , 65.62643 , 66.03603 , ..., 66.03603 , 65.62643 ,
65.21044 ]], dtype=float32)
Coordinates:
* xt_ocean (xt_ocean) float64 -279.5 -278.5 -277.5 -276.5 ... 77.5 78.5 79.5
* yt_ocean (yt_ocean) float64 -77.88 -77.63 -77.38 ... 88.87 89.32 89.77
geolat_t (yt_ocean, xt_ocean) float32 -77.876625 -77.876625 ... 65.21044
geolon_t (yt_ocean, xt_ocean) float32 -279.5 -278.5 ... 79.973366 79.99112
Attributes:
long_name: tracer latitude
units: degrees_N
valid_range: [-91. 91.]
cell_methods: time: point
In [48]:
ref_cube = iris.load_cube('/g/data/fs38/publications/CMIP6/CMIP/CSIRO-ARCCSS/ACCESS-CM2/historical/r1i1p1f1/Omon/thetao/gn/v20191108/thetao_Omon_ACCESS-CM2_historical_r1i1p1f1_gn_185001-185912.nc', 'sea_water_potential_temperature')
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:798: UserWarning: Missing CF-netCDF measure variable 'areacello', referenced by netCDF variable 'thetao'
warnings.warn(message % (variable_name, nc_var_name))
/g/data/r87/dbi599/miniconda3/envs/ocean/lib/python3.6/site-packages/iris/fileformats/cf.py:798: UserWarning: Missing CF-netCDF measure variable 'volcello', referenced by netCDF variable 'thetao'
warnings.warn(message % (variable_name, nc_var_name))
In [49]:
ref_cube
Out[49]:
Sea Water Potential Temperature (degC)
time
depth
cell index along second dimension
cell index along first dimension
Shape
120
50
300
360
Dimension coordinates
time
x
-
-
-
depth
-
x
-
-
cell
index
along
second
dimension
-
-
x
-
cell
index
along
first
dimension
-
-
-
x
Auxiliary coordinates
latitude
-
-
x
x
longitude
-
-
x
x
Attributes
Conventions
CF-1.7 CMIP-6.2
activity_id
CMIP
branch_method
standard
branch_time_in_child
0.0
branch_time_in_parent
0.0
cmor_version
3.4.0
comment
Diagnostic should be contributed even for models using conservative temperature...
creation_date
2019-11-08T18:41:07Z
data_specs_version
01.00.30
experiment
all-forcing simulation of the recent past
experiment_id
historical
external_variables
areacello volcello
forcing_index
1
frequency
mon
further_info_url
https://furtherinfo.es-doc.org/CMIP6.CSIRO-ARCCSS.ACCESS-CM2.historica...
grid
native atmosphere N96 grid (144x192 latxlon)
grid_label
gn
history
2019-11-08T18:41:01Z altered by CMOR: replaced missing value flag (-1e+20)...
initialization_index
1
institution
CSIRO (Commonwealth Scientific and Industrial Research Organisation, Aspendale,...
institution_id
CSIRO-ARCCSS
license
CMIP6 model data produced by CSIRO is licensed under a Creative Commons...
mip_era
CMIP6
nominal_resolution
250 km
notes
Exp: CM2-historical; Local ID: bj594; Variable: thetao (['pot_temp'])
parent_activity_id
CMIP
parent_experiment_id
piControl
parent_mip_era
CMIP6
parent_source_id
ACCESS-CM2
parent_time_units
days since 0950-01-01
parent_variant_label
r1i1p1f1
physics_index
1
product
model-output
realization_index
1
realm
ocean
run_variant
forcing: GHG, Oz, SA, Sl, Vl, BC, OC, (GHG = CO2, N2O, CH4, CFC11, CFC12,...
source
ACCESS-CM2 (2019):
aerosol
UKCA-GLOMAP-mode
atmos
MetUM-HadGEM3-GA7.1...
source_id
ACCESS-CM2
source_type
AOGCM
sub_experiment
none
sub_experiment_id
none
table_id
Omon
table_info
Creation Date:(30 April 2019) MD5:e14f55f257cceafb2523e41244962371
title
ACCESS-CM2 output prepared for CMIP6
tracking_id
hdl:21.14100/e5a03e08-d970-41ef-949d-54f4b36cd26b
variable_id
thetao
variant_label
r1i1p1f1
version
v20191108
Cell methods
mean where sea
area
mean
time
In [50]:
ref_cube.shape
Out[50]:
(120, 50, 300, 360)
In [51]:
dset['temp_eta_smooth'].shape
Out[51]:
(1980, 300, 360)
In [54]:
ref_cube.dim_coords
Out[54]:
(DimCoord(array([ 15.5, 45. , 74.5, 105. , 135.5, 166. , 196.5, 227.5,
258. , 288.5, 319. , 349.5, 380.5, 410. , 439.5, 470. ,
500.5, 531. , 561.5, 592.5, 623. , 653.5, 684. , 714.5,
745.5, 775.5, 805.5, 836. , 866.5, 897. , 927.5, 958.5,
989. , 1019.5, 1050. , 1080.5, 1111.5, 1141. , 1170.5, 1201. ,
1231.5, 1262. , 1292.5, 1323.5, 1354. , 1384.5, 1415. , 1445.5,
1476.5, 1506. , 1535.5, 1566. , 1596.5, 1627. , 1657.5, 1688.5,
1719. , 1749.5, 1780. , 1810.5, 1841.5, 1871. , 1900.5, 1931. ,
1961.5, 1992. , 2022.5, 2053.5, 2084. , 2114.5, 2145. , 2175.5,
2206.5, 2236.5, 2266.5, 2297. , 2327.5, 2358. , 2388.5, 2419.5,
2450. , 2480.5, 2511. , 2541.5, 2572.5, 2602. , 2631.5, 2662. ,
2692.5, 2723. , 2753.5, 2784.5, 2815. , 2845.5, 2876. , 2906.5,
2937.5, 2967. , 2996.5, 3027. , 3057.5, 3088. , 3118.5, 3149.5,
3180. , 3210.5, 3241. , 3271.5, 3302.5, 3332. , 3361.5, 3392. ,
3422.5, 3453. , 3483.5, 3514.5, 3545. , 3575.5, 3606. , 3636.5]), bounds=array([[ 0., 31.],
[ 31., 59.],
[ 59., 90.],
[ 90., 120.],
[ 120., 151.],
[ 151., 181.],
[ 181., 212.],
[ 212., 243.],
[ 243., 273.],
[ 273., 304.],
[ 304., 334.],
[ 334., 365.],
[ 365., 396.],
[ 396., 424.],
[ 424., 455.],
[ 455., 485.],
[ 485., 516.],
[ 516., 546.],
[ 546., 577.],
[ 577., 608.],
[ 608., 638.],
[ 638., 669.],
[ 669., 699.],
[ 699., 730.],
[ 730., 761.],
[ 761., 790.],
[ 790., 821.],
[ 821., 851.],
[ 851., 882.],
[ 882., 912.],
[ 912., 943.],
[ 943., 974.],
[ 974., 1004.],
[1004., 1035.],
[1035., 1065.],
[1065., 1096.],
[1096., 1127.],
[1127., 1155.],
[1155., 1186.],
[1186., 1216.],
[1216., 1247.],
[1247., 1277.],
[1277., 1308.],
[1308., 1339.],
[1339., 1369.],
[1369., 1400.],
[1400., 1430.],
[1430., 1461.],
[1461., 1492.],
[1492., 1520.],
[1520., 1551.],
[1551., 1581.],
[1581., 1612.],
[1612., 1642.],
[1642., 1673.],
[1673., 1704.],
[1704., 1734.],
[1734., 1765.],
[1765., 1795.],
[1795., 1826.],
[1826., 1857.],
[1857., 1885.],
[1885., 1916.],
[1916., 1946.],
[1946., 1977.],
[1977., 2007.],
[2007., 2038.],
[2038., 2069.],
[2069., 2099.],
[2099., 2130.],
[2130., 2160.],
[2160., 2191.],
[2191., 2222.],
[2222., 2251.],
[2251., 2282.],
[2282., 2312.],
[2312., 2343.],
[2343., 2373.],
[2373., 2404.],
[2404., 2435.],
[2435., 2465.],
[2465., 2496.],
[2496., 2526.],
[2526., 2557.],
[2557., 2588.],
[2588., 2616.],
[2616., 2647.],
[2647., 2677.],
[2677., 2708.],
[2708., 2738.],
[2738., 2769.],
[2769., 2800.],
[2800., 2830.],
[2830., 2861.],
[2861., 2891.],
[2891., 2922.],
[2922., 2953.],
[2953., 2981.],
[2981., 3012.],
[3012., 3042.],
[3042., 3073.],
[3073., 3103.],
[3103., 3134.],
[3134., 3165.],
[3165., 3195.],
[3195., 3226.],
[3226., 3256.],
[3256., 3287.],
[3287., 3318.],
[3318., 3346.],
[3346., 3377.],
[3377., 3407.],
[3407., 3438.],
[3438., 3468.],
[3468., 3499.],
[3499., 3530.],
[3530., 3560.],
[3560., 3591.],
[3591., 3621.],
[3621., 3652.]]), standard_name='time', units=Unit('days since 1850-01-01', calendar='proleptic_gregorian'), long_name='time', var_name='time'),
DimCoord(array([5.00000000e+00, 1.50000000e+01, 2.50000000e+01, 3.50000000e+01,
4.50000000e+01, 5.50000000e+01, 6.50000000e+01, 7.50000000e+01,
8.50000000e+01, 9.50000000e+01, 1.05000000e+02, 1.15000000e+02,
1.25000000e+02, 1.35000000e+02, 1.45000000e+02, 1.55000000e+02,
1.65000000e+02, 1.75000000e+02, 1.85000000e+02, 1.95000000e+02,
2.05000000e+02, 2.16846756e+02, 2.41349014e+02, 2.80780731e+02,
3.43250458e+02, 4.27315552e+02, 5.36715637e+02, 6.65414124e+02,
8.12781616e+02, 9.69065125e+02, 1.13093494e+03, 1.28960461e+03,
1.45577014e+03, 1.62292566e+03, 1.80155811e+03, 1.98485461e+03,
2.18290479e+03, 2.38841748e+03, 2.61093506e+03, 2.84256445e+03,
3.09220483e+03, 3.35129468e+03, 3.62805762e+03, 3.91326440e+03,
4.21449512e+03, 4.52191797e+03, 4.84256592e+03, 5.16612988e+03,
5.49924512e+03, 5.83129443e+03]), bounds=array([[ 0. , 10. ],
[ 10. , 20. ],
[ 20. , 30. ],
[ 30. , 40. ],
[ 40. , 50. ],
[ 50. , 60. ],
[ 60. , 70. ],
[ 70. , 80. ],
[ 80. , 90. ],
[ 90. , 100. ],
[ 100. , 110. ],
[ 110. , 120. ],
[ 120. , 130. ],
[ 130. , 140. ],
[ 140. , 150. ],
[ 150. , 160. ],
[ 160. , 170. ],
[ 170. , 180. ],
[ 180. , 190. ],
[ 190. , 200. ],
[ 200. , 210.92337036],
[ 210.92337036, 229.09788513],
[ 229.09788513, 261.06488037],
[ 261.06488037, 312.01559448],
[ 312.01559448, 385.2829895 ],
[ 385.2829895 , 482.01559448],
[ 482.01559448, 601.06488037],
[ 601.06488037, 739.09790039],
[ 739.09790039, 890.92340088],
[ 890.92340088, 1050. ],
[1050. , 1210.26977539],
[1210.26977539, 1372.68737793],
[1372.68737793, 1539.34790039],
[1539.34790039, 1712.24194336],
[1712.24194336, 1893.2064209 ],
[1893.2064209 , 2083.87963867],
[2083.87963867, 2285.66113281],
[2285.66113281, 2499.67626953],
[2499.67626953, 2726.74975586],
[2726.74975586, 2967.38452148],
[2967.38452148, 3221.74975586],
[3221.74975586, 3489.67626953],
[3489.67626953, 3770.66113281],
[3770.66113281, 4063.87963867],
[4063.87963867, 4368.20654297],
[4368.20654297, 4682.24169922],
[4682.24169922, 5004.34814453],
[5004.34814453, 5332.6875 ],
[5332.6875 , 5665.26953125],
[5665.26953125, 6000. ]]), standard_name='depth', units=Unit('m'), long_name='ocean depth coordinate', var_name='lev', attributes={'positive': 'down'}),
DimCoord(array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299], dtype=int32), standard_name=None, units=Unit('1'), long_name='cell index along second dimension', var_name='j'),
DimCoord(array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359], dtype=int32), standard_name=None, units=Unit('1'), long_name='cell index along first dimension', var_name='i'))
In [83]:
time_coord = iris.coords.DimCoord(dset['time'].values,
standard_name='time',
long_name='time',
var_name='time',
units=cf_units.Unit(dset['time'].units, calendar=dset['time'].calendar.lower()))
In [97]:
new_standard_name = dset['temp_eta_smooth'].long_name.replace(' ', '_')
iris.std_names.STD_NAMES[new_standard_name] = {'canonical_units': 'W m-2'}
new_cube = iris.cube.Cube(dset['temp_eta_smooth'].to_masked_array(),
standard_name=new_standard_name,
long_name=dset['temp_eta_smooth'].long_name,
var_name=dset['temp_eta_smooth'].name,
units='W m-2',
attributes=ref_cube.attributes,
dim_coords_and_dims=[(time_coord, 0),
(ref_cube.dim_coords[-2], 1),
(ref_cube.dim_coords[-1], 2)],
aux_coords_and_dims=[(ref_cube.aux_coords[0], (1, 2)),
(ref_cube.aux_coords[1], (1, 2))])
In [98]:
new_cube
Out[98]:
Surface Smoother For Temp (W m-2)
time
cell index along second dimension
cell index along first dimension
Shape
1980
300
360
Dimension coordinates
time
x
-
-
cell
index
along
second
dimension
-
x
-
cell
index
along
first
dimension
-
-
x
Auxiliary coordinates
latitude
-
x
x
longitude
-
x
x
Attributes
Conventions
CF-1.7 CMIP-6.2
activity_id
CMIP
branch_method
standard
branch_time_in_child
0.0
branch_time_in_parent
0.0
cmor_version
3.4.0
comment
Diagnostic should be contributed even for models using conservative temperature...
creation_date
2019-11-08T18:41:07Z
data_specs_version
01.00.30
experiment
all-forcing simulation of the recent past
experiment_id
historical
external_variables
areacello volcello
forcing_index
1
frequency
mon
further_info_url
https://furtherinfo.es-doc.org/CMIP6.CSIRO-ARCCSS.ACCESS-CM2.historica...
grid
native atmosphere N96 grid (144x192 latxlon)
grid_label
gn
history
2019-11-08T18:41:01Z altered by CMOR: replaced missing value flag (-1e+20)...
initialization_index
1
institution
CSIRO (Commonwealth Scientific and Industrial Research Organisation, Aspendale,...
institution_id
CSIRO-ARCCSS
license
CMIP6 model data produced by CSIRO is licensed under a Creative Commons...
mip_era
CMIP6
nominal_resolution
250 km
notes
Exp: CM2-historical; Local ID: bj594; Variable: thetao (['pot_temp'])
parent_activity_id
CMIP
parent_experiment_id
piControl
parent_mip_era
CMIP6
parent_source_id
ACCESS-CM2
parent_time_units
days since 0950-01-01
parent_variant_label
r1i1p1f1
physics_index
1
product
model-output
realization_index
1
realm
ocean
run_variant
forcing: GHG, Oz, SA, Sl, Vl, BC, OC, (GHG = CO2, N2O, CH4, CFC11, CFC12,...
source
ACCESS-CM2 (2019):
aerosol
UKCA-GLOMAP-mode
atmos
MetUM-HadGEM3-GA7.1...
source_id
ACCESS-CM2
source_type
AOGCM
sub_experiment
none
sub_experiment_id
none
table_id
Omon
table_info
Creation Date:(30 April 2019) MD5:e14f55f257cceafb2523e41244962371
title
ACCESS-CM2 output prepared for CMIP6
tracking_id
hdl:21.14100/e5a03e08-d970-41ef-949d-54f4b36cd26b
variable_id
thetao
variant_label
r1i1p1f1
version
v20191108
In [40]:
dset['temp_eta_smooth'].coords
Out[40]:
Coordinates:
* xt_ocean (xt_ocean) float64 -279.5 -278.5 -277.5 -276.5 ... 77.5 78.5 79.5
* yt_ocean (yt_ocean) float64 -77.88 -77.63 -77.38 ... 88.87 89.32 89.77
geolat_t (yt_ocean, xt_ocean) float32 -77.876625 -77.876625 ... 65.21044
geolon_t (yt_ocean, xt_ocean) float32 -279.5 -278.5 ... 79.973366 79.99112
* time (time) float64 15.5 45.0 74.5 ... 6.019e+04 6.022e+04 6.025e+04
In [101]:
dset['geolat_t'].values.shape
Out[101]:
(300, 360)
In [103]:
ref_cube.coord('latitude').points.shape
Out[103]:
(300, 360)
In [104]:
dset['geolat_t'].values[10, 10]
Out[104]:
-75.29026
In [105]:
ref_cube.coord('latitude').points[10, 10]
Out[105]:
-75.2902603149414
In [106]:
import numpy as np
In [107]:
np.allclose(ref_cube.coord('latitude').points, dset['geolat_t'].values)
Out[107]:
True
In [108]:
dset['temp_eta_smooth'].ndim
Out[108]:
3
In [109]:
ref_cube.ndim
Out[109]:
4
In [112]:
dset['geolon_t'].values + 360
Out[112]:
array([[ 80.5 , 81.5 , 82.5 , ..., 437.5 , 438.5 ,
439.5 ],
[ 80.5 , 81.5 , 82.5 , ..., 437.5 , 438.5 ,
439.5 ],
[ 80.5 , 81.5 , 82.5 , ..., 437.5 , 438.5 ,
439.5 ],
...,
[ 80.04428 , 80.13287 , 80.22153 , ..., 439.77847 , 439.86713 ,
439.95572 ],
[ 80.02658 , 80.0798 , 80.133026, ..., 439.86694 , 439.92023 ,
439.97342 ],
[ 80.00888 , 80.02664 , 80.0444 , ..., 439.9556 , 439.97336 ,
439.99112 ]], dtype=float32)
In [113]:
ref_cube.coord('longitude').points.max()
Out[113]:
359.9692687988281
In [114]:
ref_cube.coord('longitude').points.min()
Out[114]:
0.02623666077852249
In [115]:
dset['geolon_t'].values.max()
Out[115]:
79.99112
In [116]:
dset['geolon_t'].values.min()
Out[116]:
-279.99112
In [117]:
test_lons = np.where(dset['geolon_t'].values < 0.0, dset['geolon_t'].values + 360, dset['geolon_t'].values)
In [118]:
test_lons
Out[118]:
array([[80.5 , 81.5 , 82.5 , ..., 77.5 , 78.5 ,
79.5 ],
[80.5 , 81.5 , 82.5 , ..., 77.5 , 78.5 ,
79.5 ],
[80.5 , 81.5 , 82.5 , ..., 77.5 , 78.5 ,
79.5 ],
...,
[80.04428 , 80.13287 , 80.22153 , ..., 79.778465, 79.867134,
79.95572 ],
[80.02658 , 80.0798 , 80.133026, ..., 79.86696 , 79.92021 ,
79.97341 ],
[80.00888 , 80.02664 , 80.0444 , ..., 79.95559 , 79.973366,
79.99112 ]], dtype=float32)
In [110]:
ref_cube.coord('longitude').points
Out[110]:
masked_array(
data=[[80.5 , 81.5 , 82.5 , ..., 77.5 ,
78.5 , 79.5 ],
[80.5 , 81.5 , 82.5 , ..., 77.5 ,
78.5 , 79.5 ],
[80.5 , 81.5 , 82.5 , ..., 77.5 ,
78.5 , 79.5 ],
...,
[80.04428101, 80.13287354, 80.2215271 , ..., 79.77846527,
79.86713409, 79.95571899],
[80.02658081, 80.07980347, 80.13302612, ..., 79.86695862,
79.92021179, 79.97341156],
[80.00888062, 80.02664185, 80.04440308, ..., 79.95558929,
79.97336578, 79.99111938]],
mask=False,
fill_value=1e+20)
In [ ]: