scrollbar |
---|
Excerpt | ||
---|---|---|
| ||
Functionality to define qualifiers to time series, next to locationIds and parameterIds |
Function: | Configure topology of an IFD environment |
Where to Use? | Mandatory for an IFD installation |
Why to Use? | The topology.xml is necessary to be able to use panels like the topology panel and the forecast panel |
Description: | Topology panel is used to define the topology of an IFD environment. Also the behaviour of the forecast panel which is used to start |
Available since: | Delft-FEWS 2010.01 |
Contents
Table of Contents | ||
---|---|---|
|
...
The topology.xml was originally designed to configure the topology of a Delft-FEWS system but there are a lot of Delft-FEWS systems in which the topology.xml is used to configure the work process of the forecaster instead.
An example is given below.
...
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <topology xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/topology.xsd"> <nodes id="C" name="C"> <node id="A" name="A"/> <node id="B" name="B"/> </nodes> </topology> |
It is possible to run workflows from the topology panel. In the example below some of the node(s) have a workflow configured.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <topology xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/topology.xsd"> <nodes id="C" name="C"> <workflowId>workflowC</workflowId> <node id="A" name="A"> <workflowId>workflowA</workflowId> </node> <node id="B" name="B"/> </nodes> </topology> |
...
IFD runs are typically used to evaluate the effect of modifiers on the results of a forecast.
Server run
A workflow which is started from a group node will by default be started as a server run. A server run will run at a FSS when it is started from an operator client. When it is started from a stand alone it will run locally but the results of the run will be available after a restart of the system.
It is possible to change these default settings by using the element localRun.
...
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <topology xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/topology.xsd"> <nodes id="C" name="C"> <workflowId>workflowC</workflowId> <localRun>true</localRun> <node id="A" name="A"> <workflowId>workflowA</workflowId> <localRun>false</localRun> </node> <node id="B" name="B"/> </nodes>nfo </topology> |
It is possible to connect nodes in the topology. In the example below the node STKA2 is connected to two previous nodes (SBFQ2 and ISKQ2).
Code Block | ||
---|---|---|
| ||
<node id="STKA2" name="STKA2 Stikine R Wrangell"> <previousNodeId>SBFQ2</previousNodeId> <previousNodeId>ISKQ2</previousNodeId> <workflowId>STKA2_Forecast</workflowId> </node> |
...
The way nodes are connected plays an important role when running workflows in IFD mode.
...
Please note, if the same workflow node is selected more than once, and a description is specified, then a notification dialog pops up after the OK button is clicked. If the user chooses to change the description, then the edit run options dialog comes back, and the description text would be selected (which indicates the description text is ready to be edited).
Secondary workflow
It is possible to define a secondary workflow for a node. This secondary workflow can be run by clicking the button
in the button bar.Only the primary workflow determines which icon is shown in the forecast tree.
Below is an example of a node with a secondary workflow.
Code Block | ||
---|---|---|
| ||
<node id="Copy_User_Input_series_ST_Planning_to_RT" name="Copy ST_Planning User Input series"> <workflowId>Copy_User_Input_series_ST_Planning_to_RT</workflowId> <secondaryWorkflowId>Copy_User_Input_series_ST_Planning_to_RT</secondaryWorkflowId> <runSecondaryWorkflowAtServer>false</runSecondaryWorkflowAtServer> <timeSeriesButtonsPanelId>Observed</timeSeriesButtonsPanelId> <graceTime unit="hour" multiplier="1"/> <localRun>true</localRun> <saveLocalRunEnabled>true</saveLocalRunEnabled> <showRunApprovedForecastButton>true</showRunApprovedForecastButton> </node> |
runSecondaryWorkflowWithTaskRunPropertiesFromIFD
...
Code Block | ||
---|---|---|
| ||
<node id="B10_Main_RTC" name="Run model"> <workflowId>Big10_RTCTools_RT</workflowId> <forecastLength unit="hour" multiplier="24"/> <cardinalTimeStepForecastLength unit="hour"/> <initialForecastLengthCardinalTimeStep unit="hour" multiplier="6"/> <displayGroupId>Main_RT-RTC</displayGroupId> <timeSeriesButtonsPanelId>RT_buttons_Main</timeSeriesButtonsPanelId> <viewPermission>execute</viewPermission> <visibleModifierGroup>RT</visibleModifierGroup> <graceTime unit="hour" multiplier="1"/> <localRun>true</localRun> <saveLocalRunEnabled>true</saveLocalRunEnabled> <showRunApprovedForecastButton>true</showRunApprovedForecastButton> </node> |
Below a screenshot of this node after it is selected for the first time is shown.
...
Code Block | ||
---|---|---|
| ||
<node id="ZWF_LHM_Z0_REF2017BP18" name="Files LHM zonder zout"> <workflowId>ZWF_LHM_Z0_REF2017BP18</workflowId> <timeZero date="2004-01-01" time="00:00:00"/> <localRun>false</localRun> </node> |
...
To make the time zero editable and/or to shfit the time zero compared to the system time the option <timeZeroShift> can be used.
...
If the shift is set to 0 then the time zero will be editable but equal to the system time.
Custom info label
It is possible to define a custom info label which be shown (if configured) below the run options.
...
Code Block | ||
---|---|---|
| ||
<nodes id="exampleGroupNode"> <workflowId>workflowA</workflowId> <enableAutoApprove>true</enableAutoApprove> <node id="exampleChildNode"> <workflowId>workflowB</workflowId> </node> </nodes> |
...
Topology groups
It is possible to split the configuration of the topology in separate configuration files.
...
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="utf-8"?> <topologyGroup xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/topologyGroup.xsd"> <group id="ForecastGroup_Bear"> <nodes id="Bear" name="Bear"> <workflowId>Bear_Forecast</workflowId> <node id="MergeMAPBear" name="MergeMAP and Outflow"> <workflowId>Bear_Forecast</workflowId> <moduleInstanceId>SetTimes_Forecast</moduleInstanceId> <moduleInstanceId>MergeMAP_Bear_Forecast</moduleInstanceId> <moduleInstanceId>Merge_RiverWare_Observed_QT</moduleInstanceId> <visibleModifierGroup>None</visibleModifierGroup> </node> </nodes> </group> </topologyGroup> |
...
The defined topology groups can be used in the topology.xml by using the element <groupId>. An example is shown below.
...
Code Block | ||
---|---|---|
| ||
<node id="Coastal_Scenario" name="Create Coastal Scenario"> <workflowId>Coastal_Scenario</workflowId> <mainPanel>modifiers panel</mainPanel> <toolWindow>plot overview</toolWindow> </node> <node id="Fluvial_Scenario" name="Create Fluvial Scenario"> <workflowId>Fluvial_Scenario</workflowId> <displayConfigFileName>MySSDConfigFile</displayConfigFileName> <panelId>panel3</panelId> </node> <node id="ImportObserved" name="Import observations”> <workflowId>ImportObservations</workflowId> <displayConfigFileName>MySystemMonitorDisplayConfigFile</displayConfigFileName> <tabId>importStatus</tabId> </node> |
...
After selecting a node in the topology a plot connected to this node will be automatically displayed in the plot window.
...
To be added by Onno...timeSeriesButtonPanelId
To automatically select a zoom extent in the map after selecting a node, the element <mapExtentId> can be used.
...
The element <enableSelectNodesFromMap> is a configuration option which applies to all nodes. With this option set to true, the user can select nodes in the topology tree by selecting locations on the map. For this to work, you need to also configure at least one <locationId> and a <filterId> at each node which you would like to be able to select from a map. If the user first selects the configured filter in the Data Viewer, and then next selects (one of) the location(s) on the map, the corresponding node in the topology will be opened and the IFD will get the focus. It is possible to configure one or more locationIds for a node by using the element <locationId>.
An <areaId> can be configured for a topology node. This configuration option is used in combination with the archive panel. After selecting a node with an area id configured the area selection in the archive panel will be set to the area id of the selected node.
...
If the status of a topology node is determined by a server run and its parent node has a more recent server run then the node will inherit the status from its parent. If this is set to false, then the server run of the parent node will be ignored.
Modifiers
...
showModifiers
The option is only available at group nodes. By default the modifiers panel doesn't show modifiers at group nodes. This choice was made because of performance reasons.
...
The modifier group should be defined in the modifierTypes.xml.
popupMessageUncommittedModifiers
This option can be used to define a warning message which will be shown when a user leaves a topology node with uncommitted modifiers.
Permissions
There are several configurations options available with regard to permissions.
...
Since 201801. Permission to run the secondary workflow
Thresholds
Location threshold icons can be added to the Forecast Tree (Topology). In Delft-FEWS thresholds are configured in the Thresholds.xml and ThresholdValueSets.XML. The Thresholds.xml file contains the thresholds and the thresholdValueSets the time series that are used for thresholds. The time series have a RelativeViewPeriod configured that is used to find threshold crossings relative to the FEWS system time.
...
Details about the buttons can be found here: 23 Interactive Forecasting Displays#23InteractiveForecastingDisplays-Buttonbar
At the top of the forecast panel a group of buttons is shown.
...
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSpy v2014 rel. 2 sp1 (http://www.altova.com) by Afdeling ICT (Stichting Deltares) --> <topology xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/topology.xsd"> <enableOriginalButtons>true</enableOriginalButtons> <!-- <hideModifiersButton>true</hideModifiersButton>--> <!-- <hideThresholdsButton>true</hideThresholdsButton>--> <enableAutoRun>false</enableAutoRun> <nodes id="NWM" name="Nationaal Water Model"> <nodes id="Zoetwater" name="Zoetwater"> <groupId>GroupZoetwater</groupId> </nodes> <nodes id="Zoetwater_files" name="Prepare Zoetwater files"> <groupId>GroupZoetwater_Files</groupId> </nodes> </nodes> </topology> |
The element <saveLocalRunEnabled> can be used to allow the user to promote a local IFD run to a permanent server run.
...
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <topology xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/topology.xsd"> <nodes id="C" name="C"> <workflowId>workflowC</workflowId> <node id="A" name="A"> <workflowId>workflowA</workflowId> <refreshConfigAfterCompletion>true</refreshConfigAfterCompletion> </node> <node id="B" name="B"/> </nodes> </topology> |
...