AnimateMap {s2dv} | R Documentation |
Animate Maps of Forecast/Observed Values or Scores Over Forecast Time
Description
Create animations of maps in an equi-rectangular or stereographic projection, showing the anomalies, the climatologies, the mean InterQuartile Range, Maximum-Mininum, Standard Deviation, Median Absolute Deviation, the trends, the RMSE, the correlation or the RMSSS, between modelled and observed data along the forecast time (lead-time) for all input experiments and input observational datasets.
Usage
AnimateMap(
var,
lon,
lat,
toptitle = rep("", 11),
sizetit = 1,
units = "",
monini = 1,
freq = 12,
msk95lev = FALSE,
brks = NULL,
cols = NULL,
filled.continents = FALSE,
lonmin = 0,
lonmax = 360,
latmin = -90,
latmax = 90,
intlon = 20,
intlat = 30,
drawleg = TRUE,
subsampleg = 1,
colNA = "white",
equi = TRUE,
fileout = c("output1_animvsltime.gif", "output2_animvsltime.gif",
"output3_animvsltime.gif"),
...
)
Arguments
var |
Matrix of dimensions (nltime, nlat, nlon) or (nexp/nmod, nltime, nlat, nlon) or (nexp/nmod, 3/4, nltime, nlat, nlon) or (nexp/nmod, nobs, 3/4, nltime, nlat, nlon). |
lon |
Vector containing longtitudes (degrees). |
lat |
Vector containing latitudes (degrees). |
toptitle |
c(”,”, ...) array of main title for each animation, optional. If RMS, RMSSS, correlations: first exp with successive obs, then second exp with successive obs, etc ... |
sizetit |
Multiplicative factor to increase title size, optional. |
units |
Units, optional. |
monini |
Starting month between 1 and 12. Default = 1. |
freq |
1 = yearly, 12 = monthly, 4 = seasonal ... |
msk95lev |
TRUE/FALSE grid points with dots if 95% significance level reached. Default = FALSE. |
brks |
Limits of colour levels, optional. For example: seq(min(var), max(var), (max(var) - min(var)) / 10). |
cols |
Vector of colours of length(brks) - 1, optional. |
filled.continents |
Continents filled in grey (TRUE) or represented by a black line (FALSE). Default = TRUE. Filling unavailable if crossing Greenwich and equi = TRUE. Filling unavailable if square = FALSE and equi = TRUE. |
lonmin |
Westward limit of the domain to plot (> 0 or < 0). Default : 0 degrees. |
lonmax |
Eastward limit of the domain to plot (> 0 or < 0). lonmax > lonmin. Default : 360 degrees. |
latmin |
Southward limit of the domain to plot. Default : -90 degrees. |
latmax |
Northward limit of the domain to plot. Default : 90 degrees. |
intlon |
Interval between longitude ticks on x-axis. Default = 20 degrees. |
intlat |
Interval between latitude ticks on y-axis for equi = TRUE or between latitude circles for equi = FALSE. Default = 30 degrees. |
drawleg |
Draw a colorbar. Can be FALSE only if square = FALSE or equi = FALSE. Default = TRUE. |
subsampleg |
Supsampling factor of the interval between ticks on colorbar. Default = 1 = every colour level. |
colNA |
Color used to represent NA. Default = 'white'. |
equi |
TRUE/FALSE == cylindrical equidistant/stereographic projection. Default: TRUE. |
fileout |
c(”, ”, ...) array of output file name for each animation. If RMS, RMSSS, correlations : first exp with successive obs, then second exp with successive obs, etc ... |
... |
Arguments to be passed to the method. Only accepts the following
graphical parameters: |
Details
Examples of input:
-
Outputs from clim (exp, obs, memb = FALSE): (nmod, nltime, nlat, nlon) or (nobs, nltime, nlat, nlon)
-
Model output from load/ano/smoothing: (nmod, nmemb, sdate, nltime, nlat, nlon) then passed through spread(var, posdim = 2, narm = TRUE) & mean1dim(var, posdim = 3, narm = TRUE) or through trend(mean1dim(var, 2), posTR = 2): (nmod, 3, nltime, nlat, nlon) animates average along start dates of IQR/MaxMin/SD/MAD across members or trends of the ensemble-mean computed accross the start dates.
-
model and observed output from load/ano/smoothing: (nmod, nmemb, sdate, nltime, nlat, nlon) & (nobs, nmemb, sdate, nltime, nlat, nlon) then averaged along members mean1dim(var_exp/var_obs, posdim = 2): (nmod, sdate, nltime, nlat, nlon) (nobs, sdate, nltime, nlat, nlon) then passed through corr(exp, obs, posloop = 1, poscor = 2) or RMS(exp, obs, posloop = 1, posRMS = 2): (nmod, nobs, 3, nltime, nlat, nlon) animates correlations or RMS between each exp & each obs against leadtime.
Examples
# See ?Load for explanations on the first part of this example
## Not run:
data_path <- system.file('sample_data', package = 's2dv')
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,
output = 'lonlat', latmin = 27, latmax = 48,
lonmin = -12, lonmax = 40)
## End(Not run)
clim <- Clim(sampleData$mod, sampleData$obs, memb = FALSE)
## Not run:
AnimateMap(clim$clim_exp, sampleData$lon, sampleData$lat,
toptitle = "climatology of decadal prediction", sizetit = 1,
units = "degree", brks = seq(270, 300, 3), monini = 11, freq = 12,
msk95lev = FALSE, filled.continents = TRUE, intlon = 10, intlat = 10,
fileout = 'clim_dec.gif')
## End(Not run)
# More examples in s2dverification but are deleted for now