Scenario input sets allow you to easily keep model structure, while switching between groups of input data and parameters. These may be used to represent changeable physical attributes, such as climate, land use decisions or even proposed infrastructure characteristics. You can switch between different scenario input sets to compare the effects on a model. For example, you can have one scenario input set consisting of rainfall, inflow and evapotranspiration data for natural conditions, another for wet conditions and a third set for dry conditions.
You choose the scenario input set used for a run using the Scenario Input Set drop-down menu in the Configure dialog (Figure 1), accessed by clicking Configure on the simulation toolbar.
Anchor | ||||
---|---|---|---|---|
|
Scenario input sets are created and managed using the Scenario Input Sets dialog, which is accessible via Edit » Scenario Input Sets...
...
Scenario input sets can define both input parameters and data sources. Input parameters specific to a scenario are defined in the Scenario Input Sets dialog, either manually or using a file. Data sources are assigned to scenario input sets using the Load Data Source dialog, as explained here.
Figure 2. Scenario input sets, parameter entry
Anchor | ||||
---|---|---|---|---|
|
Child scenario input sets allow you to further refine model scenarios. A child scenario input set inherits all parameters and data sources specified in its parents. If changes are made to the parent scenario input set, existing and new children will inherit those changes. You can then set additional parameters, or alter existing ones, overwriting the inherited parameters. When you run a model with a child scenario input set, for any parameters that differ between the parent and child, the parameters from the child will take precedence.
Figure 3. Child Scenario Input Sets, Example
For parent and child scenario input sets:
- You can create 'grandchildren', thus creating nested scenario input sets. Every child scenario input set inherits all parameters above it in its branch, and ignores any parameters set in its children.
- Deleting a parent will delete all of its children.
- Within both the Configure dialog (Figure 1) and Results Manager (LINK to naming), child scenario input sets are referred to be their full path, eg. Dry Weather.Water Restriction Level 1.New Dam.
Info | ||
---|---|---|
| ||
Data sources can only be assigned to the root-level parents (Dry Weather, Wet Weather and Default Input Set in Figure 3). This is indicated by theicon. For more infomation see Assigning data sources to scenario input sets. |
Anchor | ||||
---|---|---|---|---|
|
First, open the Scenario Input Sets dialog, via Edit » Scenario Input Sets...
...
- Right-click on the scenario input set that you wish to be the parent, and choose Add Child Scenario Input Set from the contextual menu (Figure 12).
Figure 4. New Scenario Input Set
...
Input parameter entry
Parameters specific to a scenario input set are defined and managed using the parameter set editor in the Scenario Input Sets dialog (as shown in Figure 2). The panel on the right allows you to specify parameters, either manually, or by loading a text file.
...
Nodes.Wheat Fields.Inactive Demand Models.Irrigator #0.Crops.Wheat Crop.Planting Decision.Plant Date.Use Expression=False
Nodes.Wheat Fields.Inactive Demand Models.Irrigator #0.Crops.Wheat Crop.Planting Decision.Plant Date.Day=20
Nodes.Wheat Fields.Inactive Demand Models.Irrigator #0.Crops.Wheat Crop.Planting Decision.Plant Date.Month=12
You can also use scenario input sets to change the active demand model at a water user node, for example:
Nodes.Water User 3.Demand Model=MyInactiveDemandModel
If you wish to change some parameters in an inactive demand model, and also make it the active model, then you need to specify the parameter changes first. An example is shown in Figure 2 for the inactive demand model Irrigator #0.
...
The file-based parameter entry (shown in Figure 5) allows the specification of a file that will contain the element path and values. The formatting of this file must adhere to the same rules as the manual parameter set editor.
Note that the Reload on Run and Relative path checkboxes follows the same rules as for data sources.
Figure 5. Input parameter set using a file
Anchor | ||||
---|---|---|---|---|
|
The built-in variable $ActiveInputSet allows you to use the active scenario input set as a variable in a function, for example if($ActiveInputSet = "Wet", 15, 10). The active scenario input set is selected through the Configure dialog (Figure 1). When working with a scenario that contains parent and children scenario input sets (eg, Figure 6), the following conventions apply:
- To identify a specific scenario input set, use its full path, eg. "Parent1.Child1", or "Parent2", or "Parent2.Child1.Grandchild.GreatGrandchild".
- To identify any children of a specific scenario input set, use its full path followed by a full stop, eg. "Parent1.Child1." will be true for Parent1.Child1.Grandchild1 and Parent1.Child1.Grandchild2.
- To identify a child scenario input set, regardless of its parents, use its name preceded by a full stop. For example ".Child1" will be true for Parent1.Child1 and Parent2.Child1
- The previous two conventions can be combined to identify any children of a child input set, regardless of its parents. For example, ".Grandchild1." will be true for Parent2.Child1.Grandchild1.GreatGrandchild.
- If you want to identify a specific scenario input set and any of its children, use an or function combined with an if function. For example if($ActiveInputSet=".Grandchild1" or $ActiveInputSet = ".Grandchild1.", 5, 1) will be true for Parent1.Child1.Grandchild1, Parent2.Child1.Grandchild1 and Parent2.Child1.Grandchild1.GreatGrandchild.
Figure 6. Figure 3. Child Scenario Input Sets, Example for function referencing.
Scenario input sets and Recorder sets
If a user is changing the demand model of a water user to crop model using Scenario input sets, say from time series, then a recorder in the recorder tree called 'Demand Model (All)' needs to be enabled in the Recorder sets. By doing this, all the active and inactive demand models of the water user can be viewed in the Results Manager. Therefore, in the Recorder Sets, the recorders of the needed demand models (the ones that are being enabled through the Input Set) can be activated as (for example): Water User>*>Demand Model (All)>Demand Model (All)>Irrigator #0>Crops>*>Area.