tercilePlot | R Documentation |
Tercile plot for the visualization of forecast skill of seasonal climate predictions. This function is prepared to plot the data sets loaded from the ECOMS User Data Gateway (ECOMS-UDG). See the loadeR.ECOMS R package for more details (http://meteo.unican.es/trac/wiki/udg/ecoms/RPackage).
tercilePlot(
hindcast,
obs,
forecast = NULL,
year.target = NULL,
detrend = FALSE,
conf.level = 0.95,
color.pal = c("bw", "reds", "ypb", "tcolor"),
subtitle = NULL
)
hindcast |
A multi-member list with the hindcast for verification. See details. |
obs |
List with the benchmarking observations for forecast verification. |
forecast |
A multi-member list with the forecasts. Default is NULL. |
year.target |
Year within the hindcast period considered as forecast. Default is NULL. |
detrend |
Logical indicating if the data should be linear detrended. Default is FALSE. |
conf.level |
Confidence level to compute the score significance, by default conf.level=0.95 |
color.pal |
Color palette for the representation of the probabilities. Default to |
subtitle |
String to include a subtitle bellow the title. Default is NULL. |
First daily data are averaged to obtain a single seasonal value. For rectangular spatial domains (i.e., for fields), the spatial average is first computed (with a warning) to obtain a unique series for the whole domain. The corresponding terciles for each ensemble member are then computed for the hindcast period. Thus, each particular member and season, are categorized into three categories (above, between or below), according to their respective climatological terciles. Then, a probabilistic forecast is computed year by year by considering the number of members falling within each category. This probability is represented by the colorbar. For instance, probabilities below 1/3 are very low, indicating that a minority of the members falls in the tercile. Conversely, probabilities above 2/3 indicate a high level of member agreement (more than 66% of members falling in the same tercile). The observed terciles (the events that actually occurred) are represented by the white circles. If the forecast object is not NULL, then the probabilities for this season are also ploted next to the hindcast results.
Finally, the ROC Skill Score (ROCSS) is computed for the hindcasts. It is indicated in the secondary (right) Y axis. For each tercile, it provides a quantitative measure of the forecast skill, and it is commonly used to evaluate the performance of probabilistic systems (Joliffe and Stephenson 2003). The value of this score ranges from 1 (perfect forecast system) to -1 (perfectly bad forecast system). A value zero indicates no skill compared with a random prediction. If year.target is not NULL, this year is not included in the computation of the score (operational point of view). Significance of the Area under the ROC curve is highlighted with an *.
In case of multi-member fields or stations, they are spatially averaged to obtain one single time series for each member prior to data analysis, with a warning.
The computation of climatological terciles requires a representative period to obtain meaningful results.
M.D. Friasmariadolores.frias@unican.es and J. Fernandez based on the original diagram conceived by A. Cofino (See Diez et al, 2011 for more details).
Diez, E., Orfila, B., Frias, M.D., Fernandez, J., Cofino, A.S., Gutierrez, J.M., 2011. Downscaling ECMWF seasonal precipitation forecasts in Europe using the RCA model. Tellus A 63, 757-762. doi:10.1111/j.1600-0870.2011.00523.x
Jolliffe, I. T. and Stephenson, D. B. 2003. Forecast Verification: A Practitioner's Guide in Atmospheri Science, Wiley, NY
Other visualization functions:
bubblePlot()
,
cascadePlot()
,
climagram()
,
reliabilityCategories()
,
spreadPlot()
,
tercileBarplot()
## Not run:
data(tas.cfs)
data(tas.cfs.operative.2016)
data(tas.ncep)
require(transformeR)
# Select spatial domain
tas.ncep2 <- subsetGrid(tas.ncep, lonLim = c(-80, -35), latLim = c(-12, 12))
tas.cfs2 <- subsetGrid(tas.cfs, lonLim = c(-80, -35), latLim = c(-12, 12))
tas.cfs.operative2.2016 <- subsetGrid(tas.cfs.operative.2016,
lonLim = c(-80, -35), latLim = c(-12, 12))
# Tercile plot
tercilePlot(hindcast = tas.cfs2, obs = tas.ncep2, forecast = tas.cfs.operative2.2016)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.