Versions Compared

Key

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

Interactive editing of model states

See schema at https://fewsdocs.deltares.nl/schemas/version1.0/stateEditor.xsd

Several operational forecasting systems utilise conceptual hydrological models for calculating the response of a catchment to rainfall. These models typically contain a number of parameters and state variables. A common requirement within the forecast process is the updating of state variables so that the results of the models is closer to the observed behaviour. The updating of states on the basis of observed errors is often referred to as data assimilation.

...

Four FEWS objects are available for exchange
• Time series data
• Module Parameter sets
• Module datasets
• Module states

Image Added

General

Several definitions are given in the general block. The exchange of data through the web service is similar to that through the General Adapter.

Image Added

importDir

If the option to exchange data using an intermediate persistent layer is selected (see option writeToFile) then this specifies the directory the service imports data from.

importIdMap

Specifies the Id Map to translate external identifiers for locations and parameters to internal identifiers for locations and parameters on import.

importUnitConversionId

Specifies the unit conversion table to translate external units to internal units on import.

exportDir

If the option to exchange data using an intermediate persistent layer is selected (see option writeToFile) then this specifies the directory the service imports data to.

exportDir

Specifies the Id Map to translate external identifiers for locations and parameters to internal identifiers for locations and parameters on export.

exportUnitConversionId

Specifies the unit conversion table to translate external units to internal units on export.

writeToFile

Boolean option to exchange data through a persistent layer or to only exchange data in memory. When set to true the persistent layer is used.

timeZone

Defines the time zone to which data is to be exported to and from which it should be imported.

timeSeries

Definition of the time series objects available for exchange

Image Added

description

Optional description for this time series object

id

Identifier of the object to be used in exchanging through the web service

exportBinFile

Boolean option. When set to true the data is exported as a bin file (or byte stream) while the headers use the PI-XML format. When false all data and headers are included in XML format.

timeSeriesSet

Definition of the FEWS time series set. Not that the use of locationSets etc is supported, meaning that any object may contain multiple time series.

omitMissingValues

Boolean option. When true the exported arrays will not include missing values. When false (default) missing values will be included using the specified missing value indicator.

missingValues

Identifier for missing values. If not defined missing values will be defined as NaN.

convertDatum

Boolean option. When true the values in the exported arrays will be transformed by the datum to provide the data at global data. This applies only for those parameter groups that this applies to.

moduleDataSet

Definition of module dataset objects available for exchange. Note that these are exchanged as zip files (streamed).

Image Added

id

Identifier of the object to be used in exchanging through the web service.

moduleInstanceId

Identifier of the module dataset in the FEWS database using its moduleInstanceId.

parameterSet

Definition of module parameter set objects available for exchange. Elements to be defined are the same as in the moduleDataSet.

moduleState

Definition of module state set objects available for exchange. Elements to be defined are the same as in the moduleDataSet.

Configuration of the State Editor Pi-Client

The state editor display is an external display to Delft FEWS. It exchanges data with the main FEWS database using the PI-Web Service exchange interface (see also Configuration of the FEWS Pi-Service).

Configuration of the State Editor requires configuration of several items;
• A general section defining the name of the display etc.
• A definition for the grouping of models for which states are handled
• A definition of all the models for which states are handled
• A definition of the grouping of state parameters
• A definition of the state parameter group which describes which parameters are contained in each model, and the properties of these parameters.
• A definition of additional time series to be displayed (e.g. result series and observed series)
• A definition of how time series are displayed.

Image Added

general

Definition of general settings for the display

Image Added

displayName

Name of the display to be shown in the title bar

timeZone

time Zone to display all data in

modelGroups

Definition of the grouping of models

Image Added

modelGroup

Definition of the a group of models. This will appear as a folder in the treeview. The attributes are;
id Identifier for the group for later reference
name Name of the group to be displayed in the tree view

modelId

list of identifiers of models included in this group (one or more)

modelGroupId

list of identifiers of model groups included in this group (one or more). This allows recursive definition so that a complete tree can be formed. Obviously circular references are not supported.

model

definition of the models for which state variables/parameters are available for editing.
id Identifier for the model for later reference
name Name of the model to be displayed in the tree view (id is used if not defined).

Image Added

locationId

Location identifier associated to this model. This is used for matching time series to the this model.

stateParameterGroupId

Identifier of the group of parameters considered in this model state. The parameters and their properties are defined in the stateParameterGroup element.

resultSeriesGroupId

Identifier of the result time series. The locationId is used in matching a model to a time series.

stateParameterGroup

Definition of the groups of parameters. For each model type a group needs to be defined. Different calibrated of the same model may allow different sets of parameters to be edited.
id Identifier for the parameter group for later reference

stateParameterId

List of identifiers of the parameters included in the group. The properties of the parameters are defined in the stateParameter section.

seriesGroup

Definition of a time series to be shown in the lower plot of the display. This time series should be associated to the model response to give guidance on the changes made to the state parameters.
id Identifier for the group of time series. This is for reference
name Name of the group of time series.

Image Added

series

Definition of a time series. This definition is related to the definition of time series in the PI-Web Service. The identifiers used in this series groups there, must be related to identifiers to time series objects in the definition of the PI-Service.
id Identifier for the time series object as defined in the PI-Web Service configuration.
locationId Identifier for the location of the time series. If this is a group of time series then the key word $ANY$ should be used. The locationId associated to a model selection will then be filled run-time
parameterId Identifier of the parameter of the time series. This is the same parameter uses as externalParameter in the configuration of the idMapping.

qualifier

Qualifier for the time series. This may be min, max or mean. Used only for displaying parameter climatology.

stateParameter

Definition of the parameters in a state. These can then be referenced in a stateParameterGroup.
id Identifier for the parameter for later reference
name Name of the parameter to be displayed (id is used if not defined).

Image Added

range

Range of the parameter
min Minimum parameter value
max Maximum parameter value

inputSeries

Input data series for displaying as the time series of this parameter. This should relate to the time series for the current parameter. There is no explicit check if this is the case. See definition of series

outputSeries

Output data series to write the amended values of the state to. This should relate to the time series for the current parameter, and typically is a non equidistant time series. There is no explicit check if this is the case. See definition of series.

climatology

Definition of the climatology as a time series within this configuration. This is defined as eventData, with a given max, min and mean.

climatologySeries

Definition of the climatology as a time series obtained from the FEWS database (preferred option). A series can to be defined for the min, max and mean at each location. The qualifier can be used to assign a series to each of these.

Configuration of the Explorer to open the State Editor Pi-Client

To run the State Editor display, this needs to be configured as a task. This should be defined as a call to the appropriate class of the external web service client. The arguments are
• Name of the configuration of the PI-Web Service Client and the PI Web Service itself. These names should be the same.
• The IP address of the computer on which the Pi-Service is run. Typically this will be on the local machine and the keyword %HOSTNAME% can be defined.
• The port on the computer on which the Pi-Service is run. Again this is typically defined by FEWS itself when running on the local machine and need only be specified when running remotely. When used locally the key word %PORT% should be used.

Code Block
xml
xml
<explorerTask name="SAC SMA State Editor">
	<iconFile>""</iconFile>
	<mnemonic>C</mnemonic>
	<arguments>SACSMA_StateModifiers %HOSTNAME% %PORT%</arguments>
	<taskClass>nl.wldelft.piclients.statemodifiers.StateEditor</taskClass>
	<toolbarTask>false</toolbarTask>
	<menubarTask>true</menubarTask>
</explorerTask>