xoa.grid.dz2depth

Contents

xoa.grid.dz2depth#

xoa.grid.dz2depth(dz, positive=None, zdim=None, ref=None, ref_type='infer', centered=False)[source]#

Integrate layer thicknesses to compute depths

The output depths are the depths at the bottom of the layers and the top is at a depth of zero. Thus, the output array has the same dimensions as the input array of layer thicknesses.

Parameters:
  • dz (xarray.DataArray) – Layer thicknesses

  • positive (str, int, None) – Direction over which coordinates are increasing: 0|"infer"|"guess", 1|"up", -1|"down" When “up”, the first level is supposed to be the bottom and the output coordinates are negative. When “down”, first level is supposed to be the top and the output coordinates are positive. When “guess”, the dz array must have an axis coordinate of the same name as the z dimension, and this coordinate must have a valid positive attribute.

  • zdim (str) – Name of the vertical dimension. If not set, it is inferred with get_meta_dims().

  • ref (xarray.DataArray) –

    Reference array converting layer thicknesses to depth:

    • If positive up, it is expected to be the SSH (sea surface height) by default

    • If positive down, it is expected to be by default the depth of ground also known as bathymetry, which should be positive.

  • ref_type (str, int) – Type of ref: 0|"infer", 1|"top"|"ssh", -1|"bottom"|"bathy"

  • centered (bool) – Get depth at the middle of layers instead of at their edge

Returns:

xarray.DataArray – Output depths with the same dimensions as input array.

Example

In [1]: dz = xr.DataArray([1., 3., 4.], dims="nz")

# Positive down
In [2]: print(dz2depth(dz, "down"))
<xarray.DataArray 'depth' (nz: 4)> Size: 32B
array([0., 1., 4., 8.])
Dimensions without coordinates: nz
Attributes:
    positive:       down
    axis:           Z
    long_name:      Depth
    standard_name:  ocean_layer_depth
    units:          m

# Positive up
In [3]: print(dz2depth(dz, "up"))
<xarray.DataArray 'depth' (nz: 4)> Size: 32B
array([-8., -7., -4.,  0.])
Dimensions without coordinates: nz
Attributes:
    positive:       up
    axis:           Z
    long_name:      Depth
    standard_name:  ocean_layer_depth
    units:          m