We develop a Random Analogue Predictor (RAP) algorithm for forecasting Arctic Sea Ice Extent (SIE) on seasonal timescales. RAP is a stochastic variant of the celebrated method of analogues that relies exclusively on the historical SIE record to produce ensemble forecasts. When the observations are compared with the most representative member of the forecast ensemble (identified via band-depth, a centrality measure for functional data), the algorithm exhibits negligible bias and an RMSE no larger than [value pending in manuscript] km. The method offers simplicity, interpretability, independence from explicit physical assumptions, and self-consistent uncertainty estimates, making RAP a compelling benchmark for physics-based and AI-based models alike.
- Zenodo DOI: 10.5281/zenodo.17348912
sea_ice_rap_lambda.py: Core implementation of thesea_iceclass that powers RAP.sea_ice_example_of_use_lambda.py: Step-by-step interactive example demonstrating how to configure and run RAP. Execute this script line by line in IPython (or a similar interactive shell) while reviewing the inline commentary to learn the workflow.N_seaice_extent_daily_v4.0.csv: NSIDC daily SIE dataset used by RAP.lowess.py: Locally weighted scatterplot smoothing helper functions used by the RAP pipeline.
The following utilities build upon sea_ice_rap_lambda.py and were used to prepare the manuscript "Random Analog Prediction of Arctic Sea Ice Extent: a Benchmark for Seasonal Models" (Faiq Raees & Francesco Paparella, submitted 2025):
sea_ice_explore_parameters.py: Explores the RAP parameter space and stores the ensemble band-depth diagnostics in a.pklfile.sea_ice_analyze_parameters.py: Reads the exploration output and identifies optimal RAP parameters according to the band-depth criterion.sea_ice_plot_forecasts.py: Produces five-month hindcasts beginning on June 1 for a representative set of six years in the satellite era.sea_ice_plot_september_averages.py: Compares observed NSIDC September-mean SIE with the corresponding RAP forecasts.sea_ice_calc_statistics.py: Computes bias, RMSE, and anomaly correlation coefficient (ACC) for a broad range of (target month, lead time) hindcasts, saving results to a.pklfile.sea_ice_plot_statistics.py: Visualizes the diagnostics generated bysea_ice_calc_statistics.py.
- Ensure you have the required Python environment and dependencies used in the manuscript (see script headers for package details).
- Launch an interactive Python session (e.g., IPython) and execute
sea_ice_example_of_use_lambda.pyline by line, following the comments to understand input preparation, ensemble generation, and post-processing. - Use the analysis scripts above to reproduce parameter sweeps, evaluate forecast skill, and visualize RAP hindcasts and climatological comparisons.
See LICENSE.txt for licensing information.