calRPC: Calibration using the Ratio of Predictable Components for...

View source: R/calRPC.R

calRPCR Documentation

Calibration using the Ratio of Predictable Components for seasonal climate forecasts.

Description

This function implements the EMOS method described in Eade et. 2014. It uses the ensemble to reduce noise and adjust the forecast variance so that the ratio of predictable components (RPC) in the model and in the observations is the same. In Eade et al. 2014, this method was used to adjust seasonal forecasts of the North Atlantic Oscillation (NAO), temperature and pressure in the North Atlantic region.

Usage

calRPC(
  fcst.grid,
  obs.grid,
  crossval = TRUE,
  apply.to = c("all", "sig"),
  alpha = 0.1
)

Arguments

fcst.grid

climate4R grid. Forecasts to be calibrated (typically on a monthly/seasonal basis). At the moment, only gridded data are supported.

obs.grid

climate4R grid. Reference observations the forecasts are calibrated towards (typically on a monthly/seasonal basis).

crossval

Logical. TRUE (default) for leave-one-out-out cross-validation. FALSE for not cross-validation.

apply.to

Character. If "all" is selected, all forecasts are calibrated. Alternatively, if "sig" is selected, the calibration is only applied in those points where the correlation between the ensemble mean and the observations is statistically significant.

alpha

Significance (0.1 by default) of the ensemble mean correlation (i.e. "alpha = 0.05" would correspond to a 95% confidence level). Only works if "apply.to = sig".

Value

climate4R grid. Calibrated forecasts.

Note

Ensemble Model Output Statistics (EMOS) methods use the correspondence between the ensemble mean and the observations in the calibration process.

Author(s)

R. Manzanas.

References

  • Eade R., D. Smith, A. Scaife, et al, 2014: Do seasonal-to-decadal climate predictions underestimate the predictability of the real world? Geophys. Res. Lett., 41(15):5620-5628, doi:10.1002/2014GL061146

See Also

Other calibration: calCCR(), calLM(), calMVA(), calNGR()

Examples

{
## loading seasonal forecasts (CFS) and observations (NCEP) of boreal winter temperature over Iberia
require(climate4R.datasets)
data("CFS_Iberia_tas"); fcst = CFS_Iberia_tas
data("NCEP_Iberia_tas"); obs = NCEP_Iberia_tas
## passing from daily data to seasonal averages
fcst = aggregateGrid(fcst, aggr.y = list(FUN = "mean", na.rm = TRUE))
obs = aggregateGrid(obs, aggr.y = list(FUN = "mean", na.rm = TRUE))
## interpolating forecasts to the observations' resolution
fcst = interpGrid(fcst, new.coordinates = getGrid(obs))
## applying calibration
fcst.cal = calRPC(fcst, obs, crossval = TRUE, apply.to = "all")
## plotting climatologies
library(visualizeR)
spatialPlot(makeMultiGrid(climatology(obs),
                         climatology(fcst, by.member = FALSE),
                         climatology(fcst.cal, by.member = FALSE)),
           backdrop.theme = "coastline",
           layout = c(3, 1),
           names.attr = c("NCEP", "CFS (raw)", "CFS (calibrated)"))
}

SantanderMetGroup/calibratoR documentation built on July 8, 2023, 2:49 p.m.