Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The concept of the IFD (interactive forecast displays) was introduced in 2010. A central role in the configuration of the IFD is the topology.xml. This part of the wiki explains the configuration details of the topology.xml.  First The Overview sections explains the background of the topology.xml wil be explained in the overview section. In the following sections the configuration options will be explained . The rest of this page explains the configuration options in detail.

Overview

The topology.xml is a mandatory configuration file when you are setting up an IFD-environment. This configuration file is used was originally designed to configure the topology of a Delft-FEWS - system. The topology , which is defined by individual nodes and their connectivity. The topology can be viewed in the topology panel, which shows a block diagram of the topology, or in the forecast panel, which shows a tree view of the topology (see screenshots below). 

Most Delft-FEWS systems nowadays use the topology.xml to configure the work process of the forecaster in the IFD-environment. The topology.xml plays a central role in configuring is a mandatory configuration file when you are setting up an IFD-environment since it is used to configure the forecast panel which is the central panel in an IFD-environment. The (Interactive Forecasting Display). The topology.xml is used to configure the behavior of the forecast panel can be configured in the topology-file. This will be explained in more detail in the next sections. The topology.xml was originally designed to configure the topology of a Delft-FEWS system but most Delft-FEWS systems use it to configure the work process of the forecaster instead. 


Running workflows from the topology tree

...

Code Block
languagexml
<?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 https://fewsdocs.deltares.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

By default all the workflows started from a leaf node are started in IFD mode. The results of an IFD-run are only temporary available in FEWS (until the next restart) and are only available and visible at the operator client which started the run.

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.

...

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.

...

Code Block
languagexml
	<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 


The secondary workflow runs by default with the settings in the xml-file. Since the 2019.02 release however it is also possible to run the secondary workflow with the settings from the IFD.

To enable this the tag runSecondaryWorkflowWithTaskRunPropertiesFromIFD must be set to true.


popupMessageServerRun

With this option it is possible to define a message which will be shown when a server run is started from this node.

...

Code Block
languagexml
<nodes id="exampleGroupNode">
   <workflowId>workflowA</workflowId>
   <enableAutoApprove>true</enableAutoApprove>
   <node id="exampleChildNode">
      <workflowId>workflowB</workflowId>
   </node>
</nodes>

...

TopologyGroup.xml

It is possible to split the configuration of the topology in separate configuration files.

...

The forecast panel interacts with the other panels in Delft-FEWS in a lot of ways. The following options will automatically open a display when the configured node in the Topology is selected.

...

mainPanel and

...

toolWindow

It is possible to define which panel or tool window(s) should be made visible after selecting a node, using the elements <mainPanel> and <toolWindow>.  
These elements support only selected displays c.q.  toolWindows which are enumerated in the Topology schemas.

...

displayConfigFileName

Since the 2020.01 release an element <displayConfigFileName> can be used, to make visible a display associated with the configured displayConfigFile name.  This method supports any displaythat has displayConfigFile. If the display is not running yet, the display will be automatically launched.  For some displays it is also possible to configure a reference to the component that should be selected when the display becomes visible.
Presently the following component references are supported :

  • SystemMonitor : an option <tabId> to select a specific tab. If no tabId is configured, the Log Browser tab will be selected
  • SchematicStatusDisplay (SSD):  an option <panelId> to open a specific SSD panel. If no panelId is configured, or if a non-existing panelId is entered, the first SSD panel will be opened

...

explorerTaskName

Since the 2021.02 release it is also possible to configure <explorerTaskName>, which would refer to the name attribute of explorerTask (for example <explorerTask name="Spatial Display">) configured in Explorer.xml.

...

gridDisplaySelection

Since the 2023.01 release it is also possible to configure a gridDisplaySelection. This will open the spatial display and select the configured groupId > plotId in the tree

...

displayGroupId and

...

selectFirstPlotOnSelectionChange

The element <displayGroupId> can be used to connect a topology node to a display group. The plot overview panel shows an overview of all the displays in the display group.
After selecting a topology node Delft-FEWS will first try to find a display which has the same location and parameter as currently displayed in the connected display group. If such a display cannot be found the first display of the topology group will be shown.
This behavior can be disabled by using the element <selectFirstPlotOnSelectionChange>. If this option is set to true the first plot will always be selected.

