pysteps.verification.detcontscores.det_cont_fct(pred, obs, scores='', axis=None, conditioning=None, thr=0.0)#

Calculate simple and skill scores for deterministic continuous forecasts.

  • pred (array_like) – Array of predictions. NaNs are ignored.

  • obs (array_like) – Array of verifying observations. NaNs are ignored.

  • scores ({string, list of strings}, optional) –

    The name(s) of the scores. The default, scores=””, will compute all available scores. The available score names are:




    linear regression slope (type 1 conditional bias)


    linear regression slope (type 2 conditional bias)


    pearson’s correleation coefficien (linear correlation)


    spearman’s correlation coefficient (rank correlation)


    debiased root mean squared error


    mean absolute error


    mean error or bias


    mean squared error


    normalized mean squared error


    root mean squared error


    reduction of variance (Brier Score, Nash-Sutcliffe Efficiency)


    half the distance between the 16% and 84% percentiles of the weighted cumulative error distribution, where error = dB(pred/obs), as in Germann et al. (2006)

  • axis ({int, tuple of int, None}, optional) –

    Axis or axes along which a score is integrated. The default, axis=None, will integrate all of the elements of the input arrays.

    If axis is -1 (or any negative integer), the integration is not performed and scores are computed on all of the elements in the input arrays.

    If axis is a tuple of ints, the integration is performed on all of the axes specified in the tuple.

  • conditioning ({None, "single", "double"}, optional) – The type of conditioning used for the verification. The default, conditioning=None, includes all pairs. With conditioning=”single”, only pairs with either pred or obs > thr are included. With conditioning=”double”, only pairs with both pred and obs > thr are included.

  • thr (float) – Optional threshold value for conditioning. Defaults to 0.


result – Dictionary containing the verification results.

Return type:



Multiplicative scores can be computed by passing log-tranformed values. Note that “scatter” is the only score that will be computed in dB units of the multiplicative error, i.e.: 10*log10(pred/obs).

beta1 measures the degree of conditional bias of the observations given the forecasts (type 1).

beta2 measures the degree of conditional bias of the forecasts given the observations (type 2).

The normalized MSE is computed as NMSE = E[(pred - obs)^2]/E[(pred + obs)^2].

The debiased RMSE is computed as DRMSE = sqrt(MSE - ME^2).

The reduction of variance score is computed as RV = 1 - MSE/Var(obs).

Score names denoted by * can only be computed offline, meaning that the these cannot be computed using _init, _accum and _compute methods of this module.


Germann, U. , Galli, G. , Boscacci, M. and Bolliger, M. (2006), Radar precipitation measurement in a mountainous region. Q.J.R. Meteorol. Soc., 132: 1669-1692. doi:10.1256/qj.05.190

Potts, J. (2012), Chapter 2 - Basic concepts. Forecast verification: a practitioner’s guide in atmospheric sciences, I. T. Jolliffe, and D. B. Stephenson, Eds., Wiley-Blackwell, 11–29.