TAO Ri analysis#

Analysis of bulk & gradient Ri with TAO data

%load_ext watermark

import dask
import dcpy
import distributed
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import xarray as xr
import cf_xarray

import pump

dask.config.set({"array.slicing.split_large_chunks": True})
mpl.rcParams["figure.dpi"] = 140

%watermark -iv
The watermark extension is already loaded. To reload it, use:
  %reload_ext watermark
cf_xarray  : 0.4.1.dev21+gab9dc66
xarray     : 0.17.1.dev3+g48378c4b1
dask       : 2021.3.0
dcpy       : 0.1
numpy      : 1.20.1
distributed: 2021.3.0
pump       : 0.1
matplotlib : 3.3.4

Next steps#

  1. Make a merged velocity dataset

  2. Add 147E to merged dataset

  3. Try the Pham extrapolation

    • no since I just ignore the near-surface

  4. Do something about eucmax in El-Nino years

  5. eucmax = 25 before 1996?

  6. eucmax at 156E, 165E

  7. 165E doesn’t really have much data at all

  8. deal with euc shoaling

  9. Where is the high-res Ucur, Vcur for 2012-ish? It’s present in the daily data

  10. I need to interpolate the density field to get a good dens_euc

I will need to

  1. Recalculate bulk Ri stuff. This really shouldn’t change much?

  2. Scatter median gradient Ri against the new bulk Ri

  3. What the heck is going on at 195W. Marginal stability?

    • barrier & isothermal layers

Ri_g quantile analysis#

Ri_q_old = xr.open_dataset("tao-hourly-Ri-seasonal-percentiles-before-salinity.nc")
Ri_q_old
<xarray.Dataset>
Dimensions:    (longitude: 5, quantile: 3, season: 4, zeuc: 59)
Coordinates:
  * season     (season) object 'DJF' 'MAM' 'JJA' 'SON'
  * longitude  (longitude) float64 -204.0 -195.0 -170.0 -140.0 -110.0
  * zeuc       (zeuc) float64 -47.5 -42.5 -37.5 -32.5 ... 232.5 237.5 242.5
  * quantile   (quantile) float64 0.25 0.5 0.75
    latitude   float32 0.0
    num_obs    (season, longitude, zeuc) int64 2956 3450 3685 4162 ... 0 0 0 0
Data variables:
    Rig        (season, longitude, zeuc, quantile) float64 0.8657 1.847 ... nan
Ri_q = xr.open_dataset("tao-hourly-Ri-seasonal-percentiles-2.nc")
Ri_q
Ri = xr.concat(
    [
        Ri_q_old.Rig,
        Ri_q.Rig_T,
        Ri_q.Ri,
    ],
    dim="kind",
)
counts = xr.concat(
    [
        Ri_q_old.num_obs.reset_coords(drop=True),
        Ri_q.num_Rig_T.reset_coords(drop=True),
        Ri_q.num_Rig.reset_coords(drop=True),
    ],
    dim="kind",
)
counts["kind"] = ["$Ri^T_{old}$", "$Ri_g^T$", "$Ri_g$"]
counts.name = "count"

merged = xr.Dataset()
merged["Rig"] = Ri
merged["counts"] = counts
merged = merged.reindex(season=["DJF", "MAM", "JJA", "SON"])
merged
<xarray.Dataset>
Dimensions:             (kind: 3, longitude: 5, quantile: 3, season: 4, zeuc: 59)
Coordinates:
  * season              (season) <U3 'DJF' 'MAM' 'JJA' 'SON'
  * kind                (kind) object '$Ri^T_{old}$' '$Ri_g^T$' '$Ri_g$'
    reference_pressure  int64 0
    num_Rig_T           (season, longitude, zeuc) int64 2949 3436 3665 ... 0 0 0
    num_Rig             (season, longitude, zeuc) int64 169 352 545 ... 0 0 0
  * longitude           (longitude) float64 -204.0 -195.0 -170.0 -140.0 -110.0
  * zeuc                (zeuc) float64 -47.5 -42.5 -37.5 ... 232.5 237.5 242.5
  * quantile            (quantile) float64 0.25 0.5 0.75
    latitude            float32 0.0
    num_obs             (season, longitude, zeuc) int64 2956 3450 3685 ... 0 0 0
Data variables:
    Rig                 (kind, season, longitude, zeuc, quantile) float64 0.8...
    counts              (kind, season, longitude, zeuc) int64 2956 3450 ... 0 0
merged.counts.plot.line(
    hue="season", row="kind", y="zeuc", col="longitude", xscale="linear"
)
<xarray.plot.facetgrid.FacetGrid at 0x7fe05af53eb0>
_images/4ca2c61fe6319039699c86b931a85d9e6c09f33f4f8f116bb0ab9b0e482ba0dd.png
with mpl.rc_context(pump.plot.sm13_cycler):
    fg = (
        merged.Rig.isel(quantile=1)
        .where(merged.counts > 1000)
        .plot.line(hue="season", row="kind", y="zeuc", col="longitude", xlim=(0, 3))
    )

fg.map(lambda: dcpy.plots.linex(0.25))
fg.map(lambda: dcpy.plots.liney(0))
<xarray.plot.facetgrid.FacetGrid at 0x7fe05e262310>
_images/9a7b59633042ed7c9adc4b1f402d57046244923dd009c1212c977dd32f99670d.png

Argo: How “important” is salinity to N²#

argo = dcpy.oceans.read_argo_clim()
argo
<xarray.Dataset>
Dimensions:          (lat: 145, lon: 360, pres: 58, time: 180)
Coordinates:
  * lon              (lon) float32 20.5 21.5 22.5 23.5 ... 377.5 378.5 379.5
  * lat              (lat) float32 -64.5 -63.5 -62.5 -61.5 ... 77.5 78.5 79.5
  * pres             (pres) float32 2.5 10.0 20.0 ... 1.8e+03 1.9e+03 1.975e+03
  * time             (time) datetime64[ns] 2004-01-16 2004-02-15 ... 2018-09-29
Data variables:
    Tmean            (pres, lat, lon) float32 dask.array<chunksize=(58, 20, 60), meta=np.ndarray>
    Tanom            (time, pres, lat, lon) float32 dask.array<chunksize=(180, 58, 20, 60), meta=np.ndarray>
    BATHYMETRY_MASK  (pres, lat, lon) float32 dask.array<chunksize=(58, 20, 60), meta=np.ndarray>
    MAPPING_MASK     (pres, lat, lon) float32 dask.array<chunksize=(58, 20, 60), meta=np.ndarray>
    T                (time, pres, lat, lon) float32 dask.array<chunksize=(180, 58, 20, 60), meta=np.ndarray>
    Smean            (pres, lat, lon) float32 dask.array<chunksize=(58, 20, 60), meta=np.ndarray>
    Sanom            (time, pres, lat, lon) float32 dask.array<chunksize=(180, 58, 20, 60), meta=np.ndarray>
    S                (time, pres, lat, lon) float32 dask.array<chunksize=(180, 58, 20, 60), meta=np.ndarray>
argo0 = (
    argo.cf.interp(latitude=0, longitude=360 + np.array([-195, -170, -140, -110]))
    .assign_coords(lon=np.array([-195, -170, -140, -110]))
    .load()
)
argo0["dens"] = dcpy.eos.pden(argo0.S, argo0.T, 0)
N2 = 9.81 / 1025 * argo0.dens.cf.differentiate("Z")
argo0
<xarray.Dataset>
Dimensions:             (lon: 4, pres: 58, time: 180)
Coordinates:
  * pres                (pres) float32 2.5 10.0 20.0 ... 1.9e+03 1.975e+03
  * time                (time) datetime64[ns] 2004-01-16 ... 2018-09-29
  * lon                 (lon) int64 -195 -170 -140 -110
    lat                 int64 0
    reference_pressure  int64 0
Data variables:
    Tmean               (pres, lon) float64 29.55 28.08 26.04 ... 2.305 2.318
    Tanom               (time, pres, lon) float64 0.5328 0.2495 ... -0.03075
    BATHYMETRY_MASK     (pres, lon) float64 1.0 1.0 1.0 1.0 ... 1.0 1.0 1.0 1.0
    MAPPING_MASK        (pres, lon) float64 2e+03 2e+03 2e+03 ... 2e+03 2e+03
    T                   (time, pres, lon) float64 30.09 28.33 ... 2.34 2.287
    Smean               (pres, lon) float64 34.77 35.2 35.11 ... 34.64 34.64
    Sanom               (time, pres, lon) float64 -0.3855 -0.1468 ... 0.00375
    S                   (time, pres, lon) float64 34.38 35.05 ... 34.64 34.64
    dens                (time, pres, lon) float64 1.021e+03 ... 1.028e+03
N2T = 9.81 / 1025 * dcpy.eos.pden(35, argo0.T, 0).differentiate("pres")
N2S = 9.81 / 1025 * dcpy.eos.pden(argo0.S, 27, 0).differentiate("pres")
f, ax = plt.subplots(1, 2, sharex=True, sharey=True, constrained_layout=True)
(N2T / N2).mean("time").cf.plot(hue="lon", ylim=(250, 0), ax=ax[0])
(N2S / N2).mean("time").cf.plot(hue="lon", ylim=(250, 0), ax=ax[1])

ax[0].set_xlabel("$N_S^2/N²$")
ax[1].set_xlabel("$N_T^2/N²$")
{'hue': 'lon', 'ylim': (250, 0), 'ax': <AxesSubplot:>, 'x': None, 'y': 'pres', 'yincrease': False}
{'hue': 'lon', 'ylim': (250, 0), 'ax': <AxesSubplot:>, 'x': None, 'y': 'pres', 'yincrease': False}
Text(0.5, 0, '$N_T^2/N²$')
_images/5681353ebdb67b776d834bcb042571552c2e7d4a3c88504456a5e18a4c9224d0.png
(N2T / N2).mean("time").cf.plot(hue="lon", ylim=(250, 0))
{'hue': 'lon', 'ylim': (250, 0), 'x': None, 'y': 'pres', 'yincrease': False}
[<matplotlib.lines.Line2D at 0x7f12b6a01a00>,
 <matplotlib.lines.Line2D at 0x7f12b6a01d60>,
 <matplotlib.lines.Line2D at 0x7f12b6a01070>,
 <matplotlib.lines.Line2D at 0x7f12b6a01130>]
_images/301004f19f2f93de95072435dee1f567615c3c5c3ec7fc59348c4c5493e56cf1.png
(N2S / N2).mean("time").cf.plot(hue="lon")
[<matplotlib.lines.Line2D at 0x7f12b4bd11c0>,
 <matplotlib.lines.Line2D at 0x7f12b4bd12b0>,
 <matplotlib.lines.Line2D at 0x7f12b4bd1370>,
 <matplotlib.lines.Line2D at 0x7f12b4bd1430>]
_images/bd4d8528d6fa54b7fcbe79d440101fbe4650525e1c7e8c8b7031825adddffe8c.png
argo0.T.mean("time").cf.plot(hue="lon")
[<matplotlib.lines.Line2D at 0x7f12b667af70>,
 <matplotlib.lines.Line2D at 0x7f12b66060a0>,
 <matplotlib.lines.Line2D at 0x7f12b6606160>,
 <matplotlib.lines.Line2D at 0x7f12b6606220>]
_images/ad10b2427786c8db5d6eec0231ddbab4376e76210e7adef5bd2c4786bebff896.png
N2.mean("time").cf["pres"]
<xarray.DataArray 'pres' (pres: 58)>
array([   2.5,   10. ,   20. ,   30. ,   40. ,   50. ,   60. ,   70. ,   80. ,
         90. ,  100. ,  110. ,  120. ,  130. ,  140. ,  150. ,  160. ,  170. ,
        182.5,  200. ,  220. ,  240. ,  260. ,  280. ,  300. ,  320. ,  340. ,
        360. ,  380. ,  400. ,  420. ,  440. ,  462.5,  500. ,  550. ,  600. ,
        650. ,  700. ,  750. ,  800. ,  850. ,  900. ,  950. , 1000. , 1050. ,
       1100. , 1150. , 1200. , 1250. , 1300. , 1350. , 1412.5, 1500. , 1600. ,
       1700. , 1800. , 1900. , 1975. ], dtype=float32)
Coordinates:
  * pres     (pres) float32 2.5 10.0 20.0 30.0 ... 1.8e+03 1.9e+03 1.975e+03
Attributes:
    units:          dbar
    positive:       down
    point_spacing:  uneven
    axis:           Z
N2.mean("time").cf.plot(hue="lon", y="Z", yincrease=False)
[<matplotlib.lines.Line2D at 0x7f12dc07d160>,
 <matplotlib.lines.Line2D at 0x7f12dc07d250>,
 <matplotlib.lines.Line2D at 0x7f12dc07d310>,
 <matplotlib.lines.Line2D at 0x7f12dc07d3d0>]
_images/9ca46f064d3e231f2be2c327f59be5b409e494c8276afe8433eb8cd29cbd0cb8.png

Sampling: how is tao resolving MI at 140W during MAM#

tao = pump.obs.read_tao_zarr("ancillary")
from dask.distributed import Client

client = Client("tcp://127.0.0.1:44303")
client

Client

Cluster

  • Workers: 3
  • Cores: 6
  • Memory: 25.04 GB
tao140 = tao.sel(longitude=-140).persist()

Looks like there’s plenty of T data above the EUC max so no issues there? There’s a decade where EUCmax is deeper than 75m or so…

tao140.u.sel(depth=slice(-200, None), time=slice("2011", "2013")).plot(x="time")
tao140.eucmax.plot(lw=0.3)
tao140.eucmax.resample(time="W").mean().plot(color="k", lw=0.6)
[<matplotlib.lines.Line2D at 0x7fe0732db6a0>]
_images/b357cc4c0e61205342b19b617e5956b55cc476ba49b791c13baa92cb948b2b28.png
tao140.T.sel(depth=slice(-200, None), time=slice("1996", None)).plot(x="time")
tao140.eucmax.plot(lw=0.3)
tao140.eucmax.resample(time="W").mean().plot(color="k", lw=0.6)
[<matplotlib.lines.Line2D at 0x7fe05d3aa0d0>]
_images/7ce2e40bb6468b4984d42dbac192953a35d5eb1b9066086fe72e1994750a546b.png
tao140.eucmax.to_netcdf("eucmax-140.nc")

calculate Rig#

sub = tao.Rig.isel(longitude=2).compute().groupby("time.season").median("time")
sub.plot(
    hue="season",
    y="depth",
)
/gpfs/u/home/dcherian/python/xarray/xarray/core/common.py:664: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, the dimension order of these coordinates will be restored as well unless you specify restore_coord_dims=False.
  self, group, squeeze=squeeze, restore_coord_dims=restore_coord_dims
[<matplotlib.lines.Line2D at 0x2b192110b940>,
 <matplotlib.lines.Line2D at 0x2b191fe94da0>,
 <matplotlib.lines.Line2D at 0x2b191fe94b38>,
 <matplotlib.lines.Line2D at 0x2b191fe94128>]
_images/49793655710de9fcf3cd1482ec1dd0e1780d25fe61f0472e2339ed03a5431d57.png
median_Rig_z = tao.Rig.groupby("time.season").apply(
    lambda x: x.chunk({"time": -1}).quantile(q=0.5, dim="time")
)
median_Rig_z.load()
Show/Hide data repr Show/Hide attributes
xarray.DataArray
'Rig'
  • season: 4
  • longitude: 5
  • depth: 101
  • nan nan nan nan nan nan nan nan ... 0.173 0.06759 nan nan nan nan nan
    array([[[nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan]],
    
           [[nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan]],
    
           [[nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan]],
    
           [[nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan],
            [nan, nan, nan, ..., nan, nan, nan]]])
    • quantile
      ()
      float64
      0.5
      array(0.5)
    • longitude
      (longitude)
      float64
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.])
    • depth
      (depth)
      float64
      -500.0 -495.0 -490.0 ... -5.0 0.0
      array([-500., -495., -490., -485., -480., -475., -470., -465., -460., -455.,
             -450., -445., -440., -435., -430., -425., -420., -415., -410., -405.,
             -400., -395., -390., -385., -380., -375., -370., -365., -360., -355.,
             -350., -345., -340., -335., -330., -325., -320., -315., -310., -305.,
             -300., -295., -290., -285., -280., -275., -270., -265., -260., -255.,
             -250., -245., -240., -235., -230., -225., -220., -215., -210., -205.,
             -200., -195., -190., -185., -180., -175., -170., -165., -160., -155.,
             -150., -145., -140., -135., -130., -125., -120., -115., -110., -105.,
             -100.,  -95.,  -90.,  -85.,  -80.,  -75.,  -70.,  -65.,  -60.,  -55.,
              -50.,  -45.,  -40.,  -35.,  -30.,  -25.,  -20.,  -15.,  -10.,   -5.,
                0.])
    • season
      (season)
      object
      'DJF' 'JJA' 'MAM' 'SON'
      array(['DJF', 'JJA', 'MAM', 'SON'], dtype=object)
  • long_name :
    Ri
fg = median_Rig_z.squeeze().plot.line(
    col="longitude",
    hue="season",
    y="depth",
    ylim=[-150, 0],
    xlim=[0.1, 3.5],
    xscale="log",
)
fg.map(lambda: dcpy.plots.linex([0.25]))
plt.gcf().set_size_inches((8, 4))
_images/1ed1d26ffb7c4b8607039e773ef8dad8d7ece6860a944f9a1c54f8a25918bce8.png

bin in euc-relative coordinates#

tao = pump.obs.read_tao_zarr("ancillary")
interped = xr.open_zarr("tao-zeuc.zarr")
tao
<xarray.Dataset>
Dimensions:             (depth: 61, longitude: 5, time: 287335)
Coordinates:
    deepest             (time, longitude) float64 dask.array<chunksize=(100000, 1), meta=np.ndarray>
  * depth               (depth) float64 -300.0 -295.0 -290.0 ... -10.0 -5.0 0.0
    eucmax              (time, longitude) float64 dask.array<chunksize=(287335, 4), meta=np.ndarray>
    latitude            float32 ...
  * longitude           (longitude) float64 -204.0 -195.0 -170.0 -140.0 -110.0
    mld                 (time, longitude) float64 dask.array<chunksize=(100000, 1), meta=np.ndarray>
    reference_pressure  int64 ...
    shallowest          (time, longitude) float64 dask.array<chunksize=(100000, 1), meta=np.ndarray>
  * time                (time) datetime64[ns] 1988-05-15T18:00:00 ... 2021-02-24
    zeuc                (depth, time, longitude) float64 dask.array<chunksize=(61, 287335, 4), meta=np.ndarray>
Data variables:
    N2                  (time, longitude, depth) float64 dask.array<chunksize=(100000, 1, 61), meta=np.ndarray>
    N2T                 (time, longitude, depth) float64 dask.array<chunksize=(100000, 1, 61), meta=np.ndarray>
    Ri                  (time, longitude, depth) float64 dask.array<chunksize=(100000, 1, 61), meta=np.ndarray>
    Rig_T               (time, longitude, depth) float64 dask.array<chunksize=(100000, 1, 61), meta=np.ndarray>
    S                   (time, longitude, depth) float64 dask.array<chunksize=(100000, 1, 61), meta=np.ndarray>
    S2                  (time, depth, longitude) float32 dask.array<chunksize=(100000, 61, 1), meta=np.ndarray>
    T                   (time, longitude, depth) float64 dask.array<chunksize=(100000, 1, 61), meta=np.ndarray>
    dens                (time, longitude, depth) float64 dask.array<chunksize=(100000, 1, 61), meta=np.ndarray>
    densT               (time, longitude, depth) float64 dask.array<chunksize=(100000, 1, 61), meta=np.ndarray>
    u                   (time, depth, longitude) float32 dask.array<chunksize=(100000, 61, 1), meta=np.ndarray>
    v                   (time, depth, longitude) float32 dask.array<chunksize=(100000, 61, 1), meta=np.ndarray>
interped.Rig_T.sel(longitude=-140, time="2008-10").plot(x="time", robust=True)
<matplotlib.collections.QuadMesh at 0x7fe0afbec430>
_images/e9a53f819b31fe0804b3e0172e4efb82049dc87fce76e6c280061acaba812863.png
seasonal["median"].where(seasonal["count"] > 60 * 24).plot.line(
    hue="season", y="zeuc", col="longitude", xlim=(0, 2)
)
<xarray.plot.facetgrid.FacetGrid at 0x2ba8ae2a4a90>
_images/3470370a0daac0ae48051a6b27857b0c7b3c43034cf76a4721279a90f657b73c.png
subset = good_data.sel(longitude=-140, time="2002")
subset.Rig.plot(x="time", robust=True, vmin=0.1, vmax=2, norm=mpl.colors.LogNorm())
subset.mld.plot(x="time")
[<matplotlib.lines.Line2D at 0x2ba8c4687278>]
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/matplotlib/colors.py:1110: RuntimeWarning: invalid value encountered in less_equal
  mask |= resdat <= 0
_images/d017d0933f60982bead19f34483cd2787868543678ddbd9c1829dc3bf95bc4b5.png

Gradient Ri quantiles#

grouped = interped.groupby("time.season")
seasonal = grouped.mean().compute()

seasonal.v.plot(y="zeuc", col="longitude", hue="season")
<xarray.plot.facetgrid.FacetGrid at 0x2b3790fd3240>
_images/42a796b79dc85cb28265e5c849c2621634fe20ded4cc8dd0b4286854ba3db799.png
%matplotlib inline

fg = Ri_q.where(Ri_q.num_obs > 90 * 24).plot.line(
    row="quantile",
    col="longitude",
    hue="season",
    y="zeuc",
    xlim=[1e-1, 2],
    ylim=[0, 250],
    xscale="log",
)

fg.map(lambda: dcpy.plots.linex(0.25, ax=plt.gca()))
/gpfs/u/home/dcherian/python/xarray/xarray/plot/plot.py:107: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, these coordinates will be transposed as well unless you specify transpose_coords=False.
  xplt = darray.transpose(ydim, huedim)
<xarray.plot.facetgrid.FacetGrid at 0x2ba8c3798710>
_images/57e19cbf8bc3b410f23cf32650fc45298b7d7656879c754708bb4fe932c59e4e.png
%matplotlib inline

fg = Ri_q.where(Ri_q.num_obs > 90).plot.line(
    row="quantile",
    col="longitude",
    hue="season",
    y="zeuc",
    xlim=[1e-1, 2],
    ylim=[0, 250],
    xscale="log",
)

fg.map(lambda: dcpy.plots.linex(0.25, ax=plt.gca()))

# fg.fig.suptitle("25,50,75 percentile gradient Ri from all available hourly TAO data.", y=1.0)
# fg.fig.savefig("images/tao-marginal-stability-hourly-euc-coordinates.png", dpi=200)
/gpfs/u/home/dcherian/python/xarray/xarray/plot/plot.py:107: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, these coordinates will be transposed as well unless you specify transpose_coords=False.
  xplt = darray.transpose(ydim, huedim)
findfont: Font family ['STIXGeneral'] not found. Falling back to DejaVu Sans.
findfont: Font family ['STIXGeneral'] not found. Falling back to DejaVu Sans.
findfont: Font family ['STIXGeneral'] not found. Falling back to DejaVu Sans.
findfont: Font family ['STIXNonUnicode'] not found. Falling back to DejaVu Sans.
findfont: Font family ['STIXNonUnicode'] not found. Falling back to DejaVu Sans.
findfont: Font family ['STIXNonUnicode'] not found. Falling back to DejaVu Sans.
findfont: Font family ['STIXSizeOneSym'] not found. Falling back to DejaVu Sans.
findfont: Font family ['STIXSizeTwoSym'] not found. Falling back to DejaVu Sans.
findfont: Font family ['STIXSizeThreeSym'] not found. Falling back to DejaVu Sans.
findfont: Font family ['STIXSizeFourSym'] not found. Falling back to DejaVu Sans.
findfont: Font family ['STIXSizeFiveSym'] not found. Falling back to DejaVu Sans.
findfont: Font family ['cmsy10'] not found. Falling back to DejaVu Sans.
findfont: Font family ['cmr10'] not found. Falling back to DejaVu Sans.
findfont: Font family ['cmtt10'] not found. Falling back to DejaVu Sans.
findfont: Font family ['cmmi10'] not found. Falling back to DejaVu Sans.
findfont: Font family ['cmb10'] not found. Falling back to DejaVu Sans.
findfont: Font family ['cmss10'] not found. Falling back to DejaVu Sans.
findfont: Font family ['cmex10'] not found. Falling back to DejaVu Sans.
findfont: Font family ['DejaVu Sans Display'] not found. Falling back to DejaVu Sans.
<xarray.plot.facetgrid.FacetGrid at 0x2ac0723c69b0>
_images/99b1ab1037fd119b4b7e6d4fc44e02bfb4e24171efa56151198d6c5633296678.png

Median in euc-relative coordinate#

