These provide top-level, powerful settings for a comprehensive SpaDES workflow. To see defaults, run spadesOptions(). See Details below.



Below are options that can be set with options("" = newValue), where xxx is one of the values below, and newValue is a new value to give the option. Sometimes these options can be placed in the user's .Rprofile file so they persist between sessions.

The following options are likely of interest to most users

spades.browserOnErrorFALSEIf TRUE, the default, then any error rerun the same event with debugonce called on it to allow editing to be done. When that browser is continued (e.g., with 'c'), then it will save it reparse it into the simList and rerun the edited version. This may allow a spades call to be recovered on error, though in many cases that may not be the correct behaviour. For example, if the simList gets updated inside that event in an iterative manner, then each run through the event will cause that iteration to occur. When this option is TRUE, then the event will be run at least 3 times: the first time makes the error, the second time has debugonce and the third time is after the error is addressed. TRUE is likely somewhat slower.
reproducible.cachePathgetOption('reproducible.cachePath')The default local directory in which to cache simulation outputs. Default is a temporary directory (typically /tmp/RtmpXXX/SpaDES/cache).
spades.inputPathDefault is a temporary directory (typically /tmp/RtmpXXX/SpaDES/inputs)The default local directory in which to look for simulation inputs.
spades.debugTRUEThe default debugging value debug argument in spades()
spades.futureEventsFALSEIf set to TRUE, the event simulator will attempt to spawn events whose outputs are not needed (by other events in the sim) into a future. In some cases, this will speed up simulations, by running some events in parallel. Still VERY experimental. Use cautiously.
spades.lowMemoryFALSEIf true, some functions will use more memory efficient (but slower) algorithms.
spades.moduleCodeCheckslist(suppressParamUnused = FALSE, suppressUndefined = TRUE, suppressPartialMatchArgs = FALSE, suppressNoLocalFun = TRUE, skipWith = TRUE)Should the various code checks be run during simInit. These are passed to codetools::checkUsage. Default is given by the function, plus these
spades.modulePathfile.path(tempdir(), "SpaDES", "modules"))The default local directory where modules and data will be downloaded and stored. Default is a temporary directory
spades.moduleRepo"PredictiveEcology/SpaDES-modules"The default GitHub repository to use when downloading modules via downloadModule
spades.nCompleted1000LThe maximum number of completed events to retain in the completed event queue
spades.outputPathfile.path(tempdir(), "SpaDES", "outputs")The default local directory in which to save simulation outputs.
spades.recoveryMode1LIf this a numeric > 0 or TRUE, then the discrete event simulator will take a snapshot of the objects in the simList that might change (based on metadata outputObjects for that module), prior to initiating every event. This will allow the user to be able to recover in case of an error or manual interruption (e.g., Esc). If this is numeric, a copy of that number of "most recent events" will be maintained so that the user can recover and restart > 1 event in the past, i.e., redo some of the "completed" events. Default is TRUE, i.e., it will keep the state of the simList at the start of the current event. This can be recovered with restartSpades and the differences can be seen in a hidden object in the stashed simList. There is a message which describes how to find that.
spades.switchPkgNamespacesFALSE to keep computational overhead down.Should the search path be modified to ensure a module's required packages are listed first? If TRUE, there should be no name conflicts among package objects, but it is much slower, especially if the events are themselves fast.
spades.testMemoryLeaksTRUE.There is a very easy way to create a memory leak with R and SpaDES, by adding formulas or functions to sim$ when the enclosing environment of the formula or function contained a large object, most relevant here is the sim object. SpaDES.core now tests for likely culprits for this and suggests alternatives with a warning
spades.tolerance.Machine$double.eps^0.5.The default tolerance value used for floating point number comparisons.
spades.useragent"".: The default user agent to use for downloading modules from GitHub.