SpaDES.addins
which is archived on CRAN.spelling
.SpaDES.tools
, which is back on CRAN.SpaDES.addins
to Suggests (#359).SpaDES.core
package and remove unused dependencies archivist
, devtools
, hunspell
, igraph
RandomFields
to Suggests (needed for vignettes etc. in SpaDES.core
and SpaDES.tools
)SpaDES
-ecosystem packagesSpaDES
package split into several (#198):
SpaDES
and into new package reproducible
. reproducible
added to Imports.SpaDES
and into new package quickPlot
. quickPlot
added to Imports.SpaDES
and into new package SpaDES.addins
.SpaDES
and into new package SpaDES.core
. SpaDES.core
added to Imports.SpaDES
and into new package SpaDES.tools
. SpaDES.tools
added to Imports.shiny
-related components moved out of SpaDES
and into new package SpaDES.shiny
.3.2.2
to 3.3.3
as required by several dependencies.bit
, fastmatch
, fastdigest
and Rcpp
packages to Imports.removed stringr
package from Imports.
getFileName
. Wasn’t used.p
. Use params
or P
instead.shine
moved out of SpaDES
into the SpaDES.shiny
package.versionWarning
. Wasn’t used.iii-cache
which shows many of the ways to use Cache
and build it into a larger reproducible workflow.simList@.envir
slot. This means that module functions can be called by their name only, without a sim$
prefix. Also, there should not be any name clashes between modules, so each module can have its own init
function, say. This has been implemented in a backwards compatible way, but the old way may be deprecated down the road.saveSimList
which saves all environments recursively and file-backed objects, such as Raster
objects (currently only one implemented).Copy
, moved it to reproducible
, and here added a method for simList
objects that deep copies all environments recursively.speedup
in gaussMap
; now 1.getPaths()
to return the list of working dirs from the optionssetPaths()
as wrapper for setting the options for working dirs; uses ~/SpaDES
as default base pathdownloadModule
checks for and uses environment variable GITHUB_PAT
if it exists (alleviates 403 download errors caused by GitHub download limits)spread2
: new function that is more robust than spread, slightly slower under some situations, but faster in many others. The function is designed to be used as a building block for more complex spreading, where the user can wrap spread2
inside a custom function that iteratively calls spread2
, while optionally changing any of the input arguments.returnDT
, which slightly improves speed in cases where the user wants the output to become a data.table
. This simply prevents a call to as.matrix
in the return()
, which was occurring if the return value was a data.table
.copyModule
for creating a copy of an existing modulerblindlist( )
. This improved DES speed by > 40%. Benchmarking of 1400 events in 1.6 seconds now; previously 3.0 seconds.Copy
(capital C) as replacement for copy
which conflicts with data.table::copy
, and add queues
argument to do a deep copy of the event queues.spread
: minor speedups, plus 3 new parameters relativeSpreadProb
, numNeighs
& exactSizes
distanceFromEachPoint
: uses faster Rcpp code for some use cases & can now take arbitrary columns in either from
or to
arguments%fin%
as faster replacement for %in%
dev.noRSGD()
to bypass the RStudio graphics device for your current session (sets the device
option for your platform).checksums(..., write = TRUE)
ignores the contents of CHECKSUMS.txt
, overwriting that file with the checksums of all files in the module’s data/
directory. This makes it easier to update the checksum file, e.g., when adding new data (#332).reqdPkgs
in metadata) temporarily bumped to the top of the search path (i.e., search()
) during each event. search
path is restored on.exit
from spades
or simInit
calldefineModule
is last, so can use objects defined within module for parameterssimInit
debug mechanism – passing character string of module name will enter into a browser
call inside doEvent
improvements to caching –> these are moved to reproducible
package:
Raster*
objects & S4 methods - now it normally persists across sessions;Cache
(upper case) which derives cacheRepo
arg automatically from either the cachePath(sim)
, if used within a module, or getPath()$cachePath
if not within a module. Also, the upper case removes the name conflict with archivist::cache
;fastdigest::fastdigest
for RAM objects and digest::digest
for disk-backed objects;.useCache
parameter, which can be logical indicating whole module or character indicating individual events);.inputObjects
function in simInit
, via .useCache
parameter in module?Cache
for details.keepCache
checkModuleLocal()
to check for presence of module files in the module dir before attempting download from remote module repositorydevtools.desc.author
option if set.zipModule
now has data
argument, allowing data to be omitted from zipped module.improved moduleDiagram
to show _INPUT_
node in different colour from the other modules
spades.modulePath
option) is now set to a temporary location to avoid unintentionally writing to the user’s home directory.spades.modulesPath
and spades.modulesRepo
options to spades.modulePath
and spades.moduleRepo
showCache
, clearCache
debug
argument in spades()
can now take any expression, character strings. TRUE
/FALSE
changed behavior to show only current event.Plot - enhancements and fixes:
col
arg to Plot
(mimicks cols
). Was lost from version 1.1.2;Plot
(e.g., barplot, plot, etc.);arr
argument to Plot()
, allowing passing of arrangement;title
arg in Plot()
to accept character for plot title;Plot
can use character passed to title
as a title;clickValues
, legends correct for wide variety of types;new
arg in Plot()
. Now it does one plot at a time, not whole device. Use clearPlot()
to wipe whole device.modulesGraph
, showing parent and child module relationships.filesOnly
arg to shine()
. This can be in preparation for publishing to www.shinyapps.io or other pages. Currently still alpha.simList
object, allowing fitting parameters to data..inputObjects
functionality – function that runs during simInit()
to create default inputObjects
P
as a namespaced shortcut for params
: P(sim)
would replace params(sim)$moduleName
when called from within that moduleparams(sim)
& start(sim)
& others in defineModule()
by changing parse order in module metadatacl
arg to parallel aware functions, for more controlnewModule
gains new arguments type = c("child", "parent")
and children = c()
. See ?newModule
(#300).simInit
.checksums
updated to use faster hashing algorithm (xxhash64
) and now only requires a single hash value per file (#295)cir
(#288, #311)spades.modulesPath
.downloadModule
to use option spades.modulesPath
(#309)other tweaks and fixes
dplyr
updategtools
and secr
from Importsspread
enhancements: circular spreading, landscape-based functions, allow overlapping eventscir
and bug fix (#290)rings
whose argument names closer match to cir
spread
, rings
, cir
Plot
now clips symbols (generally points) to plotting area. This will allow future “wiping” of plot area.dev()
returns dev.cur
invisibly, allowing for finer control of plotting devicesdistanceFromEachPoint
, a multipoint version of raster::distanceFromPoints
splitRaster
(#276, #284)mergeRaster
(#282, #283)randomPolygons
(uses spread
internally now)normalizePath
gtools
to Importsexperiment
that did not allow parallel spawning on some systems and crashed with empty outputs
argument* fix minor bugs in sampleModules
?inputs
and ?outputs
.plotInitialTime
and .saveInitialTime
arguments to spades()
to easily allow turning off plotting and savinginputs
and outputs
, including extension-based automated outputs, using data.frame
instead of data.table
allowing lists to be passed for “arguments”n
in setColors
(#70), and partial n
if nameddplyr
updatesPlot
accepts colour column in SpatialPointDataFrame
objectscol
arg to Plot
(mimicks cols
)experiment
function, a wrapper around spades
for running multiple simulations (#265)shine
function, with simList
signature (#261)copy
function, which does a deep copy of a simList
objectRColorBrewer
to ImportsPlot
colours to be set in the Plot
call using cols
argumentPlot
colours to be set in the Plot
call using RColorBrewer
palettesPlot
legendseventPriority
simList
object: current
, to store the current eventcurrent
and current<-
to get and set the current eventdefineParameter
now coerces the default
value to match the type class
objectNames()
for external useoutputPath
updates output(sim)$file
file paths, in addition to just paths(sim)$outputPath
archivist
version 2.0 or greatermoduleCoverage
testing and template (PR #257)is.factor(raster)
is TRUE
simList
show method (#260)downloader
from Imports (#203)covr
to Suggests and lazyeval
to ImportsDiagrammeR
version 0.8.2 or higher which fixes mermaid/knitr/pandoc error (https://github.com/rich-iannone/DiagrammeR/issues/139)downloadData
to download module data (with #205)checksums
to verify MD5 hashes of data files (with #205)newModule
with RStudio on Windows (#209)cachePath
to paths slot (#227)checksum
(#230)NA
to arbitrary class for which no suitable NA
type exists (#231)spread()
(#237)newModule
(PR #242, PR #245)simInit
can be named differently from their objects (#247)downloadModule
and downloadData
now also download children modules/datadivergentColors
to generate divergent colour palettes for legendsloadPackages
.spatialObjects
class to spatialObjects
and exportSpaDES
package version doesn’t match module versionsimInit
(modules can be character)inputs
data.frame construction in simInit
(#225).parseModule
(#215)simList
accessors now work with .simList
superclass (#217)%>%
bug in demo (#218)rmarkdown::render
for vignettes (with #219)documentation
to module metadata (see ?defineModule
) (#224)inputs
data.frame construction in simInit
(#225)attach
the simulation environment (#212)redefined simList
class:
.simList
contains all previous simList
slots except .envir
simList
extends .simList
by adding slot .envir
simList_
extends .simList
by adding slot .list
simList_
can be used internally to save a simList
object, because saving lists of objects to file is more reliable that saving environments.fastshp
can be installed from Rforge as a CRAN-like repository (instead of relying on devtools::install_github
)data.table
, grid
, raster
, and sp
from Depends to Imports (#207).archivist
, ff
, ffbase
to Imports; add lubridate
to Imports (with #151)magrittr
from Imports (%>%
is now exported by igraph
)importFrom
; except methods
, graphics
, igraph
, and utils
(because of methods/classes which are not exported) (#201)timeunit
(instead of timestep
) specified in metadata (#151)defineModule
requires timeunit
to be a character string instead of numeric (with #151)ls
and ls.str
can now be used with simList
objects to list objects in the simulation environmentobjs
returns a list containing all the objects in the simulation environmentsplitRaster
to divide RasterLayer
into several tilesnormPath
(extracted from checkPath
) to more strictly normalize filepaths without checking that they exist.classFilter
to filter list of objects by their typepackages
to get all packages required by a simulationrndstr
to generate random stringsappend_attr
to append list items and keep their attributesloadPackages
.objectNames
defineParameter
now accepts min
, max
, and description values (#172; #175)defineModule
better handles NA
values (#138)Plot
improvements.new plotting functions to produce overview diagrams of simulations (#181; #184):
eventDiagram
shows Gantt chart of event sequencesmoduleDiagram
shows igraph network diagram of dependenciesobjectDiagram
shows sequence diagram of object dependencies between modulessimList
show and debug methods (#57; #73)improvements to loadFiles
:
data.table
package::function
notation in load (#174)@importFrom
).methods
, graphics
, igraph
(because of classes which are not exported from igraph
) (#201)LICENSE
and README
(with #140)various other bug fixes
This is a minor release update to satisfy CRAN submission requirements.
modules now require metadata; module code without it will break!
reloadModuleLater
new module directory structure (#125):
moduleName/
|_ moduleName.R # the actual module code file, incl. module metadata
|_ moduleName.Rmd # longform documentation and usage info, etc.
|_ citation.bib # properly formatted bibtex citation for the module
|_ LICENSE # license file describing the allowed usage etc. of the module
|_ README # incl. module metadata in addition to version change info, etc.
downloader
, dplyr
, fpCompare
, httr
, magrittr
, stringr
to Imports
PredictiveEcology/SpaDES
from achubaty/SpaDES
.overhaul to Plot
function:
*Named
objects.SpatialPolygons
objects much faster than default plot
:
fastshp
.
The suggested package fastshp
can be installed with:
install_github("s-u/fastshp")
Plot
improvementsdeprecated all *Named
functionality
*Named
objectsclearPlot
can be used to clean all hidden metadata about a plotrandomPolygons
, will create random raster maps (not vector maps) of polygonsnumerous bugfixes
Plot
function, including dramatically faster for files on diskSpaDES