Ri_q = xr.load_dataarray("tao-hourly-Ri-seasonal-percentiles.nc")
Ri_q
Show/Hide data repr Show/Hide attributes
xarray.DataArray
  • season: 4
  • longitude: 5
  • zeuc: 59
  • quantile: 3
  • 0.8657 1.847 4.079 0.9686 2.076 4.698 ... nan nan nan nan nan nan
    array([[[[8.65716985e-01, 1.84699736e+00, 4.07929186e+00],
             [9.68607747e-01, 2.07586669e+00, 4.69831821e+00],
             [1.12714689e+00, 2.45510051e+00, 5.63565819e+00],
             ...,
             [8.25933339e-01, 1.21812980e+00, 2.22266901e+00],
             [3.31773526e-02, 2.15271859e-01, 6.91555336e-01],
             [6.30251313e-01, 9.59637420e-01, 1.28902353e+00]],
    
            [[6.99998537e-01, 1.29253461e+00, 2.86526357e+00],
             [7.26263211e-01, 1.40190939e+00, 3.03401490e+00],
             [8.14764327e-01, 1.58527315e+00, 3.47211588e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[1.04342082e+00, 1.80473934e+00, 3.48219512e+00],
             [1.10594958e+00, 1.94826060e+00, 3.84621979e+00],
             [1.18464712e+00, 2.10952571e+00, 4.29768611e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[5.99332633e-01, 1.01832679e+00, 2.02945611e+00],
             [6.36358415e-01, 1.09730253e+00, 2.22929311e+00],
             [6.69077456e-01, 1.17499171e+00, 2.47144998e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[3.93460173e-01, 6.78976245e-01, 1.35634816e+00],
             [3.96662435e-01, 6.72044675e-01, 1.30979069e+00],
             [3.89880826e-01, 6.65452753e-01, 1.31105090e+00],
             ...,
             [1.71923451e+00, 2.11843237e+00, 3.14030388e+00],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]]],
    
    
           [[[9.64841693e-01, 2.03641443e+00, 5.24673701e+00],
             [1.00937285e+00, 2.07883897e+00, 5.36984820e+00],
             [1.07954196e+00, 2.17156104e+00, 5.51939592e+00],
             ...,
             [9.45015072e-01, 1.23069288e+00, 3.89244182e+00],
             [3.19059242e-01, 4.46329690e-01, 1.42386922e+00],
             [           nan,            nan,            nan]],
    
            [[9.77766440e-01, 1.94110422e+00, 4.23775491e+00],
             [1.02809324e+00, 2.09342055e+00, 4.71047287e+00],
             [1.20866875e+00, 2.40437219e+00, 5.50768658e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[1.06829041e+00, 1.84754009e+00, 3.53931845e+00],
             [1.11732667e+00, 1.94676703e+00, 3.81204909e+00],
             [1.15610819e+00, 2.03169397e+00, 4.13639554e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[6.45954343e-01, 1.04209220e+00, 1.87051596e+00],
             [6.91774334e-01, 1.11851238e+00, 2.00851346e+00],
             [7.23639413e-01, 1.19311723e+00, 2.28014936e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[3.90188842e-01, 5.96989693e-01, 1.09097169e+00],
             [3.99915480e-01, 6.17991764e-01, 1.10944998e+00],
             [4.09988742e-01, 6.36251961e-01, 1.14362343e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]]],
    
    
           [[[8.05875978e-01, 1.64882518e+00, 3.74725616e+00],
             [8.49498749e-01, 1.81732453e+00, 4.24185284e+00],
             [9.22981317e-01, 1.94493706e+00, 4.58776057e+00],
             ...,
             [3.77534561e-01, 5.81013898e-01, 1.00414836e+00],
             [4.43140283e-01, 2.25869804e+00, 6.26462169e+00],
             [7.27405524e-01, 1.93333063e+00, 1.82996463e+01]],
    
            [[8.33461276e-01, 1.78540849e+00, 4.40883574e+00],
             [8.75326686e-01, 1.94566370e+00, 4.97448619e+00],
             [1.09038278e+00, 2.41704308e+00, 5.99210430e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[1.03154098e+00, 1.90779205e+00, 4.02230303e+00],
             [1.06865210e+00, 2.04293217e+00, 4.50922149e+00],
             [1.09868897e+00, 2.09941647e+00, 4.83581297e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[6.13561831e-01, 9.54200964e-01, 1.59989813e+00],
             [6.30494824e-01, 9.95023982e-01, 1.67218575e+00],
             [6.41170129e-01, 1.02841434e+00, 1.77831551e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[3.93044016e-01, 6.17636578e-01, 1.07574078e+00],
             [3.96811132e-01, 6.24261383e-01, 1.06323474e+00],
             [3.92496939e-01, 6.23224291e-01, 1.09776787e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]]],
    
    
           [[[7.20142171e-01, 1.55444359e+00, 3.42266777e+00],
             [7.95652503e-01, 1.63517308e+00, 3.68113071e+00],
             [8.57140530e-01, 1.82649115e+00, 4.21420888e+00],
             ...,
             [2.47228307e-01, 6.21093974e-01, 1.91750068e+00],
             [3.27682126e-01, 1.10605834e+00, 3.20444965e+00],
             [3.40164626e-01, 5.65530493e-01, 1.53144780e+00]],
    
            [[6.63675669e-01, 1.31916576e+00, 3.00179180e+00],
             [6.91861346e-01, 1.44553130e+00, 3.44077254e+00],
             [8.46168409e-01, 1.73035774e+00, 4.14209451e+00],
             ...,
             [6.55769401e-02, 3.88032611e-01, 8.03026828e-01],
             [6.08337896e+01, 6.08337896e+01, 6.08337896e+01],
             [           nan,            nan,            nan]],
    
            [[1.22505629e+00, 2.16464382e+00, 4.25647302e+00],
             [1.31365069e+00, 2.36794923e+00, 4.86517140e+00],
             [1.38017117e+00, 2.53467087e+00, 5.59876342e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[6.04536606e-01, 1.02415097e+00, 1.99978561e+00],
             [6.29322459e-01, 1.08261699e+00, 2.06070930e+00],
             [6.45054365e-01, 1.11824484e+00, 2.15339242e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[3.98786048e-01, 6.72431954e-01, 1.26091140e+00],
             [4.02719219e-01, 6.77482230e-01, 1.26239862e+00],
             [3.97279637e-01, 6.78105856e-01, 1.31576185e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]]]])
    • season
      (season)
      object
      'DJF' 'MAM' 'JJA' 'SON'
      array(['DJF', 'MAM', 'JJA', 'SON'], dtype=object)
    • quantile
      (quantile)
      float64
      0.25 0.5 0.75
      array([0.25, 0.5 , 0.75])
    • zeuc
      (zeuc)
      float64
      -47.5 -42.5 -37.5 ... 237.5 242.5
      long_name :
      Depth relative to EUC max
      units :
      m
      array([-47.5, -42.5, -37.5, -32.5, -27.5, -22.5, -17.5, -12.5,  -7.5,  -2.5,
               2.5,   7.5,  12.5,  17.5,  22.5,  27.5,  32.5,  37.5,  42.5,  47.5,
              52.5,  57.5,  62.5,  67.5,  72.5,  77.5,  82.5,  87.5,  92.5,  97.5,
             102.5, 107.5, 112.5, 117.5, 122.5, 127.5, 132.5, 137.5, 142.5, 147.5,
             152.5, 157.5, 162.5, 167.5, 172.5, 177.5, 182.5, 187.5, 192.5, 197.5,
             202.5, 207.5, 212.5, 217.5, 222.5, 227.5, 232.5, 237.5, 242.5])
    • longitude
      (longitude)
      float32
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.], dtype=float32)
    • latitude
      ()
      float32
      0.0
      FORTRAN_format :
      epic_code :
      500
      type :
      EVEN
      units :
      degree_north
      array(0., dtype=float32)
    • num_obs
      (season, longitude, zeuc)
      int64
      2956 3450 3685 4162 ... 0 0 0 0
      array([[[ 2956,  3450,  3685, ...,    11,     4,     2],
              [13003, 15472, 16505, ...,     0,     0,     0],
              [25255, 25759, 26188, ...,     0,     0,     0],
              [32022, 32550, 32964, ...,     0,     0,     0],
              [22159, 22496, 22742, ...,     7,     0,     0]],
      
             [[ 3942,  4331,  4609, ...,    16,    10,     0],
              [17279, 19213, 19858, ...,     0,     0,     0],
              [24860, 25030, 25287, ...,     0,     0,     0],
              [31769, 32155, 32493, ...,     0,     0,     0],
              [23765, 23781, 23797, ...,     0,     0,     0]],
      
             [[ 3745,  3967,  4061, ...,    12,     4,     4],
              [20430, 22423, 23235, ...,     0,     0,     0],
              [25438, 25492, 25513, ...,     0,     0,     0],
              [30761, 31005, 31326, ...,     0,     0,     0],
              [26311, 26305, 26311, ...,     0,     0,     0]],
      
             [[ 1779,  2291,  2663, ...,   302,   179,   102],
              [17003, 19290, 20532, ...,     9,     1,     0],
              [23085, 23454, 23690, ...,     0,     0,     0],
              [35541, 35937, 36215, ...,     0,     0,     0],
              [22990, 23038, 23080, ...,     0,     0,     0]]])
median_Rig = Ri_q.sel(quantile=0.5, zeuc=slice(0, None))
median_Rig
Show/Hide data repr Show/Hide attributes
xarray.DataArray
  • season: 4
  • longitude: 5
  • zeuc: 49
  • 12.14 5.204 3.505 3.307 3.33 3.44 2.921 ... nan nan nan nan nan nan
    array([[[1.21434122e+01, 5.20354724e+00, 3.50501919e+00, 3.30736311e+00,
             3.33031631e+00, 3.43964060e+00, 2.92148757e+00, 2.48129720e+00,
             2.11243240e+00, 1.83912229e+00, 1.69382899e+00, 1.61765319e+00,
             1.57829252e+00, 1.65197799e+00, 1.67660646e+00, 1.70361004e+00,
             1.75811871e+00, 1.77633452e+00, 1.78274006e+00, 1.77130445e+00,
             1.76453557e+00, 1.59982041e+00, 1.53944503e+00, 1.46579473e+00,
             1.38052897e+00, 1.36555182e+00, 1.22801891e+00, 1.11480848e+00,
             9.81393217e-01, 8.09430894e-01, 7.11033315e-01, 6.64250979e-01,
             6.77348794e-01, 6.59767973e-01, 6.68314872e-01, 6.45685835e-01,
             6.25755328e-01, 6.47728194e-01, 6.16354965e-01, 7.43610355e-01,
             7.47971748e-01, 7.51553840e-01, 6.64788050e-01, 6.37038637e-01,
             7.09365153e-01, 1.08899569e+00, 1.21812980e+00, 2.15271859e-01,
             9.59637420e-01],
            [1.13882227e+01, 4.77078332e+00, 3.17914688e+00, 2.61438944e+00,
             2.32290267e+00, 2.03380830e+00, 1.79832267e+00, 1.61383103e+00,
             1.51623494e+00, 1.46151757e+00, 1.53912420e+00, 1.50846894e+00,
             1.62729495e+00, 1.62687128e+00, 1.76641538e+00, 1.71702053e+00,
             1.82824524e+00, 1.68400249e+00, 1.69879042e+00, 1.47777091e+00,
             1.38645753e+00, 1.11946488e+00, 1.01298141e+00, 8.26534889e-01,
             6.92515550e-01, 6.09600706e-01, 5.75299815e-01, 5.40169666e-01,
             5.15796523e-01, 4.88624275e-01, 4.84976674e-01, 4.53798638e-01,
             4.52561612e-01, 4.34450104e-01, 4.29997400e-01, 3.87855213e-01,
             3.46594639e-01, 3.25506862e-01, 3.52597288e-01, 3.80018426e-01,
             3.84656549e-01, 4.43017123e-01, 4.07717999e-01, 5.74185724e-01,
             9.16682658e-01, 4.36350802e-01,            nan,            nan,
                        nan],
            [1.47684744e+01, 5.04312084e+00, 2.56775010e+00, 1.85025533e+00,
             1.51538755e+00, 1.21760241e+00, 9.54120770e-01, 7.90525610e-01,
             6.72324136e-01, 5.98292186e-01, 5.29106407e-01, 4.99256817e-01,
             4.65811035e-01, 4.33383038e-01, 4.10126868e-01, 3.87110152e-01,
             3.66788709e-01, 3.40755814e-01, 3.19803196e-01, 3.02440042e-01,
             2.89701995e-01, 2.82765766e-01, 2.75048658e-01, 2.70829288e-01,
             2.70248861e-01, 2.72051211e-01, 2.72058429e-01, 2.67041272e-01,
             2.58904990e-01, 2.60149478e-01, 2.65921342e-01, 2.79376712e-01,
             2.90498832e-01, 2.87567105e-01, 2.71350610e-01, 2.39308328e-01,
             2.84417943e-01, 2.52591608e-01, 2.24577574e-01, 1.48891455e-01,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan],
            [8.36970312e+00, 2.14714176e+00, 8.60081631e-01, 5.37678636e-01,
             4.56452975e-01, 4.08223936e-01, 3.65848689e-01, 3.36680169e-01,
             3.07557415e-01, 2.86030920e-01, 2.67174971e-01, 2.53727388e-01,
             2.47924187e-01, 2.42138913e-01, 2.37619971e-01, 2.32915351e-01,
             2.35271202e-01, 2.33308752e-01, 2.29976608e-01, 2.25829450e-01,
             2.19308704e-01, 2.04431004e-01, 2.03778743e-01, 1.90089052e-01,
             1.91867722e-01, 2.53620813e-01, 2.88059360e-01, 3.41855224e-01,
             3.33964955e-01, 2.12386931e-01, 1.75787371e-01, 1.36908322e-01,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan],
            [6.06131842e+00, 1.47315757e+00, 6.69238501e-01, 4.78770333e-01,
             4.38250354e-01, 4.14118137e-01, 3.88180626e-01, 3.71394866e-01,
             3.42725616e-01, 3.24029195e-01, 3.07485755e-01, 3.10154128e-01,
             3.08549184e-01, 3.35307815e-01, 3.69083744e-01, 4.11380242e-01,
             5.76389174e-01, 6.93941870e-01, 6.69804430e-01, 7.37061782e-01,
             7.07122624e-01, 1.13043653e+00, 1.73115935e+00, 2.02911056e+00,
             1.24368276e+00, 1.05902519e+00, 1.11146421e+00, 1.23294705e+00,
             2.33638675e+00, 2.93042190e+00, 3.58860533e+00, 5.00408848e+00,
             6.55130805e+00, 5.27558959e+00, 8.02832863e+00, 5.61414450e+00,
             4.23552049e+00, 3.11610086e+00, 3.76147376e+00, 2.42637315e+00,
             3.42179676e+00, 2.30791843e+00, 2.42310845e+00, 3.61083078e+00,
             3.51495200e+00, 2.22169454e+00, 2.11843237e+00,            nan,
                        nan]],
    
           [[1.18795150e+01, 5.73232095e+00, 4.17068039e+00, 3.66942172e+00,
             3.71244499e+00, 3.72028871e+00, 3.30464552e+00, 3.17999834e+00,
             2.75183906e+00, 2.49180164e+00, 2.22375740e+00, 2.11169120e+00,
             1.92279833e+00, 1.94631748e+00, 1.91476112e+00, 1.84819788e+00,
             1.80467154e+00, 1.64739303e+00, 1.54788270e+00, 1.33018077e+00,
             1.29655312e+00, 1.17936204e+00, 1.10972316e+00, 1.04965287e+00,
             9.83979900e-01, 1.01748364e+00, 9.67494278e-01, 9.48095799e-01,
             8.66171745e-01, 8.21134166e-01, 7.33456707e-01, 6.10038674e-01,
             5.60157638e-01, 4.31943839e-01, 4.10451759e-01, 3.38990636e-01,
             3.02373638e-01, 2.85209705e-01, 2.25864290e-01, 2.14437955e-01,
             1.87437119e-01, 1.78117461e-01, 1.86693252e-01, 2.06638961e-01,
             4.83587654e-01, 5.92063881e-01, 1.23069288e+00, 4.46329690e-01,
                        nan],
            [1.21266701e+01, 4.79648555e+00, 3.50769751e+00, 2.90230283e+00,
             2.65311451e+00, 2.12264266e+00, 1.87921132e+00, 1.59730303e+00,
             1.48343092e+00, 1.34714062e+00, 1.33025270e+00, 1.21568299e+00,
             1.26878140e+00, 1.23142890e+00, 1.28923710e+00, 1.16348267e+00,
             1.19842881e+00, 1.04129351e+00, 1.09257463e+00, 9.60674825e-01,
             9.38267437e-01, 7.76860458e-01, 7.30618795e-01, 6.16369855e-01,
             5.64380567e-01, 4.93782675e-01, 4.53639315e-01, 3.81601623e-01,
             3.70866313e-01, 3.21142329e-01, 3.14585744e-01, 2.84435444e-01,
             2.89148003e-01, 2.76887421e-01, 2.84614061e-01, 2.80558164e-01,
             2.86626233e-01, 2.88373412e-01, 3.06993896e-01, 3.12691570e-01,
             3.57301330e-01, 2.98035276e-01, 2.97355837e-01, 4.22352520e-01,
             4.40715975e-01, 3.81879096e-01,            nan,            nan,
                        nan],
            [1.32308680e+01, 4.60275099e+00, 2.38688532e+00, 1.77956782e+00,
             1.60767100e+00, 1.53063058e+00, 1.40887315e+00, 1.30373969e+00,
             1.09884649e+00, 9.16109021e-01, 7.61750976e-01, 6.66489983e-01,
             5.87283785e-01, 5.25661282e-01, 4.81864084e-01, 4.41365009e-01,
             4.19537926e-01, 3.90161175e-01, 3.63381473e-01, 3.50927044e-01,
             3.30290755e-01, 3.20888983e-01, 3.12251187e-01, 3.13585513e-01,
             3.27251221e-01, 3.35796922e-01, 3.71503610e-01, 3.73879739e-01,
             3.83201630e-01, 3.59528435e-01, 3.30063234e-01, 2.89632833e-01,
             2.70732746e-01, 2.91731611e-01, 3.06177473e-01, 4.33485338e-01,
             7.40472313e-01, 4.94800430e-01, 1.87327741e+00,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan],
            [9.38441536e+00, 2.66479397e+00, 1.15839296e+00, 7.39236742e-01,
             5.94381771e-01, 5.03965375e-01, 4.28284019e-01, 3.79675794e-01,
             3.37561653e-01, 3.12639645e-01, 2.94816835e-01, 2.75987607e-01,
             2.61016578e-01, 2.46401457e-01, 2.42315368e-01, 2.37416130e-01,
             2.28437781e-01, 2.22667753e-01, 2.03709351e-01, 1.95004949e-01,
             1.72384242e-01, 2.00197873e-01, 1.83429982e-01, 1.71063054e-01,
             1.68982952e-01, 1.93423097e-01, 2.50654072e-02,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan],
            [6.35667026e+00, 1.58289170e+00, 7.40185625e-01, 5.89306177e-01,
             6.00743499e-01, 6.02856712e-01, 6.05625307e-01, 5.60725962e-01,
             5.30575976e-01, 5.26772048e-01, 4.33881507e-01, 4.35793151e-01,
             4.99908041e-01, 4.51393154e-01, 4.15098246e-01, 2.65339357e-01,
             1.14163436e+00, 1.49539644e+00, 1.30468077e+00, 1.44661570e+01,
             2.76362223e+00, 2.06068540e+00, 4.82168482e+00, 4.49350238e+00,
             4.51277068e+00, 3.64989798e+00, 5.42045806e+00, 2.60856677e+00,
             3.04463197e+00, 1.40800983e+00, 1.38749771e+00, 1.54530999e+00,
             6.59299158e+00, 1.07311729e+01, 1.05502139e+01, 3.33085248e+01,
             3.20924688e+01, 2.13964199e+01, 1.51388879e+01, 4.20119909e+00,
             6.52112723e+00, 1.75267170e+01, 1.55344339e+01, 8.78469408e+00,
                        nan,            nan,            nan,            nan,
                        nan]],
    
           [[1.05714129e+01, 4.62359230e+00, 3.46139879e+00, 3.35240952e+00,
             3.58240908e+00, 3.60377978e+00, 3.51227250e+00, 3.45704319e+00,
             3.31288158e+00, 3.50207365e+00, 3.30392792e+00, 3.05101028e+00,
             2.90888777e+00, 2.71406160e+00, 2.51353778e+00, 2.45364021e+00,
             2.30567717e+00, 2.15569023e+00, 2.19715252e+00, 1.97989130e+00,
             1.94674416e+00, 1.84492966e+00, 1.94365311e+00, 1.95732762e+00,
             1.94741159e+00, 1.97090166e+00, 1.69769634e+00, 1.72398378e+00,
             1.51018620e+00, 1.47244655e+00, 1.41086089e+00, 1.14914169e+00,
             1.40162635e+00, 1.24632637e+00, 1.17904731e+00, 1.19666952e+00,
             7.49406766e-01, 6.86870323e-01, 5.43489970e-01, 5.20109112e-01,
             5.17017122e-01, 4.75424181e-01, 3.94350914e-01, 5.11334188e-01,
             6.07132291e-01, 6.30565797e-01, 5.81013898e-01, 2.25869804e+00,
             1.93333063e+00],
            [1.17940640e+01, 5.25544201e+00, 4.22967127e+00, 3.62164805e+00,
             3.88617101e+00, 3.37901211e+00, 3.28576976e+00, 2.63130394e+00,
             2.42744109e+00, 1.99966443e+00, 1.88839719e+00, 1.59958155e+00,
             1.62788966e+00, 1.47858501e+00, 1.53199188e+00, 1.35668051e+00,
             1.50458319e+00, 1.32140472e+00, 1.38419409e+00, 1.20549313e+00,
             1.23711492e+00, 1.05168104e+00, 1.04349843e+00, 9.17463818e-01,
             8.31690289e-01, 6.96096843e-01, 6.24577881e-01, 5.19898097e-01,
             5.11161347e-01, 4.45226097e-01, 4.50346637e-01, 3.91552356e-01,
             3.88578151e-01, 3.65311011e-01, 3.82296141e-01, 3.98548037e-01,
             4.05276644e-01, 4.08935421e-01, 4.25603088e-01, 4.87255405e-01,
             5.89694583e-01, 5.36924034e-01, 7.43590748e-01, 4.63893288e-01,
             2.94460035e-01, 1.82202586e-01,            nan,            nan,
                        nan],
            [1.07297006e+01, 3.82770691e+00, 2.01728290e+00, 1.44375591e+00,
             1.19391101e+00, 9.41738554e-01, 7.61547681e-01, 6.86062120e-01,
             6.13427458e-01, 5.64384458e-01, 5.04007329e-01, 4.62596793e-01,
             4.25500673e-01, 3.97350213e-01, 3.79143925e-01, 3.49461486e-01,
             3.25380721e-01, 3.11733912e-01, 3.01066981e-01, 3.00100976e-01,
             3.03328532e-01, 3.03769908e-01, 2.91578618e-01, 2.74011282e-01,
             2.50571836e-01, 2.43947408e-01, 2.29420991e-01, 2.12201145e-01,
             1.94873662e-01, 1.63965650e-01, 1.23270352e-01, 1.10001085e-01,
             9.16278115e-02, 7.36690614e-02, 8.54985489e-02,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan],
            [8.38778976e+00, 1.95349263e+00, 7.51629323e-01, 4.76176370e-01,
             4.08459571e-01, 3.64684456e-01, 3.27602914e-01, 2.98867151e-01,
             2.75016466e-01, 2.62129512e-01, 2.54552710e-01, 2.48601040e-01,
             2.46271453e-01, 2.36938130e-01, 2.39076504e-01, 2.30147425e-01,
             2.34933765e-01, 2.55580714e-01, 2.66980573e-01, 2.83303540e-01,
             2.79064475e-01, 2.64805858e-01, 2.48679408e-01, 2.63079630e-01,
             2.52527164e-01, 2.90270974e-01, 2.84629061e-01, 2.48436912e-01,
             2.43670789e-01, 2.35500689e-01,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan],
            [5.37563422e+00, 1.12358895e+00, 4.95643238e-01, 3.65101132e-01,
             3.51802985e-01, 3.52177576e-01, 3.52007361e-01, 3.51005701e-01,
             3.37515271e-01, 3.39513082e-01, 3.35223730e-01, 3.18289001e-01,
             3.06821750e-01, 2.90340441e-01, 2.98470763e-01, 2.79100185e-01,
             2.99315859e-01, 3.15053960e-01, 3.55265472e-01, 3.23207753e-01,
             2.97037879e-01, 3.19642411e-01,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan]],
    
           [[1.32084796e+01, 5.39319207e+00, 3.52229632e+00, 2.93341640e+00,
             2.72676167e+00, 2.49043560e+00, 2.21115447e+00, 2.14446298e+00,
             2.25307901e+00, 2.37758877e+00, 2.36786726e+00, 2.26457119e+00,
             2.05241769e+00, 2.02006020e+00, 1.96651541e+00, 1.97930909e+00,
             2.05072275e+00, 2.11200633e+00, 2.25526030e+00, 2.15241252e+00,
             2.24380199e+00, 2.08202988e+00, 1.99581743e+00, 1.89842029e+00,
             1.68641665e+00, 1.55177330e+00, 1.36028593e+00, 1.24278528e+00,
             1.12188757e+00, 1.02753915e+00, 9.51756111e-01, 8.79999922e-01,
             8.48478459e-01, 7.86434153e-01, 7.75960964e-01, 7.31223467e-01,
             6.94611082e-01, 6.61910228e-01, 6.69654245e-01, 6.46087328e-01,
             6.16348989e-01, 6.27899772e-01, 5.98733773e-01, 5.66040755e-01,
             5.54252448e-01, 5.32374004e-01, 6.21093974e-01, 1.10605834e+00,
             5.65530493e-01],
            [1.18595525e+01, 4.97959322e+00, 3.58755757e+00, 2.94108483e+00,
             2.85884400e+00, 2.54028601e+00, 2.54466762e+00, 2.27151768e+00,
             2.20081956e+00, 2.03409988e+00, 2.06725784e+00, 1.89290255e+00,
             1.98072942e+00, 1.86709794e+00, 1.86255919e+00, 1.60786293e+00,
             1.67623955e+00, 1.40131629e+00, 1.44908704e+00, 1.26560946e+00,
             1.35469045e+00, 1.16296249e+00, 1.15626968e+00, 1.00359287e+00,
             9.27385770e-01, 8.05813051e-01, 7.29405245e-01, 6.14712908e-01,
             5.74781919e-01, 5.05714310e-01, 4.88913616e-01, 4.44145253e-01,
             4.45800974e-01, 4.19765613e-01, 4.26248772e-01, 4.53539067e-01,
             4.69807422e-01, 4.60143069e-01, 4.79973706e-01, 4.44125125e-01,
             4.26681701e-01, 5.16226474e-01, 5.06248645e-01, 5.43729686e-01,
             4.03384597e-01, 3.22069622e-01, 3.88032611e-01, 6.08337896e+01,
                        nan],
            [1.20008153e+01, 4.52373447e+00, 2.53205436e+00, 1.95987145e+00,
             1.68561559e+00, 1.35823013e+00, 1.06112770e+00, 9.04148180e-01,
             7.73121226e-01, 7.06270473e-01, 6.38955325e-01, 5.88677049e-01,
             5.23072367e-01, 4.77237345e-01, 4.40651750e-01, 4.03559240e-01,
             3.77945334e-01, 3.61810002e-01, 3.48063565e-01, 3.40408987e-01,
             3.19275420e-01, 3.15722505e-01, 2.98753510e-01, 2.94470373e-01,
             2.87329178e-01, 2.84434984e-01, 2.89159681e-01, 2.96999130e-01,
             3.09476536e-01, 3.09896010e-01, 3.43075732e-01, 3.64153279e-01,
             3.37287147e-01, 2.83830864e-01, 2.65328327e-01, 3.10828094e-01,
             5.27707428e-01, 1.09958888e+00, 1.70428055e+00, 4.72042158e-01,
             1.73144303e+00,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan],
            [8.14140230e+00, 1.88084775e+00, 7.26223443e-01, 4.61641841e-01,
             4.01225449e-01, 3.77276792e-01, 3.61756498e-01, 3.51907089e-01,
             3.34929641e-01, 3.17450628e-01, 3.01135119e-01, 2.91249790e-01,
             2.82846238e-01, 2.72306145e-01, 2.69324223e-01, 2.60152814e-01,
             2.52086985e-01, 2.42525708e-01, 2.39314482e-01, 2.27459368e-01,
             2.29909146e-01, 2.33270130e-01, 2.32517123e-01, 2.57107429e-01,
             2.37520841e-01, 2.17734028e-01, 1.77322463e-01, 1.66670892e-01,
             2.06064679e-01, 1.81312113e-01, 3.56486993e-01, 4.76187062e-02,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan],
            [5.30451555e+00, 1.39890220e+00, 6.59641136e-01, 4.74013103e-01,
             4.34966521e-01, 4.14950727e-01, 3.92516821e-01, 3.73728739e-01,
             3.41558522e-01, 3.13010930e-01, 2.81422250e-01, 2.62277502e-01,
             2.44637364e-01, 2.39803077e-01, 2.42269302e-01, 2.32348871e-01,
             2.32636819e-01, 2.28041078e-01, 2.54482152e-01, 2.75752326e-01,
             3.44877263e-01, 3.81703585e-01, 3.86630974e-01, 6.74861080e-01,
             8.42115501e-01, 7.61087575e-01, 6.42034748e-01, 5.88438534e-01,
             5.59815524e-01, 4.67952854e-01, 3.81562168e-01, 6.05726756e-01,
             4.05398653e-01, 4.76605698e-01, 8.32539916e-01, 9.93984286e+00,
             4.42157658e-01,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan,            nan,            nan,            nan,
                        nan]]])
    • season
      (season)
      object
      'DJF' 'MAM' 'JJA' 'SON'
      array(['DJF', 'MAM', 'JJA', 'SON'], dtype=object)
    • quantile
      ()
      float64
      0.5
      array(0.5)
    • zeuc
      (zeuc)
      float64
      2.5 7.5 12.5 ... 232.5 237.5 242.5
      long_name :
      Depth relative to EUC max
      units :
      m
      array([  2.5,   7.5,  12.5,  17.5,  22.5,  27.5,  32.5,  37.5,  42.5,  47.5,
              52.5,  57.5,  62.5,  67.5,  72.5,  77.5,  82.5,  87.5,  92.5,  97.5,
             102.5, 107.5, 112.5, 117.5, 122.5, 127.5, 132.5, 137.5, 142.5, 147.5,
             152.5, 157.5, 162.5, 167.5, 172.5, 177.5, 182.5, 187.5, 192.5, 197.5,
             202.5, 207.5, 212.5, 217.5, 222.5, 227.5, 232.5, 237.5, 242.5])
    • longitude
      (longitude)
      float32
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.], dtype=float32)
    • latitude
      ()
      float32
      0.0
      FORTRAN_format :
      epic_code :
      500
      type :
      EVEN
      units :
      degree_north
      array(0., dtype=float32)
    • num_obs
      (season, longitude, zeuc)
      int64
      5189 5238 5231 5230 ... 0 0 0 0
      array([[[ 5189,  5238,  5231,  5230,  5231,  5225,  5232,  5235,  5245,
                5255,  5256,  5258,  5256,  5256,  5254,  5253,  5245,  5237,
                5230,  5198,  5124,  5047,  4937,  4771,  4597,  4395,  4119,
                3854,  3539,  3216,  2899,  2553,  2197,  1932,  1635,  1380,
                1083,   844,   702,   526,   454,   301,   199,   119,    45,
                  26,    11,     4,     2],
              [23197, 23683, 23695, 23706, 23719, 23727, 23734, 23722, 23717,
               23667, 23602, 23526, 23432, 23362, 23202, 23034, 22656, 22223,
               21555, 20735, 19739, 18716, 17243, 16280, 14753, 13865, 12340,
               11586, 10615,  9855,  8655,  7623,  6302,  5236,  4054,  3232,
                2440,  1820,  1467,   972,   751,   356,   160,    93,    16,
                   8,     0,     0,     0],
              [26534, 26473, 26403, 26382, 26340, 26318, 26274, 26225, 26173,
               26086, 25955, 25785, 25533, 25196, 24769, 24191, 23587, 22905,
               22068, 21015, 19896, 18569, 17018, 15203, 13468, 11411,  9552,
                7627,  5617,  4331,  2854,  1914,  1174,   627,   347,   143,
                  74,    26,    10,     2,     0,     0,     0,     0,     0,
                   0,     0,     0,     0],
              [34205, 34096, 34055, 33934, 33824, 33723, 33544, 33339, 32945,
               32262, 31174, 29605, 27190, 25027, 21073, 18218, 14241, 10909,
                8219,  5474,  3805,  2160,  1259,   590,   313,   134,    80,
                  53,    35,    20,     7,     3,     0,     0,     0,     0,
                   0,     0,     0,     0,     0,     0,     0,     0,     0,
                   0,     0,     0,     0],
              [23051, 22789, 22550, 21664, 21035, 19304, 17604, 15190, 12834,
               10885,  8348,  6440,  4162,  2736,  1475,   835,   422,   220,
                 148,    98,    85,    82,    82,    82,    82,    82,    82,
                  82,    82,    82,    82,    82,    82,    82,    82,    82,
                  82,    81,    78,    73,    65,    59,    45,    30,    21,
                  10,     7,     0,     0]],
      
             [[ 5739,  5765,  5763,  5765,  5758,  5755,  5758,  5756,  5763,
                5766,  5767,  5767,  5758,  5752,  5735,  5708,  5678,  5634,
                5559,  5472,  5364,  5248,  5099,  4922,  4714,  4481,  4198,
                3929,  3594,  3275,  3001,  2650,  2237,  1935,  1470,  1232,
                 934,   716,   555,   367,   310,   195,   135,    77,    49,
                  28,    16,    10,     0],
              [26097, 26544, 26549, 26557, 26559, 26547, 26564, 26561, 26465,
               26429, 26132, 25988, 25700, 25512, 24895, 24687, 23994, 23646,
               23061, 22435, 21749, 21034, 20413, 19632, 18773, 17947, 16638,
               15595, 13809, 12704, 10636,  9382,  6859,  5818,  4328,  3571,
                2329,  1719,  1160,   655,   442,   216,   116,    59,    12,
                   9,     0,     0,     0],
              [25567, 25577, 25587, 25601, 25612, 25605, 25592, 25538, 25473,
               25368, 25165, 24964, 24562, 24182, 23459, 22776, 21907, 20900,
               20063, 18598, 17346, 15494, 13757, 11684,  9549,  7734,  5609,
                4306,  2990,  2327,  1591,  1168,   784,   372,   207,    89,
                  34,    20,     6,     0,     0,     0,     0,     0,     0,
                   0,     0,     0,     0],
              [32480, 32302, 32149, 31903, 31739, 31260, 30523, 28792, 26380,
               22986, 19116, 15992, 11820,  9641,  6566,  4914,  3351,  2127,
                1464,   762,   460,   235,   104,    61,    25,    16,     5,
                   0,     0,     0,     0,     0,     0,     0,     0,     0,
                   0,     0,     0,     0,     0,     0,     0,     0,     0,
                   0,     0,     0,     0],
              [23211, 22039, 20939, 17940, 15815, 12032,  9155,  6190,  3938,
                2485,  1492,  1030,   544,   335,   144,    64,    27,    10,
                   6,     6,     6,     6,     6,     6,     5,     5,     4,
                   4,     4,     4,     4,     4,     4,     4,     4,     4,
                   4,     4,     4,     4,     4,     4,     3,     2,     0,
                   0,     0,     0,     0]],
      
             [[ 4480,  4500,  4499,  4497,  4495,  4496,  4498,  4496,  4497,
                4495,  4493,  4490,  4467,  4437,  4408,  4355,  4291,  4203,
                4126,  4083,  4023,  3933,  3862,  3720,  3623,  3499,  3372,
                3223,  3021,  2743,  2453,  2158,  1695,  1372,   993,   769,
                 564,   440,   325,   225,   177,    86,    61,    47,    29,
                  20,    12,     4,     4],
              [28543, 28727, 28740, 28727, 28740, 28726, 28730, 28692, 28682,
               28643, 28594, 28574, 28433, 28267, 27703, 27276, 26293, 25968,
               25412, 24898, 23886, 23121, 22107, 21230, 19737, 18648, 16673,
               15521, 13530, 12295, 10212,  8902,  6885,  5734,  4083,  3214,
                1968,  1358,   888,   453,   283,   115,    43,    27,     5,
                   4,     0,     0,     0],
              [25516, 25481, 25434, 25346, 25226, 25062, 24859, 24609, 24294,
               23897, 23304, 22553, 21292, 19975, 18100, 16357, 14305, 12092,
               10478,  8442,  7184,  5590,  4348,  2969,  2050,  1368,   823,
                 563,   344,   230,   115,    48,    22,     2,     1,     0,
                   0,     0,     0,     0,     0,     0,     0,     0,     0,
                   0,     0,     0,     0],
              [32602, 32386, 32069, 31482, 31128, 30489, 30139, 29314, 28114,
               25690, 22304, 18818, 13925, 11099,  7246,  5532,  3778,  2802,
                2228,  1733,  1358,  1009,   730,   466,   328,   161,    84,
                  48,    15,     9,     0,     0,     0,     0,     0,     0,
                   0,     0,     0,     0,     0,     0,     0,     0,     0,
                   0,     0,     0,     0],
              [26374, 26253, 26139, 25353, 24470, 22322, 19979, 16887, 13414,
               10584,  7419,  5781,  3810,  2785,  1692,  1068,   540,   230,
                 122,    35,    15,     2,     0,     0,     0,     0,     0,
                   0,     0,     0,     0,     0,     0,     0,     0,     0,
                   0,     0,     0,     0,     0,     0,     0,     0,     0,
                   0,     0,     0,     0]],
      
             [[ 5864,  6282,  6275,  6263,  6262,  6266,  6267,  6288,  6295,
                6294,  6299,  6300,  6300,  6300,  6297,  6297,  6297,  6295,
                6293,  6287,  6273,  6248,  6223,  6179,  6126,  6065,  5986,
                5869,  5767,  5600,  5457,  5254,  4985,  4708,  4294,  3943,
                3439,  2991,  2589,  2130,  1857,  1400,  1131,   906,   640,
                 499,   302,   179,   102],
              [28058, 28591, 28636, 28646, 28659, 28652, 28653, 28638, 28639,
               28616, 28569, 28546, 28508, 28488, 28400, 28338, 27852, 27630,
               27088, 26703, 25280, 24744, 23457, 22708, 21295, 20504, 19182,
               18447, 16783, 15947, 13857, 12707, 10354,  8909,  7020,  5680,
                4199,  3219,  2389,  1398,  1041,   526,   289,   186,    58,
                  36,     9,     1,     0],
              [24198, 24225, 24193, 24096, 24055, 24004, 23967, 23948, 23914,
               23841, 23727, 23537, 23205, 22774, 22126, 21348, 20305, 18961,
               17572, 15528, 13984, 12186, 10555,  8836,  7424,  5913,  4563,
                3585,  2288,  1625,   857,   497,   283,   119,    64,    26,
                  14,    13,    13,    10,     2,     0,     0,     0,     0,
                   0,     0,     0,     0],
              [36251, 36142, 36085, 35978, 35882, 35712, 35446, 35053, 34637,
               33850, 32712, 31096, 28191, 25721, 21310, 18219, 14005, 10939,
                8571,  6216,  4670,  3151,  2219,  1254,   770,   381,   200,
                 109,    34,    17,     5,     3,     0,     0,     0,     0,
                   0,     0,     0,     0,     0,     0,     0,     0,     0,
                   0,     0,     0,     0],
              [23594, 23481, 23372, 23092, 22838, 22132, 21284, 19876, 18201,
               16345, 13776, 11721,  8513,  6616,  4616,  3212,  2297,  1447,
                1044,   543,   324,   120,    61,    27,    21,    18,    16,
                  15,    15,    14,    10,    10,     5,     5,     3,     2,
                   1,     0,     0,     0,     0,     0,     0,     0,     0,
                   0,     0,     0,     0]]])
%matplotlib notebook

tao.u.isel(longitude=0).sel(time=slice("1992", "1993")).plot(x="time")
tao.eucmax.isel(longitude=0).sel(time=slice("1992", "1993")).plot(
    x="time", lw=0.5, xlim=["1992", "1993"]
)
[<matplotlib.lines.Line2D at 0x2b7aef5ee0f0>]

after binning instead of reinterpolating to euc depth coordinate#

fg = median_Rig.where(median_Rig.num_obs > 60 * 24).plot.line(
    col="longitude",
    hue="season",
    y="zeuc",
    xlim=[1e-1, 10],
    ylim=[0, 250],
    xscale="log",
)

fg.map(lambda: dcpy.plots.linex(0.25, ax=plt.gca()))
fg.fig.set_size_inches((10, 4))
_images/aff6dd960fcb75b0f3e657c9f995bc83d1c5cb73facdb7036d69b1787d60539b.png

after gridding T,u to same grid#

some minor differences especially at 110W

%matplotlib inline

fg = (
    Ri_q.where(Ri_q.num_obs > 60 * 24)
    .sel(quantile=50)
    .plot.line(
        col="longitude",
        hue="season",
        y="zeuc",
        xlim=[1e-1, 2],
        ylim=[0, 250],
        xscale="log",
    )
)

fg.map(lambda: dcpy.plots.linex(0.25, ax=plt.gca()))
fg.fig.set_size_inches((10, 4))
_images/a054d6f0ffbe092f319cb456b550be1b6322d51bd38b4f67a42dd47fef9bfa13.png

after filling NaNs with pchip#

and properly filtering eucmax

fg = (
    Ri_q.where(Ri_q.num_obs > 90 * 24)
    .sel(quantile=50)
    .plot.line(
        col="longitude",
        hue="season",
        y="zeuc",
        xlim=[1e-1, 2],
        ylim=[0, 250],
        xscale="log",
    )
)

fg.map(lambda: dcpy.plots.linex(0.25, ax=plt.gca()))
fg.fig.set_size_inches((10, 4))

fg.fig.savefig("images/tao-marginal-stability-zeuc-Rig-median.png", dpi=200)
_images/27226cf0158ae942534dd8533a1b212896bf5d41982b9c7d2c5fc0cf12c2ad9a.png

before filling NaNs with pchip#

fg = (
    Ri_q.where(Ri_q.num_obs > 30 * 24)
    .sel(quantile=50)
    .plot.line(
        col="longitude",
        hue="season",
        y="zeuc",
        xlim=[1e-1, 2],
        ylim=[0, 250],
        xscale="log",
    )
)

fg.map(lambda: dcpy.plots.linex(0.25, ax=plt.gca()))
fg.fig.set_size_inches((10, 4))

fg.fig.savefig("images/tao-marginal-stability-zeuc-Rig-median.png", dpi=200)

# Ri_q.Ri.sel(quantile=50).plot(xscale="log", xlim=[0.1, 2], y="zeuc", hue="season", col="longitude", ylim=[0, 250])
_images/ea1a0360f424b2e8acfa74c73bd1c693108f609dcf397b5602ecd2d66000d79e.png

Using number of observations > 90#

This seems to work best.

There is an error here. Need 90*24

fg = (
    Ri_q.sel(quantile=50)
    .where(Ri_q.num_obs > 90)
    .plot.line(col="longitude", hue="season", y="zeuc", xlim=[0, 2], ylim=[0, 250])
)
[dcpy.plots.linex(0.25, ax=ax) for ax in fg.axes.flat]
[None, None, None, None, None]
_images/6def26ea317678fad56cb681c2dbe2f324eda0644fec18177a8f2926d383fcb2.png

after removing mld#

fg = Ri_q.sel(quantile=50).plot.line(
    col="longitude", hue="season", y="zeuc", xlim=[0, 2], ylim=[0, 250]
)
[dcpy.plots.linex(0.25, ax=ax) for ax in fg.axes.flat]
[None, None, None, None, None]
_images/9d910b892c1f2ac1f7b27c8fd1203e9cac08acf6b1095e23a4235f99b10c81be.png

before removing mld#

fg = (
    Ri_q.sel(quantile=50)
    .isel(zeuc=slice(None, None, 2))
    .plot.line(col="longitude", hue="season", y="zeuc", xlim=[0, 2], ylim=[0, 250])
)
[dcpy.plots.linex(0.25, ax=ax) for ax in fg.axes.flat]
[None, None, None, None, None]
_images/a2fde6f498cf5f19ea56cf232d6304f2cc048fb04c16cc0539b628a343fe23e7.png

Before limiting eucmax to be deeper than 20m#

Ri_q.sel(quantile=50).plot.line(
    col="longitude", hue="season", y="zeuc", xlim=[0, 2], ylim=[0, 200]
)
<xarray.plot.facetgrid.FacetGrid at 0x2b00a6c4a2e8>
_images/3e03a484a7d45ac9e28a54102007057fa8f6fe7a4d1216defbd420a6656606d3.png
Ri_q = (
    Ri.chunk({"time": -1, "depth": 25})
    .groupby("time.season")
    .apply(dask_quantile, dim="time", q=[25, 50, 75])
).reindex(season=["DJF", "MAM", "JJA", "SON"])
Ri_q
<xarray.DataArray 'Ri' (season: 4, depth: 135, longitude: 5, quantile: 3)>
dask.array<getitem, shape=(4, 135, 5, 3), dtype=float64, chunksize=(1, 25, 1, 3), chunktype=numpy.ndarray>
Coordinates:
  * season     (season) object 'DJF' 'MAM' 'JJA' 'SON'
    latitude   float32 0.0
  * quantile   (quantile) int64 25 50 75
  * depth      (depth) float32 -750.0 -500.0 -495.0 -490.0 ... -3.0 -1.0 -0.0
  * longitude  (longitude) float32 -204.0 -195.0 -170.0 -140.0 -110.0
Ri_q.sel(quantile=50).plot.line(
    y="depth", hue="season", col="longitude", xlim=[0, 2], ylim=[-100, 0]
)
<xarray.plot.facetgrid.FacetGrid at 0x2b79f92b9898>
_images/c7b15d058c1655327e43dbdc2b7bc48c3ef5cf3945a6c1e8a7d3b1e4b4a598a1.png
Ri.Ri.groupby("time.season").quantile([25, 50, 75])
Ri.Ri.groupby("time.season").quantile
median = Ri.Ri.groupby("time.season").apply(lambda x: dask_median(x, "time"))
<xarray.DataArray 'Ri' (season: 4, depth: 135, longitude: 5)>
dask.array<concatenate, shape=(4, 135, 5), dtype=float64, chunksize=(1, 10, 1), chunktype=numpy.ndarray>
Coordinates:
    latitude   float32 0.0
  * depth      (depth) float32 -750.0 -500.0 -495.0 -490.0 ... -3.0 -1.0 -0.0
  * longitude  (longitude) float64 -204.0 -195.0 -170.0 -140.0 -110.0
  * season     (season) object 'DJF' 'JJA' 'MAM' 'SON'
seasonal = Ri.groupby("time.season")

for season, Ris in seasonal:
    Rigrouped = Ris.Ri.groupby_bins(Ris.zeuc, np.arange(0, 200, 10))
    for bin, group in Rigrouped:
        print(bin)

seasonal = (
    Ri.groupby("time.season")
    .apply(lambda x: dask_median(x, "time"))
    .reindex(season=["DJF", "MAM", "JJA", "SON"])
)

fg = seasonal.plot.line(
    col="longitude",
    hue="season",
    y="depth",
    ylim=[-150, 0],
    xlim=[0.1, 3.5],
    xscale="log",
)
fg.map(lambda: dcpy.plots.linex([0.25, 0.3]))
plt.gcf().suptitle("Seasonal median 5m Ri | Hourly mean TAO ADCP, T ", y=1.02)
plt.gcf().set_size_inches((8, 4))
plt.gcf().set_dpi(200)
# f, ax = plt.subplots(1, 1, constrained_layout=True)
# f.savefig('images/tao-marginal-stability-hourly.png')
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-90-95983074cd2a> in <module>
      2 
      3 for season, Ris in seasonal:
----> 4     Rigrouped = Ris.Ri.groupby_bins(Ris.zeuc, np.arange(0, 200, 10))
      5     for bin, group in Rigrouped:
      6         print(bin)

/gpfs/u/home/dcherian/python/xarray/xarray/core/common.py in groupby_bins(self, group, bins, right, labels, precision, include_lowest, squeeze, restore_coord_dims)
    734                 "labels": labels,
    735                 "precision": precision,
--> 736                 "include_lowest": include_lowest,
    737             },
    738         )

/gpfs/u/home/dcherian/python/xarray/xarray/core/groupby.py in __init__(self, obj, group, squeeze, grouper, bins, restore_coord_dims, cut_kwargs)
    321             raise ValueError("`group` must have a name")
    322 
--> 323         group, obj, stacked_dim, inserted_dims = _ensure_1d(group, obj)
    324         (group_dim,) = group.dims
    325 

/gpfs/u/home/dcherian/python/xarray/xarray/core/groupby.py in _ensure_1d(group, obj)
    192         # the copy is necessary here, otherwise read only array raises error
    193         # in pandas: https://github.com/pydata/pandas/issues/12813
--> 194         group = group.stack(**{stacked_dim: orig_dims}).copy()
    195         obj = obj.stack(**{stacked_dim: orig_dims})
    196     else:

/gpfs/u/home/dcherian/python/xarray/xarray/core/dataarray.py in stack(self, dimensions, **dimensions_kwargs)
   1723         DataArray.unstack
   1724         """
-> 1725         ds = self._to_temp_dataset().stack(dimensions, **dimensions_kwargs)
   1726         return self._from_temp_dataset(ds)
   1727 

/gpfs/u/home/dcherian/python/xarray/xarray/core/dataset.py in stack(self, dimensions, **dimensions_kwargs)
   3232         result = self
   3233         for new_dim, dims in dimensions.items():
-> 3234             result = result._stack_once(dims, new_dim)
   3235         return result
   3236 

/gpfs/u/home/dcherian/python/xarray/xarray/core/dataset.py in _stack_once(self, dims, new_dim)
   3188         # consider dropping levels that are unused?
   3189         levels = [self.get_index(dim) for dim in dims]
-> 3190         idx = utils.multiindex_from_product_levels(levels, names=dims)
   3191         variables[new_dim] = IndexVariable(new_dim, idx)
   3192 

KeyboardInterrupt: 

How good is bulk Ri vs gradient Ri#

# del tao.time.encoding["_FillValue"]
tao.to_zarr("tao-gridded-ancillary.zarr", mode="w", consolidated=True)
<xarray.backends.zarr.ZarrStore at 0x2b3780b1e888>
tao = pump.obs.read_tao_zarr("gridded")
tao
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • depth: 101
    • longitude: 5
    • time: 292267
    • deepest
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 1), meta=np.ndarray>
      description :
      Deepest depth with a valid observation
      Array Chunk
      Bytes 11.69 MB 80.00 kB
      Shape (292267, 5) (10000, 1)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267
    • depth
      (depth)
      float64
      -500.0 -495.0 -490.0 ... -5.0 0.0
      array([-500., -495., -490., -485., -480., -475., -470., -465., -460., -455.,
             -450., -445., -440., -435., -430., -425., -420., -415., -410., -405.,
             -400., -395., -390., -385., -380., -375., -370., -365., -360., -355.,
             -350., -345., -340., -335., -330., -325., -320., -315., -310., -305.,
             -300., -295., -290., -285., -280., -275., -270., -265., -260., -255.,
             -250., -245., -240., -235., -230., -225., -220., -215., -210., -205.,
             -200., -195., -190., -185., -180., -175., -170., -165., -160., -155.,
             -150., -145., -140., -135., -130., -125., -120., -115., -110., -105.,
             -100.,  -95.,  -90.,  -85.,  -80.,  -75.,  -70.,  -65.,  -60.,  -55.,
              -50.,  -45.,  -40.,  -35.,  -30.,  -25.,  -20.,  -15.,  -10.,   -5.,
                0.])
    • eucmax
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 2), meta=np.ndarray>
      long_name :
      Depth of EUC max
      units :
      m
      Array Chunk
      Bytes 11.69 MB 160.00 kB
      Shape (292267, 5) (10000, 2)
      Count 226 Tasks 90 Chunks
      Type float64 numpy.ndarray
      5 292267
    • latitude
      ()
      float32
      ...
      FORTRAN_format :
      epic_code :
      500
      type :
      EVEN
      units :
      degree_north
      array(0., dtype=float32)
    • longitude
      (longitude)
      float32
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.], dtype=float32)
    • mld
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 1), meta=np.ndarray>
      Array Chunk
      Bytes 11.69 MB 80.00 kB
      Shape (292267, 5) (10000, 1)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267
    • time
      (time)
      datetime64[ns]
      1985-10-01T06:00:00 ... 2019-02-03
      FORTRAN_format :
      point_spacing :
      even
      type :
      EVEN
      array(['1985-10-01T06:00:00.000000000', '1985-10-01T07:00:00.000000000',
             '1985-10-01T08:00:00.000000000', ..., '2019-02-02T22:00:00.000000000',
             '2019-02-02T23:00:00.000000000', '2019-02-03T00:00:00.000000000'],
            dtype='datetime64[ns]')
    • zeuc
      (depth, time, longitude)
      float64
      dask.array<chunksize=(101, 10000, 1), meta=np.ndarray>
      Array Chunk
      Bytes 1.18 GB 8.08 MB
      Shape (101, 292267, 5) (101, 10000, 1)
      Count 976 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267 101
    • Rig
      (time, longitude, depth)
      float64
      dask.array<chunksize=(10000, 1, 101), meta=np.ndarray>
      long_name :
      Ri
      Array Chunk
      Bytes 1.18 GB 8.08 MB
      Shape (292267, 5, 101) (10000, 1, 101)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      101 5 292267
    • T
      (time, longitude, depth)
      float64
      dask.array<chunksize=(10000, 1, 101), meta=np.ndarray>
      Array Chunk
      Bytes 1.18 GB 8.08 MB
      Shape (292267, 5, 101) (10000, 1, 101)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      101 5 292267
    • dens
      (time, longitude, depth)
      float64
      dask.array<chunksize=(10000, 1, 101), meta=np.ndarray>
      Array Chunk
      Bytes 1.18 GB 8.08 MB
      Shape (292267, 5, 101) (10000, 1, 101)
      Count 12603 Tasks 150 Chunks
      Type float64 numpy.ndarray
      101 5 292267
    • u
      (time, depth, longitude)
      float32
      dask.array<chunksize=(10000, 101, 1), meta=np.ndarray>
      FORTRAN_format :
      epic_code :
      1205
      generic_name :
      u
      long_name :
      u
      name :
      u
      units :
      m/s
      Array Chunk
      Bytes 590.38 MB 4.04 MB
      Shape (292267, 101, 5) (10000, 101, 1)
      Count 151 Tasks 150 Chunks
      Type float32 numpy.ndarray
      5 101 292267
    • v
      (time, depth, longitude)
      float32
      dask.array<chunksize=(10000, 101, 1), meta=np.ndarray>
      FORTRAN_format :
      epic_code :
      1206
      generic_name :
      v
      long_name :
      v
      name :
      v
      units :
      m/s
      Array Chunk
      Bytes 590.38 MB 4.04 MB
      Shape (292267, 101, 5) (10000, 101, 1)
      Count 151 Tasks 150 Chunks
      Type float32 numpy.ndarray
      5 101 292267
tao_zeuc = xr.open_zarr("tao-zeuc.zarr", consolidated=True)
tao_zeuc
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • longitude: 5
    • time: 292267
    • zeuc: 59
    • deepest
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 1), meta=np.ndarray>
      description :
      Deepest depth with a valid observation
      Array Chunk
      Bytes 11.69 MB 80.00 kB
      Shape (292267, 5) (10000, 1)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267
    • eucmax
      (time, longitude)
      float64
      dask.array<chunksize=(292267, 5), meta=np.ndarray>
      long_name :
      Depth of EUC max
      units :
      m
      Array Chunk
      Bytes 11.69 MB 11.69 MB
      Shape (292267, 5) (292267, 5)
      Count 2 Tasks 1 Chunks
      Type float64 numpy.ndarray
      5 292267
    • latitude
      ()
      float32
      ...
      FORTRAN_format :
      epic_code :
      500
      type :
      EVEN
      units :
      degree_north
      array(0., dtype=float32)
    • longitude
      (longitude)
      float32
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.], dtype=float32)
    • mld
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 1), meta=np.ndarray>
      Array Chunk
      Bytes 11.69 MB 80.00 kB
      Shape (292267, 5) (10000, 1)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267
    • time
      (time)
      datetime64[ns]
      1985-10-01T06:00:00 ... 2019-02-03
      FORTRAN_format :
      point_spacing :
      even
      type :
      EVEN
      array(['1985-10-01T06:00:00.000000000', '1985-10-01T07:00:00.000000000',
             '1985-10-01T08:00:00.000000000', ..., '2019-02-02T22:00:00.000000000',
             '2019-02-02T23:00:00.000000000', '2019-02-03T00:00:00.000000000'],
            dtype='datetime64[ns]')
    • zeuc
      (zeuc)
      float64
      -47.5 -42.5 -37.5 ... 237.5 242.5
      array([-47.5, -42.5, -37.5, -32.5, -27.5, -22.5, -17.5, -12.5,  -7.5,  -2.5,
               2.5,   7.5,  12.5,  17.5,  22.5,  27.5,  32.5,  37.5,  42.5,  47.5,
              52.5,  57.5,  62.5,  67.5,  72.5,  77.5,  82.5,  87.5,  92.5,  97.5,
             102.5, 107.5, 112.5, 117.5, 122.5, 127.5, 132.5, 137.5, 142.5, 147.5,
             152.5, 157.5, 162.5, 167.5, 172.5, 177.5, 182.5, 187.5, 192.5, 197.5,
             202.5, 207.5, 212.5, 217.5, 222.5, 227.5, 232.5, 237.5, 242.5])
    • Rig
      (time, longitude, zeuc)
      float64
      dask.array<chunksize=(10000, 1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 689.75 MB 4.72 MB
      Shape (292267, 5, 59) (10000, 1, 59)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      59 5 292267
    • T
      (time, longitude, zeuc)
      float64
      dask.array<chunksize=(10000, 1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 689.75 MB 4.72 MB
      Shape (292267, 5, 59) (10000, 1, 59)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      59 5 292267
    • dens
      (time, longitude, zeuc)
      float64
      dask.array<chunksize=(10000, 1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 689.75 MB 4.72 MB
      Shape (292267, 5, 59) (10000, 1, 59)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      59 5 292267
    • u
      (time, longitude, zeuc)
      float64
      dask.array<chunksize=(10000, 1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 689.75 MB 4.72 MB
      Shape (292267, 5, 59) (10000, 1, 59)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      59 5 292267
    • v
      (time, longitude, zeuc)
      float64
      dask.array<chunksize=(10000, 1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 689.75 MB 4.72 MB
      Shape (292267, 5, 59) (10000, 1, 59)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      59 5 292267
tao_clim["Rig"] = pump.calc.calc_tao_ri(
    tao_clim[["u", "v"]].expand_dims(time=1), tao_clim["T"].expand_dims(time=1)
)
tao_clim.Rib.plot(x="longitude")
# tao_clim.Rig.plot(x="longitude")
[<matplotlib.lines.Line2D at 0x2b37dfb427f0>]
_images/c17b55092bc00039c62c442babb6a2c85909987a7bb9b22688189ee50ec1e952.png
interped.sel(zeuc=slice(0, None)).quantile(dim="zeuc", q=0.5).count("time").compute()
Show/Hide data repr Show/Hide attributes
xarray.DataArray
  • longitude: 5
  • 21840 107780 102208 136161 97035
    array([ 21840, 107780, 102208, 136161,  97035])
    • longitude
      (longitude)
      float64
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.])
    • quantile
      ()
      float64
      0.5
      array(0.5)
Ri_q = xr.load_dataarray("tao-hourly-Ri-seasonal-percentiles.nc")
Ri_q
Show/Hide data repr Show/Hide attributes
xarray.DataArray
'Rig'
  • season: 4
  • longitude: 5
  • zeuc: 59
  • quantile: 3
  • 0.8657 1.847 4.079 0.9686 2.076 4.698 ... nan nan nan nan nan nan
    array([[[[8.65716985e-01, 1.84699736e+00, 4.07929186e+00],
             [9.68607747e-01, 2.07586669e+00, 4.69831821e+00],
             [1.12714689e+00, 2.45510051e+00, 5.63565819e+00],
             ...,
             [8.25933339e-01, 1.21812980e+00, 2.22266901e+00],
             [3.31773526e-02, 2.15271859e-01, 6.91555336e-01],
             [6.30251313e-01, 9.59637420e-01, 1.28902353e+00]],
    
            [[6.99998537e-01, 1.29253461e+00, 2.86526357e+00],
             [7.26263211e-01, 1.40190939e+00, 3.03401490e+00],
             [8.14764327e-01, 1.58527315e+00, 3.47211588e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[1.04342082e+00, 1.80473934e+00, 3.48219512e+00],
             [1.10594958e+00, 1.94826060e+00, 3.84621979e+00],
             [1.18464712e+00, 2.10952571e+00, 4.29768611e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[5.99332633e-01, 1.01832679e+00, 2.02945611e+00],
             [6.36358415e-01, 1.09730253e+00, 2.22929311e+00],
             [6.69077456e-01, 1.17499171e+00, 2.47144998e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[3.93460173e-01, 6.78976245e-01, 1.35634816e+00],
             [3.96662435e-01, 6.72044675e-01, 1.30979069e+00],
             [3.89880826e-01, 6.65452753e-01, 1.31105090e+00],
             ...,
             [1.71923451e+00, 2.11843237e+00, 3.14030388e+00],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]]],
    
    
           [[[9.64841693e-01, 2.03641443e+00, 5.24673701e+00],
             [1.00937285e+00, 2.07883897e+00, 5.36984820e+00],
             [1.07954196e+00, 2.17156104e+00, 5.51939592e+00],
             ...,
             [9.45015072e-01, 1.23069288e+00, 3.89244182e+00],
             [3.19059242e-01, 4.46329690e-01, 1.42386922e+00],
             [           nan,            nan,            nan]],
    
            [[9.77766440e-01, 1.94110422e+00, 4.23775491e+00],
             [1.02809324e+00, 2.09342055e+00, 4.71047287e+00],
             [1.20866875e+00, 2.40437219e+00, 5.50768658e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[1.06829041e+00, 1.84754009e+00, 3.53931845e+00],
             [1.11732667e+00, 1.94676703e+00, 3.81204909e+00],
             [1.15610819e+00, 2.03169397e+00, 4.13639554e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[6.45954343e-01, 1.04209220e+00, 1.87051596e+00],
             [6.91774334e-01, 1.11851238e+00, 2.00851346e+00],
             [7.23639413e-01, 1.19311723e+00, 2.28014936e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[3.90188842e-01, 5.96989693e-01, 1.09097169e+00],
             [3.99915480e-01, 6.17991764e-01, 1.10944998e+00],
             [4.09988742e-01, 6.36251961e-01, 1.14362343e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]]],
    
    
           [[[8.05875978e-01, 1.64882518e+00, 3.74725616e+00],
             [8.49498749e-01, 1.81732453e+00, 4.24185284e+00],
             [9.22981317e-01, 1.94493706e+00, 4.58776057e+00],
             ...,
             [3.77534561e-01, 5.81013898e-01, 1.00414836e+00],
             [4.43140283e-01, 2.25869804e+00, 6.26462169e+00],
             [7.27405524e-01, 1.93333063e+00, 1.82996463e+01]],
    
            [[8.33461276e-01, 1.78540849e+00, 4.40883574e+00],
             [8.75326686e-01, 1.94566370e+00, 4.97448619e+00],
             [1.09038278e+00, 2.41704308e+00, 5.99210430e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[1.03154098e+00, 1.90779205e+00, 4.02230303e+00],
             [1.06865210e+00, 2.04293217e+00, 4.50922149e+00],
             [1.09868897e+00, 2.09941647e+00, 4.83581297e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[6.13561831e-01, 9.54200964e-01, 1.59989813e+00],
             [6.30494824e-01, 9.95023982e-01, 1.67218575e+00],
             [6.41170129e-01, 1.02841434e+00, 1.77831551e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[3.93044016e-01, 6.17636578e-01, 1.07574078e+00],
             [3.96811132e-01, 6.24261383e-01, 1.06323474e+00],
             [3.92496939e-01, 6.23224291e-01, 1.09776787e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]]],
    
    
           [[[7.20142171e-01, 1.55444359e+00, 3.42266777e+00],
             [7.95652503e-01, 1.63517308e+00, 3.68113071e+00],
             [8.57140530e-01, 1.82649115e+00, 4.21420888e+00],
             ...,
             [2.47228307e-01, 6.21093974e-01, 1.91750068e+00],
             [3.27682126e-01, 1.10605834e+00, 3.20444965e+00],
             [3.40164626e-01, 5.65530493e-01, 1.53144780e+00]],
    
            [[6.63675669e-01, 1.31916576e+00, 3.00179180e+00],
             [6.91861346e-01, 1.44553130e+00, 3.44077254e+00],
             [8.46168409e-01, 1.73035774e+00, 4.14209451e+00],
             ...,
             [6.55769401e-02, 3.88032611e-01, 8.03026828e-01],
             [6.08337896e+01, 6.08337896e+01, 6.08337896e+01],
             [           nan,            nan,            nan]],
    
            [[1.22505629e+00, 2.16464382e+00, 4.25647302e+00],
             [1.31365069e+00, 2.36794923e+00, 4.86517140e+00],
             [1.38017117e+00, 2.53467087e+00, 5.59876342e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[6.04536606e-01, 1.02415097e+00, 1.99978561e+00],
             [6.29322459e-01, 1.08261699e+00, 2.06070930e+00],
             [6.45054365e-01, 1.11824484e+00, 2.15339242e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]],
    
            [[3.98786048e-01, 6.72431954e-01, 1.26091140e+00],
             [4.02719219e-01, 6.77482230e-01, 1.26239862e+00],
             [3.97279637e-01, 6.78105856e-01, 1.31576185e+00],
             ...,
             [           nan,            nan,            nan],
             [           nan,            nan,            nan],
             [           nan,            nan,            nan]]]])
    • season
      (season)
      object
      'DJF' 'MAM' 'JJA' 'SON'
      array(['DJF', 'MAM', 'JJA', 'SON'], dtype=object)
    • latitude
      ()
      float32
      0.0
      FORTRAN_format :
      epic_code :
      500
      type :
      EVEN
      units :
      degree_north
      array(0., dtype=float32)
    • longitude
      (longitude)
      float32
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.], dtype=float32)
    • quantile
      (quantile)
      int64
      25 50 75
      array([25, 50, 75])
    • zeuc
      (zeuc)
      float64
      -47.5 -42.5 -37.5 ... 237.5 242.5
      long_name :
      Depth relative to EUC max
      units :
      m
      array([-47.5, -42.5, -37.5, -32.5, -27.5, -22.5, -17.5, -12.5,  -7.5,  -2.5,
               2.5,   7.5,  12.5,  17.5,  22.5,  27.5,  32.5,  37.5,  42.5,  47.5,
              52.5,  57.5,  62.5,  67.5,  72.5,  77.5,  82.5,  87.5,  92.5,  97.5,
             102.5, 107.5, 112.5, 117.5, 122.5, 127.5, 132.5, 137.5, 142.5, 147.5,
             152.5, 157.5, 162.5, 167.5, 172.5, 177.5, 182.5, 187.5, 192.5, 197.5,
             202.5, 207.5, 212.5, 217.5, 222.5, 227.5, 232.5, 237.5, 242.5])
    • num_obs
      (season, longitude, zeuc)
      int64
      2956 3450 3685 4162 ... 0 0 0 0
      array([[[ 2956,  3450,  3685, ...,    11,     4,     2],
              [13003, 15472, 16505, ...,     0,     0,     0],
              [25255, 25759, 26188, ...,     0,     0,     0],
              [32022, 32550, 32964, ...,     0,     0,     0],
              [22159, 22496, 22742, ...,     7,     0,     0]],
      
             [[ 3942,  4331,  4609, ...,    16,    10,     0],
              [17279, 19213, 19858, ...,     0,     0,     0],
              [24860, 25030, 25287, ...,     0,     0,     0],
              [31769, 32155, 32493, ...,     0,     0,     0],
              [23765, 23781, 23797, ...,     0,     0,     0]],
      
             [[ 3745,  3967,  4061, ...,    12,     4,     4],
              [20430, 22423, 23235, ...,     0,     0,     0],
              [25438, 25492, 25513, ...,     0,     0,     0],
              [30761, 31005, 31326, ...,     0,     0,     0],
              [26311, 26305, 26311, ...,     0,     0,     0]],
      
             [[ 1779,  2291,  2663, ...,   302,   179,   102],
              [17003, 19290, 20532, ...,     9,     1,     0],
              [23085, 23454, 23690, ...,     0,     0,     0],
              [35541, 35937, 36215, ...,     0,     0,     0],
              [22990, 23038, 23080, ...,     0,     0,     0]]])
median_Rig = interped.sel(zeuc=slice(0, None)).quantile(dim="zeuc", q=0.5)
median_Rig
Show/Hide data repr Show/Hide attributes
xarray.DataArray
  • time: 292267
  • longitude: 5
  • dask.array<chunksize=(10000, 1), meta=np.ndarray>
    Array Chunk
    Bytes 11.69 MB 80.00 kB
    Shape (292267, 5) (10000, 1)
    Count 48664 Tasks 150 Chunks
    Type float64 numpy.ndarray
    5 292267
    • longitude
      (longitude)
      float64
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.])
    • time
      (time)
      datetime64[ns]
      1985-10-01T06:00:00 ... 2019-02-03
      FORTRAN_format :
      point_spacing :
      even
      type :
      EVEN
      array(['1985-10-01T06:00:00.000000000', '1985-10-01T07:00:00.000000000',
             '1985-10-01T08:00:00.000000000', ..., '2019-02-02T22:00:00.000000000',
             '2019-02-02T23:00:00.000000000', '2019-02-03T00:00:00.000000000'],
            dtype='datetime64[ns]')
    • eucmax
      (time, longitude)
      float64
      dask.array<chunksize=(292267, 5), meta=np.ndarray>
      long_name :
      Depth of EUC max
      units :
      m
      Array Chunk
      Bytes 11.69 MB 11.69 MB
      Shape (292267, 5) (292267, 5)
      Count 1 Tasks 1 Chunks
      Type float64 numpy.ndarray
      5 292267
    • mld
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 1), meta=np.ndarray>
      Array Chunk
      Bytes 11.69 MB 80.00 kB
      Shape (292267, 5) (10000, 1)
      Count 3417 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267
    • deepest
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 1), meta=np.ndarray>
      description :
      Deepest depth with a valid observation
      Array Chunk
      Bytes 11.69 MB 80.00 kB
      Shape (292267, 5) (10000, 1)
      Count 2517 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267
    • quantile
      ()
      float64
      0.5
      array(0.5)

quick fix. Take median of bulk Ri

median_Rib = (
    bulk_Ri.groupby("time.season")
    .apply(lambda x: x.chunk({"time": -1}).quantile(q=0.5, dim="time"))
    .compute()
)
/gpfs/u/home/dcherian/python/xarray/xarray/core/common.py:664: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, the dimension order of these coordinates will be restored as well unless you specify restore_coord_dims=False.
  self, group, squeeze=squeeze, restore_coord_dims=restore_coord_dims
medians = xr.Dataset()
medians["Rib"] = median_Rib
medians["Rig"] = median_Rig.sel(zeuc=slice(0, None)).median("zeuc")
fg = medians.plot.scatter(x="Rib", y="Rig", hue="season", col="longitude")
fg.axes[0, 0].set_xscale("log")
fg.axes[0, 0].set_yscale("log")
_images/1ab0ff5101c24dbd31d5e2a2b917635ec67f8075abf612ef3d826498bcf1a1ec.png
tao_bulk = pump.calc.estimate_euc_depth_terms(tao, inplace=False)
bulk_Ri = tao_bulk["Rib"]

Ri = xr.Dataset({"bulk": bulk_Ri, "gradient": median_Rig})
Ri["season"] = Ri.time.dt.season
Ri.load()
/gpfs/u/home/dcherian/python/xarray/xarray/core/missing.py:393: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, these coordinates will be transposed as well unless you specify transpose_coords=False.
  ).transpose(*arr.dims)
/gpfs/u/home/dcherian/python/xarray/xarray/core/missing.py:393: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, these coordinates will be transposed as well unless you specify transpose_coords=False.
  ).transpose(*arr.dims)
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • longitude: 5
    • time: 292267
    • latitude
      ()
      float32
      0.0
      FORTRAN_format :
      epic_code :
      500
      type :
      EVEN
      units :
      degree_north
      array(0., dtype=float32)
    • longitude
      (longitude)
      float64
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.])
    • time
      (time)
      datetime64[ns]
      1985-10-01T06:00:00 ... 2019-02-03
      FORTRAN_format :
      point_spacing :
      even
      type :
      EVEN
      array(['1985-10-01T06:00:00.000000000', '1985-10-01T07:00:00.000000000',
             '1985-10-01T08:00:00.000000000', ..., '2019-02-02T22:00:00.000000000',
             '2019-02-02T23:00:00.000000000', '2019-02-03T00:00:00.000000000'],
            dtype='datetime64[ns]')
    • eucmax
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      long_name :
      Depth of EUC max
      units :
      m
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • mld
      (time, longitude)
      float64
      nan nan nan nan ... nan -5.0 -5.0
      array([[ nan,  nan,  nan,  nan,  -5.],
             [ nan,  nan,  nan,  nan, -10.],
             [ nan,  nan,  nan,  nan, -10.],
             ...,
             [ nan, -75.,  nan,  -5.,  -5.],
             [ nan, -70.,  nan,  -5.,  -5.],
             [ nan, -20.,  nan,  -5.,  -5.]])
    • deepest
      (time, longitude)
      float64
      nan nan nan ... nan -500.0 -500.0
      description :
      Deepest depth with a valid observation
      array([[  nan,   nan,   nan,   nan, -300.],
             [  nan,   nan,   nan,   nan, -300.],
             [  nan,   nan,   nan,   nan, -300.],
             ...,
             [  nan, -500.,   nan, -500., -500.],
             [  nan, -500.,   nan, -500., -500.],
             [  nan, -500.,   nan, -500., -500.]])
    • quantile
      ()
      float64
      0.5
      array(0.5)
    • bulk
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • gradient
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • season
      (time)
      <U3
      'SON' 'SON' 'SON' ... 'DJF' 'DJF'
      array(['SON', 'SON', 'SON', ..., 'DJF', 'DJF', 'DJF'], dtype='<U3')
# Ri.time.encoding.pop("_FillValue")
Ri.to_netcdf("rib-median-rig.nc")
tao.T.sel(longitude=-170).plot(x="time")
<matplotlib.collections.QuadMesh at 0x2b09a25efc18>
_images/f88d111e76287debd74c5f3a7f0a8a9672078f2219c27a737f83909191e6b7d3.png
tao.u.sel(longitude=-170).plot(x="time")
tao.eucmax.sel(longitude=-170).plot(x="time")
[<matplotlib.lines.Line2D at 0x2b098b736208>]
_images/f233a3fb5cd7ff9d6caa60b41fdb208f37785eb01e2c5c98e2f28ff3c12072a6.png
tao.u.sel(longitude=-140, time=slice("1996-09-04", "1996-12-01")).plot(x="time")
<matplotlib.collections.QuadMesh at 0x2b34a38ac2e8>
_images/8108137621c288a6794b17c853d999b6d4726e29e13a291ce61da42e849e90e5.png
tao.eucmax.plot.line(x="time", col="longitude")
<xarray.plot.facetgrid.FacetGrid at 0x2b0982c0de48>
_images/bd13f6f21a5997c36bfdf2c1e1977b5ecdf5ac72d100a9c4c835af631ac6a902.png
fg = tao.ueuc.plot(x="time", col="longitude")
fg.map(lambda: plt.gca().axhline(0, color="k", ls="--"))
<xarray.plot.facetgrid.FacetGrid at 0x2b098b6678d0>
_images/487cb9a8763b10088567f450e68a12d878e710c046f6d4dca193678fb4572f82.png
tao.dens_euc.compute().plot.line(x="time", col="longitude")
<xarray.plot.facetgrid.FacetGrid at 0x2b098f0a2cf8>
_images/b5343f68600d35cbe50bcb7273252614fd64562b4bd85e5191da220a46d40448.png
Ri.to_netcdf("rib-median-rig.nc")

Estimate and plot histograms#

Ri = xr.load_dataset("rib-median-rig.nc")
Ri
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • longitude: 5
    • time: 292267
    • deepest
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      description :
      Deepest depth with a valid observation
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • eucmax
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      long_name :
      Depth of EUC max
      units :
      m
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • latitude
      ()
      float64
      0.0
      array(0.)
    • longitude
      (longitude)
      float32
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.], dtype=float32)
    • mld
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • time
      (time)
      datetime64[ns]
      1985-10-01T06:00:00 ... 2019-02-03
      FORTRAN_format :
      point_spacing :
      even
      type :
      EVEN
      array(['1985-10-01T06:00:00.000000000', '1985-10-01T07:00:00.000000000',
             '1985-10-01T08:00:00.000000000', ..., '2019-02-02T22:00:00.000000000',
             '2019-02-02T23:00:00.000000000', '2019-02-03T00:00:00.000000000'],
            dtype='datetime64[ns]')
    • quantile
      ()
      float64
      0.5
      array(0.5)
    • bulk
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • gradient
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • season
      (time)
      object
      'SON' 'SON' 'SON' ... 'DJF' 'DJF'
      array(['SON', 'SON', 'SON', ..., 'DJF', 'DJF', 'DJF'], dtype=object)
def plot_Ri_histograms(Ri_hist, **kwargs):
    if "season" in Ri_hist:
        kwargs.setdefault("row", "season")

    fg = Ri_hist.where(Ri_hist > 0).plot(
        col="longitude",
        x="bulk_bin",
        y="gradient_bin",
        xscale="log",
        yscale="log",
        cmap=mpl.cm.BuGn,
        cbar_kwargs={
            "orientation": "horizontal",
            # "label": "probability density",
            "aspect": 40,
            "shrink": 0.6,
            "pad": 0.1,
        },
        **kwargs
    )

    def mark_lines():
        lstyle = dict(zorder=10, lw=0.5)
        dcpy.plots.linex([0.25, 1], ax=plt.gca(), **lstyle)
        dcpy.plots.liney([0.25, 1], ax=plt.gca(), **lstyle)
        plt.gca().set_aspect(1)
        dcpy.plots.line45(ax=plt.gca(), **lstyle)

    fg.set_xlabels("$Ri_b$")
    fg.set_ylabels("$Ri_g$")
    fg.fig.set_size_inches((8, 8))
    fg.map(mark_lines)

    fg.map_dataarray(
        xr.plot.contour,
        x="bulk_bin",
        y="gradient_bin",
        colors="w",
        levels=np.linspace(*np.nanpercentile(Ri_hist, [99.1, 99.9]), 3),
        linewidths=0.3,
        add_colorbar=False,
    )

    return fg

At hourly timescales this is pretty noisy. Bulk Ri in the central Pac is O(10) when calculated from annual means. I have to show that Rib_b is a reasonable estimate of the median Ri_g over some long time scale?

?Ri.bulk.clip
lon = -204

Ri.bulk.clip(min=0, max=100).sel(longitude=lon).plot(x="time")
# Ri.bulk.clip(max=100).resample(time="M").mean().sel(longitude=lon).plot(x="time")

Ri.gradient.clip(max=100).sel(longitude=lon).plot(x="time")
Ri.gradient.clip(max=100).resample(time="M").mean().sel(longitude=lon).plot(x="time")
[<matplotlib.lines.Line2D at 0x2b37ecee7278>]
_images/4b186e5717a79a3ba619988e33d7813f46638b3e166bfcbf9dbdb223a52bbbf6.png
def wrap_hist(ds, density=True):
    from xhistogram.xarray import histogram

    hist_over = ("time",)

    xbins = xr.DataArray(np.logspace(-1, 2, 100), dims="bulk_bin")
    ybins = xr.DataArray(np.logspace(-1, 2, 100), dims="gradient_bin")
    counts = histogram(
        ds.bulk,
        ds.gradient,
        dim=hist_over,
        bins=[xbins.values, ybins.values],
    )

    if density:
        dens = (
            counts
            / xbins.diff("bulk_bin")
            / ybins.diff("gradient_bin")
            / counts.sum(set(counts.dims) - set(hist_over))
        )
        dens.name = "PDF"
    else:
        dens = counts
        dens.name = "counts"
    return dens


plot_Ri_histograms(
    wrap_hist(Ri, density=False),
    norm=mpl.colors.LogNorm(vmin=1, vmax=100),
)
plot_Ri_histograms(
    wrap_hist(Ri, density=True),
    norm=mpl.colors.LogNorm(vmin=1e-5, vmax=0.5),
)
/gpfs/u/home/dcherian/python/xarray/xarray/core/dataarray.py:695: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
  return key in self.data
/gpfs/u/home/dcherian/python/xarray/xarray/plot/plot.py:966: UserWarning: No contour levels were found within the data range.
  primitive = ax.contour(x, y, z, **kwargs)
<xarray.plot.facetgrid.FacetGrid at 0x2b37e02c1908>
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/matplotlib/colors.py:1110: RuntimeWarning: invalid value encountered in less_equal
  mask |= resdat <= 0
_images/1778512c87f9411828f91d8175a33f298db9bb9dc5da153b1443c0a146fb645c.png _images/2189da6a4f371b11ae58f900e8aea9864438f5716d392c84e5ee3cedb1db37a3.png
reduced_Ri = (
    Ri.drop("season").map(lambda x: x.clip(min=0, max=100)).resample(time="D").median()
)

plot_Ri_histograms(
    wrap_hist(reduced_Ri, density=False),
    norm=mpl.colors.LogNorm(vmin=1, vmax=10),
)
plot_Ri_histograms(
    wrap_hist(reduced_Ri, density=True),
    norm=mpl.colors.LogNorm(vmin=1e-5, vmax=0.5),
)
/gpfs/u/home/dcherian/python/xarray/xarray/core/dataarray.py:695: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
  return key in self.data
/gpfs/u/home/dcherian/python/xarray/xarray/plot/plot.py:966: UserWarning: No contour levels were found within the data range.
  primitive = ax.contour(x, y, z, **kwargs)
<xarray.plot.facetgrid.FacetGrid at 0x2b3797906588>
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/matplotlib/colors.py:1110: RuntimeWarning: invalid value encountered in less_equal
  mask |= resdat <= 0
_images/23ba8b7f1f059c194d61236870f53a8d5db32a7e7200e0a165d371c331f6e3cc.png _images/d7fd1fe1015005f4b9beab509f3c57ad57d7c12b79a9b5e197968ef56f99f575.png

seasonal Rib vs Rig#

Ri_seasonal_hist = (
    Ri.groupby("season").apply(wrap_hist).reindex(season=["DJF", "MAM", "JJA", "SON"])
)
Ri_seasonal_hist
Show/Hide data repr Show/Hide attributes
xarray.DataArray
'histogram_bulk_gradient'
  • season: 4
  • longitude: 5
  • bulk_bin: 49
  • gradient_bin: 49
  • 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ... 1 1 1 0 1 1 2 2 0 1 0 1 1 0 0 0
    array([[[[ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  2, ...,  0,  0,  0]],
    
            [[ 1,  3,  3, ...,  0,  0,  0],
             [12,  1,  3, ...,  0,  0,  0],
             [ 4,  4,  2, ...,  0,  0,  0],
             ...,
             [ 0,  1,  0, ...,  1,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 3,  6,  8, ...,  0,  0,  0],
             [ 7,  9,  9, ...,  0,  0,  0],
             [12, 20, 13, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  1, ...,  1,  0,  0]],
    
            [[ 2,  8,  2, ...,  0,  0,  0],
             [ 7,  4,  3, ...,  0,  0,  0],
             [ 6,  2,  4, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  1,  1,  0],
             [ 0,  0,  0, ...,  1,  1,  0],
             [ 0,  0,  0, ...,  2,  0,  1]]],
    
    
           [[[ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  1,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 1,  0,  3, ...,  0,  0,  0],
             [ 0,  1,  2, ...,  0,  0,  0],
             [ 2,  1,  1, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  2,  1,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  1,  0]],
    
            [[ 0,  5,  5, ...,  0,  0,  0],
             [ 2,  4,  8, ...,  0,  0,  0],
             [ 3,  4,  3, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  1,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 2,  2,  7, ...,  0,  1,  0],
             [ 3,  6,  6, ...,  0,  0,  0],
             [ 3,  2, 11, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  1,  2,  1],
             [ 0,  0,  0, ...,  2,  1,  3],
             [ 0,  0,  0, ...,  4,  2,  1]]],
    
    
           [[[ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  1],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  1,  0,  0],
             [ 0,  0,  0, ...,  0,  1,  0],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 1,  2,  4, ...,  0,  0,  0],
             [ 2,  3,  2, ...,  0,  0,  0],
             [ 5,  1,  5, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  1,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  1],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 2,  5,  5, ...,  0,  0,  0],
             [ 2,  7,  5, ...,  0,  0,  0],
             [ 4,  2, 10, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 4,  5,  5, ...,  0,  0,  0],
             [ 4,  5,  5, ...,  0,  0,  0],
             [ 3,  7,  4, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  1],
             [ 0,  0,  0, ...,  0,  0,  1]]],
    
    
           [[[ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  1,  0],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 2,  3,  3, ...,  0,  0,  0],
             [ 1,  3,  7, ...,  0,  0,  0],
             [ 1,  2,  5, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 2,  5,  8, ...,  0,  0,  0],
             [ 4,  7,  5, ...,  0,  0,  0],
             [ 7,  6, 13, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0],
             [ 0,  0,  0, ...,  0,  0,  0]],
    
            [[ 6,  3,  6, ...,  0,  0,  0],
             [ 3,  8,  6, ...,  0,  0,  0],
             [ 7, 11, 15, ...,  0,  0,  0],
             ...,
             [ 0,  0,  0, ...,  0,  0,  2],
             [ 0,  0,  0, ...,  0,  0,  1],
             [ 0,  0,  0, ...,  0,  0,  0]]]])
    • season
      (season)
      object
      'DJF' 'MAM' 'JJA' 'SON'
      array(['DJF', 'MAM', 'JJA', 'SON'], dtype=object)
    • gradient_bin
      (gradient_bin)
      float64
      0.1049 0.1153 ... 8.695 9.551
      array([0.104927, 0.115267, 0.126625, 0.139103, 0.15281 , 0.167868, 0.18441 ,
             0.202582, 0.222545, 0.244475, 0.268566, 0.295031, 0.324103, 0.356041,
             0.391125, 0.429667, 0.472007, 0.518519, 0.569615, 0.625745, 0.687407,
             0.755145, 0.829558, 0.911303, 1.001104, 1.099754, 1.208125, 1.327175,
             1.457957, 1.601625, 1.759451, 1.93283 , 2.123293, 2.332525, 2.562374,
             2.814874, 3.092255, 3.396969, 3.73171 , 4.099437, 4.5034  , 4.947171,
             5.43467 , 5.970209, 6.55852 , 7.204804, 7.914774, 8.694705, 9.551491])
    • bulk_bin
      (bulk_bin)
      float64
      0.1049 0.1153 ... 8.695 9.551
      array([0.104927, 0.115267, 0.126625, 0.139103, 0.15281 , 0.167868, 0.18441 ,
             0.202582, 0.222545, 0.244475, 0.268566, 0.295031, 0.324103, 0.356041,
             0.391125, 0.429667, 0.472007, 0.518519, 0.569615, 0.625745, 0.687407,
             0.755145, 0.829558, 0.911303, 1.001104, 1.099754, 1.208125, 1.327175,
             1.457957, 1.601625, 1.759451, 1.93283 , 2.123293, 2.332525, 2.562374,
             2.814874, 3.092255, 3.396969, 3.73171 , 4.099437, 4.5034  , 4.947171,
             5.43467 , 5.970209, 6.55852 , 7.204804, 7.914774, 8.694705, 9.551491])
    • longitude
      (longitude)
      float32
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.], dtype=float32)
fg = Ri_seasonal_hist.where(Ri_hist > 0).plot(
    row="season",
    col="longitude",
    x="bulk_bin",
    y="gradient_bin",
    robust=True,
    xscale="log",
    yscale="log",
    cmap=mpl.cm.BuGn,
    cbar_kwargs={
        "orientation": "horizontal",
        "label": "probability density",
        "aspect": 40,
        "shrink": 0.6,
        "pad": 0.1,
    },
)


def mark_lines():
    dcpy.plots.linex([0.25, 1], ax=plt.gca(), zorder=10, lw=0.5)
    dcpy.plots.liney([0.25, 1], ax=plt.gca(), zorder=10, lw=0.5)
    plt.gca().set_aspect(1)


fg.set_xlabels("$Ri_b$")
fg.set_ylabels("$Ri_g$")
fg.fig.set_size_inches((8, 8))
fg.map(mark_lines)

fg.map_dataarray(
    xr.plot.contour,
    x="bulk_bin",
    y="gradient_bin",
    colors="w",
    levels=np.linspace(*np.nanpercentile(Ri_hist, [99.1, 99.9]), 3),
    linewidths=0.3,
    add_colorbar=False,
)

fg.fig.savefig("images/gradient-bulk-ri-joint-pdf.png", dpi=200, bbox_inches="tight")
_images/a568376b5c9dc30eaaec7f69645e4a8c2393ed95cff806fe3660579020e1247f.png
mask = (
    Ri.bulk.notnull()
    & Ri.gradient.notnull()
    & (Ri.gradient < 100)
    & (Ri.bulk < 100)
    & (Ri.bulk > 0)
    & (Ri.gradient > 0)
)
masked = Ri.where(mask, drop=True)
masked["season"] = masked.time.dt.season
fg = masked.plot.scatter(
    col="longitude",
    x="bulk",
    y="gradient",
    s=0.5,
    alpha=0.1,
)
plt.gca().set_xscale("log")
plt.gca().set_yscale("log")
plt.gca().set_xlim([0.1, 100])
plt.gca().set_ylim([0.1, 100])

# fg.fig.savefig("images/bulk-vs-gradient-ri.png", dpi=180)
(0.1, 100)
_images/e8e6637288b13f325885eaf39b68868d34fa8f892da14a1adeee579b7c2c5f42.png

Datasets#

johnson#

johnson = pump.obs.read_johnson().sel(latitude=0)
johnson["eucmax"] = pump.get_euc_max(johnson.u)
johnson = pump.calc.estimate_euc_depth_terms(johnson)
johnson.attrs["name"] = "Johnson"
johnson.load()
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • depth: 50
    • lon_edges: 11
    • longitude: 10
    • longitude
      (longitude)
      float64
      -217.0 -204.0 ... -110.0 -95.0
      units :
      degrees_east
      point_spacing :
      uneven
      edges :
      XLONedges
      array([-217., -204., -195., -180., -170., -155., -140., -125., -110.,  -95.])
    • lon_edges
      (lon_edges)
      float64
      136.5 149.5 160.5 ... 257.5 272.5
      edges :
      array([136.5, 149.5, 160.5, 172.5, 185. , 197.5, 212.5, 227.5, 242.5, 257.5,
             272.5])
    • latitude
      ()
      float64
      0.0
      units :
      degrees_north
      point_spacing :
      even
      array(0.)
    • depth
      (depth)
      float64
      -5.0 -15.0 -25.0 ... -485.0 -495.0
      units :
      m
      positive :
      down
      point_spacing :
      even
      array([  -5.,  -15.,  -25.,  -35.,  -45.,  -55.,  -65.,  -75.,  -85.,  -95.,
             -105., -115., -125., -135., -145., -155., -165., -175., -185., -195.,
             -205., -215., -225., -235., -245., -255., -265., -275., -285., -295.,
             -305., -315., -325., -335., -345., -355., -365., -375., -385., -395.,
             -405., -415., -425., -435., -445., -455., -465., -475., -485., -495.])
    • temp
      (depth, longitude)
      float32
      29.32408 29.32196 ... 8.023529
      long_name :
      Potential Temperature (If > 16 obs)
      history :
      From meanfit2
      units :
      Degrees C
      array([[29.32408 , 29.32196 , 28.98892 , 27.90945 , 27.43092 , 26.43207 ,
              25.66783 , 24.77945 , 23.91235 , 24.17392 ],
             [29.32408 , 29.32196 , 28.98892 , 27.90945 , 27.43092 , 26.43207 ,
              25.39479 , 24.34854 , 23.30844 , 22.8154  ],
             [29.29031 , 29.10626 , 28.98892 , 27.90945 , 27.43092 , 26.32236 ,
              25.08089 , 23.83151 , 22.59741 , 21.35751 ],
             [29.22716 , 28.85828 , 29.0114  , 27.90945 , 27.40585 , 26.19342 ,
              24.70398 , 23.20563 , 21.73312 , 19.89951 ],
             [29.11751 , 28.58234 , 29.05516 , 27.87341 , 27.31975 , 26.02008 ,
              24.24197 , 22.44806 , 20.66937 , 18.54071 ],
             [28.94427 , 28.2827  , 29.0847  , 27.76042 , 27.1562  , 25.77721 ,
              23.67273 , 21.53607 , 19.36005 , 17.27875 ],
             [28.69038 , 27.96368 , 29.06453 , 27.56325 , 26.89882 , 25.43964 ,
              22.97412 , 20.47206 , 17.89484 , 16.1673  ],
             [28.33871 , 27.62956 , 28.95915 , 27.27461 , 26.5312  , 24.98222 ,
              22.12405 , 19.28279 , 16.3996  , 15.52618 ],
             [27.24928 , 27.28465 , 28.73305 , 26.88725 , 26.03697 , 24.37979 ,
              21.1004  , 18.04407 , 15.63684 , 15.06998 ],
             [25.69624 , 26.93323 , 28.35072 , 26.39389 , 25.39972 , 23.60722 ,
              19.84656 , 16.81937 , 15.05563 , 14.80109 ],
             [24.59415 , 26.48326 , 27.7767  , 25.78729 , 24.60304 , 22.45779 ,
              18.73473 , 15.87775 , 14.61612 , 14.55823 ],
             [23.90182 , 25.50484 , 26.97545 , 25.06018 , 23.35297 , 21.11325 ,
              17.78653 , 15.24286 , 14.258   , 14.27493 ],
             [23.15096 , 24.33902 , 25.91148 , 23.97722 , 21.85654 , 19.80803 ,
              16.86479 , 14.74571 , 13.99222 , 14.04681 ],
             [22.37863 , 23.50153 , 24.51822 , 22.65346 , 20.51752 , 18.60098 ,
              16.02727 , 14.30791 , 13.78873 , 13.86414 ],
             [21.68732 , 22.04544 , 23.06126 , 21.44217 , 19.28545 , 17.58766 ,
              15.38237 , 13.97093 , 13.57544 , 13.72467 ],
             [20.75703 , 20.77695 , 21.44151 , 20.42384 , 18.23784 , 16.74146 ,
              14.86705 , 13.68599 , 13.41086 , 13.5976  ],
             [19.96706 , 20.23109 , 20.21817 , 19.33298 , 17.41815 , 15.88654 ,
              14.37912 , 13.43445 , 13.27631 , 13.52286 ],
             [19.07982 , 19.43237 , 19.01668 , 18.2585  , 16.60391 , 15.13246 ,
              13.90611 , 13.26233 , 13.1532  , 13.40552 ],
             [18.10533 , 18.32791 , 17.97375 , 17.35115 , 15.82162 , 14.52766 ,
              13.51637 , 13.09442 , 13.06415 , 13.28369 ],
             [17.32513 , 17.43242 , 17.09192 , 16.40903 , 15.11705 , 14.05872 ,
              13.22348 , 12.94258 , 12.98453 , 13.18607 ],
             [16.56908 , 16.7054  , 16.05908 , 15.53229 , 14.43898 , 13.6187  ,
              12.98932 , 12.80449 , 12.91074 , 13.12445 ],
             [15.7403  , 15.8884  , 15.31093 , 14.62061 , 13.92845 , 13.23193 ,
              12.79079 , 12.67036 , 12.83368 , 13.08475 ],
             [14.88843 , 15.19087 , 14.61732 , 13.94189 , 13.51976 , 12.93842 ,
              12.62874 , 12.58163 , 12.74707 , 13.03943 ],
             [14.21449 , 14.37332 , 14.08969 , 13.49072 , 13.14166 , 12.73004 ,
              12.49225 , 12.49564 , 12.64725 , 12.99365 ],
             [13.67493 , 13.87909 , 13.63873 , 13.13522 , 12.8201  , 12.5076  ,
              12.36952 , 12.40393 , 12.54868 , 12.95062 ],
             [13.21628 , 13.4469  , 13.15767 , 12.78528 , 12.54713 , 12.32721 ,
              12.25945 , 12.30789 , 12.43127 , 12.8425  ],
             [12.69659 , 13.01869 , 12.89626 , 12.48763 , 12.30817 , 12.12895 ,
              12.14195 , 12.18086 , 12.31851 , 12.62442 ],
             [12.2379  , 12.68857 , 12.62312 , 12.22984 , 12.05876 , 11.98328 ,
              12.01073 , 12.00888 , 12.22034 , 12.25964 ],
             [11.88644 , 12.39337 , 12.36827 , 11.95863 , 11.81403 , 11.86166 ,
              11.87872 , 11.80838 , 12.06009 , 11.85861 ],
             [11.60667 , 12.02661 , 12.15102 , 11.71196 , 11.6461  , 11.72345 ,
              11.7348  , 11.63666 , 11.85245 , 11.64828 ],
             [11.36227 , 11.84581 , 11.97107 , 11.44998 , 11.45624 , 11.57515 ,
              11.54443 , 11.44118 , 11.63568 , 11.41647 ],
             [11.2014  , 11.64331 , 11.67618 , 11.19637 , 11.22504 , 11.36928 ,
              11.31738 , 11.21265 , 11.36841 , 11.18402 ],
             [10.98215 , 11.39815 , 11.41144 , 11.00513 , 11.03409 , 11.16341 ,
              11.06606 , 11.00195 , 11.13129 , 10.93347 ],
             [10.73012 , 11.02322 , 11.15036 , 10.82312 , 10.85234 , 10.93846 ,
              10.84474 , 10.73927 , 10.85544 , 10.70337 ],
             [10.46219 , 10.70462 , 10.90627 , 10.65529 , 10.66057 , 10.67241 ,
              10.60849 , 10.49425 , 10.62375 , 10.51364 ],
             [10.2482  , 10.43069 , 10.64708 , 10.50499 , 10.42839 , 10.39482 ,
              10.31615 , 10.28821 , 10.44104 , 10.25812 ],
             [10.13878 , 10.18817 , 10.40074 , 10.32144 , 10.21191 , 10.1647  ,
              10.15469 , 10.05888 , 10.26425 , 10.06909 ],
             [10.04207 ,  9.83345 , 10.17516 , 10.07573 ,  9.969681,  9.956329,
              10.00398 ,  9.862122, 10.07703 ,  9.853943],
             [ 9.937027,  9.620514,  9.944717,  9.900055,  9.722244,  9.762558,
               9.859375,  9.653275,  9.828979,  9.652252],
             [ 9.758362,  9.455246,  9.742355,  9.722519,  9.506882,  9.548325,
               9.669708,  9.449707,  9.597351,  9.48996 ],
             [ 9.57663 ,  9.334534,  9.592117,  9.520996,  9.327911,  9.41275 ,
               9.4944  ,  9.24881 ,  9.396362,  9.327209],
             [ 9.408295,  9.236465,  9.4104  ,  9.322113,  9.146378,  9.251678,
               9.306137,  9.105072,  9.218933,  9.13736 ],
             [ 9.237915,  9.127319,  9.243271,  9.092224,  8.990463,  9.085892,
               9.121628,  8.981293,  9.049103,  8.939606],
             [ 9.012558,  9.014236,  9.053009,  8.903809,  8.833206,  8.919189,
               8.962875,  8.840866,  8.874451,  8.749969],
             [ 8.838165,  8.924759,  8.859741,  8.731323,  8.693237,  8.758499,
               8.798279,  8.694916,  8.725861,  8.613098],
             [ 8.676407,  8.853699,  8.699463,  8.602127,  8.559341,  8.582352,
               8.635315,  8.54184 ,  8.593994,  8.476929],
             [ 8.531479,  8.777344,  8.537933,  8.480743,  8.441788,  8.45578 ,
               8.476379,  8.423401,  8.469025,  8.343597],
             [ 8.403397,  8.678635,  8.399918,  8.340393,  8.319824,  8.313049,
               8.313309,  8.319244,  8.350708,  8.234406],
             [ 8.264923,  8.54155 ,  8.266632,  8.211258,  8.189224,  8.205643,
               8.163498,  8.215576,  8.241669,  8.132355],
             [ 8.149963,  8.364044,  8.138885,  8.082443,  8.085785,  8.113434,
               8.038971,  8.120865,  8.131653,  8.023529]], dtype=float32)
    • salt
      (depth, longitude)
      float32
      34.19115 34.45227 ... 34.63364
      long_name :
      Salinity (If > 16 obs)
      history :
      From meanfit2
      array([[34.19115, 34.45227, 34.77197, 35.10362, 35.20035, 35.08017,
              34.91434, 34.88116, 34.77487, 34.42538],
             [34.19115, 34.45227, 34.77197, 35.10362, 35.20035, 35.08017,
              34.93756, 34.91861, 34.81915, 34.5513 ],
             [34.23563, 34.51073, 34.77197, 35.10362, 35.20035, 35.08202,
              34.96658, 34.96786, 34.87271, 34.7316 ],
             [34.29428, 34.58981, 34.78226, 35.10362, 35.20233, 35.08423,
              34.99948, 35.02048, 34.92984, 34.89874],
             [34.37   , 34.68227, 34.81055, 35.10739, 35.20792, 35.08775,
              35.03435, 35.06799, 34.98483, 34.98526],
             [34.46564, 34.78075, 34.853  , 35.11786, 35.21649, 35.09349,
              35.06926, 35.1019 , 35.03195, 35.00824],
             [34.58414, 34.87796, 34.90575, 35.13374, 35.22749, 35.1024 ,
              35.10231, 35.12231, 35.06473, 35.03207],
             [34.72836, 34.96657, 34.96497, 35.15375, 35.24034, 35.11539,
              35.13158, 35.134  , 35.05405, 35.03503],
             [34.9373 , 35.03931, 35.02682, 35.17657, 35.25444, 35.13339,
              35.15517, 35.15167, 35.03003, 35.00998],
             [35.07974, 35.08884, 35.08745, 35.20097, 35.26921, 35.15736,
              35.16934, 35.1373 , 35.00513, 34.99847],
             [35.1535 , 35.10938, 35.14301, 35.22563, 35.28406, 35.20461,
              35.16574, 35.09335, 34.99008, 34.99011],
             [35.18417, 35.15689, 35.18965, 35.24927, 35.31711, 35.24088,
              35.16296, 35.05212, 34.97742, 34.98337],
             [35.21426, 35.1582 , 35.22354, 35.27348, 35.30492, 35.24562,
              35.13309, 35.02576, 34.96542, 34.97742],
             [35.26941, 35.1566 , 35.24542, 35.30377, 35.32983, 35.2356 ,
              35.08498, 35.00104, 34.9577 , 34.96945],
             [35.29089, 35.1815 , 35.25694, 35.3414 , 35.3111 , 35.18716,
              35.04697, 34.97842, 34.94647, 34.96326],
             [35.28278, 35.23138, 35.25937, 35.33232, 35.2655 , 35.1498 ,
              35.02155, 34.95728, 34.93915, 34.95807],
             [35.27933, 35.26804, 35.26962, 35.31262, 35.23154, 35.11311,
              34.99522, 34.9451 , 34.93332, 34.95551],
             [35.27118, 35.25432, 35.2417 , 35.26328, 35.19061, 35.08121,
              34.96991, 34.93658, 34.92593, 34.95013],
             [35.25504, 35.20674, 35.21436, 35.21555, 35.14104, 35.03889,
              34.95471, 34.92856, 34.92044, 34.94034],
             [35.24103, 35.18182, 35.17174, 35.15184, 35.09428, 35.00682,
              34.93967, 34.91943, 34.91571, 34.93237],
             [35.21672, 35.17496, 35.11241, 35.07944, 35.04143, 34.97726,
              34.92383, 34.91055, 34.91052, 34.9274 ],
             [35.15515, 35.12094, 35.07687, 35.01402, 35.00288, 34.94701,
              34.90823, 34.90182, 34.90646, 34.92493],
             [35.0829 , 35.08543, 35.03171, 34.97716, 34.97368, 34.92241,
              34.89746, 34.8963 , 34.90237, 34.92242],
             [35.03551, 35.03549, 35.00185, 34.95581, 34.94153, 34.90765,
              34.88925, 34.89029, 34.89655, 34.91986],
             [34.99211, 35.02132, 34.96918, 34.93452, 34.91536, 34.89056,
              34.88123, 34.88339, 34.89011, 34.91721],
             [34.95396, 34.987  , 34.93456, 34.91089, 34.89389, 34.87691,
              34.87334, 34.87601, 34.88202, 34.91043],
             [34.92433, 34.93976, 34.92464, 34.88953, 34.87749, 34.86264,
              34.86488, 34.8663 , 34.87442, 34.89624],
             [34.89989, 34.91281, 34.90849, 34.87186, 34.86197, 34.8541 ,
              34.85587, 34.85406, 34.86801, 34.87308],
             [34.88025, 34.89453, 34.89005, 34.85168, 34.84573, 34.84709,
              34.84656, 34.84052, 34.85745, 34.84787],
             [34.85989, 34.87015, 34.87263, 34.8353 , 34.83545, 34.8385 ,
              34.83659, 34.82959, 34.84399, 34.83401],
             [34.83737, 34.85526, 34.86157, 34.8166 , 34.8219 , 34.82869,
              34.82416, 34.81876, 34.8302 , 34.81934],
             [34.82092, 34.83484, 34.83923, 34.79843, 34.80699, 34.81473,
              34.80975, 34.80536, 34.81485, 34.80557],
             [34.8009 , 34.81364, 34.81848, 34.78638, 34.79536, 34.80148,
              34.79367, 34.79214, 34.80072, 34.79089],
             [34.7773 , 34.78947, 34.79964, 34.7746 , 34.7836 , 34.78758,
              34.78032, 34.77603, 34.78345, 34.77646],
             [34.75635, 34.76877, 34.78355, 34.76422, 34.77106, 34.77013,
              34.76596, 34.76151, 34.76807, 34.7652 ],
             [34.74203, 34.75171, 34.76598, 34.75468, 34.75621, 34.75127,
              34.74908, 34.74905, 34.75647, 34.75134],
             [34.73523, 34.73727, 34.74875, 34.74382, 34.74304, 34.73714,
              34.73962, 34.73572, 34.74612, 34.74149],
             [34.72945, 34.71526, 34.7346 , 34.72931, 34.72842, 34.72542,
              34.73079, 34.72449, 34.73557, 34.72974],
             [34.72185, 34.70065, 34.7204 , 34.71838, 34.71239, 34.71416,
              34.72238, 34.71231, 34.72244, 34.71857],
             [34.70865, 34.689  , 34.7086 , 34.70758, 34.69878, 34.70198,
              34.71201, 34.70163, 34.71014, 34.70978],
             [34.69536, 34.68063, 34.70045, 34.6946 , 34.68877, 34.69434,
              34.70271, 34.69095, 34.69937, 34.70074],
             [34.68439, 34.67447, 34.68884, 34.68219, 34.67804, 34.68527,
              34.69257, 34.68298, 34.68958, 34.69043],
             [34.67361, 34.66776, 34.67722, 34.66872, 34.66901, 34.67603,
              34.68259, 34.67609, 34.68048, 34.67987],
             [34.65982, 34.66003, 34.6644 , 34.65845, 34.66011, 34.66681,
              34.67422, 34.66867, 34.67117, 34.6702 ],
             [34.65039, 34.65517, 34.65262, 34.64856, 34.65201, 34.65866,
              34.6658 , 34.66125, 34.66354, 34.66321],
             [34.64139, 34.6515 , 34.64371, 34.64093, 34.64473, 34.65001,
              34.65744, 34.65366, 34.65683, 34.6564 ],
             [34.6333 , 34.64731, 34.63506, 34.63457, 34.63876, 34.64362,
              34.64928, 34.64774, 34.65039, 34.64966],
             [34.62619, 34.64192, 34.62735, 34.6275 , 34.63257, 34.63666,
              34.64122, 34.64227, 34.64423, 34.64404],
             [34.61801, 34.63422, 34.61969, 34.62085, 34.62584, 34.63124,
              34.63382, 34.63693, 34.6387 , 34.63898],
             [34.61145, 34.62399, 34.6123 , 34.61426, 34.62076, 34.62677,
              34.62744, 34.63205, 34.63336, 34.63364]], dtype=float32)
    • dens
      (depth, longitude)
      float32
      1021.3508 1021.5474 ... 1026.9829
      long_name :
      Potential Density (If > 16 obs)
      history :
      From meanfit2
      units :
      kg/m3
      array([[1021.3508 , 1021.5474 , 1021.8989 , 1022.50433, 1022.73236,
              1022.9604 , 1023.0737 , 1023.32007, 1023.49854, 1023.1566 ],
             [1021.3508 , 1021.5474 , 1021.8989 , 1022.50433, 1022.73236,
              1022.9604 , 1023.1753 , 1023.4778 , 1023.70886, 1023.6479 ],
             [1021.39557, 1021.6636 , 1021.8989 , 1022.50433, 1022.73236,
              1022.9963 , 1023.2932 , 1023.6685 , 1023.9539 , 1024.1934 ],
             [1021.4607 , 1021.80566, 1021.8991 , 1022.50433, 1022.74194,
              1023.0384 , 1023.43225, 1023.8913 , 1024.2405 , 1024.7122 ],
             [1021.5542 , 1021.9666 , 1021.9057 , 1022.5189 , 1022.7739 ,
              1023.0952 , 1023.59717, 1024.1447 , 1024.5731 , 1025.1273 ],
             [1021.68384, 1022.13934, 1021.9277 , 1022.5636 , 1022.83295,
              1023.17505, 1023.792  , 1024.4259 , 1024.9543 , 1025.455  ],
             [1021.8571 , 1022.3169 , 1021.97406, 1022.63947, 1022.92346,
              1023.286  , 1024.0203 , 1024.7308 , 1025.3485 , 1025.7347 ],
             [1022.0816 , 1022.4922 , 1022.0537 , 1022.7476 , 1023.04987,
              1023.43567, 1024.2844 , 1025.0522 , 1025.6979 , 1025.8828 ],
             [1022.5928 , 1022.65826, 1022.1755 , 1022.8888 , 1023.2157 ,
              1023.631  , 1024.586  , 1025.3784 , 1025.8541 , 1025.9651 ],
             [1023.18976, 1022.80804, 1022.34753, 1023.0635 , 1023.4243 ,
              1023.878  , 1024.9326 , 1025.6635 , 1025.9645 , 1026.0151 ],
             [1023.58185, 1022.96625, 1022.5772 , 1023.2717 , 1023.678  ,
              1024.2456 , 1025.2164 , 1025.8483 , 1026.0488 , 1026.0613 ],
             [1023.8116 , 1023.3071 , 1022.87054, 1023.5131 , 1024.0734 ,
              1024.6478 , 1025.4504 , 1025.9592 , 1026.1157 , 1026.1167 ],
             [1024.0541 , 1023.6619 , 1023.2315 , 1023.8569 , 1024.4912 ,
              1025.0009 , 1025.6495 , 1026.0482 , 1026.1627 , 1026.1605 ],
             [1024.3173 , 1023.9084 , 1023.6742 , 1024.2651 , 1024.8768 ,
              1025.3037 , 1025.8076 , 1026.1234 , 1026.1993 , 1026.1927 ],
             [1024.5277 , 1024.3445 , 1024.1124 , 1024.634  , 1025.1869 ,
              1025.5176 , 1025.9243 , 1026.1772 , 1026.2349 , 1026.217  ],
             [1024.7765 , 1024.7319 , 1024.5718 , 1024.9038 , 1025.4175 ,
              1025.6914 , 1026.0184 , 1026.2203 , 1026.2631 , 1026.2394 ],
             [1024.9847 , 1024.9062 , 1024.9109 , 1025.1758 , 1025.5927 ,
              1025.8615 , 1026.1038 , 1026.2628 , 1026.286  , 1026.2527 ],
             [1025.2092 , 1025.1055 , 1025.2029 , 1025.4106 , 1025.7551 ,
              1026.0062 , 1026.1843 , 1026.2914 , 1026.3053 , 1026.2726 ],
             [1025.4424 , 1025.3501 , 1025.4438 , 1025.5966 , 1025.8977 ,
              1026.1055 , 1026.2534 , 1026.3192 , 1026.319  , 1026.2899 ],
             [1025.6224 , 1025.551  , 1025.6251 , 1025.7709 , 1026.0197 ,
              1026.1808 , 1026.3016 , 1026.3427 , 1026.3313 , 1026.3036 ],
             [1025.7833 , 1025.7192 , 1025.8214 , 1025.9158 , 1026.1266 ,
              1026.2498 , 1026.3367 , 1026.3633 , 1026.342  , 1026.3123 ],
             [1025.927  , 1025.8671 , 1025.9633 , 1026.0663 , 1026.2051 ,
              1026.3057 , 1026.3643 , 1026.3832 , 1026.3542 , 1026.3184 ],
             [1026.0612 , 1025.9965 , 1026.0807 , 1026.1824 , 1026.2675 ,
              1026.3457 , 1026.388  , 1026.3964 , 1026.3684 , 1026.3254 ],
             [1026.1699 , 1026.136  , 1026.1704 , 1026.2595 , 1026.3197 ,
              1026.3759 , 1026.4084 , 1026.4086 , 1026.3837 , 1026.3326 ],
             [1026.2496 , 1026.2297 , 1026.2394 , 1026.3156 , 1026.3639 ,
              1026.4064 , 1026.4261 , 1026.4211 , 1026.398  , 1026.3392 ],
             [1026.3142 , 1026.2927 , 1026.311  , 1026.3674 , 1026.4012 ,
              1026.431  , 1026.4414 , 1026.4341 , 1026.4147 , 1026.3556 ],
             [1026.3954 , 1026.3431 , 1026.356  , 1026.4095 , 1026.4352 ,
              1026.4583 , 1026.4575 , 1026.4512 , 1026.4308 , 1026.3878 ],
             [1026.4662 , 1026.3881 , 1026.3976 , 1026.4459 , 1026.4712 ,
              1026.4795 , 1026.4757 , 1026.4746 , 1026.4448 , 1026.4412 ],
             [1026.5183 , 1026.4318 , 1026.4332 , 1026.4823 , 1026.5052 ,
              1026.4972 , 1026.4935 , 1026.5022 , 1026.4674 , 1026.4984 ],
             [1026.5552 , 1026.4838 , 1026.4618 , 1026.5164 , 1026.5288 ,
              1026.5166 , 1026.5131 , 1026.526  , 1026.4966 , 1026.5272 ],
             [1026.5831 , 1026.5066 , 1026.4877 , 1026.5508 , 1026.5537 ,
              1026.5369 , 1026.5391 , 1026.5541 , 1026.5267 , 1026.5591 ],
             [1026.5999 , 1026.5288 , 1026.5261 , 1026.5833 , 1026.5847 ,
              1026.5642 , 1026.57   , 1026.5857 , 1026.5645 , 1026.5912 ],
             [1026.6241 , 1026.558  , 1026.5593 , 1026.6088 , 1026.6105 ,
              1026.5917 , 1026.6034 , 1026.6138 , 1026.5969 , 1026.6251 ],
             [1026.651  , 1026.6079 , 1026.5927 , 1026.6323 , 1026.634  ,
              1026.6217 , 1026.6329 , 1026.6484 , 1026.6334 , 1026.6552 ],
             [1026.6821 , 1026.6489 , 1026.6244 , 1026.6542 , 1026.6586 ,
              1026.6558 , 1026.6638 , 1026.6804 , 1026.6627 , 1026.6799 ],
             [1026.7083 , 1026.684  , 1026.657  , 1026.6733 , 1026.6879 ,
              1026.69   , 1026.7019 , 1026.7068 , 1026.6859 , 1026.7137 ],
             [1026.7218 , 1026.7148 , 1026.6869 , 1026.6969 , 1026.7153 ,
              1026.7189 , 1026.7225 , 1026.7358 , 1026.7086 , 1026.7386 ],
             [1026.7339 , 1026.7583 , 1026.7151 , 1026.728  , 1026.7455 ,
              1026.7454 , 1026.7415 , 1026.7606 , 1026.7327 , 1026.7661 ],
             [1026.7458 , 1026.7826 , 1026.7434 , 1026.7495 , 1026.7748 ,
              1026.7694 , 1026.7595 , 1026.7863 , 1026.7646 , 1026.7913 ],
             [1026.7657 , 1026.8009 , 1026.7684 , 1026.771  , 1026.8    ,
              1026.7957 , 1026.7833 , 1026.8118 , 1026.7938 , 1026.8114 ],
             [1026.7858 , 1026.8142 , 1026.7872 , 1026.7944 , 1026.8217 ,
              1026.8121 , 1026.8052 , 1026.8363 , 1026.8187 , 1026.8312 ],
             [1026.805  , 1026.8254 , 1026.8082 , 1026.8175 , 1026.8428 ,
              1026.8314 , 1026.8282 , 1026.8533 , 1026.8401 , 1026.854  ],
             [1026.8245 , 1026.8379 , 1026.8264 , 1026.8442 , 1026.8608 ,
              1026.851  , 1026.8503 , 1026.8679 , 1026.8604 , 1026.8774 ],
             [1026.8501 , 1026.85   , 1026.8472 , 1026.8663 , 1026.8789 ,
              1026.8705 , 1026.8693 , 1026.8844 , 1026.881  , 1026.8999 ],
             [1026.8705 , 1026.8605 , 1026.8688 , 1026.886  , 1026.8947 ,
              1026.8895 , 1026.8889 , 1026.9016 , 1026.8986 , 1026.9159 ],
             [1026.8889 , 1026.8689 , 1026.8871 , 1026.9001 , 1026.9098 ,
              1026.9104 , 1026.908  , 1026.9196 , 1026.914  , 1026.9318 ],
             [1026.9052 , 1026.8777 , 1026.9055 , 1026.9141 , 1026.9233 ,
              1026.925  , 1026.9263 , 1026.9332 , 1026.9282 , 1026.947  ],
             [1026.9194 , 1026.889  , 1026.9209 , 1026.93   , 1026.9371 ,
              1026.9414 , 1026.945  , 1026.945  , 1026.9417 , 1026.9592 ],
             [1026.9342 , 1026.9043 , 1026.9352 , 1026.9446 , 1026.9518 ,
              1026.9535 , 1026.9619 , 1026.9565 , 1026.954  , 1026.9707 ],
             [1026.9464 , 1026.9237 , 1026.9487 , 1026.9589 , 1026.9634 ,
              1026.964  , 1026.9757 , 1026.967  , 1026.9664 , 1026.9829 ]],
            dtype=float32)
    • u
      (depth, longitude)
      float32
      0.08695984 0.1127472 ... nan nan
      long_name :
      U component of velocity
      history :
      From meanfit2
      units :
      m/s
      array([[ 8.695984e-02,  1.127472e-01,  1.524353e-02, -1.189270e-01,
              -3.015137e-01, -3.043213e-01, -3.773346e-01, -1.208038e-01,
              -8.332825e-02, -1.861877e-01],
             [ 8.341980e-02,  1.353455e-01,  3.355408e-02, -1.002655e-01,
              -2.718811e-01, -2.579498e-01, -2.339020e-01,  3.550720e-02,
               6.764221e-02, -1.617432e-02],
             [ 4.620361e-02,  1.165466e-01,  4.588318e-02, -7.801819e-02,
              -2.297363e-01, -1.702881e-01, -8.813477e-02,  1.996918e-01,
               2.585754e-01,  2.067261e-01],
             [-1.550293e-02,  7.502747e-02,  5.908203e-02, -3.242493e-02,
              -1.621857e-01, -7.597351e-02,  5.973816e-02,  3.710785e-01,
               4.628906e-01,  4.254761e-01],
             [-8.711243e-02,  1.896667e-02,  7.255554e-02,  1.246643e-02,
              -8.317566e-02,  2.496338e-02,  2.094879e-01,  5.490570e-01,
               6.539917e-01,  5.830994e-01],
             [-1.540375e-01, -4.347229e-02,  8.641052e-02,  5.673218e-02,
               5.538940e-03,  1.325378e-01,  3.608398e-01,  7.329712e-01,
               8.052826e-01,  6.708374e-01],
             [-2.016754e-01, -1.040955e-01,  1.007233e-01,  1.006012e-01,
               1.021271e-01,  2.467041e-01,  5.135651e-01,  9.245758e-01,
               9.021301e-01,  7.123413e-01],
             [-2.154236e-01, -1.547241e-01,  1.156158e-01,  1.443329e-01,
               2.048187e-01,  3.674316e-01,  6.674347e-01,  1.063049e+00,
               9.161682e-01,  6.905518e-01],
             [-1.822052e-01, -1.871643e-01,  1.311493e-01,  1.881866e-01,
               3.118134e-01,  4.947357e-01,  8.222046e-01,  1.109756e+00,
               8.835602e-01,  6.234131e-01],
             [-1.288452e-01, -1.932678e-01,  1.474304e-01,  2.324066e-01,
               4.213257e-01,  6.285553e-01,  9.803314e-01,  1.084610e+00,
               8.134766e-01,  5.719604e-01],
             [-4.925537e-02, -1.495056e-01,  1.645355e-01,  2.772522e-01,
               5.315552e-01,  7.843628e-01,  1.051697e+00,  1.021378e+00,
               7.394714e-01,  5.158997e-01],
             [-1.098633e-03, -6.327820e-02,  1.825714e-01,  3.229675e-01,
               6.489563e-01,  8.942719e-01,  1.056854e+00,  9.377899e-01,
               6.436462e-01,  4.607849e-01],
             [ 5.458069e-02,  2.542114e-02,  2.016296e-01,  4.371948e-01,
               7.398376e-01,  9.527435e-01,  1.010208e+00,  8.368683e-01,
               5.527802e-01,  4.091492e-01],
             [ 1.172028e-01,  1.205750e-01,  2.369995e-01,  5.076141e-01,
               7.891235e-01,  9.493256e-01,  9.315186e-01,  7.351685e-01,
               4.722290e-01,  3.593445e-01],
             [ 1.567688e-01,  2.273102e-01,  2.850800e-01,  5.347595e-01,
               8.105927e-01,  9.132996e-01,  8.379517e-01,  6.443481e-01,
               3.985291e-01,  3.148499e-01],
             [ 2.116394e-01,  2.839203e-01,  3.376923e-01,  5.384521e-01,
               8.122864e-01,  8.595123e-01,  7.484131e-01,  5.569000e-01,
               3.392029e-01,  2.763977e-01],
             [ 2.561951e-01,  3.965759e-01,  3.799438e-01,  5.419769e-01,
               7.734985e-01,  7.872620e-01,  6.551361e-01,  4.700775e-01,
               2.832794e-01,  2.465820e-01],
             [ 2.909698e-01,  4.647217e-01,  4.096527e-01,  5.608826e-01,
               7.182617e-01,  6.921082e-01,  5.640564e-01,  3.982391e-01,
               2.414856e-01,  2.124329e-01],
             [ 3.351898e-01,  4.944916e-01,  4.251556e-01,  5.546722e-01,
               6.461182e-01,  6.045837e-01,  4.808960e-01,  3.305969e-01,
               2.084351e-01,  1.757812e-01],
             [ 3.651123e-01,  4.864502e-01,  4.245148e-01,  5.066528e-01,
               5.726471e-01,  5.227509e-01,  4.061127e-01,  2.690430e-01,
               1.748047e-01,  1.453857e-01],
             [ 3.980103e-01,  4.820404e-01,  4.007721e-01,  4.504395e-01,
               4.949188e-01,  4.479980e-01,  3.345795e-01,  2.157440e-01,
               1.431732e-01,  1.227722e-01],
             [ 4.239502e-01,  4.687500e-01,  3.651428e-01,  3.894348e-01,
               4.218292e-01,  3.804016e-01,  2.717896e-01,  1.761932e-01,
               1.075439e-01,  1.014709e-01],
             [          nan,  4.299316e-01,  3.158112e-01,  3.197327e-01,
               3.539734e-01,  3.157654e-01,  2.140656e-01,  1.539001e-01,
               7.321167e-02,  7.849121e-02],
             [          nan,  4.211578e-01,  2.572327e-01,  2.558136e-01,
               2.936707e-01,  2.563477e-01,  1.590424e-01,  1.320953e-01,
               4.878235e-02,  5.648804e-02],
             [          nan,  3.812561e-01,  2.008667e-01,  1.951752e-01,
               2.291412e-01,  1.961060e-01,  1.091309e-01,  1.091919e-01,
               3.186035e-02,  3.695679e-02],
             [          nan,  3.300781e-01,  1.551514e-01,  1.511841e-01,
               1.643066e-01,  1.421814e-01,  5.932617e-02,  8.364868e-02,
               1.728821e-02,  2.288818e-02],
             [          nan,  2.603912e-01,  1.189575e-01,  1.146240e-01,
               1.084595e-01,  9.318542e-02,  1.634216e-02,  5.674744e-02,
               3.082275e-03,  1.013184e-02],
             [          nan,  1.941986e-01,  7.278442e-02,  6.607056e-02,
               5.632019e-02,  4.957581e-02, -2.172852e-02,  4.266357e-02,
              -6.408691e-03,  9.429932e-03],
             [          nan,  1.157990e-01,  4.563904e-02,  3.280640e-03,
               1.614380e-02,  9.841919e-03, -5.218506e-02,  3.323364e-02,
              -9.414673e-03,  2.828979e-02],
             [          nan,  1.203613e-01,  1.246643e-02, -5.570984e-02,
              -2.716064e-02, -2.252197e-02, -7.606506e-02,  3.015137e-02,
              -8.316040e-03,  3.686523e-02],
             [          nan,  9.794617e-02, -4.412842e-02, -9.243774e-02,
              -6.040955e-02, -4.800415e-02, -8.935547e-02,  2.958679e-02,
              -6.530762e-03,  3.253174e-02],
             [          nan,  7.344055e-02, -7.162476e-02, -1.152039e-01,
              -9.327698e-02, -5.438232e-02, -7.911682e-02,  2.906799e-02,
              -7.827759e-03,  2.523804e-02],
             [          nan,  3.254700e-02, -9.220886e-02, -1.249847e-01,
              -1.132660e-01, -5.345154e-02, -7.229614e-02,  3.753662e-02,
              -8.239746e-03,  1.803589e-02],
             [          nan, -2.380371e-03, -1.158142e-01, -1.360931e-01,
              -1.222992e-01, -7.463074e-02, -5.857849e-02,  4.637146e-02,
              -3.097534e-03,  3.814697e-03],
             [          nan,           nan, -1.109467e-01, -1.327057e-01,
              -1.240997e-01, -5.921936e-02, -3.999329e-02,  5.001831e-02,
               9.918213e-04, -2.288818e-03],
             [          nan,           nan,           nan, -1.358490e-01,
              -1.091003e-01, -4.792786e-02, -2.346802e-02,  4.570007e-02,
               4.135132e-03, -3.631592e-03],
             [          nan,           nan,           nan, -1.330261e-01,
              -9.156799e-02, -3.633118e-02, -8.117676e-03,  4.237366e-02,
               5.706787e-03, -8.300781e-03],
             [          nan,           nan,           nan, -1.232758e-01,
              -7.325745e-02, -3.036499e-02, -9.216309e-03,  3.376770e-02,
               4.547119e-03, -1.171875e-02],
             [          nan,           nan,           nan, -1.109924e-01,
              -7.661438e-02, -4.739380e-02, -2.273560e-03,  2.806091e-02,
              -1.876831e-02, -1.608276e-02],
             [          nan,           nan,           nan, -1.244202e-01,
              -5.711365e-02, -3.259277e-02, -3.532410e-02, -1.571655e-03,
              -1.554871e-02, -2.319336e-03],
             [          nan,           nan,           nan, -9.547424e-02,
              -3.237915e-02, -3.512573e-02, -3.874207e-02,  1.718140e-02,
              -1.019287e-02,  2.380371e-03],
             [          nan,           nan,           nan, -3.152466e-02,
               1.884460e-02, -2.856445e-02, -4.353333e-02,  1.614380e-02,
              -7.949829e-03,  1.159668e-03],
             [          nan,           nan,           nan,  3.807068e-02,
              -1.484680e-02, -3.552246e-02, -5.863953e-02,  3.302002e-02,
               1.257324e-02,           nan],
             [          nan,           nan,           nan,           nan,
                        nan, -5.599976e-03, -2.841187e-02,  4.179382e-02,
              -9.516907e-02,           nan],
             [          nan,           nan,           nan,           nan,
                        nan,           nan, -4.182434e-02,           nan,
                        nan,           nan],
             [          nan,           nan,           nan,           nan,
                        nan,           nan,           nan,           nan,
                        nan,           nan],
             [          nan,           nan,           nan,           nan,
                        nan,           nan,           nan,           nan,
                        nan,           nan],
             [          nan,           nan,           nan,           nan,
                        nan,           nan,           nan,           nan,
                        nan,           nan],
             [          nan,           nan,           nan,           nan,
                        nan,           nan,           nan,           nan,
                        nan,           nan],
             [          nan,           nan,           nan,           nan,
                        nan,           nan,           nan,           nan,
                        nan,           nan]], dtype=float32)
    • TSPTS
      (depth, longitude)
      float32
      20.0 34.0 28.0 ... 47.0 38.0 24.0
      long_name :
      Number of CTD data pts used for T and S
      history :
      From meanfit2
      units :
      no unit
      array([[ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57., -53., -47., -38., -24.],
             [-20., -34.,  28.,  46.,  50., -57., -53., -47., -38., -24.],
             [-20., -34., -28.,  46., -50., -57., -53., -47., -38., -24.],
             [-20., -34., -28., -46., -50., -57., -53., -47., -38.,  24.],
             [-20., -34., -28., -46., -50., -57., -53.,  47.,  38.,  24.],
             [-20., -34., -28., -46., -50., -57., -53.,  47.,  38.,  24.],
             [ 20., -34., -28., -46., -50., -57., -53.,  47.,  38.,  24.],
             [ 20., -34., -28., -46., -50., -57.,  53.,  47.,  38.,  24.],
             [ 20.,  34., -28., -46., -50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34., -28., -46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34., -28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.],
             [ 20.,  34.,  28.,  46.,  50.,  57.,  53.,  47.,  38.,  24.]],
            dtype=float32)
    • UPTS
      (depth, longitude)
      float32
      20.0 34.0 27.0 ... nan 2.362488 nan
      long_name :
      Number of ADCP data pts used for U
      history :
      From meanfit2
      units :
      no unit
      array([[ 20.      ,  34.      ,  27.      ,  45.      ,  49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 20.      ,  34.      ,  27.      ,  45.      ,  49.      ,
               57.      , -53.      , -47.      , -38.      , -24.      ],
             [-20.      , -34.      ,  27.      ,  45.      ,  49.      ,
              -57.      , -53.      , -47.      , -38.      , -24.      ],
             [-20.      , -34.      , -27.      ,  45.      , -49.      ,
              -57.      , -53.      , -47.      , -38.      , -24.      ],
             [-20.      , -34.      , -27.      , -45.      , -49.      ,
              -57.      , -53.      , -47.      , -38.      ,  24.      ],
             [-20.      , -34.      , -27.      , -45.      , -49.      ,
              -57.      , -53.      ,  47.      ,  38.      ,  24.      ],
             [-20.      , -34.      , -27.      , -45.      , -49.      ,
              -57.      , -53.      ,  47.      ,  38.      ,  24.      ],
             [ 20.      , -34.      , -27.      , -45.      , -49.      ,
              -57.      , -53.      ,  47.      ,  38.      ,  24.      ],
             [ 20.      , -34.      , -27.      , -45.      , -49.      ,
              -57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 20.      ,  34.      , -27.      , -45.      , -49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 20.      ,  34.      , -27.      , -45.      ,  49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 20.      ,  34.      , -27.      ,  45.      ,  49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 20.      ,  34.      ,  27.      ,  45.      ,  49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 20.      ,  34.      ,  27.      ,  45.      ,  49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 20.      ,  34.      ,  27.      ,  45.      ,  49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 19.      ,  33.      ,  27.      ,  45.      ,  49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 19.      ,  33.      ,  27.      ,  45.      ,  49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 19.      ,  33.      ,  27.      ,  45.      ,  49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 18.      ,  32.      ,  27.      ,  45.      ,  49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 17.      ,  31.      ,  27.      ,  44.      ,  49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 17.      ,  30.      ,  26.      ,  44.      ,  49.      ,
               57.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 17.      ,  30.      ,  26.      ,  44.      ,  49.      ,
               56.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 16.      ,  29.      ,  26.      ,  44.      ,  49.      ,
               56.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 16.      ,  29.      ,  26.      ,  43.08949 ,  48.      ,
               56.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 16.      ,  29.      ,  26.      ,  42.      ,  47.63275 ,
               56.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 16.      ,  28.      ,  25.      ,  41.29543 ,  47.      ,
               56.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 16.      ,  28.      ,  25.      ,  40.06972 ,  47.      ,
               56.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 15.      ,  28.      ,  24.      ,  40.      ,  47.      ,
               56.      ,  53.      ,  47.      ,  38.      ,  24.      ],
             [ 15.      ,  27.      ,  23.      ,  38.58197 ,  45.      ,
               55.      ,  53.      ,  46.79071 ,  38.      ,  24.      ],
             [ 13.50247 ,  25.      ,  22.84517 ,  37.      ,  45.      ,
               54.      ,  52.      ,  46.      ,  38.      ,  24.      ],
             [ 11.71429 ,  25.      ,  21.25563 ,  34.      ,  42.64449 ,
               52.65231 ,  52.      ,  45.60422 ,  38.      ,  24.      ],
             [ 10.03615 ,  24.13306 ,  21.      ,  33.      ,  40.      ,
               50.18347 ,  48.04211 ,  44.      ,  37.      ,  24.      ],
             [ 10.      ,  22.21303 ,  20.      ,  30.28235 ,  35.      ,
               47.68831 ,  46.68185 ,  44.      ,  37.      ,  24.      ],
             [  8.      ,  19.      ,  20.      ,  29.11446 ,  33.38109 ,
               44.      ,  45.4581  ,  44.      ,  37.      ,  24.      ],
             [  5.808273,  15.1183  ,  19.      ,  24.      ,  28.15425 ,
               39.44559 ,  43.      ,  44.      ,  37.      ,  24.      ],
             [  5.      ,  12.61229 ,  15.      ,  24.      ,  26.22131 ,
               38.      ,  42.      ,  44.      ,  37.      ,  24.      ],
             [  5.      ,  12.      ,  14.32101 ,  23.      ,  26.      ,
               38.      ,  42.      ,  44.      ,  37.      ,  24.      ],
             [  4.240875,   9.18866 ,  14.      ,  23.      ,  26.      ,
               38.      ,  42.      ,  40.94077 ,  37.      ,  22.      ],
             [  3.      ,   9.      ,  14.      ,  23.      ,  25.      ,
               35.07103 ,  40.11191 ,  37.      ,  35.      ,  20.87506 ],
             [  3.      ,   8.83989 ,  13.      ,  23.      ,  24.00661 ,
               31.88373 ,  36.      ,  33.83786 ,  33.23816 ,  18.86536 ],
             [  3.      ,   7.      ,  13.      ,  22.57132 ,  22.84377 ,
               29.79913 ,  33.49008 ,  29.51288 ,  30.13312 ,  18.      ],
             [  2.510162,   6.471069,  12.18974 ,  20.26578 ,  20.72708 ,
               27.6134  ,  30.38028 ,  23.01508 ,  26.99951 ,  16.61554 ],
             [  1.56459 ,   4.448212,  11.      ,  16.58417 ,  18.      ,
               21.64183 ,  22.91777 ,  18.66138 ,  23.86865 ,  11.52292 ],
             [  1.      ,   4.      ,   9.      ,  15.      ,  15.35428 ,
               17.87775 ,  19.07364 ,  16.13197 ,  17.61755 ,   8.      ],
             [  1.      ,   4.      ,   9.      ,  11.24826 ,  11.63588 ,
               14.0504  ,  16.11916 ,  14.53514 ,  14.      ,   8.      ],
             [  1.      ,   4.      ,   6.587708,   9.979492,   9.022217,
                9.942642,  10.64244 ,  10.10248 ,  11.61432 ,   5.658813],
             [  1.      ,   4.      ,   4.903351,   7.603943,   6.341446,
                7.509903,   6.384354,   6.727173,   8.532501,   3.305084],
             [  1.      ,   3.104813,   2.922562,   4.993423,   4.285583,
                4.861572,   3.509277,   3.513107,   4.681305,   3.      ],
             [  1.      ,   2.571671,   1.485153,   2.552307,   2.825714,
                3.300873,   1.      ,   1.706116,   3.      ,   1.931   ],
             [       nan,   2.      ,   1.      ,   1.124817,   1.663269,
                1.606293,        nan,        nan,   2.362488,        nan]],
            dtype=float32)
    • eucmax
      (longitude)
      float64
      -215.0 -185.0 ... -75.0 -65.0
      units :
      m
      positive :
      down
      point_spacing :
      even
      long_name :
      Depth of EUC max
      array([-215., -185., -185., -175., -155., -125., -115.,  -85.,  -75.,
              -65.])
    • h
      (longitude)
      float64
      -190.0 -160.0 ... -50.0 -40.0
      units :
      m
      positive :
      down
      point_spacing :
      even
      long_name :
      $h$
      array([-190., -160., -160., -150., -130., -100.,  -90.,  -60.,  -50.,
              -40.])
    • us
      (longitude)
      float32
      0.04620361 0.1165466 ... 0.2067261
      long_name :
      U component of velocity
      history :
      From meanfit2
      units :
      m/s
      array([ 0.04620361,  0.1165466 ,  0.04588318, -0.07801819, -0.2297363 ,
             -0.1702881 , -0.08813477,  0.1996918 ,  0.2585754 ,  0.2067261 ],
            dtype=float32)
    • ueuc
      (longitude)
      float32
      0.4239502 0.4944916 ... 0.7123413
      long_name :
      U component of velocity
      history :
      From meanfit2
      units :
      m/s
      array([0.4239502, 0.4944916, 0.4251556, 0.5608826, 0.8122864, 0.9527435,
             1.056854 , 1.109756 , 0.9161682, 0.7123413], dtype=float32)
    • du
      (longitude)
      float32
      -0.37774658 ... -0.50561523
      long_name :
      $\Delta$u
      history :
      From meanfit2
      units :
      m/s
      array([-0.37774658, -0.377945  , -0.37927243, -0.6389008 , -1.0420227 ,
             -1.1230316 , -1.1449888 , -0.9100642 , -0.6575928 , -0.50561523],
            dtype=float32)
    • dens_euc
      (longitude)
      float64
      1.026e+03 1.025e+03 ... 1.026e+03
      long_name :
      Potential Density (If > 16 obs)
      history :
      From meanfit2
      units :
      kg/m3
      array([1025.92700195, 1025.35009766, 1025.44384766, 1025.41064453,
             1025.41748047, 1025.00085449, 1025.45043945, 1025.37841797,
             1025.69787598, 1025.73474121])
    • b
      (depth, longitude)
      float64
      -9.766 -9.774 ... -9.822 -9.822
      long_name :
      Potential Density (If > 16 obs)
      history :
      From meanfit2
      units :
      kg/m3
      array([[-9.76624275, -9.77361867, -9.77608781, -9.78219568, -9.78431232,
              -9.79047202, -9.78726336, -9.79030798, -9.78896585, -9.7853437 ],
             [-9.76624275, -9.77361867, -9.77608781, -9.78219568, -9.78431232,
              -9.79047202, -9.78823473, -9.79181657, -9.79097668, -9.79004213],
             [-9.76667015, -9.77473014, -9.77608781, -9.78219568, -9.78431232,
              -9.79081501, -9.78936324, -9.79364135, -9.79332074, -9.79525847],
             [-9.76729363, -9.77608925, -9.77608972, -9.78219568, -9.78440374,
              -9.79121802, -9.79069364, -9.79577281, -9.79606182, -9.80022062],
             [-9.76818745, -9.77762931, -9.77615257, -9.78233568, -9.7847104 ,
              -9.79176204, -9.79227069, -9.79819665, -9.79924277, -9.80419071],
             [-9.7694268 , -9.77928175, -9.77636304, -9.78276329, -9.7852742 ,
              -9.79252614, -9.79413439, -9.80088715, -9.8028893 , -9.8073249 ],
             [-9.77108403, -9.78097991, -9.77680682, -9.78348899, -9.78614084,
              -9.79358844, -9.79631902, -9.80380528, -9.80665865, -9.81000019],
             [-9.77323053, -9.78265712, -9.77756869, -9.78452325, -9.78734938,
              -9.79502042, -9.79884554, -9.80687961, -9.8100005 , -9.81141686],
             [-9.77811845, -9.78424671, -9.77873339, -9.7858737 , -9.788936  ,
              -9.7968897 , -9.80173109, -9.8100006 , -9.81149529, -9.81220326],
             [-9.78382689, -9.78567915, -9.78037902, -9.7875451 , -9.79093214,
              -9.79925345, -9.80504709, -9.81272729, -9.81255022, -9.81268215],
             [-9.7875754 , -9.78719349, -9.78257605, -9.78953744, -9.79335875,
              -9.80277193, -9.80776217, -9.81449589, -9.81335664, -9.81312295],
             [-9.78977235, -9.79045458, -9.78538257, -9.79184692, -9.7971415 ,
              -9.80662197, -9.81000013, -9.81555685, -9.81399645, -9.81365325],
             [-9.79209114, -9.79384899, -9.78883572, -9.79513543, -9.80113854,
              -9.8100004 , -9.81190478, -9.81640829, -9.81444584, -9.81407216],
             [-9.79460792, -9.79620718, -9.79307074, -9.79904107, -9.80482797,
              -9.81289864, -9.81341707, -9.8171283 , -9.81479621, -9.81438063],
             [-9.7966202 , -9.80037878, -9.7972629 , -9.80257052, -9.80779456,
              -9.81494609, -9.81453415, -9.81764259, -9.81513611, -9.81461293],
             [-9.79899895, -9.80408654, -9.80165791, -9.80515142, -9.81000021,
              -9.81660958, -9.8154341 , -9.81805498, -9.81540555, -9.81482714],
             [-9.80099029, -9.80575423, -9.80490156, -9.80775328, -9.81167636,
              -9.81823686, -9.81625024, -9.81846165, -9.81562548, -9.81495377],
             [-9.80313679, -9.80766002, -9.80769474, -9.81000085, -9.81323061,
              -9.81962215, -9.81702163, -9.81873498, -9.81581019, -9.81514418],
             [-9.8053661 , -9.81000011, -9.81000034, -9.81177891, -9.81459438,
              -9.82057203, -9.81768254, -9.81900165, -9.81594063, -9.81530984],
             [-9.80708805, -9.81192304, -9.81173453, -9.8134465 , -9.81576102,
              -9.82129326, -9.81814347, -9.81922547, -9.81605869, -9.81544122],
             [-9.8086263 , -9.81353263, -9.81361253, -9.81483314, -9.8167848 ,
              -9.82195351, -9.81847868, -9.81942261, -9.81616151, -9.81552405],
             [-9.81000082, -9.81494602, -9.8149696 , -9.81627311, -9.81753526,
              -9.822488  , -9.81874248, -9.81961309, -9.81627767, -9.81558213],
             [-9.811283  , -9.81618416, -9.8160924 , -9.81738357, -9.81813238,
              -9.82287196, -9.81896913, -9.81973976, -9.81641382, -9.81564972],
             [-9.81232341, -9.81751945, -9.81695141, -9.81812165, -9.81863142,
              -9.82316064, -9.81916531, -9.81985595, -9.81655949, -9.81571827],
             [-9.81308587, -9.81841663, -9.81761137, -9.81865783, -9.81905426,
              -9.82345218, -9.81933482, -9.81997595, -9.81669564, -9.81578206],
             [-9.81370269, -9.81901856, -9.8182961 , -9.81915401, -9.81941235,
              -9.82368846, -9.81948053, -9.82009976, -9.81685559, -9.8159382 ],
             [-9.81447943, -9.81950144, -9.81872655, -9.81955686, -9.81973615,
              -9.82394856, -9.81963481, -9.82026357, -9.81700983, -9.81624667],
             [-9.81515621, -9.81993098, -9.81912463, -9.81990447, -9.8200809 ,
              -9.82415244, -9.81980908, -9.82048834, -9.81714408, -9.81675697],
             [-9.815655  , -9.82034909, -9.81946556, -9.82025303, -9.82040661,
              -9.82432108, -9.81997955, -9.82075215, -9.8173602 , -9.81730441],
             [-9.8160072 , -9.8208472 , -9.81973888, -9.82057874, -9.82063232,
              -9.82450686, -9.8201662 , -9.82097977, -9.81763917, -9.81757955],
             [-9.81627468, -9.82106531, -9.81998649, -9.82090826, -9.82087041,
              -9.82470122, -9.82041476, -9.82124835, -9.81792765, -9.81788421],
             [-9.81643459, -9.8212777 , -9.82035409, -9.82121873, -9.82116754,
              -9.82496323, -9.82070998, -9.82155026, -9.8182885 , -9.81819173],
             [-9.81666685, -9.82155676, -9.82067217, -9.82146253, -9.82141325,
              -9.82522618, -9.82102996, -9.82181883, -9.81859888, -9.81851638],
             [-9.81692291, -9.82203487, -9.82099024, -9.82168824, -9.82163896,
              -9.82551296, -9.8213128 , -9.82215122, -9.8189483 , -9.81880295],
             [-9.81722085, -9.82242727, -9.82129404, -9.82189681, -9.82187324,
              -9.8258388 , -9.82160803, -9.82245693, -9.81922821, -9.81904002],
             [-9.81747119, -9.82276252, -9.8216064 , -9.82208062, -9.82215418,
              -9.82616654, -9.82197277, -9.82270932, -9.81945005, -9.81936372],
             [-9.81760065, -9.82305777, -9.8218921 , -9.82230633, -9.82241703,
              -9.82644284, -9.8221699 , -9.82298742, -9.81966713, -9.81960173],
             [-9.81771583, -9.82347302, -9.82216161, -9.82260346, -9.8227056 ,
              -9.82669627, -9.82235084, -9.82322456, -9.81989754, -9.8198645 ],
             [-9.81783005, -9.82370541, -9.82243303, -9.82280917, -9.82298559,
              -9.82692683, -9.82252416, -9.82346933, -9.82020316, -9.82010442],
             [-9.81802043, -9.82388066, -9.82267206, -9.82301488, -9.82322749,
              -9.82717835, -9.82275177, -9.82371314, -9.82048212, -9.82029769],
             [-9.81821176, -9.82400828, -9.82285205, -9.82323869, -9.82343415,
              -9.82733556, -9.82296033, -9.82394838, -9.82072015, -9.8204862 ],
             [-9.81839642, -9.82411591, -9.82305299, -9.82345964, -9.82363605,
              -9.82752039, -9.82318127, -9.82411029, -9.82092485, -9.82070517],
             [-9.81858204, -9.82423496, -9.82322727, -9.82371582, -9.82380842,
              -9.82770713, -9.82339268, -9.82425124, -9.82111812, -9.8209289 ],
             [-9.81882668, -9.8243502 , -9.82342536, -9.82392725, -9.82398175,
              -9.82789386, -9.82357362, -9.82440839, -9.82131616, -9.82114407],
             [-9.81902181, -9.82445116, -9.82363201, -9.82411486, -9.82413223,
              -9.82807679, -9.82376123, -9.82457315, -9.82148373, -9.8212964 ],
             [-9.81919791, -9.82453116, -9.82380724, -9.8242501 , -9.82427698,
              -9.82827591, -9.82394408, -9.82474458, -9.8216313 , -9.82144873],
             [-9.81935402, -9.82461593, -9.82398342, -9.82438343, -9.8244065 ,
              -9.82841597, -9.82411931, -9.82487601, -9.82176745, -9.8215944 ],
             [-9.81949014, -9.8247245 , -9.82413103, -9.82453676, -9.82453888,
              -9.82857317, -9.82429739, -9.82498744, -9.82189599, -9.8217115 ],
             [-9.81963102, -9.82487022, -9.82426722, -9.8246758 , -9.82467888,
              -9.82868845, -9.82446024, -9.82509887, -9.82201405, -9.82182099],
             [-9.8197481 , -9.82505594, -9.82439673, -9.82481199, -9.82478935,
              -9.82878944, -9.82459166, -9.82519887, -9.82213306, -9.82193809]])
    • bs
      (longitude)
      float64
      -9.767 -9.775 ... -9.793 -9.795
      long_name :
      Potential Density (If > 16 obs)
      history :
      From meanfit2
      units :
      kg/m3
      array([-9.76667015, -9.77473014, -9.77608781, -9.78219568, -9.78431232,
             -9.79081501, -9.78936324, -9.79364135, -9.79332074, -9.79525847])
    • beuc
      (longitude)
      float64
      -9.81 -9.81 -9.81 ... -9.81 -9.81
      long_name :
      Potential Density (If > 16 obs)
      history :
      From meanfit2
      units :
      kg/m3
      array([-9.81, -9.81, -9.81, -9.81, -9.81, -9.81, -9.81, -9.81, -9.81,
             -9.81])
    • db
      (longitude)
      float64
      0.04333 0.03527 ... 0.01668 0.01474
      long_name :
      $\Delta$b
      history :
      From meanfit2
      units :
      kg/m3
      array([0.04332985, 0.03526986, 0.03391219, 0.02780432, 0.02568768,
             0.01918499, 0.02063676, 0.01635865, 0.01667926, 0.01474153])
    • Rib
      (longitude)
      float64
      57.7 39.51 37.72 ... 1.929 2.307
      array([57.69520508, 39.50630823, 37.72013662, 10.21731178,  3.07548718,
              1.52116955,  1.41671203,  1.18509875,  1.92855819,  2.30654635])
  • history :
    FERRET V5.41 1-Oct-02
    name :
    Johnson

TAO daily → full average#

# need to fill to the surface
tao_adcp = pump.obs.read_tao_adcp().mean("time").bfill("depth")
tao_adcp["eucmax"] = pump.get_euc_max(tao_adcp.u)

tao_ctd_raw = (
    pump.obs.read_tao()
    .sel(latitude=0, longitude=tao_adcp.longitude)
    .sortby("depth")
    .chunk({"depth": -1})
    .pipe(dcpy.interpolate.pchip_fillna, dim="depth")
    .drop(["u", "v"])
    .mean("time")
    .compute()
)
tao_ctd = tao_ctd.ffill("depth")
tao_ctd["dens"] = pump.mdjwf.dens(np.array(35.0), tao_ctd.temp, tao_ctd.depth)
tao_ctd["eucmax"] = tao_adcp.eucmax

tao_daily = xr.merge(
    [
        pump.calc.estimate_euc_depth_terms(tao_adcp)[
            ["h", "us", "ueuc", "du", "eucmax"]
        ],
        pump.calc.estimate_euc_depth_terms(tao_ctd)[["bs", "beuc", "db"]],
    ]
)
tao_daily = pump.calc.estimate_Rib(tao_daily)
tao_daily.attrs["name"] = "TAO"
tao_daily.load()
/glade/u/home/dcherian/pump/pump/obs.py:190: FutureWarning: In xarray version 0.15 the default behaviour of `open_mfdataset`
will change. To retain the existing behavior, pass
combine='nested'. To use future default behavior, pass
combine='by_coords'. See
http://xarray.pydata.org/en/stable/combining.html#combining-multi

  chunks={"lat": 1, "lon": 1, "depth": 5},
/gpfs/u/home/dcherian/python/xarray/xarray/backends/api.py:933: FutureWarning: The datasets supplied have global dimension coordinates. You may want
to use the new `combine_by_coords` function (or the
`combine='by_coords'` option to `open_mfdataset`) to order the datasets
before concatenation. Alternatively, to continue concatenating based
on the order the datasets are supplied in future, please use the new
`combine_nested` function (or the `combine='nested'` option to
open_mfdataset).The datasets supplied require both concatenation and merging. From
xarray version 0.15 this will operation will require either using the
new `combine_nested` function (or the `combine='nested'` option to
open_mfdataset), with a nested list structure such that you can combine
along the dimensions None. Alternatively if your datasets have global
dimension coordinates then you can use the new `combine_by_coords`
function.
  from_openmfds=True,
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 15
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 15
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 15
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 15
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 15
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 15
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 15
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 11
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 10
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 11
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 10
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 11
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 10
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 11
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 11
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 11
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 11
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 11
  **blockwise_kwargs
/glade/u/home/dcherian/miniconda3/envs/dcpy/lib/python3.6/site-packages/dask/array/core.py:3855: PerformanceWarning: Increasing number of chunks by factor of 11
  **blockwise_kwargs
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • longitude: 6
    • longitude
      (longitude)
      float64
      -213.0 -204.0 ... -140.0 -110.0
      FORTRAN_format :
      units :
      degree_east
      type :
      UNEVEN
      epic_code :
      502
      array([-213., -204., -195., -170., -140., -110.])
    • latitude
      ()
      float64
      0.0
      FORTRAN_format :
      units :
      degree_north
      type :
      UNEVEN
      epic_code :
      500
      array(0.)
    • h
      (longitude)
      float32
      -200.0 -175.0 ... -80.0 -50.0
      FORTRAN_format :
      units :
      m
      type :
      UNEVEN
      epic_code :
      3
      positive :
      down
      standard_name :
      depth
      long_name :
      $h$
      array([-200., -175., -170., -130.,  -80.,  -50.], dtype=float32)
    • us
      (longitude)
      float32
      -0.06934669 ... 0.19134645
      name :
      U
      long_name :
      u
      generic_name :
      u
      FORTRAN_format :
      f10.2
      units :
      m/s
      epic_code :
      1205
      array([-0.06934669,  0.09375758,  0.0036    , -0.13630131, -0.04317025,
              0.19134645], dtype=float32)
    • ueuc
      (longitude)
      float32
      0.33551154 0.4491259 ... 0.9650307
      name :
      U
      long_name :
      u
      generic_name :
      u
      FORTRAN_format :
      f10.2
      units :
      m/s
      epic_code :
      1205
      array([0.33551154, 0.4491259 , 0.49320757, 0.6898067 , 1.0492624 ,
             0.9650307 ], dtype=float32)
    • du
      (longitude)
      float32
      -0.40485823 ... -0.77368426
      name :
      U
      long_name :
      $\Delta$u
      generic_name :
      u
      FORTRAN_format :
      f10.2
      units :
      m/s
      epic_code :
      1205
      array([-0.40485823, -0.35536832, -0.48960757, -0.826108  , -1.0924326 ,
             -0.77368426], dtype=float32)
    • eucmax
      (longitude)
      float32
      -225.0 -200.0 ... -105.0 -75.0
      FORTRAN_format :
      units :
      m
      type :
      UNEVEN
      epic_code :
      3
      positive :
      down
      standard_name :
      depth
      long_name :
      Depth of EUC max
      array([-225., -200., -195., -155., -105.,  -75.], dtype=float32)
    • bs
      (longitude)
      float64
      -9.782 -9.783 ... -9.8 -9.801
      array([-9.78216727, -9.78328942, -9.78441106, -9.79413096, -9.79995362,
             -9.80081719])
    • beuc
      (longitude)
      float64
      -9.81 -9.81 -9.81 -9.81 -9.81 -9.81
      array([-9.81, -9.81, -9.81, -9.81, -9.81, -9.81])
    • db
      (longitude)
      float64
      0.02783 0.02671 ... 0.009183
      long_name :
      $\Delta$b
      array([0.02783273, 0.02671058, 0.02558894, 0.01586904, 0.01004638,
             0.00918281])
    • Rib
      (longitude)
      float64
      33.96 37.01 18.15 ... 0.6735 0.767
      array([33.96095672, 37.01382707, 18.14700667,  3.02287714,  0.67345763,
              0.76704032])
  • name :
    TAO

TAO hourly → average#

tao_clim = tao.mean("time")
tao_clim["eucmax"] = pump.calc.get_euc_max(tao_clim.u)
tao_clim = pump.calc.estimate_euc_depth_terms(tao_clim)
tao_clim.attrs["name"] = "TAO"
tao_clim.load()
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-8-f60f543c3aa6> in <module>
----> 1 tao_clim = tao.mean("time")
      2 tao_clim["eucmax"] = pump.calc.get_euc_max(tao_clim.u)
      3 tao_clim = pump.calc.estimate_euc_depth_terms(tao_clim)
      4 tao_clim.attrs["name"] = "TAO"
      5 tao_clim.load()

NameError: name 'tao' is not defined
seasonal = tao_zeuc.reset_coords().groupby("time.season")
seasonal_mean = (
    seasonal.mean()
    .where(seasonal.count() > 90 * 24)
    .reindex(season=["DJF", "MAM", "JJA", "SON"])
)
seasonal_mean.load()
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • longitude: 5
    • season: 4
    • zeuc: 59
    • season
      (season)
      object
      'DJF' 'MAM' 'JJA' 'SON'
      array(['DJF', 'MAM', 'JJA', 'SON'], dtype=object)
    • longitude
      (longitude)
      float32
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.], dtype=float32)
    • zeuc
      (zeuc)
      float64
      -47.5 -42.5 -37.5 ... 237.5 242.5
      array([-47.5, -42.5, -37.5, -32.5, -27.5, -22.5, -17.5, -12.5,  -7.5,  -2.5,
               2.5,   7.5,  12.5,  17.5,  22.5,  27.5,  32.5,  37.5,  42.5,  47.5,
              52.5,  57.5,  62.5,  67.5,  72.5,  77.5,  82.5,  87.5,  92.5,  97.5,
             102.5, 107.5, 112.5, 117.5, 122.5, 127.5, 132.5, 137.5, 142.5, 147.5,
             152.5, 157.5, 162.5, 167.5, 172.5, 177.5, 182.5, 187.5, 192.5, 197.5,
             202.5, 207.5, 212.5, 217.5, 222.5, 227.5, 232.5, 237.5, 242.5])
    • Rig
      (season, longitude, zeuc)
      float64
      8.232 11.67 9.22 ... nan nan nan
      array([[[ 8.23188423, 11.66693534,  9.2199752 , ...,         nan,
                       nan,         nan],
              [ 5.39199295,  6.17876334,  9.64884943, ...,         nan,
                       nan,         nan],
              [ 7.42184197,  9.00185298,  8.46085992, ...,         nan,
                       nan,         nan],
              [ 3.16769126,  3.61574038,  4.74233788, ...,         nan,
                       nan,         nan],
              [ 4.13980394,  5.66898608,  3.42710602, ...,         nan,
                       nan,         nan]],
      
             [[16.09135028, 19.32650838, 12.35707371, ...,         nan,
                       nan,         nan],
              [ 9.27719826, 10.23221501, 13.70622544, ...,         nan,
                       nan,         nan],
              [ 5.86048199,  8.26245507, 19.05090364, ...,         nan,
                       nan,         nan],
              [ 3.2191422 ,  4.37541233,  7.60627121, ...,         nan,
                       nan,         nan],
              [ 3.01226798,  2.17111758,  3.77887843, ...,         nan,
                       nan,         nan]],
      
             [[ 8.15280434, 11.38067043, 13.40515286, ...,         nan,
                       nan,         nan],
              [16.7003277 , 12.681034  , 17.97187299, ...,         nan,
                       nan,         nan],
              [10.52417135, 14.17288604, 12.97217026, ...,         nan,
                       nan,         nan],
              [ 4.16430575,  3.7978495 ,  3.53947752, ...,         nan,
                       nan,         nan],
              [ 2.61932804,  2.72024998,  1.87112047, ...,         nan,
                       nan,         nan]],
      
             [[        nan,  7.55666118,  8.08289828, ...,         nan,
                       nan,         nan],
              [ 7.5945738 ,  8.45530595,  9.12148807, ...,         nan,
                       nan,         nan],
              [ 8.79392536, 10.20514784, 18.54320167, ...,         nan,
                       nan,         nan],
              [ 3.53384471,  3.13537092,  3.07702339, ...,         nan,
                       nan,         nan],
              [ 3.34040942,  2.04296605,  4.76050517, ...,         nan,
                       nan,         nan]]])
    • T
      (season, longitude, zeuc)
      float64
      13.6 13.82 14.05 ... nan nan nan
      array([[[13.60272677, 13.81765477, 14.04973421, ...,         nan,
                       nan,         nan],
              [14.08051562, 14.29276024, 14.52687136, ...,         nan,
                       nan,         nan],
              [15.2542054 , 15.61801237, 16.00534442, ...,         nan,
                       nan,         nan],
              [14.98105297, 15.26082331, 15.57572854, ...,         nan,
                       nan,         nan],
              [14.43238422, 14.63861674, 14.86944824, ...,         nan,
                       nan,         nan]],
      
             [[13.97481721, 14.19923595, 14.43999648, ...,         nan,
                       nan,         nan],
              [14.29960899, 14.58159836, 14.88873895, ...,         nan,
                       nan,         nan],
              [16.10947125, 16.53365954, 16.98064405, ...,         nan,
                       nan,         nan],
              [16.28010285, 16.68069373, 17.10365414, ...,         nan,
                       nan,         nan],
              [15.11588387, 15.38952578, 15.69146173, ...,         nan,
                       nan,         nan]],
      
             [[14.19124333, 14.43947054, 14.70428479, ...,         nan,
                       nan,         nan],
              [14.28163924, 14.56672618, 14.87818235, ...,         nan,
                       nan,         nan],
              [17.9633928 , 18.48842358, 19.02859569, ...,         nan,
                       nan,         nan],
              [16.15290704, 16.55158269, 16.97285118, ...,         nan,
                       nan,         nan],
              [14.51619274, 14.71310707, 14.92908578, ...,         nan,
                       nan,         nan]],
      
             [[12.6385191 , 12.78170333, 12.94037027, ...,         nan,
                       nan,         nan],
              [13.88075179, 14.10412266, 14.35778167, ...,         nan,
                       nan,         nan],
              [16.51622736, 16.95323681, 17.40966696, ...,         nan,
                       nan,         nan],
              [15.49465876, 15.81505731, 16.17081449, ...,         nan,
                       nan,         nan],
              [14.36372388, 14.55920276, 14.77800993, ...,         nan,
                       nan,         nan]]])
    • deepest
      (season, longitude)
      float64
      -488.7 -470.1 ... -382.0 -440.7
      description :
      Deepest depth with a valid observation
      array([[-488.66630489, -470.0749788 , -485.12395406, -394.45479812,
              -453.66072205],
             [-470.50151107, -482.30936133, -482.5794072 , -392.56670616,
              -436.78830981],
             [-475.17839168, -463.62734002, -482.56703611, -384.96835797,
              -434.83037643],
             [-485.60853278, -445.6635083 , -484.87393853, -381.97008146,
              -440.74396417]])
    • dens
      (season, longitude, zeuc)
      float64
      1.025e+03 1.025e+03 ... nan nan
      array([[[1025.1896303 , 1025.16768973, 1025.14167951, ...,
                         nan,           nan,           nan],
              [1025.08449148, 1025.06139572, 1025.03308078, ...,
                         nan,           nan,           nan],
              [1024.93674242, 1024.87750392, 1024.81162896, ...,
                         nan,           nan,           nan],
              [1025.24669046, 1025.2056233 , 1025.15589332, ...,
                         nan,           nan,           nan],
              [1025.53061446, 1025.5070724 , 1025.477278  , ...,
                         nan,           nan,           nan]],
      
             [[1025.1277713 , 1025.10257229, 1025.07330318, ...,
                         nan,           nan,           nan],
              [1025.05683349, 1025.01862818, 1024.97423401, ...,
                         nan,           nan,           nan],
              [1024.81368263, 1024.73644831, 1024.65230089, ...,
                         nan,           nan,           nan],
              [1025.0442282 , 1024.97098636, 1024.89089167, ...,
                         nan,           nan,           nan],
              [1025.45672745, 1025.41677536, 1025.36936394, ...,
                         nan,           nan,           nan]],
      
             [[1025.12342782, 1025.09184337, 1025.05607605, ...,
                         nan,           nan,           nan],
              [1025.08862056, 1025.04907768, 1025.00315553, ...,
                         nan,           nan,           nan],
              [1024.47042669, 1024.36165382, 1024.24694065, ...,
                         nan,           nan,           nan],
              [1025.04793835, 1024.97721026, 1024.89959033, ...,
                         nan,           nan,           nan],
              [1025.51613849, 1025.49529673, 1025.46968208, ...,
                         nan,           nan,           nan]],
      
             [[1025.2765685 , 1025.27099748, 1025.26213737, ...,
                         nan,           nan,           nan],
              [1025.12477972, 1025.09915943, 1025.06675559, ...,
                         nan,           nan,           nan],
              [1024.72226629, 1024.64149088, 1024.55441906, ...,
                         nan,           nan,           nan],
              [1025.12174882, 1025.07006663, 1025.00958682, ...,
                         nan,           nan,           nan],
              [1025.48958241, 1025.46909959, 1025.44283963, ...,
                         nan,           nan,           nan]]])
    • eucmax
      (season, longitude)
      float64
      3.264 4.126 9.016 ... 2.976 6.241
      long_name :
      Depth of EUC max
      units :
      m
      array([[3.26371055, 4.12596818, 9.01598885, 3.31033996, 2.98506559],
             [3.40345398, 7.1442146 , 4.77359422, 5.07933099, 7.94734066],
             [4.82000884, 2.81524375, 5.65678933, 4.5077701 , 3.09996866],
             [4.02397433, 2.98996519, 3.1331995 , 2.975802  , 6.24062509]])
    • latitude
      (season)
      float32
      nan nan nan nan
      FORTRAN_format :
      epic_code :
      500
      type :
      EVEN
      units :
      degree_north
      array([nan, nan, nan, nan], dtype=float32)
    • mld
      (season, longitude)
      float64
      -34.32 -34.82 ... -16.38 -11.45
      array([[-34.32471144, -34.82282621, -29.48257394, -16.9969471 ,
               -8.9511756 ],
             [-25.61249285, -23.50614987, -17.57099212, -10.65304839,
               -6.99384531],
             [-28.7099877 , -24.32255226, -22.45587298, -15.00682753,
               -9.89072025],
             [-23.79958377, -24.32021827, -21.79484468, -16.38221639,
              -11.45114781]])
    • u
      (season, longitude, zeuc)
      float64
      0.3643 0.389 0.4046 ... nan nan nan
      array([[[0.36428954, 0.38895224, 0.4045924 , ...,        nan,
                      nan,        nan],
              [0.2196237 , 0.24984855, 0.28538917, ...,        nan,
                      nan,        nan],
              [0.48131255, 0.51611832, 0.55078659, ...,        nan,
                      nan,        nan],
              [0.67239874, 0.71879344, 0.76604187, ...,        nan,
                      nan,        nan],
              [0.5293649 , 0.57199532, 0.61529949, ...,        nan,
                      nan,        nan]],
      
             [[0.34119612, 0.3584247 , 0.37808899, ...,        nan,
                      nan,        nan],
              [0.39010054, 0.4151643 , 0.44226967, ...,        nan,
                      nan,        nan],
              [0.61339652, 0.64884028, 0.68614529, ...,        nan,
                      nan,        nan],
              [0.94794887, 1.00387485, 1.05941852, ...,        nan,
                      nan,        nan],
              [0.79196506, 0.84939121, 0.90940154, ...,        nan,
                      nan,        nan]],
      
             [[0.36428762, 0.38510103, 0.40287176, ...,        nan,
                      nan,        nan],
              [0.42344114, 0.44910889, 0.47371738, ...,        nan,
                      nan,        nan],
              [0.60324866, 0.64291183, 0.68139045, ...,        nan,
                      nan,        nan],
              [0.7708133 , 0.82905148, 0.88847513, ...,        nan,
                      nan,        nan],
              [0.59904537, 0.64696057, 0.69706435, ...,        nan,
                      nan,        nan]],
      
             [[0.21821556, 0.23751159, 0.25679138, ...,        nan,
                      nan,        nan],
              [0.27289732, 0.30022284, 0.3258028 , ...,        nan,
                      nan,        nan],
              [0.5091764 , 0.54306584, 0.57568048, ...,        nan,
                      nan,        nan],
              [0.6384854 , 0.68760622, 0.73845552, ...,        nan,
                      nan,        nan],
              [0.54480893, 0.58868616, 0.63496933, ...,        nan,
                      nan,        nan]]])
    • v
      (season, longitude, zeuc)
      float64
      -0.009484 -0.007725 ... nan nan
      array([[[-9.48372233e-03, -7.72504046e-03, -7.33564424e-03, ...,
                           nan,             nan,             nan],
              [-2.91934285e-03,  1.29491931e-03, -1.05588421e-04, ...,
                           nan,             nan,             nan],
              [ 3.80231364e-03,  4.25051604e-03,  5.62939756e-03, ...,
                           nan,             nan,             nan],
              [-7.27330658e-03, -9.28644226e-03, -1.10784658e-02, ...,
                           nan,             nan,             nan],
              [-9.57764338e-03, -1.12131392e-02, -1.30186725e-02, ...,
                           nan,             nan,             nan]],
      
             [[-3.27018915e-03, -5.24507046e-03, -6.80652298e-03, ...,
                           nan,             nan,             nan],
              [-2.62702513e-02, -2.91648296e-02, -3.20181966e-02, ...,
                           nan,             nan,             nan],
              [ 8.69698067e-03,  1.33157619e-02,  1.80003830e-02, ...,
                           nan,             nan,             nan],
              [-1.29115721e-02, -1.42213956e-02, -1.49717792e-02, ...,
                           nan,             nan,             nan],
              [-2.30604146e-03, -1.97987091e-03, -1.11602583e-03, ...,
                           nan,             nan,             nan]],
      
             [[-1.73465022e-02, -1.90855457e-02, -2.11728806e-02, ...,
                           nan,             nan,             nan],
              [-3.14836084e-02, -3.53821270e-02, -3.75011088e-02, ...,
                           nan,             nan,             nan],
              [-3.26231133e-02, -2.52453222e-02, -1.67267726e-02, ...,
                           nan,             nan,             nan],
              [-7.30159134e-04, -1.65244324e-03, -3.93613844e-03, ...,
                           nan,             nan,             nan],
              [ 1.02352609e-02,  1.04821181e-02,  1.02196271e-02, ...,
                           nan,             nan,             nan]],
      
             [[ 4.70000001e-02,  4.73242333e-02,  4.39763077e-02, ...,
                           nan,             nan,             nan],
              [ 3.20087828e-02,  2.77005340e-02,  2.16889121e-02, ...,
                           nan,             nan,             nan],
              [-4.60854216e-04, -5.65226211e-04, -9.14556185e-04, ...,
                           nan,             nan,             nan],
              [-8.19118300e-03, -8.81910597e-03, -8.73322434e-03, ...,
                           nan,             nan,             nan],
              [-1.04267577e-03, -6.81707984e-05,  1.63465325e-03, ...,
                           nan,             nan,             nan]]])
seasonal_mean["Rig_mean"] = seasonal_mean.Rig
seasonal_mean["depth"] = seasonal_mean.eucmax + seasonal_mean.zeuc
seasonal_mean = seasonal_mean.set_coords(["eucmax", "depth"])
seasonal_mean["Rig"] = pump.calc.calc_tao_ri(
    seasonal_mean[["u", "v"]], seasonal_mean["T"], dim="zeuc"
)
/gpfs/u/home/dcherian/python/xarray/xarray/core/missing.py:329: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, these coordinates will be transposed as well unless you specify transpose_coords=False.
  ).transpose(*self.dims)
/gpfs/u/home/dcherian/python/xarray/xarray/core/missing.py:329: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, these coordinates will be transposed as well unless you specify transpose_coords=False.
  ).transpose(*self.dims)
/gpfs/u/home/dcherian/python/xarray/xarray/core/missing.py:329: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, these coordinates will be transposed as well unless you specify transpose_coords=False.
  ).transpose(*self.dims)
seasonal_mean["Rig_median"] = (
    tao_zeuc.Rig.chunk({"time": -1})
    .groupby("time.season")
    .quantile(dim="time", q=0.5)
    .compute()
)
/gpfs/u/home/dcherian/python/xarray/xarray/core/common.py:664: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, the dimension order of these coordinates will be restored as well unless you specify restore_coord_dims=False.
  self, group, squeeze=squeeze, restore_coord_dims=restore_coord_dims
seasonal_mean["N2"] = -9.81 / 1025 * seasonal_mean.dens.differentiate("zeuc")
seasonal_mean["S2"] = (
    seasonal_mean.u.differentiate("zeuc") ** 2
    + seasonal_mean.u.differentiate("zeuc") ** 2
)
(seasonal_mean.N2 / seasonal_mean.S2).plot(
    col="longitude", hue="season", y="zeuc", xlim=[0.1, 100], xscale="log"
)
/gpfs/u/home/dcherian/python/xarray/xarray/plot/plot.py:107: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, these coordinates will be transposed as well unless you specify transpose_coords=False.
  xplt = darray.transpose(ydim, huedim)
<xarray.plot.facetgrid.FacetGrid at 0x2b1984516470>
_images/cd54fa6221cdb037e37a5132eda77d4941764acfde4e03b7e23774f5c8fbf13b.png
(seasonal_mean.T).plot(col="longitude", hue="season", y="zeuc")
(seasonal_mean.u).plot(col="longitude", hue="season", y="zeuc")
<xarray.plot.facetgrid.FacetGrid at 0x2b197e930828>
_images/3bfc243dd24a6e3c224edeb802cda1f9ec085600002a28b45baa8495d3baec85.png _images/342b591a08877721a12c613e55b3487039774a7006a787f65acb1865fc02327b.png

\(N²\) isn’t changing that much moving eastward consistent with the bulk \(Δb\). Shear \(S²\) is changing significantly, again consistent

(seasonal_mean.N2).plot(col="longitude", hue="season", y="zeuc")
(seasonal_mean.S2).plot(col="longitude", hue="season", y="zeuc")
(seasonal_mean.Rig_median).plot(
    col="longitude", hue="season", y="zeuc", xlim=[0.1, 100], xscale="log"
)
/gpfs/u/home/dcherian/python/xarray/xarray/plot/plot.py:107: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, these coordinates will be transposed as well unless you specify transpose_coords=False.
  xplt = darray.transpose(ydim, huedim)
<xarray.plot.facetgrid.FacetGrid at 0x2b1a3a5aa320>
_images/625bcd94bb82453168a2c953c208827acbd4d6779d0793b36dd186fc35e9ea13.png _images/88f6f276729a1193c969f2d65e84e734b65390cc051246c38311dfcd96f64fae.png _images/3676495a966543af7e9a00264820018658fabba8e64b8dabd2f26d1c1cc4df77.png
counts = tao_zeuc.count("time").load()
counts.u.where(counts.u > 90 * 24).plot(x="longitude")
<matplotlib.collections.QuadMesh at 0x2b7387f5ee10>
_images/9c72442b339d818e6840dbb1710d553670b1a74de9fe1b59d25791e2956057cc.png
annual_mean = (
    tao_zeuc.groupby("time.year").mean().mean("year").load().where(counts > 90 * 24)
)
fg = (4 * -9.81 / 1025 * annual_mean.dens.differentiate("zeuc")).plot(
    col="longitude", y="zeuc"
)
S2 = annual_mean.u.differentiate("zeuc") ** 2 + annual_mean.v.differentiate("zeuc") ** 2
for loc, ax in zip(fg.name_dicts.flat, fg.axes.flat):
    ax.plot(S2.sel(loc), S2.zeuc)
    # ax.set_xscale("log")

ax.legend(["4N²", "S²"])
<matplotlib.legend.Legend at 0x2b739ed77860>
_images/382d38e4ea314b0e17ebabc8b33e7e258095a9267bf8675d30522c48d9c098de.png
counts = tao_zeuc.count("time")
tao_zeuc = tao_zeuc.where(counts > 30 * 24)
[<matplotlib.lines.Line2D at 0x2b19052c4748>,
 <matplotlib.lines.Line2D at 0x2b192aa97cf8>,
 <matplotlib.lines.Line2D at 0x2b192aa97ac8>,
 <matplotlib.lines.Line2D at 0x2b1922eabb00>,
 <matplotlib.lines.Line2D at 0x2b192b8d5278>]
_images/7f0742b93ff05def589a9d72a50548d01f7f48f8ac196b9d0b8e4f02ffd31405.png
zeuc_clim = pump.calc.calc_tao_ri(dim="zeuc")
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • longitude: 5
    • zeuc: 59
    • latitude
      ()
      float32
      ...
      FORTRAN_format :
      epic_code :
      500
      type :
      EVEN
      units :
      degree_north
      array(0., dtype=float32)
    • longitude
      (longitude)
      float32
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.], dtype=float32)
    • zeuc
      (zeuc)
      float64
      -47.5 -42.5 -37.5 ... 237.5 242.5
      array([-47.5, -42.5, -37.5, -32.5, -27.5, -22.5, -17.5, -12.5,  -7.5,  -2.5,
               2.5,   7.5,  12.5,  17.5,  22.5,  27.5,  32.5,  37.5,  42.5,  47.5,
              52.5,  57.5,  62.5,  67.5,  72.5,  77.5,  82.5,  87.5,  92.5,  97.5,
             102.5, 107.5, 112.5, 117.5, 122.5, 127.5, 132.5, 137.5, 142.5, 147.5,
             152.5, 157.5, 162.5, 167.5, 172.5, 177.5, 182.5, 187.5, 192.5, 197.5,
             202.5, 207.5, 212.5, 217.5, 222.5, 227.5, 232.5, 237.5, 242.5])
    • Rig
      (longitude, zeuc)
      float64
      dask.array<chunksize=(1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 2.36 kB 472 B
      Shape (5, 59) (1, 59)
      Count 356 Tasks 5 Chunks
      Type float64 numpy.ndarray
      59 5
    • T
      (longitude, zeuc)
      float64
      dask.array<chunksize=(1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 2.36 kB 472 B
      Shape (5, 59) (1, 59)
      Count 356 Tasks 5 Chunks
      Type float64 numpy.ndarray
      59 5
    • dens
      (longitude, zeuc)
      float64
      dask.array<chunksize=(1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 2.36 kB 472 B
      Shape (5, 59) (1, 59)
      Count 356 Tasks 5 Chunks
      Type float64 numpy.ndarray
      59 5
    • u
      (longitude, zeuc)
      float64
      dask.array<chunksize=(1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 2.36 kB 472 B
      Shape (5, 59) (1, 59)
      Count 356 Tasks 5 Chunks
      Type float64 numpy.ndarray
      59 5
    • v
      (longitude, zeuc)
      float64
      dask.array<chunksize=(1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 2.36 kB 472 B
      Shape (5, 59) (1, 59)
      Count 356 Tasks 5 Chunks
      Type float64 numpy.ndarray
      59 5

Figure 5#

tao_zeuc = xr.open_zarr("tao-zeuc.zarr")
tao_zeuc
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • longitude: 5
    • time: 292267
    • zeuc: 59
    • deepest
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 1), meta=np.ndarray>
      description :
      Deepest depth with a valid observation
      Array Chunk
      Bytes 11.69 MB 80.00 kB
      Shape (292267, 5) (10000, 1)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267
    • eucmax
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 1), meta=np.ndarray>
      long_name :
      Depth of EUC max
      units :
      m
      Array Chunk
      Bytes 11.69 MB 80.00 kB
      Shape (292267, 5) (10000, 1)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267
    • latitude
      ()
      float32
      ...
      FORTRAN_format :
      epic_code :
      500
      type :
      EVEN
      units :
      degree_north
      array(0., dtype=float32)
    • longitude
      (longitude)
      float64
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.])
    • mld
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 1), meta=np.ndarray>
      Array Chunk
      Bytes 11.69 MB 80.00 kB
      Shape (292267, 5) (10000, 1)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267
    • time
      (time)
      datetime64[ns]
      1985-10-01T06:00:00 ... 2019-02-03
      FORTRAN_format :
      point_spacing :
      even
      type :
      EVEN
      array(['1985-10-01T06:00:00.000000000', '1985-10-01T07:00:00.000000000',
             '1985-10-01T08:00:00.000000000', ..., '2019-02-02T22:00:00.000000000',
             '2019-02-02T23:00:00.000000000', '2019-02-03T00:00:00.000000000'],
            dtype='datetime64[ns]')
    • zeuc
      (zeuc)
      float64
      -47.5 -42.5 -37.5 ... 237.5 242.5
      array([-47.5, -42.5, -37.5, -32.5, -27.5, -22.5, -17.5, -12.5,  -7.5,  -2.5,
               2.5,   7.5,  12.5,  17.5,  22.5,  27.5,  32.5,  37.5,  42.5,  47.5,
              52.5,  57.5,  62.5,  67.5,  72.5,  77.5,  82.5,  87.5,  92.5,  97.5,
             102.5, 107.5, 112.5, 117.5, 122.5, 127.5, 132.5, 137.5, 142.5, 147.5,
             152.5, 157.5, 162.5, 167.5, 172.5, 177.5, 182.5, 187.5, 192.5, 197.5,
             202.5, 207.5, 212.5, 217.5, 222.5, 227.5, 232.5, 237.5, 242.5])
    • Rig
      (time, longitude, zeuc)
      float64
      dask.array<chunksize=(10000, 1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 689.75 MB 4.72 MB
      Shape (292267, 5, 59) (10000, 1, 59)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      59 5 292267
    • T
      (time, longitude, zeuc)
      float64
      dask.array<chunksize=(10000, 1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 689.75 MB 4.72 MB
      Shape (292267, 5, 59) (10000, 1, 59)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      59 5 292267
    • dens
      (time, longitude, zeuc)
      float64
      dask.array<chunksize=(10000, 1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 689.75 MB 4.72 MB
      Shape (292267, 5, 59) (10000, 1, 59)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      59 5 292267
    • u
      (time, longitude, zeuc)
      float64
      dask.array<chunksize=(10000, 1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 689.75 MB 4.72 MB
      Shape (292267, 5, 59) (10000, 1, 59)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      59 5 292267
    • v
      (time, longitude, zeuc)
      float64
      dask.array<chunksize=(10000, 1, 59), meta=np.ndarray>
      Array Chunk
      Bytes 689.75 MB 4.72 MB
      Shape (292267, 5, 59) (10000, 1, 59)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      59 5 292267
ri = tao_zeuc.Rig.compute().median("time")
ri.plot(hue="longitude", y="zeuc", xscale="log", xlim=(0.1, 100))
[<matplotlib.lines.Line2D at 0x2b1926f59ef0>,
 <matplotlib.lines.Line2D at 0x2b192b8feb70>,
 <matplotlib.lines.Line2D at 0x2b1944ed5a20>,
 <matplotlib.lines.Line2D at 0x2b1944ed5d68>,
 <matplotlib.lines.Line2D at 0x2b1944ed5c18>]
_images/adfe5fcd7c936f5f7b5d97f428a908024a2f2ea57a131a651b0e7950b3400625.png
tao_zeuc = tao_zeuc.where(tao_zeuc.count("time") > 90 * 24)
Ri_q_annual = (
    tao_zeuc.Rig.sel(zeuc=slice(0, None))
    .chunk({"time": -1, "zeuc": -1})
    .quantile(q=[0.25, 0.5, 0.75], dim=["time", "zeuc"])
)
Ri_q_annual.load()
Show/Hide data repr Show/Hide attributes
xarray.DataArray
'Rig'
  • quantile: 3
  • longitude: 5
  • 0.8152 0.587 0.2669 0.2228 0.2682 ... 5.459 4.627 2.615 1.184 1.593
    array([[0.81522617, 0.58695033, 0.26694281, 0.22278418, 0.26821389],
           [1.97553892, 1.58871084, 0.70549343, 0.41711624, 0.54069482],
           [5.45856488, 4.62699244, 2.61483129, 1.18364173, 1.5925003 ]])
    • longitude
      (longitude)
      float64
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.])
    • quantile
      (quantile)
      float64
      0.25 0.5 0.75
      array([0.25, 0.5 , 0.75])
f, ax = pump.plot.plot_bulk_Ri_diagnosis(tao_clim, ls="none", marker="s")
pump.plot.plot_bulk_Ri_diagnosis(tao_daily, ls="none", marker="o", f=f, ax=ax)
pump.plot.plot_bulk_Ri_diagnosis(johnson, ls="none", marker="^", f=f, ax=ax)
# ri.sel(zeuc=slice(0,None)).mean("zeuc").plot(ax=ax["Rib"], color='k')

dccpy.plots.fill_between(
    Ri_q_annual.sel(quantile=[0.25, 0.75]),
    axis="y",
    y="quantile",
    x="longitude",
    alpha=0.1,
    ax=ax["Rib"],
    color="k",
)
Ri_q_annual.sel(quantile=0.5).plot(color="k", ax=ax["Rib"], _labels=False)
# pump.plot.plot_bulk_Ri_diagnosis(johnson, ls="none", marker= '^', f=f, ax=ax)
[<matplotlib.lines.Line2D at 0x2b194600e278>]
_images/131a7686e80e5f84f47a9dd432a0c8466777649659f059873392451c32b8912e.png
tao = pump.obs.read_tao_zarr("ancillary")
tao
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • depth: 101
    • longitude: 5
    • time: 292267
    • deepest
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 1), meta=np.ndarray>
      description :
      Deepest depth with a valid observation
      Array Chunk
      Bytes 11.69 MB 80.00 kB
      Shape (292267, 5) (10000, 1)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267
    • depth
      (depth)
      float64
      -500.0 -495.0 -490.0 ... -5.0 0.0
      array([-500., -495., -490., -485., -480., -475., -470., -465., -460., -455.,
             -450., -445., -440., -435., -430., -425., -420., -415., -410., -405.,
             -400., -395., -390., -385., -380., -375., -370., -365., -360., -355.,
             -350., -345., -340., -335., -330., -325., -320., -315., -310., -305.,
             -300., -295., -290., -285., -280., -275., -270., -265., -260., -255.,
             -250., -245., -240., -235., -230., -225., -220., -215., -210., -205.,
             -200., -195., -190., -185., -180., -175., -170., -165., -160., -155.,
             -150., -145., -140., -135., -130., -125., -120., -115., -110., -105.,
             -100.,  -95.,  -90.,  -85.,  -80.,  -75.,  -70.,  -65.,  -60.,  -55.,
              -50.,  -45.,  -40.,  -35.,  -30.,  -25.,  -20.,  -15.,  -10.,   -5.,
                0.])
    • eucmax
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 1), meta=np.ndarray>
      long_name :
      Depth of EUC max
      units :
      m
      Array Chunk
      Bytes 11.69 MB 80.00 kB
      Shape (292267, 5) (10000, 1)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267
    • latitude
      ()
      float32
      ...
      FORTRAN_format :
      epic_code :
      500
      type :
      EVEN
      units :
      degree_north
      array(0., dtype=float32)
    • longitude
      (longitude)
      float64
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.])
    • mld
      (time, longitude)
      float64
      dask.array<chunksize=(10000, 1), meta=np.ndarray>
      Array Chunk
      Bytes 11.69 MB 80.00 kB
      Shape (292267, 5) (10000, 1)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267
    • time
      (time)
      datetime64[ns]
      1985-10-01T06:00:00 ... 2019-02-03
      FORTRAN_format :
      point_spacing :
      even
      type :
      EVEN
      array(['1985-10-01T06:00:00.000000000', '1985-10-01T07:00:00.000000000',
             '1985-10-01T08:00:00.000000000', ..., '2019-02-02T22:00:00.000000000',
             '2019-02-02T23:00:00.000000000', '2019-02-03T00:00:00.000000000'],
            dtype='datetime64[ns]')
    • zeuc
      (depth, time, longitude)
      float64
      dask.array<chunksize=(101, 10000, 1), meta=np.ndarray>
      Array Chunk
      Bytes 1.18 GB 8.08 MB
      Shape (101, 292267, 5) (101, 10000, 1)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      5 292267 101
    • Rig
      (time, longitude, depth)
      float64
      dask.array<chunksize=(10000, 1, 101), meta=np.ndarray>
      long_name :
      Ri
      Array Chunk
      Bytes 1.18 GB 8.08 MB
      Shape (292267, 5, 101) (10000, 1, 101)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      101 5 292267
    • T
      (time, longitude, depth)
      float64
      dask.array<chunksize=(10000, 1, 101), meta=np.ndarray>
      Array Chunk
      Bytes 1.18 GB 8.08 MB
      Shape (292267, 5, 101) (10000, 1, 101)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      101 5 292267
    • dens
      (time, longitude, depth)
      float64
      dask.array<chunksize=(10000, 1, 101), meta=np.ndarray>
      Array Chunk
      Bytes 1.18 GB 8.08 MB
      Shape (292267, 5, 101) (10000, 1, 101)
      Count 12603 Tasks 150 Chunks
      Type float64 numpy.ndarray
      101 5 292267
    • u
      (time, depth, longitude)
      float32
      dask.array<chunksize=(10000, 101, 1), meta=np.ndarray>
      FORTRAN_format :
      epic_code :
      1205
      generic_name :
      u
      long_name :
      u
      name :
      u
      units :
      m/s
      Array Chunk
      Bytes 590.38 MB 4.04 MB
      Shape (292267, 101, 5) (10000, 101, 1)
      Count 151 Tasks 150 Chunks
      Type float32 numpy.ndarray
      5 101 292267
    • v
      (time, depth, longitude)
      float32
      dask.array<chunksize=(10000, 101, 1), meta=np.ndarray>
      FORTRAN_format :
      epic_code :
      1206
      generic_name :
      v
      long_name :
      v
      name :
      v
      units :
      m/s
      Array Chunk
      Bytes 590.38 MB 4.04 MB
      Shape (292267, 101, 5) (10000, 101, 1)
      Count 151 Tasks 150 Chunks
      Type float32 numpy.ndarray
      5 101 292267
tao_bulked = pump.calc.estimate_euc_depth_terms(tao)
tao
/gpfs/u/home/dcherian/python/xarray/xarray/core/missing.py:393: FutureWarning: This DataArray contains multi-dimensional coordinates. In the future, these coordinates will be transposed as well unless you specify transpose_coords=False.
  ).transpose(*arr.dims)
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • depth: 101
    • longitude: 5
    • time: 292267
    • deepest
      (time, longitude)
      float64
      nan nan nan ... nan -500.0 -500.0
      description :
      Deepest depth with a valid observation
      array([[  nan,   nan,   nan,   nan, -300.],
             [  nan,   nan,   nan,   nan, -300.],
             [  nan,   nan,   nan,   nan, -300.],
             ...,
             [  nan, -500.,   nan, -500., -500.],
             [  nan, -500.,   nan, -500., -500.],
             [  nan, -500.,   nan, -500., -500.]])
    • depth
      (depth)
      float64
      -500.0 -495.0 -490.0 ... -5.0 0.0
      array([-500., -495., -490., -485., -480., -475., -470., -465., -460., -455.,
             -450., -445., -440., -435., -430., -425., -420., -415., -410., -405.,
             -400., -395., -390., -385., -380., -375., -370., -365., -360., -355.,
             -350., -345., -340., -335., -330., -325., -320., -315., -310., -305.,
             -300., -295., -290., -285., -280., -275., -270., -265., -260., -255.,
             -250., -245., -240., -235., -230., -225., -220., -215., -210., -205.,
             -200., -195., -190., -185., -180., -175., -170., -165., -160., -155.,
             -150., -145., -140., -135., -130., -125., -120., -115., -110., -105.,
             -100.,  -95.,  -90.,  -85.,  -80.,  -75.,  -70.,  -65.,  -60.,  -55.,
              -50.,  -45.,  -40.,  -35.,  -30.,  -25.,  -20.,  -15.,  -10.,   -5.,
                0.])
    • eucmax
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      long_name :
      Depth of EUC max
      units :
      m
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • latitude
      ()
      float32
      0.0
      FORTRAN_format :
      epic_code :
      500
      type :
      EVEN
      units :
      degree_north
      array(0., dtype=float32)
    • longitude
      (longitude)
      float64
      -204.0 -195.0 -170.0 -140.0 -110.0
      FORTRAN_format :
      epic_code :
      502
      type :
      EVEN
      units :
      degree_east
      array([-204., -195., -170., -140., -110.])
    • mld
      (time, longitude)
      float64
      nan nan nan nan ... nan -5.0 -5.0
      array([[ nan,  nan,  nan,  nan,  -5.],
             [ nan,  nan,  nan,  nan, -10.],
             [ nan,  nan,  nan,  nan, -10.],
             ...,
             [ nan, -75.,  nan,  -5.,  -5.],
             [ nan, -70.,  nan,  -5.,  -5.],
             [ nan, -20.,  nan,  -5.,  -5.]])
    • time
      (time)
      datetime64[ns]
      1985-10-01T06:00:00 ... 2019-02-03
      FORTRAN_format :
      point_spacing :
      even
      type :
      EVEN
      array(['1985-10-01T06:00:00.000000000', '1985-10-01T07:00:00.000000000',
             '1985-10-01T08:00:00.000000000', ..., '2019-02-02T22:00:00.000000000',
             '2019-02-02T23:00:00.000000000', '2019-02-03T00:00:00.000000000'],
            dtype='datetime64[ns]')
    • zeuc
      (depth, time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      array([[[nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              ...,
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan]],
      
             [[nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              ...,
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan]],
      
             [[nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              ...,
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan]],
      
             ...,
      
             [[nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              ...,
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan]],
      
             [[nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              ...,
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan]],
      
             [[nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              ...,
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan]]])
    • Rig
      (time, longitude, depth)
      float64
      dask.array<chunksize=(10000, 1, 101), meta=np.ndarray>
      long_name :
      Ri
      Array Chunk
      Bytes 1.18 GB 8.08 MB
      Shape (292267, 5, 101) (10000, 1, 101)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      101 5 292267
    • T
      (time, longitude, depth)
      float64
      dask.array<chunksize=(10000, 1, 101), meta=np.ndarray>
      Array Chunk
      Bytes 1.18 GB 8.08 MB
      Shape (292267, 5, 101) (10000, 1, 101)
      Count 151 Tasks 150 Chunks
      Type float64 numpy.ndarray
      101 5 292267
    • dens
      (time, longitude, depth)
      float64
      nan nan nan ... 1.023e+03 1.023e+03
      array([[[          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [          nan,           nan,           nan, ...,
               1024.33543851, 1024.33967453, 1024.35413187]],
      
             [[          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [          nan,           nan,           nan, ...,
               1024.3464451 , 1024.35640034, 1024.3734441 ]],
      
             [[          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [          nan,           nan,           nan, ...,
               1024.3244193 , 1024.33437141, 1024.35136962]],
      
             ...,
      
             [[          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [1024.94435893, 1024.95764404, 1024.97049226, ...,
               1021.64220484, 1021.6638762 , 1021.68548079],
              [          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [1024.94513327, 1024.95531438, 1024.96528946, ...,
               1022.99817359, 1023.00538323, 1023.01015802],
              [1024.98458   , 1024.99185912, 1024.99910105, ...,
               1023.33459766, 1023.28636123, 1023.19881184]],
      
             [[          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [1024.94503828, 1024.95895975, 1024.97242195, ...,
               1021.63853494, 1021.65993884, 1021.68108452],
              [          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [1024.95064659, 1024.96189193, 1024.97287058, ...,
               1022.99077391, 1022.99297478, 1022.99497685],
              [1024.98441046, 1024.99211456, 1024.9997781 , ...,
               1023.32363328, 1023.25076443, 1023.19209542]],
      
             [[          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [1024.94518178, 1024.95882619, 1024.9720516 , ...,
               1021.63156833, 1021.64964326, 1021.66928559],
              [          nan,           nan,           nan, ...,
                         nan,           nan,           nan],
              [1024.93238447, 1024.94365735, 1024.95468325, ...,
               1022.97905259, 1022.97606375, 1022.97611193],
              [1024.98412292, 1024.99102948, 1024.99790102, ...,
               1023.30729996, 1023.21705942, 1023.19130163]]])
    • u
      (time, depth, longitude)
      float32
      nan nan nan nan ... nan nan nan nan
      FORTRAN_format :
      epic_code :
      1205
      generic_name :
      u
      long_name :
      u
      name :
      u
      units :
      m/s
      array([[[nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              ...,
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan]],
      
             [[nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              ...,
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan]],
      
             [[nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              ...,
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan]],
      
             ...,
      
             [[nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              ...,
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan]],
      
             [[nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              ...,
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan]],
      
             [[nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              ...,
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan],
              [nan, nan, nan, nan, nan]]], dtype=float32)
    • v
      (time, depth, longitude)
      float32
      dask.array<chunksize=(10000, 101, 1), meta=np.ndarray>
      FORTRAN_format :
      epic_code :
      1206
      generic_name :
      v
      long_name :
      v
      name :
      v
      units :
      m/s
      Array Chunk
      Bytes 590.38 MB 4.04 MB
      Shape (292267, 101, 5) (10000, 101, 1)
      Count 151 Tasks 150 Chunks
      Type float32 numpy.ndarray
      5 101 292267
    • h
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      long_name :
      $h$
      units :
      m
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • us
      (time, longitude)
      float32
      nan nan nan nan ... nan nan nan nan
      FORTRAN_format :
      epic_code :
      1205
      generic_name :
      u
      long_name :
      u
      name :
      u
      units :
      m/s
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]], dtype=float32)
    • ueuc
      (time, longitude)
      float32
      nan nan nan nan ... nan nan nan nan
      FORTRAN_format :
      epic_code :
      1205
      generic_name :
      u
      long_name :
      u
      name :
      u
      units :
      m/s
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]], dtype=float32)
    • du
      (time, longitude)
      float32
      nan nan nan nan ... nan nan nan nan
      FORTRAN_format :
      epic_code :
      1205
      generic_name :
      u
      long_name :
      $\Delta$u
      name :
      u
      units :
      m/s
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]], dtype=float32)
    • dens_euc
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • b
      (time, longitude, depth)
      float64
      nan nan nan nan ... nan nan nan nan
      array([[[nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan]],
      
             [[nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan]],
      
             [[nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan]],
      
             ...,
      
             [[nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan]],
      
             [[nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan]],
      
             [[nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan],
              [nan, nan, nan, ..., nan, nan, nan]]])
    • bs
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • beuc
      (time, longitude)
      float64
      -9.81 -9.81 -9.81 ... -9.81 -9.81
      array([[-9.81, -9.81, -9.81, -9.81, -9.81],
             [-9.81, -9.81, -9.81, -9.81, -9.81],
             [-9.81, -9.81, -9.81, -9.81, -9.81],
             ...,
             [-9.81, -9.81, -9.81, -9.81, -9.81],
             [-9.81, -9.81, -9.81, -9.81, -9.81],
             [-9.81, -9.81, -9.81, -9.81, -9.81]])
    • db
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      long_name :
      $\Delta$b
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
    • Rib
      (time, longitude)
      float64
      nan nan nan nan ... nan nan nan nan
      array([[nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             ...,
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan],
             [nan, nan, nan, nan, nan]])
tao.us.plot(x="time")
<matplotlib.collections.QuadMesh at 0x2b736a5ef668>
_images/61747d43884611f3e3635085d366cff16e46dc6d845b307ba323f8263a9eee39.png