Learn R Programming

s2dverification (version 2.4.0)

PlotVsLTime: Plots A Score Along The Forecast Time With Its Confidence Interval

Description

Plots The Correlation (Corr()) or the Root Mean Square Error (RMS()) between the forecasted values and their observational counterpart or the slopes of their trends (Trend()) or the InterQuartile Range, Maximum-Mininum, Standard Deviation or Median Absolute Deviation of the Ensemble Members (Spread()), or the ratio between the Ensemble Spread and the RMSE of the Ensemble Mean (RatioSDRMS()) along the forecast time for all the input experiments on the same figure with their confidence intervals.

Usage

PlotVsLTime(var, toptitle = "", ytitle = "", monini = 1, freq = 12, 
            nticks = NULL, limits = NULL, listexp = c("exp1", "exp2", "exp3"), 
            listobs = c("obs1", "obs2", "obs3"), biglab = FALSE, hlines = NULL,
            leg = TRUE, siglev = FALSE, fileout = "output_plotvsltime.eps", 
            sizetit = 1, show_conf = TRUE)

Arguments

Details

Examples of input: Model and observed output from Load() then Clim() then Ano() then Smoothing(): (nmod, nmemb, nsdate, nltime) and (nobs, nmemb, nsdate, nltime) then averaged over the members Mean1Dim(var_exp/var_obs, posdim = 2): (nmod, nsdate, nltime) and (nobs, nsdate, nltime) then passed through Corr(exp, obs, posloop = 1, poscor = 2) or RMS(exp, obs, posloop = 1, posRMS = 2): (nmod, nobs, 3, nltime) would plot the correlations or RMS between each exp & each obs as a function of the forecast time.

Examples

Run this code
# Load sample data as in Load() example:
example(Load)
clim <- Clim(sampleData$mod, sampleData$obs)
ano_exp <- Ano(sampleData$mod, clim$clim_exp)
ano_obs <- Ano(sampleData$obs, clim$clim_obs)
runmean_months <- 12
dim_to_smooth <- 4  # Smooth along lead-times
smooth_ano_exp <- Smoothing(ano_exp, runmean_months, dim_to_smooth)
smooth_ano_obs <- Smoothing(ano_obs, runmean_months, dim_to_smooth)
dim_to_mean <- 2  # Mean along members
required_complete_row <- 3  # Discard startdates for which there are NA leadtimes
leadtimes_per_startdate <- 60
corr <- Corr(Mean1Dim(smooth_ano_exp, dim_to_mean), 
             Mean1Dim(smooth_ano_obs, dim_to_mean), 
             compROW = required_complete_row, 
             limits = c(ceiling((runmean_months + 1) / 2), 
                        leadtimes_per_startdate - floor(runmean_months / 2)))
PlotVsLTime(corr, toptitle = "correlations", ytitle = "correlation", 
            monini = 11, limits = c(-1, 2), listexp = c('CMIP5 IC3'), 
            listobs = c('ERSST'), biglab = FALSE, hlines = c(-1, 0, 1), 
            fileout = 'tos_cor.eps')

Run the code above in your browser using DataLab