addBreakpoint: Add a Scenario breakpoint

addBreakpointR Documentation

Add a Scenario breakpoint

Description

This function allows the user to add breakpoints to a SyncroSim model, for a given Scenario. When the Scenario is run the function specified by the callback argument will be called for the specified iterations or timesteps.

Usage

addBreakpoint(x, transformerName, breakpointType, arguments, callback)

## S4 method for signature 'Scenario'
addBreakpoint(x, transformerName, breakpointType, arguments, callback)

Arguments

x

Scenario object

transformerName

character. A Stochastic Time Transformer e.g. "stsim_Runtime" (optional)

breakpointType

character. Options include "bi" (before iteration), "ai" (after iteration), "bt" (before timestep), or "at" (after timestep) (optional)

arguments

vector of timesteps or iterations e.g. c(1,2) (optional)

callback

function to be called when the breakpoint is hit (optional)

Details

Breakpoints are only supported for Stochastic Time Transformers.

Value

A SyncroSim Scenario with an updated list of breakpoints.

Examples

## Not run: 
# Create callback function
callbackFunction <- function(x, iteration, timestep) {
  print(paste0("Breakpoint hit: ", scenarioId(x)))
}

# Install helloworldSpatial package
addPackage("helloworldSpatial")

# Set SsimLibrary name
myLibraryName <- file.path(tempdir(),"testlib")

# Set Session and SsimLibrary
mySession <- session()
myLibrary <- ssimLibrary(name = myLibraryName,
                         session = mySession,
                         package = "helloworldSpatial")
myScenario <- scenario(myLibrary, "My Scenario")

# Add breakpoints before the 1st and 2nd iterations
myScenario <- addBreakpoint(x= myScenario,
                            transformerName= "helloworldSpatial_Primary",
                            breakpointType = "bi", 
                            arguments = c(1,2),
                            callback = callbackFunction)
                            
# Check that the breakpoints were added
breakpoint(myScenario)

## End(Not run)

rsyncrosim documentation built on Oct. 7, 2023, 9:08 a.m.