Reference Forecasts

To quantify the quality of an initialized forecast, it is useful to judge it against some simple reference forecast. climpred currently supports a several reference forecasts, and we are open to adding other reference forecasts. Consider opening a Pull Request for additional references.

Persistence Forecast: Whatever is observed at the time of initialization is forecasted to persist into the forecast period [Jolliffe and Stephenson, 2011]. You can compute this by passing reference="persistence" into HindcastEnsemble.verify(), HindcastEnsemble.bootstrap(), PerfectModelEnsemble.verify() and PerfectModelEnsemble.bootstrap().

Damped Persistence Forecast: (Not Implemented) The amplitudes of the anomalies reduce in time exponentially at a time scale of the local autocorrelation [Yuan et al., 2016].

v_{dp}(t) = v(0)e^{-\alpha t}

Climatology: The average values at the temporal forecast resolution (e.g., annual, monthly, daily) over some long period, which is usually 30 years [Jolliffe and Stephenson, 2011]. You can compute this by passing reference="climatology" into HindcastEnsemble.verify(), HindcastEnsemble.bootstrap(), PerfectModelEnsemble.verify() and PerfectModelEnsemble.bootstrap().

Uninitialized: Uninitialized ensembles are generated by perturbing initial conditions only at one point in the historical run. These are generated via micro (round-off error perturbations) or macro (starting from completely different restart files) methods. Uninitialized ensembles are used to approximate the magnitude of internal climate variability and to confidently extract the forced response (ensemble mean) in the climate system. In climpred, we use uninitialized ensembles as a baseline for how important (reoccurring) initializations are for lending predictability to the system. You can compute this by passing reference="uninitialized" into HindcastEnsemble.verify(), HindcastEnsemble.bootstrap(), PerfectModelEnsemble.verify() and PerfectModelEnsemble.bootstrap(). Some modeling centers (such as NCAR) provide a dynamical uninitialized ensemble (the CESM Large Ensemble) along with their initialized prediction system (the CESM Decadal Prediction Large Ensemble). Use HindcastEnsemble.add_uninitialized() or PerfectModelEnsemble.add_uninitialized(). This could be, for example, output from an uninitialized Large Ensemble. If uninitialzed isn’t available, one can run HindcastEnsemble.generate_uninitialized() or PerfectModelEnsemble.generate_uninitialized(), which resamples the initialized from HindcastEnsemble or control from PerfectModelEnsemble to an uninitialized forecast.

Random Mechanism: (Not Implemented) A probability distribution is assigned to the possible range of the variable being forecasted, and a sequence of forecasts is produced by taking a sequence of independent values from that distribution [Jolliffe and Stephenson, 2011]. This would be similar to computing an uninitialized forecast.

References

1(1,2,3)

Ian T. Jolliffe and David B. Stephenson. Forecast Verification: A Practitioner's Guide in Atmospheric Science. John Wiley & Sons, Ltd, Chichester, UK, December 2011. ISBN 978-1-119-96000-3 978-0-470-66071-3. doi:10.1002/9781119960003.

2

Xiaojun Yuan, Dake Chen, Cuihua Li, Lei Wang, and Wanqiu Wang. Arctic Sea Ice Seasonal Prediction by a Linear Markov Model. Journal of Climate, 29(22):8151–8173, November 2016. doi:10/f88pgm.