To explain the concept of scenarios it might be easier to simply explain how a simulation program would act without them. Let’s say a user creates a model, loads in a set of nominations, and makes a run. The user wants to keep those results for later review, but in the meantime, he is tasked with performing another simulation with those same nominations, but this time with one of the compressor stations shut down, and then a third simulation with the nominations increased by 10%, and in both of these cases he also wants to keep the simulation results for further review, and possibly for additional simulation runs.
Without scenarios, the user would have to create three individual copies of the model and store each one separately.
Now let’s say the user finds out that he left out a valve and a section of pipe from the model, so he needs to repeat the runs, but first he will have to add the valve and the pipe section to all three models, and re-run each of them, and he will have to keep track of three separate models on disc. Not that big of a deal when dealing with only three copies of the model, but what if there were dozens of them.
In NextGen, the user does not need to create three copies of the model. He just needs to create three scenarios within the same model. Each scenario is stored as a totally separate simulation and is actually a complete copy of the model but it is synchronized with the other scenarios in the model.
So when the user needs to add the missing valve and pipe section, he just goes into Pipeline Builder mode, adds the valve and pipe section, then exits Pipeline Builder Mode. At this point the valve and pipe will be added to all three scenarios automatically.
Multi Scenario Runs
As an added bonus, when the user needs to rerun all three scenarios he could go to each scenario individually and run each one, but a faster option is to just use the Multi Scenario Run feature and press one button and all three scenarios will be run automatically. NextGen will even launch additional run engines as needed, and run all three scenarios simultaneously using three processor cores.
Scenarios offer a huge advantage in functionality, where users can easily create scenarios as working copies of the same model, copy selected data from one scenario to another, or make a full a copy of any selected scenario to create another.
The Scenario Manager lets the user manage scenarios, create and delete scenarios as needed, compare scenario results, and launch Multi Scenario Runs.
Scenarios can even be automatically created from an Excel spreadsheet using the Import/Export/Multi Scenario Run feature, with the data in the spreadsheet used to create the scenarios and populate selected data in each scenario. The scenarios are then run in a Multi Scenario Run, and selected results data exported back out to the same spreadsheet, all with a single button click.
Multi Scenario is Available in All Simulation Sections
The Scenario Manager and Multi Scenario Run features are not limited to just the Steady State section, they are also supported in the Sequential, Transient Predictive, and Transient Look Ahead sections.
The Multi Scenario Run feature is particularly useful in transient, since each scenario might take several minutes to run, thus the ability to spread out the multiple transient simulation runs in parallel among multiple run engines, and even run engines on other machines, can speed up the process considerably.
Automation Scripts are custom VB scripts that can be run on the Simulation Server or in Simulation Office, or even in the run engine.
Simulation Server scripts are used to manipulate the input data going to the run engine and are typically used for Online implementations. For example, a typical script may detect that the data quality for a valve status went bad, but we still need to know whether the valve is open or closed. The script can infer what it is by examining nearby pressures on the upstream and downstream sides of the valve, and then set the valve status accordingly.
Simulation Office scripts on the other hand are created for automating tasks and can be launched as a command line argument or selected from a drop menu of available user created scripts. For example, a user might create a script called Calculate Max Capacity, and the script would open a model, create a loop to globally increment all supplies and deliveries by 1% increments and make repeated runs until the model fails, then back up one increment, make another run, export the results out to Excel, and then close the model.
Simulation Engine scripts are scripts that are run inside the calculation engine. They can be used to customize calculations or even code up custom optimization algorithms.