xskillscore.crps_gaussian

xskillscore.crps_gaussian(observations, mu, sig, dim=None, weights=None, keep_attrs=False)

Continuous Ranked Probability Score with a Gaussian distribution.

Parameters:
  • observations (xarray.Dataset or xarray.DataArray) – The observations or set of observations.

  • mu (xarray.Dataset or xarray.DataArray) – The mean of the forecast normal distribution.

  • sig (xarray.Dataset or xarray.DataArray) – The standard deviation of the forecast distribution.

  • dim (str or list of str, optional) – Dimension over which to compute mean after computing crps_gaussian. Defaults to None implying averaging over all dimensions.

  • weights (xr.DataArray with dimensions from dim, optional) – Weights for weighted.mean(dim). Defaults to None, such that no weighting is applied.

  • 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.

Return type:

xarray.Dataset or xarray.DataArray reduced by dimension dim

Examples

>>> observations = xr.DataArray(
...     np.random.normal(size=(3, 3)),
...     coords=[("x", np.arange(3)), ("y", np.arange(3))],
... )
>>> forecasts = xr.DataArray(
...     np.random.normal(size=(3, 3, 3)),
...     coords=[("x", np.arange(3)), ("y", np.arange(3)), ("member", np.arange(3))],
... )
>>> mu = forecasts.mean("member")
>>> sig = forecasts.std("member")
>>> xs.crps_gaussian(observations, mu, sig, dim="x")
<xarray.DataArray (y: 3)> Size: 24B
array([1.0349773 , 0.36521376, 0.39017126])
Coordinates:
  * y        (y) int64 24B 0 1 2

See also

properscoring.crps_gaussian