xskillscore.linslope

xskillscore.linslope(a, b, dim=None, weights=None, skipna=False, keep_attrs=False)

Slope of linear fit.

\[s_{ab} = \frac{ \sum_{i=i}^{n} (a_{i} - \bar{a}) (b_{i} - \bar{b}) } { \sum_{i=1}^{n} (a_{i} - \bar{a})^{2} }\]
Parameters:
  • a (xarray.Dataset or xarray.DataArray) – Labeled array(s) over which to apply the function.

  • b (xarray.Dataset or xarray.DataArray) – Labeled array(s) over which to apply the function.

  • dim (str, list) – The dimension(s) to apply the slope of linear fit along. Note that this dimension will be reduced as a result. Defaults to None reducing all dimensions.

  • weights (xarray.Dataset or xarray.DataArray or None) – Weights matching dimensions of dim to apply during the function.

  • skipna (bool) – If True, skip NaNs when computing function.

  • keep_attrs (bool) – If True, the attributes (attrs) will be copied from the first input to the new one. If False (default), the new object will be returned without attributes.

Returns:

Slope of linear fit.

Return type:

xarray.DataArray or xarray.Dataset

Examples

>>> a = xr.DataArray(np.random.rand(5, 3, 3), dims=["time", "x", "y"])
>>> b = xr.DataArray(np.random.rand(5, 3, 3), dims=["time", "x", "y"])
>>> xs.linslope(a, b, dim="time")
<xarray.DataArray (x: 3, y: 3)> Size: 72B
array([[-0.30948771, -0.21562529, -0.63141304],
       [ 0.31446077,  2.23858011,  0.44743617],
       [-0.22243944,  0.47034784,  1.08512859]])
Dimensions without coordinates: x, y