calCCR | R Documentation |
This function implements the EMOS method introduced in Doblas-Reyes et al. 2005 and recently applied in Torralba et al. 2017 (method 2) to produce reliable operational seasonal forecasts of wind speed. After Weigel et al. 2009, this method is sometimes referred to as climate conserving recalibration (CCR).
calCCR(
fcst.grid,
obs.grid,
crossval = TRUE,
apply.to = c("all", "sig"),
alpha = 0.1
)
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 cross-validation. FALSE for not cross-validation. |
apply.to |
Character. If |
alpha |
Significance (0.1 by default) of the ensemble mean correlation (i.e. |
climate4R grid. Calibrated forecasts.
Ensemble Model Output Statistics (EMOS) methods use the correspondence between the ensemble mean and the observations in the calibration process.
R. Manzanas and V. Torralba.
Doblas-Reyes, F.J., R. Hagedorn, and T.N. Palmer, 2005: The rationale behind the success of multi-model ensembles in seasonal forecasting-II. Calibration and combination. Tellus, 57A, 234–252, doi:10.3402/tellusa.v57i3.14658
Torralba, V., F.J. Doblas-Reyes, D. MacLeod, I. Christel, and M. Davis, 2017: Seasonal Climate Prediction: A New Source of Information for the Management of Wind Energy Resources. J. Appl. Meteor. Climatol., 56, 1231–1247, https://doi.org/10.1175/JAMC-D-16-0204.1
Weigel, A.P., M.A. Liniger, and C. Appenzeller, 2009: Seasonal ensemble forecasts: Are recalibrated single models better than multimodels? Mon. Wea. Rev., 137, 1460-1479, https://doi.org/10.1175/2008MWR2773.1
Other calibration:
calLM()
,
calMVA()
,
calNGR()
,
calRPC()
{
## 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 = calCCR(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)"))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.