...

scadaDisplayPanelId

To navigate SSD (scada) displays using topology nodes, specific elements can be added for opening a specific SSD display and/or panel when a node is selected.

...

Ohter ways of interacting with displays through the Topology configuration

...

mapExtentId

To automatically select a zoom extent in the map after selecting a node, the element <mapExtentId> can be used.

...

filterId

To automatically select a filter after selecting a node the element <filterId> can be used. By default the parameters in the filters will not be selected automatically. If the parameters selected by the user still are present in the new filter, they will remain selected. To enable that all the parameters will also be selected automatically the option <enableAutoSelectParameters> should be set to true. To enable that no parameters will be selected, i.e., the parameter selection will be automatically cleared, the option <enableAutoClearParameters> should be set to true (available since 2018.02). 

...

enableSelectNodesFromMap

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>.

...

forecasterHelperDirectories

The element <forecasterHelperDirectories> is a configuration option which applies to all nodes. It can be used to define in which directories the forecaster helper should look for files. See for more info: 23 Interactive Forecasting Displays#23InteractiveForecastingDisplays-Forecasterhelp(akaDocumentViewer)

By default, the <ForecasterNotesDisplay> shows the notes for the the node (and its parent) that is selected by the user in the Topology GUI. This list of forecast notes can be extended with the notes that are created for the node with option <alwaysVisibleInForecasterNotes> is set to true.

...

areaId and the Archive panel

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.

Icons of the forecast tree

The icons of the forecast tree are explained in detail in this chapter 23 Interactive Forecasting Displays#23InteractiveForecastingDisplays-Forecasttree 

Grace time

The icons in the topology tree can be used to view the status of node. The icon show if a workflow has run for that node and what status of that run is.

...

The element <graceTime> can be used to introduce a grace time for the time zero was used in a run. If the difference between the time zero for a node and the time zero which was used in the last run is less then the grace time then the run will still be marked as valid.

useStatusParentNode

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.

...

ModifierDisplay 

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.

...

changed. This option is only available at group nodes.

hideModifiersOverviewPanel

The modifiers panel consists of two parts. An overview panel which shows all the modifiers which are available for the selected node and a detail panel which shows the details of the modifier which is selected in the overview panel or the new modifier which the user is creating.

The overview panel uses the half of the space of the modifiers panel. By hiding this panel a lot of space is available for the detail panel. This is a useful feature when users only create modifiers at a node and want to use all the available space for the detail panel.

modifiersReadOnly

This option can be used to disable the possibility to add, edit or delete modifiers at a node.

defaultModifierId

If a default modifier id is defined at a node then the first available modifier of the defined type will be selected in the modifiers panel. If there is no modifier of this type is available then a new modifier template is created in the modifiers detail panel. An example is shown below.

...

Because this modifier is available it will be selected instead of creating a new modifiers template. 

onlyAllowEditDefaultModifier

If this option is configured only the defined default modifier is editable.

visibleModifierGroup

This option defines the group of modifiers which is visible and editable at a node. It is possible to define multiple visible modifier groups for a node. By default all modifiers are visible and editable.

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.

modifiersIconVisible

Configure option <modifiersIconVisible>true</modifiersIconVisible> at the beginning of the Topology.xml to show an indicator for active modifiers. This indicator is continuously visible and appears as soon as an modifier is created or activated.
The indicator is displayed at the leaf segments . The group segments do not show this indicator. 

...

There are several configurations options available with regard to permissions.


viewPermission

This permission controls who can view this node


runWorkflowLocallyPermission

Permission to run the workflow for a node locally


runWorkflowAtServerPermission

Permission to run the workflow for a node at the server


runSecondaryWorkflowPermission

Since 201801. Permission to run the secondary workflow

...

The element <showMacroButton> can be used to enable a button in the Run options dialog which allows the user to start a run with pre-defined task properties. 

refreshConfigAfterCompletion

Reloading configuration

...

If . If the FEWS client type Computational Framework is, it is possible to automatically reload the FEWS configuration after a workflow is successfully run via adding <refreshConfigAfterCompletion>, as shown in the above example.

...