...
Table of Contents |
---|
Introduction
The
whatif-templates based setup
...
(since 2020.02) is
...
- WhatIf's should be intuitive to work with
- WhatIf should be easy to create, manipulate and manage
- Whatif results should be easy accessible
- WhatIf's should be comparable, both on the input side as on the output side
...
...
tightly linked to the Interactive Forecasting Display (IFD, see 23 Interactive Forecasting Displays).
The whatif's are made explicitly visible and accessible via the IFD Forecast tree, while whatIf management is entirely controlled via the WhatIf Editor.
The IFD-configuration (topology.xml) specifies whether an IFD-segment node is associated with a whatif-template.
WhatIf Editor: only activated for IFD segment nodes associated with a whatifTemplate
If the segment node does not allow a whatif to be created, all options in the whatif-editor are disabled.
The whatif-templates based set up was designed with the following wishes in mind:
- WhatIf should be easy to create, manipulate and manage
- Whatif results should be easy accessible
- WhatIf's should be comparable, both on the input side as on the output side
Whatif display - create whatif scenario
Create button
If the segment node allows the creation of a whatif-instance, the name and description field are enabled.
...
After the user has filled in the
...
Name field, the Create button is enabled.
...
With the Create button, the what-if instance is created and added with a specific WhatIf icon (
...
see below) under the segment node. The cursor automatically selects this what-if node in the IFD-tree.
Once created, the button row changes. the new buttons are Copy, Save, Delete, Import and Export.
...
Their behavior is explained below.
Info |
---|
Only activated for IFD segment nodes associated with a whatifTemplate If the segment node does not allow a whatif to be created, all options in the whatif-editor are disabled. |
Save button
The Save button is available to save any adjustments made to the whatif-instance. Adjustments can be done as long as the whatif-instance has not been saved persistently to the database by execution at the server or (after a local run) pressing the Disk icon in the IFD to promote the local run to a persistent server run.
Copy button
When a whatif-node has been selected in the IFD-tree, the Create button has changed into a Copy button.
When pressing the Copy button, the settings of the selected whatif-instance are copied to a new instance. Any setting changed compared to the configuration is indicated by the bleu font. When pressing the Copy button, a child node is added to the whatif-node you copied from, while the what-if receives the default name 'Copy of...'.
Note: the parent-child organization is only visual and decided at creation time. Only at creation time, once can assume that the whatif-settings are the same. No facilities exist for moving child nodes from one parent to another parent or any other way of reorganizing the whatif-nodes in the tree
Delete button
WhatIf-instances can be deleted using the Delete button in the WhatIf Editor. When deleting a whatif a popup appears with three choices:
- delete entire what-if (=delete whatif-instance holding the specification, delete associated taskrun and whatif-results)
- preserve what-if definition (=delete whatif results, while preserving the whatif-instance holding the specification)
- preserve modifiers associated with whatif (=delete whatif results, delete whatif-instance holding the specification, preserve any modifiers included)
Note that non-persistent whatifs remain in the database, also after the application is exited.
As long as they are not run
...
server side, they will only be available to the user who created this what-if.
...
...
Specifying the what-if content
...
What-if properties
After pressing the Create button, the what-if editor shows a table with the property-fields and/or modifiers to be specified. Within the WhatIfTemplate configuration, the data entry table may have been organized in subsections, separated by bold row indicators.
Integer, double and string properties can be entered in the text field. Min/max ranges may apply to the numeric values. Booleans properties can be manipulated via a checkbox. Properties with enumerated values, properties referencing configuration files or properties referencing associated whatif-instances can be selected via a dropdown box.
When pressing Save, the specified property settings are saved to the database.
...
Editing embedded modifiers
A whatif may also hold modifiers which are specifically associated with this whatif.
Timeseries modifies, typical profile modifiers and location attribute modifiers can be created inside the whatif editor by
...
double clicking the wrench icon (pre 2024.01) or double clicking the modifier name (e.g. multiply by 1.5) defined inside the table. This unfolds a tab panel with editing options.
As soon as the Apply button of the modifier is pressed, the modifier content and the modifier-whatif association is saved to the database.
...
Copying
...
existing modifiers
In some situations, you may want to reuse an existing modifier, either from another what-if, or you want to use a modifier which can not be edited in the what-if editor (e.g. a Spatial Modifier). In that case you
...
WhatIf Editor: Save button
The Save button is available to save any adjustments made to the whatif-instance. Adjustments can be done as long as the whatif-instance has not been saved persistently to the database by execution at the server or (after a local run) pressing the Disk icon in the IFD to promote the local run to a persistent server run.
...
WhatIf Editor: Copy button
When a whatif-node has been selected in the IFD-tree, the Create button has changed into a Copy button.
When pressing the Copy button, the settings of the selected whatif-instance are copied to a new instance. Both the old and new instance appear next to each other, where the new instance can be adjusted.
After pressing Apply a child node is added to the whatif-node you copied from.
Note: the parent-child organization is only visual and decided at creation time. Only at creation time, once can assume that the whatif-settings are the same. No facilities exist for moving child nodes from one parent to another parent or any other way of reorganizng the whatif-nodes in the tree
...
double click the copy button: (pre 2024.01) or double click the modifier name to open the lower panel with a list of the available modifiers of this type. The user can select the row with the appropriate modifier to copy, give it a new name and press the button with the word 'Copy' to create a copy of the modifier which is fixed to this what-if.
...
Running of what-if scenarios
Running (IFD)
Running a whatif is conducted via the normal run facilities in the IFD-tree. By pressing the Run button in the IFD-task tree, the workflow associated with the (parent) segment node is executed using the whatif-settings.
The icon status of the segment node will reflect the status of the last run. The icon status of the whatif-node will reflect the status of the whatif-run.
Icons and meaning
Whatif icons
...
(hammer & wrench)
...
- white/blue: whatif specified, not executed (can still be adjusted)
- blue/white: whatif locally executed (can still be adjusted)
- green/white: whatif executed and persistently save in database (cannot be adjsuted anymore)
- red: whatif run failed
- yellow/blue: whatif has been adjusted after local execution
...
have specific fore-/background colors.
The foreground color of the icon indicates whether this run was
- local (blue),
- persistent (green) or the
- settings have changed (yellow)
The background color represent the status of the node. Green/yellow status is based on graceTime relative to timeZero.
- grey background: the last run executed at another T0 was successful.
- yellow background: something has changed, i.e. state, modifier or forecast length.
- black background: the last run executed at another T0 has failed.
...
icon | foreground | background | status | location | adjustable |
---|---|---|---|---|---|
blue | on white | specified, not executed | local | yes | |
green | on white | specified, not executed | persistent | fixed | |
white | on blue | executed | local | yes | |
white | on green | executed | persistent | fixed | |
blue | on yellow | adjusted after execution | local | ||
green | on yellow | adjusted after execution | persistent | ||
blue | on grey | T0 different | local | yes | |
green | on grey | T0 different | persistent | fixed | |
white | on red | failed | - | ||
on black |
View results
Inputs
...
WhatIf Editor: Delete button
WhatIf-instances can be deleted using the Delete button in the WhatIf Editor. When deleting a whatif a popup appears with three choices:
- delete entire what-if (=delete whatif-instance holding the specification, delete associated whatif-results)
- preserve what-if definition (=delete whatif results, while preserving the whatif-instance holding the specification)
- preserve modifiers associated with whatif (=delete whatif results, delete whatif-instance holding the specification, preserve any modifiers included)
...
...
WhatIfs can be compared by selecting multiple whatif-nodes having the same underlying whatif-template (typically two nodes within the same segment node).
When looking at the WhatIf Editor, the whatif-specifications will be placed next to each other in the table view.
...
Outputs
Whatif results can be accessed by selecting the whatif-node in the IFD-Task tree and navigating to the TimeSeriesDisplay or the Spatial Display.
The
...
Display
...
will only show the selected whatif(s). When selecting both the segment node and a whatif node, the results will be shown of the what-if in combination with the latest Local or Current run
...
.
...
The Spatial Display always shows the results of the selected WhatIf if the gridplot to be visualized is generated by the workflow associated with the whatif. If the
...
gridplot is
...
generated by another workflow, the Current run of that workflow is shown.
...
TimeseriesDisplay
...
When looking at the Time Series Display, the
...
selected runs (what-ifs, possibly in combination with the Current regular run) will be shown
...
.
...
When the statistical function 'differences' is available,
...
one can choose a 'base run' to compare the other runs against. Differences between runs can be shown either in absolute or relative terms.
...
Spatial Display
...
WhatIf results can be compared spatially by selecting two whatif-nodes (within the same segment node) or by selecting the segment node and one what-if node.