scheduleEvent {SpaDES.core} | R Documentation |
Schedule a simulation event
Description
Adds a new event to the simulation's event queue, updating the simulation object.
Usage
scheduleEvent(
sim,
eventTime,
moduleName,
eventType,
eventPriority = .pkgEnv$.normalVal,
.skipChecks = FALSE
)
Arguments
sim |
A |
eventTime |
A numeric specifying the time of the next event. |
moduleName |
A character string specifying the module from which to
call the event. If missing, it will use
|
eventType |
A character string specifying the type of event from within the module. |
eventPriority |
A numeric specifying the priority of the event.
Lower number means higher priority. As a best practice, it is
recommended that decimal values are conceptual
grouped by their integer values (e.g., 4.0, 4.25, 4.5 are conceptually
similar).
See |
.skipChecks |
Logical. If |
Details
Here, we implement a simulation in a more modular fashion so it's easier to add
submodules to the simulation. We use S4 classes and methods, and use data.table
instead of data.frame
to implement the event queue (because it is much faster).
Value
Returns the modified simList
object.
Author(s)
Alex Chubaty
References
Matloff, N. (2011). The Art of R Programming (ch. 7.8.3). San Francisco, CA: No Starch Press, Inc.. Retrieved from https://nostarch.com/artofr.htm
See Also
priority()
, scheduleConditionalEvent()
Examples
sim <- simInit()
sim <- scheduleEvent(sim, time(sim) + 1.0, "fireSpread", "burn") # default priority
sim <- scheduleEvent(sim, time(sim) + 1.0, "fireSpread", "burn", .normal()) # default priority
sim <- scheduleEvent(sim, time(sim) + 1.0, "fireSpread", "burn", .normal()-1) # higher priority
sim <- scheduleEvent(sim, time(sim) + 1.0, "fireSpread", "burn", .normal()+1) # lower priority
sim <- scheduleEvent(sim, time(sim) + 1.0, "fireSpread", "burn", .highest()) # highest priority
sim <- scheduleEvent(sim, time(sim) + 1.0, "fireSpread", "burn", .lowest()) # lowest priority
events(sim) # shows all scheduled events, with eventTime and priority