Introduction

The R-package SeaVal provides functionality and many useful tools for evaluating seasonal forecasts. It is developed by the Norwegian Computing Center as part of the Horizon 2020 project CONFER. The goal of this project is to improve seasonal weather predictions in east Africa. Some functionality of this package is tailored to this purpose, specifically to evaluation practice and datasets at ICPAC, while other will be useful for evaluating seasonal predictions in general. The package mostly follows the WMO recommendations on evaluating seasonal weather forecasts, and provides implementations for all evaluation metrics recommended there.

Evaluating seasonal weather predictions requires an entire pipeline of tasks, including

  • Importing predictions
  • Downloading and importing corresponding observations
  • Matching predictions and observations, e.g. when they are on different grids
  • Evaluating forecast skill
  • Visualizing and exporting results

The SeaVal package provides tools for all of these tasks. The development of this package is supported by the European Union’s Horizon 2020 research and innovation programme under grant agreement no. 869730 (CONFER).

This tutorial shows how to get started with SeaVal and introduces its main functionality by examples. The package can be downloaded directly from github, see description below. SeaVal relies on R data tables (available with the R package data.table). Data tables are more flexible and memory efficient data frames, and simplify many operations that are frequently required when working with weather- and climate data. An introduction to data tables can be found here.

Data tables are flexible and allow very fast calculations. However, they can become large in memory if you have many long dimension variables, e.g. data for thousands of days and tens of thousands of gridpoints. This is usually not a problem for seasonal forecasts where monthly (or seasonal) averages are considered. In a data table as used by SeaVal you typically have some columns containing dimension variables (e.g. year, lon, season,…) whereas other columns contain values (such as observed precipitation). SeaVal recognizes dimension variables by their column names, so it is important to follow the conventions there. Generally, we work with lower-case column names, the most important dimension variables are year, month, season, lon, lat, lead_time and member. For a complete list see SeaVal::dimvars().