Create or open one or more Scenario
s from a
SsimLibrary
.
scenario(
ssimObject = NULL,
scenario = NULL,
sourceScenario = NULL,
folder = NULL,
summary = NULL,
results = FALSE,
forceElements = FALSE,
overwrite = FALSE
)
SsimLibrary
or Project
object,
or character (i.e. a filepath)
character, integer, or vector of these. Names or ids of one or more Scenarios. Note integer ids are slightly faster, but can only be used to open existing Scenarios
character or integer. If not NULL
(Default), new
Scenarios will be copies of the sourceScenario
Folder
object, character, or integer. The Folder object,
name (must be unique), or Folder ID. If not NULL
(Default), new
Scenarios will be moved into the specified folder
logical. If TRUE
then loads and returns the Scenario(s) in a
named vector/dataframe with the scenarioId, name, description, owner,
dateModified, readOnly, parentID. Default is TRUE
if scenario=NULL
,
FALSE
otherwise
logical. If TRUE
only return result Scenarios. Default is
FALSE
logical. If TRUE
then returns a single Scenario as a named
list; if FALSE
(default), returns a single Scenario as a
Scenario
object. Applies only when summary=FALSE
logical. If TRUE
an existing Scenario will be overwritten.
Default is FALSE
A Scenario
object representing a SyncroSim scenario, a list of Scenario
objects, or a data frame of Scenario names and descriptions. If summary = FALSE
,
returns one or more Scenario
objects representing SyncroSim Scenarios.
If summary = TRUE
, returns Scenario summary info.
For each element of Scenario:
If element/Project/SsimObject uniquely identifies an existing Scenario: Returns the existing Scenario.
If element/Project/SsimObject uniquely identifies more than one existing Scenario: Error.
If element/Project/SsimObject do not identify an existing Scenario or Project: Error.
If element/Project/SsimObject do not identify an existing Scenario and element is numeric: Error - a name is required for new Scenarios. SyncroSim will automatically assign an id when a Scenario is created.
If element/Project/SsimObject do not identify an existing Scenario and
do identify a Project, and element is a character string: Creates a
new Scenario named element in the Project. SyncroSim automatically
assigns an id. If sourceScenario is not NULL
the new Scenario will be
a copy of sourceScenario.
# \donttest{
# Set the file path and name of the new SsimLibrary
myLibraryName <- file.path(tempdir(),"testlib")
# Set the SyncroSim Session, SsimLibrary, and Project
mySession <- session()
myLibrary <- ssimLibrary(name = myLibraryName, session = mySession)
myProject <- project(myLibrary, project = "My Project")
# Create a new Scenario
myScenario <- scenario(myProject, scenario = "My Scenario")
# Create a new Scenario from an existing Scenario
myScenarioCopy <- scenario(myProject, scenario = "My Scenario Copy",
sourceScenario = myScenario)
# Find all the Scenarios in a SsimLibrary
scenario(myLibrary)
#> ScenarioID ProjectID Name IsResult ParentID Owner
#> 1 1 1 My Scenario Name No NA N/A
#> 2 2 1 My Scenario No NA N/A
#> 3 3 16 My Scenario No NA N/A
#> 4 4 16 My Scenario Copy No NA N/A
#> DateLastModified IsReadOnly MergeDependencies
#> 1 2024-02-01 at 3:36 PM No Yes
#> 2 2024-02-01 at 3:36 PM Yes No
#> 3 2024-02-01 at 3:37 PM No No
#> 4 2024-02-01 at 3:37 PM No No
#> IgnoreDependencies AutoGenTags
#> 1 stsim_RunControl,stsim_TransitionTarget NA
#> 2 NA
#> 3 NA
#> 4 NA
# Only return the results Scenarios for a SsimLibrary
scenario(myLibrary, results = TRUE)
#> [1] ScenarioID ProjectID Name IsResult
#> [5] ParentID Owner DateLastModified IsReadOnly
#> [9] MergeDependencies IgnoreDependencies AutoGenTags
#> <0 rows> (or 0-length row.names)
# Overwrite an existing Scenario
myNewScenario <- scenario(myProject, scenario = "My New Scenario",
overwrite = TRUE)
# }