Contents
Overview
The forecast product information panel allows the user to create, edit and view product information associated with forecast time series. When the user views a forecast time series (simulated or external) in a Spatial Display or Time Series Dialog which has a product associated with it, the product information panel will show all product information added to the forecast being viewed. If the viewed product was created in a forecast which used other products as input, the product information panel will show this through its comment from user "System". In this case, the product information for the input products will be shown as well. The user can also turn this "automatic filtering" on product information associated with the viewed time series off, after which the forecast product information panel will show all forecast product information present in the system.
Concepts
What is a Product?
Often models will produce several output time series, or in the case of external forecasts several time series are provided together as a single "product". For example, a weather forecast product would include a temperature and precipitation forecast time series. When time series are viewed as part of the same forecast, they should also be linked to the same product through the product configuration. In the case of the weather forecast, both the temperature and precipitation time series would be linked to the same product, for example "NWP Medium Range". The user would then see all product information on the "NWP Medium Range" product when viewing the temperature time series in the spatial display. If the user switches to the precipitation time series, FEWS will show the product information for "NWP Medium Range" as well. If the user creates a new comment, this would be linked to the "NWP Medium Range" product (for the chosen forecast time), and be shown for both time series as well.
What is an input product?
When a worklow which is marked as a forecast (through its workflow descriptor) runs, FEWS will check whether each of the time series read while running the workflow is linked to a product. If so, it will record the combination of the product id and the forecast time of the read time series, and store this as a used input product. So an input product is a combination of a product and forecast time, corresponding to a time series (or several time series) used to produce a new forecast.
For example, a system could import an external weather forecast consisting of a precipitation and a temperature time series. Both of these series are linked to the product "NWP Medium Range". They are imported every six hours and the most recent forecast has a forecast time of "Tue 28-5-2019 00:00:00". The system then produces water level forecasts for several locations through a simulated forecast using the (most recent) precipitation time series as input. All of the water level time series are linked to a product called "HPC G2G Medium Range". While running the forecast, FEWS will record that an input product was used: "NWP Medium Range - Tue 28-5-2019 00:00:00" and store this information in the database. Now if a user views the water level time series for a certain location, the forecast product information panel will show the product information for product "HPC G2G Medium Range" relevant for the forecast time of the time series being viewed. It will also show a comment from the "System" for the "HPC G2G Medium Range" stating: "Created using NWP Medium Range - Tue 28-5-2019 00:00:00". Finally, the panel will also show all product information for "NWP Medium Range" relevant for the forecast time of "Tue 28-5-2019 00:00:00".
Motivation
Why add a Forecast Product Information Panel?
The forecast product information panel can be used to allow users to communicate about forecasts, their reliability and reasoning behind the creation of modifiers. It allows users to gain insight into what products are used to create other products. Finally, it allows users to allow communicating about the quality of these input products.
For example, one user of the system might look at a new precipitation forecast and judge this forecast to be largely reliable. However, this user believes that the forecast is not reliable for a particular small region, and expects the precipitation will be much lower than the forecast states. Therefore, the user creates a new product information and states his opinion on the forecast in his comment. This precipitation forecast is used as one of the inputs to create a forecast on the water level. A different user views this water level forecast and since the precipitation forecast was used as an input product, she also sees the product information added by the first user. The water level forecast crosses a threshold in one of the rivers located in the small region where the precipitation forecast was unreliable. The second user now knows that this water level forecast is also unreliable and can take this information into account when deciding on further actions.
Forecast Product Information vs. Forecaster Notes
FEWS already contains a similar panel where users can add comments and view comments of other users: the forecaster notes. More information on forecaster notes can be found in the User Guide on Interactive Forecasting Displays. There are some key differences between these to panels:
Which comments are shown
The forecast product information panel filters the product information present in the system based on the time series the user is viewing. In contrast, the forecaster notes filter the shown forecaster notes based on the selected node in the forecast tree. Similarly, if a new forecaster note is created, this note is created for the node currently selected in the forecast tree. While if a new forecast product information is created, the user can select which product this information should be created for from a list of products currently visible. The product information is therefore directly linked to one or more time series.
Acknowledging messages
In the forecaster notes system, users can acknowledge messages with level ERROR and FATAL from other users. Thus showing that they read and/or handled the note made by the other user. There is no similar functionality present in the forecast product information panel. Note that messages with level INFO and WARN do not have to be acknowledged.
Showing information on input used
When running a forecast workflow, FEWS will register which input products where used to create the output product. This allows the forecast product information panel to show information on the input used, as well as comments added to these products. There is no similar functionality present in the forecaster notes.
Configuration
The forecast product information panel is a predefined display that needs to be configured as an ExplorerTask in Explorer.xml:
<explorerTask name="Forecast Product Info"> <predefinedDisplay>forecast product info</predefinedDisplay> <toolbarTask>false</toolbarTask> <menubarTask>false</menubarTask> <allowMultipleInstances>false</allowMultipleInstances> <toolWindow>true</toolWindow> <loadAtStartup>true</loadAtStartup> </explorerTask>
To let FEWS know which time series should be linked to which product, there needs to be a Products.xml in the RegionConfigFiles. More information on this configuration can be found in the Configuration Guide > Regional Configuration > 32 Products.
FEWS will only record the input products used in a workflow if the workflow is marked as a forecast through its workflow descriptor. So, the forecast attribute of the workflow descriptor needs to be set to "true":
<workflowDescriptor id="Water_Level_Forecast" name="Water Level Forecast" visible="true" forecast="true" allowApprove="false"/>
To have comments be shown in the grid display, make sure that a <commentPositioning> element is configured in the default of the griddisplay.xml
forecastProductInfoDisplay.xml
Since version 2022.01 a specific display config file has been introduced in order to define default settings for the product info panel.
<?xml version="1.0" encoding="UTF-8"?> <forecastProductInfoDisplay 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/forecastProductInfoDisplay.xsd"> <productSelection enabled="true"/> <forecastTime> <defaultForecastTimeSelection>RANGE</defaultForecastTimeSelection> <defaultForecastPeriod unit="day" multiplier="10"/> </forecastTime> <confidence enabled="false"> <defaultLevel>MEDIUM</defaultLevel> </confidence> <classification enabled="false"/> <columns> <classification visibleByDefault="false"/> </columns> </forecastProductInfoDisplay>
columns visibility
This applies to the visibility of columns, each column can be made invisible by default.
This will be overruled if the user changes the column visibility via the right mouse show/hide columns option also introduced in 2022.01.
These settings will be stored in the user settings, which will overrule the defaults from the config.
default settings for creating product info
in the config it is also possible to disable elements from the product creation panel, like is done with Confidence and Classification in the example below.
It is also possible to specify a default range for the forecast time, which in this case is 10 days:
Using the Forecast Product Information
What information is shown when?
By default, the automatic filtering button is turned on and the Forecast Product Information Panel will show the product information relevant to the time series currently being viewed in the Spatial Display or Time Series Display. The title of the Forecast Product Information Panel will indicate which display it is using to determine the relevant product information.
The Forecast Product Information Panel's automatic filtering can also listen to a Dashboard Display. In this case it will show all product information relevant for the time series shown in the Spatial Displays that are part of the dashboard. If several dashboard frames contain different products, this can result in product information being shown on several products.
As mentioned in the section about Input Products, if one of the time series currently being shown used an input product when it was created, the Forecast Product Information Panel will also show product information about this input product.
When the automatic filtering button is turned off, the Forecast Product Information Panel will display all product information present in the system.
It is possible to filter the information in the table by double-clicking a cell. Cells on which a filter is active are indicated by a light-blue background. Double-clicking the cell again will remove the filter.
Creating or Editing Forecast Product Information
New product information can be added using the button. When clicked, the forecast product information creation dialog is shown:
The top part of this dialog can be used to select the forecast product the information should apply to. This includes a drop down selection of the currently visible products and an option to select the forecast times for which the information should be valid. It is possible to specify product information for a particular forecast time, or for a range of forecast times. The bottom part of the dialog contains the options to specify the product information. The user can choose a confidence and classification they would like to attach to their comment, and type a comment in the provided text box. When the OK button is clicked, the forecast product information will be created.
Created forecast product information can be edited by selecting the product information you wish to edit in the table and then using the edit button . The same dialog is shown for edits however the options to select to which product the information applies will be disabled:
Forecast product information can also be deleted. To do so, select the product information you wish to delete in the table and press the delete button .
It is only possible to create, edit or delete product information for products that are currently being viewed through a Spatial Display, Time Series Display or Dashboard Display, even if the automatic filtering is turned off.
Table columns
The table in the Forecast Product Information Panel contains the following columns:
- Name: the name of the product this information applies to.
- Forecast Time: the forecast time or range of forecast times this information applies to.
- Product Time: the time at which the product time series was added to the database. This is only available when automatic filtering is on, since without automatic filtering a product information could apply to several time series which were created at different times.
- User: the user that created or edited the product information, or "System" if it is a system comment.
- Modification Time: the time at which the product information was created or last edited.
- Confidence: the confidence level set by the user when creating or editing the product information.
- Comment: the comment entered by the user when creating or editing the product information.
- Classification: the classification level set by the user when creating or editing the product information.
Disapproving External Forecasts
An external forecasts product for a single external forecast time can be disapproved by ticking the check box in the "Disapproved" column. This check box is only available for the system product (non comment) rows that represent an external forecast. When you disapprove an external forecast all the time series related to this product for the a single external forecast time will no longer be visible in displays and no longer used by any workflow run executed after the disapproving. It is possible to undo the disapproving to enable the forecast again. You need the configured editPermission for the product to disapprove a forecast. Additionally product info rows for disapproved forecasts between the used external forecast time and the system time are added to the panel. The event codes codes "ExternalForecast.Disapproved" and "ExternalForecast.Approved" are used in the log message on (dis)approving. The log message contains the user name, forecast time and product id.
Showing Forecast Product Information in the Time Series Dialog
The forecast product information applicable to the time series shown can be included in the graph in the Time Series display. If one or more rows in the product info table are selected, only the product information of the selected rows will be shown. Similarly, if the table is filtered only the product information of the visible rows will be shown in the graph. Finally, the shown comments will appear in the same order as the product information appears in the table, so the order can be changed by sorting the table.
Showing Forecast Product Information in the Spatial Display
The forecast product information applicable to the time series shown can be included on the map in the Spatial Display. If one or more rows in the product info table are selected, only the product information of the selected rows will be shown. Similarly, if the table is filtered only the product information of the visible rows will be shown on the map. Finally, the shown comments will appear in the same order as the product information appears in the table, so the order can be changed by sorting the table.
Exporting Forecast Product Information through the PI REST Web Service
When sending a GET time series request to the PI REST Web Service, the product information for the time series can be requested by passing the showProducts request parameter. When this parameter is set to true, the returned pi time series xml file will contain a section with the product information for that time series. An example of this can be found on the FEWS PI REST Web Service wiki page in the GET timeseries section.