Wanda is an advanced, interactive software package to support the hydraulic design process of your pipeline system. The program is used for the hydraulic analysis of steady and unsteady flow conditions in arbitrary configured pipeline networks.
Combined pre- and post- adapter
A common practice for development of FEWS model adapters is to develop two separate adapters for pre- and post processing of model input and output. For Wanda this resulted in two adapters, the WandaPreadapter and WandaPostAdapter which use the PI-XML format to exchange data with FEWS.
On request of the users an additional, combined adapter has been added, the WandaAdapter which performs both the pre-and post processing tasks and also executes the Wanda Model. Using this combined adapter is more efficient because instead of 3 separate execute activities the General Adapter only needs to execute one and as a result the Wanda Java API used by the adapter only needs to load the Wanda Model schematization once, providing considerable performance improvement, especially for a large model. The configuration example given on this page therefore all assume that the combined WandaAdapter is used.
Some of the exceptions that may occur during transformations are logged as warnings in the configured diagnostics file without aborting the adapter processing.:
- location Id's for which a matching Wanda component cannot be found
- parameter Id's for which a matching Wanda property cannot be found for the selected Wanda Component
- time series that cannot be loaded for a selected component and property because the property has no defined series in the wanda model
For other types of exception, the exception is logged and an exception i thrown so the adapter processing is aborted and the general real adapter will also log the error in the FEWS log.
Wanda adapter binary folder
The following files are part of the binary folder for the Wanda adapter and are provided in the fews-wanda-adapter-bin.<version>.zip artifact of the "install adapters" teamcity builds:
A logical place would be <Region>\Modules\Wanda\bin
Wanda model binary folder
The Wanda model binaries currently consist of 221 files so this package is a bit large to list the complete content here. TODO: refer to source
The Wanda Model folder can be placed in <Region>\Modules\Wanda\bin\wanda or other folder of your choice which can be configured separately from the adapter binaries using a property in the runinfo xml file.
General Adapter Configuration
The image below shows an example of the configuration of the general section. The following settings are of specific importance for Wanda:
- rootDir: folder where the Wanda module is located.
- workDir: folder where the Wanda model files (*.wdi, *.wdo, *.wdx) files are located and where the Wanda model is executed.
- exportDir: folder where the Wanda adapter input files (*.xml) should be stored.
- exportIdMap: the idMapFile for the export to Wanda: the external ID's are the Id's in the WANDA model
- importDir: folder where Wanda adapter stores its output file (*.xml)
- importIdMap: the idMapFile for the import from Wanda: the external ID's are the Id's in the WANDA model
- diagnosticFile: the path of the PI diagnostic file written by the Wanda adapter.
Important for Wanda here are the properties of the exportRunFileActivity. These properties provide specific Wanda model settings.
- key - MODEL: this setting contains the path and file name of the Wanda Model input file to open (*.wdi) The model output file
to be read by the adapter after completing the model run uses the same file name but the file extension *.wdo.
- key - BIN: this setting contains the path where the Wanda model binaries are stored.
- key - AMBIENTFILE (optional): a file name mask (can contain * wildcards) used to identify files listed under exportTimeSeriesActivity
which contain ambient properties that are applied in a specific manner to all pipe objects in the Wanda model.
- key - GRIDPOINTSFILE (optiona): a file name mask (can contain * wildcards) used to identify files listed under exportTimeSeriesActivity
which contain gridpoint properties that are applied in a specific manner to grid points along a pipe object in the Wanda model.
In addition to the properties listed above that provide specific information for the operation of the Wanda Adapter, it is also possible to set general properties of the Wanda model by defining the property name as key and a float or int type value. This can be useful for example to control the Time step or Simulation time used by a Wanda model.
The following image shows an example of the settings of the ExecuteActivities section in the general Adapter module. Wanda specific elements are:
- command - className: this contains the full class name of the combined WandaAdapter
- binDir: this contains the path where the adapter binaries are stored.
- arguments: a single argument needs to be specified providing the full path to the runInfo file (as specified in exportActivities section).
- logFile: this (optional) setting can be configured to scan the Wanda ouput logs for error messages.
The following image is an example of the importActivities section. An important element here is the exportPlaceHolderFile: this should be set to true.
Note that the adapter extract the output data from the wdo-file based on the content of the exportPlaceHolderFile (i.e. its locations, parameters and timestep)
Example general configuration file is attached (WarmingUP project)