xskillscore.rank_histogram

xskillscore.rank_histogram(observations, forecasts, dim=None, member_dim='member')

Returns the rank histogram (Talagrand diagram) along the specified dimensions.

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

  • forecasts (xarray.Dataset or xarray.DataArray) – Forecast with required member dimension member_dim.

  • dim (str or list of str, optional) – Dimension(s) over which to compute the histogram of ranks. Defaults to None meaning compute over all dimensions

  • member_dim (str, optional) – Name of ensemble member dimension. By default, ‘member’.

Returns

rank_histogram – New object containing the histogram of ranks

Return type

xarray.Dataset or xarray.DataArray

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))])
>>> xs.rank_histogram(observations, forecasts, dim='x')
<xarray.DataArray 'histogram_rank' (y: 3, rank: 4)>
array([[0, 0, 1, 2],
       [0, 1, 2, 0],
       [0, 0, 2, 1]])
Coordinates:
  * y        (y) int64 0 1 2
  * rank     (rank) float64 1.0 2.0 3.0 4.0

Notes

See http://www.cawcr.gov.au/projects/verification/