Versions Compared

Key

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


{}
Wiki Markup
scrollbar

Table of Contents

Quick-start Guide for Adding an External Module in FEWS

This quick-start guide serves as an example processes for setting up an external module to run in FEWS. It includes the main tasks required to successfully implement any external module, but is in no way fully comprehensive for all modules. As every module is unique, more specific aspects may be required. There are wiki pages for Delft-FEWS Model adapters by Deltares supported by Deltares and there is an overview of  Models linked to Delft-FewsFEWS.
These steps do not necessarily need to be performed in the order presented.

...

Examples of the generalAdapter for several module adapters can be found here: Delft-FEWS Model adapters by Deltares

2. Add the generalAdapter to the moduleInstanceDescriptors.xml file

...

External modules in FEWS are structured in the following way:

Code Block
title
xml
xml

%REGION_HOME%/Modules/ bin
                     / adapter_bin
                     / module_directory	Note: The module directory should be defined in with a moduleInstanceId

The module_directory/ may be configured in a variety of ways depending on the module structure. Here is an example:

Code Block
title
xml
xml

module_directory / input	 toModel      Data from FEWS as input to the module
                 / output	toFews       Data from the module as export to FEWS
                 / states	States to be passed between FEWS and the module
                 / diagnostics  Directory in which diagnostic files from the FEWS pre-and post adapters are written
                 / workDir	Directory in which module is run, including
                                  - static input files not passed by FEWS, such as bathymetry, observation points, etc.
                                  - model definition template file

...

More information can be found here: Configuring WorkFlows

11. Add the workflow to the workflowDescriptors.xml file

...

13. Troubleshooting tips

It is possible likely that a module will not run correctly on the first try. First The first step in troubleshooting is to make sure the model runs ok outside of the configurationruns  without errors outside of the FEWS environment.

  • Check the FEWS export activities
    • Check that the export activities section of the general adapter is configured for the correct time series and grid data sets
    • Examine the ExportIdMap for parameter and location mapping.
    • Run the model outside of Delft-FEWS in a separate directory
    • Examine Compare the input files generated by Delft-FEWS to the input files used previously
      If they are not ok, solve this issue first
      • Are the formats consistent?  Are the headers the same?  Is the data the same?
      • If not, you may be using a different data format.  Check if this data format is compatible with FEWS.  If the format is correct, check the log files from the pre-adapter for more information.
  • Check the external module
    • Run the model outside of Delft-FEWS, but use the input files generated by Delftthe pre-FEWS adapter
      • If the model doesn't run properly, examine the model log files and solve the issuefor more information.
      • If the model does run properly , import the results in FEWS by only using the import part of the generalAdapater.and output is generated move to the next step.
  • Check the FEWS import activities
    • Examine the output files from the model in native format
      • Do you see what you expect to see?  If not, re-examine the model input and log files.
    • Examine the files generated by the post-adapter (if any)
      • Check that the data format is compatible with FEWS, If the format is correct, check the log files from the post-adapter for more information.
    • Examine the ImportIdMap for parameter and location mapping.
    • Check that the import activities section of the general adapter is configured for the correct time series and grid data sets
    • Use the Workflow Navigator and Database Viewer to determine if data is imported and present in the localDataStore

If the model runs ok without error outside of Delft-FEWS, the cause is likely in your configuration. Here are some general tips on de-bugging the configuration.

  • When you have selected the appropriate workflow in the Manual Forecast tab
    • Press ctr+r to select specific module instances within a workflow.
    • Press ctr+d to activiate activate debug mode for specific module instances within a workflow. FEWS will then display additional de-bugging information in the log window.
  • General Adapter
    • Run only certain activities (i.e. only data export) by commenting out unwanted activities in the generalAdapter.
      You make a comment by putting the text between <!- and ->, or in XMLSpy press ctrl-k when you have selected the text.
    • Reduce the relativeViewPeriod within the generalAdapter to shorten run times for de-bugging purposes.
  • The F12 menu contains many tools that may be helpful in examining data, data conversion, and data export.
    Open this menu by pressing F12 when you have the focon the Logs window or the Map tab.
    • Database Viewer (F12 menu, Option J): to view all data imported by FEWS from the module.