# See examples on Load() to understand the first lines in this example
if (FALSE) {
data_path <- system.file('sample_data', package = 's2dverification')
expA <- list(name = 'experiment', path = file.path(data_path,
'model/$EXP_NAME$/$STORE_FREQ$_mean/$VAR_NAME$_3hourly',
'$VAR_NAME$_$START_DATE$.nc'))
obsX <- list(name = 'observation', path = file.path(data_path,
'$OBS_NAME$/$STORE_FREQ$_mean/$VAR_NAME$',
'$VAR_NAME$_$YEAR$$MONTH$.nc'))
# Now we are ready to use Load().
startDates <- c('19851101', '19901101', '19951101', '20001101', '20051101')
sampleData <- Load('tos', list(expA), list(obsX), startDates,
leadtimemin = 1, leadtimemax = 4, output = 'lonlat',
latmin = 27, latmax = 48, lonmin = -12, lonmax = 40)
}
# \dontshow{
startDates <- c('19851101', '19901101', '19951101', '20001101', '20051101')
sampleData <- s2dv:::.LoadSampleData('tos', c('experiment'),
c('observation'), startDates,
leadtimemin = 1,
leadtimemax = 4,
output = 'lonlat',
latmin = 20, latmax = 80,
lonmin = -80, lonmax = 40)
# No example data is available over NAO region, so in this example we will
# tweak the available data. In a real use case, one can Load() the data over
# NAO region directly.
sampleData$lon[] <- c(40, 280, 340)
sampleData$lat[] <- c(20, 80)
# }
# Now ready to compute the EOFs and project on, for example, the first
# variability mode.
ano <- Ano_CrossValid(sampleData$mod, sampleData$obs)
ano_exp <- array(ano$exp, dim = dim(ano$exp)[-2])
ano_obs <- array(ano$obs, dim = dim(ano$obs)[-2])
nao <- NAO(exp = ano_exp, obs = ano_obs, lat = sampleData$lat, lon = sampleData$lon)
# Finally plot the nao index
if (FALSE) {
nao$exp <- Reorder(nao$exp, c(2, 1))
nao$obs <- Reorder(nao$obs, c(2, 1))
PlotBoxWhisker(nao$exp, nao$obs, "NAO index, DJF", "NAO index (PC1) TOS",
monini = 12, yearini = 1985, freq = 1, "Exp. A", "Obs. X")
}
Run the code above in your browser using DataLab