Create or open one or more Scenarios from a SsimLibrary.

  ssimObject = NULL,
  scenario = NULL,
  sourceScenario = 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


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 14 My Scenario Name No NA N/A #> 2 2 14 my New Scenario No NA N/A #> 3 3 14 My Scenario No NA N/A #> 4 4 27 My Scenario No NA N/A #> 5 5 27 My Scenario Copy No NA N/A #> DateLastModified IsReadOnly MergeDependencies #> 1 2022-03-07 at 12:41 PM No Yes #> 2 2022-03-07 at 12:40 PM No No #> 3 2022-03-07 at 12:42 PM Yes No #> 4 2022-03-07 at 12:42 PM No No #> 5 2022-03-07 at 12:42 PM No No #> IgnoreDependencies AutoGenTags #> 1 stsim_RunControl,stsim_TransitionTarget NA #> 2 NA #> 3 NA #> 4 NA #> 5 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) # }