Definition of instances of modules
Each module configured in DELFT-FEWS must be registered in the ModuleInstanceDescriptors configuration. This is required to identify the module to DELFT-FEWS (the name is free format), but is also required to define the type of module through reference to the moduleDescriptors defined (see system configuration).
When available on the file system, the name of the XML file for configuring the ModuleInstanceDescriptors is for example:
ModuleInstanceDescriptors 1.00 default.xml
ModuleInstanceDescriptors Fixed file name for the ModuleInstanceDescriptors configuration
1.00 Version number
default Flag to indicate the version is the default configuration (otherwise omitted).
Figure : Root elements of the ModuleInstanceDescriptors configuration
ModuleInstanceDescriptors contains two elements,
- moduleInstanceDescriptor, and
Each of these two elements can be repeated and can be in any order.
- Id: Id of the Module Instance. This Id must be unique. Normally a string is used that gives some understanding of the role of the module (e.g. SpatialInterpolationPrecipitation).
- name: Optional name for the module. Used for reference purposes only.
Optional description. Used for reference purposed only.
Reference to the ModuleDescriptors defined in the SystemConfiguration to identify the type of module. Since Delft-FEWS Version 2013.02 this element is optional. The Module type is recognized from the Module Config file.
When given the relation is made between the module and (simulated historical) Module Instance given here.
The simulated historical update run, current at the moment the forecast is created, will be used for data before the start of the forecast.
When different parameters are used for the forecast and historical period it is also required to specify the historical parameter for the forecast parameter
When configured this module instance can only be used for simulated forecast time series.
- Id: Id of the Module Instance group. This Id must be unique. Normally a string is used that gives some understanding of the role of the module (e.g. SpatialInterpolationPrecipitation).
- name: Optional name for the module group. Used for reference purposes only.
One of the element is the ModuleInstanceDescriptors, as defined earlier. All instances of Modules defined here need not be defined again as individual moduleInstance. Each group can have multiple modules instances.
However following points to be taken into considerations when defining moduleInstances under a single group.
If one module instance in a group has a reference to a simulated historical, all module instances in the group should have a reference to a simulated historical module.
All referenced simulated historical moduleinstances should also belong to the same group.
- The ModuleInstancegroup for Historical and Forecast should match i.e. each module instance defined in historical (updatestates) module instance group should match on one-to-one basis with the forecast modules instance group. This means that no modulesintances such as export, import should be added to module instance group.
A correct configuration example is shown as below. The total number of modulesinstances in update (historical) and forcast matches. Also the referenced simulated historical modules instances in LMBM5_Forecast modules instance group also belongs to a one same module instance group i.e. LBNM5_UpdateStates".
- An incorrect configuration example is shown as below. Here the Forecast modulesinstancegroup contains 10 moduleInstancegroup while (historical) update moduleinstancegroup contains 9. It is strongly recommended to avoid this.
- Module Instance group is used to mainly optimize the way the data is written to the database. This leads to compact databases. Otherwise Modules Instance groups cannot be referred to retrieve data from database.