Table of Contents |
---|
...
Introduction
The configuration main part of DELFTa Delft-FEWS configuration is defined in a set sets of XML files. In this section the different parts of the configuration are introduced. An understanding of these different parts of the configuration is required before attempting configuration of a DELFTDelft-FEWS system.When dealing
Stand alone client with
...
configuration on local filesystem
Typically, a new Delft-FEWS configuration is first setup in a Stand alone application, using a configuration setup on , it is important to note that the configuration may be retrieved from the local file system or from the local database.- In the former case . In this case, the configuration is defined by a fixed set of directories, each containing different parts of the configuration. These directories are all contained under the Config directory.- In the latter case the configuration is contained entirely within the local database in a set of
Operator client configuration in local datastore and central database
When distributing the application, the configuration files are instead shared via a local datastore or the central database. The local datastore or the central database, stores the same local filesystem configuration directory structure in dedicated SQL tables, each table containing different parts of the configuration. Each of the tables in the local database reflects one of the sub-directories in the file system.When initiating DELFT-FEWS, it will first look for configuration stored on the local file system. If this is found, then the system will expect to use all configuration from the file system. If the Config directory is not available the system will expect to use all configuration from the database. If neither is found then an appropriate error message is issued and the system will stop. The configuration stored in either the Config directory of the database is configuration that is common to all versions of an implementation of DELFT-FEWS for central database belongs to a dedicated Delft-FEWS implementation of a particular forecasting system. In the live system situation the contents of the database will be synchronised shared between all operator clients and forecasting shell servers in the system, and is therefore expected to be identical in all parts of the system. In the central database active versions of configuration items have synchLevel 11 whereas inactive configuration files have synchLevel 0. The ConfigRevisionSets table defines the active configuration.
Info |
---|
When initiating the Delft-FEWS application, it will look for configuration stored in the local datastore or in the filesystem. If both are found, then the system might ask the user to choose which to use. If neither is found then an appropriate error message is issued and the system will stop. |
RootConfig files
A Besides this configuration that is synchronised, there is also a small set of XML files referred to as the root configuration files. These may be unique to each operator client and/or forecasting shell server. This root configuration is required to identify for example if the particular instance of DELFTDelft-FEWS is operating in stand-alone mode or as an operator client, and for the latter cases information such as IP-addresses for the Master Controller the operator client should log on to. These root configuration files are always used from the file system. They have no effect on the hydrological configuration and are normally not changed during configuration of the forecasting system side of DELFT-FEWS.
...
or on windows or linux. Some configuration files may differ between operator client and/or forecasting shell server. These files have a filename with a meaningful prefix such as 'oc_windows_' or 'fss_linux_'.
Elements of the configuration
The two tables below provide an overview of the configuration elements of DELFTDelft-FEWS. In the first table the configuration contained both in the database and on the file system is described. The second table describes the configuration that is only available on the file system. Table 1 Overview of different configuration items contained either in the config directory or in the database:
Configuration Item | Directory on |
filesystem | Table name in |
database | Single/ |
Definition of regional configuration, including all locations, parameters etc.
RegionConfigFiles
RegionConfigurations
Single
Definition of system configuration items, including the plug-ins available to the system, definition, icons etc.
SystemConfigFiles
SystemConfigurations
Single
Definition of modules for handling data and running forecasting models
ModuleConfigFiles
ModuleInstanceConfigs
Multiple
Definition of workflows for running sequences of modules
WorkflowFiles
WorkflowFiles
Multiple
Documentation | ||||
Transformation coefficient sets for specifying ranges or conditions in locations in specific time periods. | CoefficientSetsFiles | CoefficientSets | ||
Cold states for modules. Zip file containing model specific data exported by GA usually before running a model. | ColdStateFiles | ColdStates | Multiple | |
CorrelationEvents describing discharges, levels or other obtained observations for historical floods. | CorrelationEventSetsFiles | CorrelationEventSets | ||
Definition of layout of user displays, including What-if scenarios, Grid Display, etc. | DisplayConfigFiles | DisplayConfigurations | Multiple | 07 Display Configuration |
Flag conversions |
between external sources (e.g. telemetry, modules) and |
flags used in Delft-FEWS internally. | FlagConversionsFiles | FlagConversions | Multiple | 08 Mapping Id's |
IdMapFiles
IdMaps
Multiple
flags and units | ||||
Icons used in main map display and button bar | IconFiles | Icons | Single | |
Mapping definition of ID's |
between external sources (e.g. telemetry, modules) and |
ID's used in |
Delft-FEWS internally. |
IdMapFiles |
IdMaps | Multiple |
Definition of flag conversions between external sources (e.g. telemetry, modules) and flags used in DELFT-FEWS
FlagConversionFiles
FlagConversions
Multiple
Definition of layout of user displays, including What-if scenarios, Grid Display etc.)
DisplayConfigFiles
DisplayConfigurations
Multiple
Map layers (shape files) used in main map display and spatial interpolation | MapLayerFiles | MapLayers | Single | |
Module configuration for handling data and running forecasting models | ModuleConfigFiles | ModuleInstanceConfigs | Multiple | |
Zipped files containing datasets for modules used by the forecasting system. | ModuleDataSetFiles | ModuleInstanceDatasets | Multiple | 09 Module datasets and Module Parameters |
Definition of module parameters stored in |
Delft-FEWS |
ModuleParFiles | ModuleParameters | Multiple |
Zipped files containing datasets for modules used by the forecasting system.
ModuleDataSetFiles
ModuleInstanceDatasets
Multiple
09 Module datasets and Module Parameters | ||||
Files for the PiClient. | PiClientConfigFiles | PiClientConfigurations | Multiple | |
Triggers export/import for modules. | PiServiceConfigFiles | PiServiceConfigurations | Multiple | |
Regional configuration, including all locations, location sets, parameters, several types of descriptors, etc.. | RegionConfigFiles | RegionConfigurations | Single | 04 Regional Configuration |
Images used in reports. | ReportImageFiles | ReportImageFiles | Single | 09 Report Module |
HTML, css, js |
template files used in creating HTML reports for use on the web server. | ReportTemplateFiles | ReportTemplates | Multiple |
...
09 Report Module | ||||
Operating system configuration, clientConfiguration, global properties and patch.jar for supporting automated updates. | RootConfigFiles | RootConfigFiles | Multiple | 01 Root Configuration Files |
System configuration items, including the plug-ins available to the system, definition, icons etc. | SystemConfigFiles | SystemConfigurations | Single | 03 System Configuration |
CorrelationEvent travel times describing travel time for events from location to location. | TravelTimesFiles | CorrelationTravelTimes | ||
Unit conversions between external sources |
Configuration Item
Directory on File System
(e.g. |
telemetry, |
These files are contained in the root of the DELFT-FEWS configuration directory
2.3 Versions of configuration and XML file naming conventions
For each of the configurations managed by DELFT-FEWS in either the database or on the file system as described above, various versions of configuration may exist.
Configurations that are active and used as a default can be identified both in the file system and in the database.
On the file system a naming convention is introduced to identify which of the possible multiple versions are used as a default.
The naming convention for the default version:
Info |
---|
<Name of XML configuration file>SPACE<Version number>SPACE<default>.xml |
Other version of configuration will have a different version number. The <default> item is omitted.
Example:
The default version of the configuration settings for the FEWS Explorer could be:
Explorer 1.00 default.xml
A second version may exist. This should then not have the <default> item in the file name:
Explorer 2.00.xml
If the configuration does not include the "default" item it will not be used. This configuration may be reverted to by adding the "default" flag - and removing it from the other file.
In the database the default version for each configuration item is identified in an associated table. For each configuration item a default table is available. This is identified by a table with the same name, prefixed by "Default". For example for the SystemConfigurations a table with the name DefaultSystemConfigurations identifies which of the available versions in the former table is to be used a default.
modules) and units used in Delft-FEWS internally. | UnitConversionsFiles | UnitConversions | Multiple | 08 Mapping Id's flags and units |
Workflow configuration for running sequences of modules. | WorkflowFiles | WorkflowFiles | Multiple | 06 Workflow Configuration |
Naming conventions for defining module config files
For complex forecasting systems the number of configuration files can be very large. This is particularly the case for the module config files, and because the names of these are used in TimeSeriesSets for storing and retrieving data, the names given should be chosen logically. Before configuring large numbers of XML files it is wise to:
define a naming convention and use this throughout. An example of such a convention is where a number of steps are used to process data prior to running a model. For instance, a forecast model run for the HBV model in the Rhine may be defined in a module called HBV_Rhine_Forecast.xml. Data processing steps such as an interpolation module may then be called HBV_Rhine_ForecastInterpolate.xml and a data merge module HBV_Rhine_ForecastMergeInputs.xml. This clearly indicates the association between modules and brings structure to the configuration.
- when multiple almost identifcal configuration files would be required, it is recommended wherever possible to use template configuration files. These template configuration files contain $ tagged variables that can be filled in as as properties when referred to by other XML files.
...
XML Schemas and schema validation
Each configuration item contained in an XML file must be formatted as specified in an appropriate XML schema (XSD file). Validating against the schemas is an important step in configuring DELFTDelft-FEWS, as the primary XML validation makes sure the syntax of the configuration made is correct. There are two types of configuration in DELFTDelft-FEWS. In the first set, for each different schema type, only one default configuration file may be used and the name of the configuration file is unique. For the second set of configuration, multiple configuration types may be available for a specific schema. The names of these may be defined by the user. An XML file contained in the regional configuration element is then used to register these XML files with a user specified name to the system, and identify the type of configuration. This file is referred to as a descriptor file. Table1 identifies for which type of configuration a single files per type is allowed and for which multiple instances for each type of configuration may exist.
Configuration versioning file naming conventions (now obsolete)
Warning |
---|
NB. The "default" versioning name convention described here is not required / recommend anymore for new configurations. In general it is good practice to manage config versioning using SVN tooling, see https://en.wikipedia.org/wiki/Apache_Subversion. |
For each of the configurations managed by Delft-FEWS in either the database or on the file system as described above, various versions of configuration may exist. Configurations that are active and used as a default can be identified both in the file system and in the database. On the file system an optional naming convention is introduced to identify which of the possible multiple versions are used as a default. The naming convention for the default version:
Info |
---|
<Name of XML configuration file>SPACE<Version number>SPACE<default>.xml |
Another version of configuration will have a different version number. The <default> item is omitted. Examples:
example | description |
---|---|
Explorer 1.00 default.xml | A "default" version of the configuration settings for the FEWS Explorer |
Explorer 2.00.xml | A second version that is not made active, since it has not the "default" tag. |