SpaDES
packageLoad the following packages:
igraph
rgdal
SpaDES
library(igraph)
library(rgdal)
library(SpaDES)
if (packageVersion("SpaDES") < "1.3.1.9016")
stop("Please update your version of SpaDES to the latest development version.")
simList
objectemptySim <- simInit()
simList
object?'.simList-class'
.str(emptySim)
slotNames(emptySim)
getSlots('simList')
?'.simList-class'
This code is based on the SpaDES
package demo.
set.seed(42)
filelist <- data.frame(
files = dir(system.file("maps", package = "quickPlot"),
full.names = TRUE, pattern = "tif"),
functions = "rasterToMemory",
packages = "SpaDES.core",
stringsAsFactors = FALSE
)
# create the simList object 'mySim'
mySim <- simInit(
times = list(start = 0.0, end = 100.00),
params = list(
.progress = list(type = NA, interval = NA),
.globals = list(burnStats = "nPixelsBurned"),
randomLandscapes = list(
nx = 1e2, ny = 1e2, .saveObjects = "landscape",
.plotInitialTime = NA, .plotInterval = NA, inRAM = TRUE
),
caribouMovement = list(
N = 1e2, .saveObjects = c("caribou"),
.plotInitialTime = 1, .plotInterval = 1, moveInterval = 1
),
fireSpread = list(
nFires = 1e1, spreadprob = 0.235, persistprob = 0, its = 1e6,
returnInterval = 10, startTime = 0,
.plotInitialTime = 0, .plotInterval = 10
)
),
modules = list("randomLandscapes", "fireSpread", "caribouMovement"),
inputs = filelist,
paths = list(modulePath = system.file("sampleModules", package = "SpaDES.core"))
)
mySim$landscape <- stack(mySim$DEM, mySim$forestAge, mySim$habitatQuality, mySim$percentPine)
simList
objectUse the simList accessor functions to determine the following:
# list modules used in the simulation
modules(mySim)
# list module dependencies and packages used
depends(mySim)
packages(mySim)
# list global and module-specific param values
globals(mySim)
params(mySim)
P(mySim) ## bonus: how do params() and P() differ?
# list start and end times
times(mySim)
start(mySim)
end(mySim)
# get the simulation and module timeunits
timeunit(mySim)
timeunits(mySim)
# get the scheduled and completed event queues
events(mySim)
completed(mySim)
# list the objects (functions, data, etc.) stored in the simList
objects(mySim)
# list the file paths used in the simulation
paths(mySim)
inputPath(mySim)
outputPath(mySim)
dev()
mySimOut <- Copy(mySim) ## make a deep copy of the simList
mySimOut <- spades(mySimOut)
times(mySim)
times(mySimOut)
objects(mySim)
objects(mySimOut)