gradient

metpy.calc.gradient(f, **kwargs)[source]

Calculate the gradient of a grid of values.

Works for both regularly-spaced data, and grids with varying spacing.

Either coordinates or deltas must be specified, or f must be given as an xarray.DataArray with attached coordinate and projection information. If f is an xarray.DataArray, and coordinates or deltas are given, f will be converted to a pint.Quantity and the gradient returned as a tuple of pint.Quantity, otherwise, if neither coordinates nor deltas are given, the attached coordinate information belonging to axis will be used and the gradient will be returned as a tuple of xarray.DataArray.

Parameters
  • f (array-like) – Array of values of which to calculate the derivative

  • coordinates (array-like, optional) – Sequence of arrays containing the coordinate values corresponding to the grid points in f in axis order.

  • deltas (array-like, optional) – Sequence of arrays or scalars that specify the spacing between the grid points in f in axis order. There should be one item less than the size of f along the applicable axis.

  • axes (sequence, optional) – Sequence of strings (if f is a xarray.DataArray and implicit conversion to pint.Quantity is not used) or integers that specify the array axes along which to take the derivatives. Defaults to all axes of f. If given, and used with coordinates or deltas, its length must be less than or equal to that of the coordinates or deltas given.

Returns

tuple of array-like – The first derivative calculated along each specified axis of the original array

Notes

If this function is used without the axes parameter, the length of coordinates or deltas (as applicable) should match the number of dimensions of f.

Examples using metpy.calc.gradient