Versions Compared

Key

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

...

Parameter

Description

Type

JflowExecutable

Full filepath of the JFlow executable, as installed on the host machine.

String

JflowDB

Name of the JFlow database, including file extension.            

The full filepath is not required if the module folder structure is maintained.

String

Device

Number of the GPU device, as machines may have multiple GPU cards.  Default is 0.

Integer

NumberFlowIDs

Number of flow boundaries.

Integer

FlowNames

Names of flow boundaries, separated by commas.

The name should match (1) the inflow ID in the JFlow model; and, (2) the external location ID of the xml timeseries exported from FEWS.  Any ID mapping takes place within FEWS.

String

NumberRainIDs

Number of rainfall inputs.

Integer

RainNames

Names of the rainfall inputs, separated by commas.

The name should match (1) the inflow ID in the JFlow model; and, (2) the external location ID of the xml timeseries exported from FEWS.  Any ID mapping takes place within FEWS.

String

OutputParameters

Output parameter types, separated by commas.  Commonly used options are: depth, hazard_index, velocity, water_level.

String

LocationID

LocationID that will be associated with the model results.

The value stated here should match the external ID in the FEWS ID mapping file.

String

 

Example .ini file:

...

Code Block
title.ini file
[General]

...


ModelName=Jflow_test_model

...


JflowExecutable=C:\Program Files\JFLOW\JFLOW.exe

...


JflowDB=jflow_test.accdb

...


Device=0

...


[End]

...


[Flow inputs]

...


NumberFlowIDs=3

...


FlowNames=Flow_1, Flow_2, Flow_3

...


[End]

...


[Rain inputs]

...


NumberRainIDs=0

...


RainNames=0

...


[End]

...


[Required outputs]

...


OutputParameters=depth

...


LocationID=Jflow_test_map

...


[End]

2.4         Notes on configuration

2.4.1       Module config file examples

The following sections contain examples of a module configuration file required to run JFlow through the JFlow adapter.  Notes for users are also given.

...

Code Block
languagexml
titleGeneral
<?xml version="1.0" encoding="UTF-8"?>
<generalAdapterRun xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/generalAdapterRun.xsd">
            <general>
            <!-- general section to specify directories and id maps file -->
                        <description>JFlow fluvial test for the Don</description>
                        <rootDir>%REGION_HOME%/Modules/jflow/TestModel</rootDir>
                        <workDir>%ROOT_DIR%</workDir>
                        <exportDir>%ROOT_DIR%/input</exportDir>
                        <exportIdMap>Jflow_Export_Test</exportIdMap>
                        <importDir>%ROOT_DIR%/output</importDir>
                        <importIdMap>Jflow_Import_Test</importIdMap>
                        <dumpFileDir>$GA_DUMPFILEDIR$</dumpFileDir>
                        <dumpDir>%ROOT_DIR%</dumpDir>
                        <diagnosticFile>%ROOT_DIR%/diagnostics.xml</diagnosticFile>
            </general>
            <!-- burnInProfile - not currently used -->
            <activities>
                        <startUpActivities>
                        <!-- startUpActivities to remove files from previous runs -->
                                    <purgeActivity>
                                                <filter>%ROOT_DIR%/input/*.*</filter>
                                    </purgeActivity>
                                    <!--purgeActivity>
                                                <filter>%ROOT_DIR%/output/*.*</filter>
                                    </purgeActivity-->
                        </startUpActivities>

<?xml version="1.0" encoding="UTF-8"?>

<generalAdapterRun xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/generalAdapterRun.xsd">

            <general>

            <!-- general section to specify directories and id maps file -->

                        <description>JFlow fluvial test for the Don</description>

                        <rootDir>%REGION_HOME%/Modules/jflow/TestModel</rootDir>

                        <workDir>%ROOT_DIR%</workDir>

                        <exportDir>%ROOT_DIR%/input</exportDir>

                        <exportIdMap>Jflow_Export_Test</exportIdMap>

                        <importDir>%ROOT_DIR%/output</importDir>

                        <importIdMap>Jflow_Import_Test</importIdMap>

                        <dumpFileDir>$GA_DUMPFILEDIR$</dumpFileDir>

                        <dumpDir>%ROOT_DIR%</dumpDir>

                        <diagnosticFile>%ROOT_DIR%/diagnostics.xml</diagnosticFile>

            </general>

            <!-- burnInProfile - not currently used -->

            <activities>

                        <startUpActivities>

                        <!-- startUpActivities to remove files from previous runs -->

                                    <purgeActivity>

                                                <filter>%ROOT_DIR%/input/*.*</filter>

                                    </purgeActivity>

                                    <!--purgeActivity>

                                                <filter>%ROOT_DIR%/output/*.*</filter>

                                    </purgeActivity-->

                        </startUpActivities>

 

 

Export timseries from FEWS

The export file must be called export.xml (this is hard coded into the JFlow adapter).

<exportTimeSeriesActivity>

            <description>Export flow timeseries</description>

            <!-- exportFile is written to directory named in the General section unless specified otherwise-->

            <exportFile>export.xml</exportFile>

            <timeSeriesSets>

                        <timeSeriesSet>

                                    <!-- the data to be exported -->

                                    <moduleInstanceId>ImportObservedForJflow</moduleInstanceId>

                                    <valueType>scalar</valueType>

                                    <parameterId>Q.obs</parameterId>

                                    <locationId>JBA_TEST1_SP_1</locationId>

                                    <locationId>JBA_TEST1_SP_2</locationId>

                                    <locationId>JBA_TEST1_SP_3</locationId>

                                    <timeSeriesType>external historical</timeSeriesType>

                                    <timeStep unit="minute" multiplier="15"/>

                                    <relativeViewPeriod unit="hour" start="-24" end="0" endOverrulable="true"/>

                                    <readWriteMode>read only</readWriteMode>

                        </timeSeriesSet>

            </timeSeriesSets>

</exportTimeSeriesActivity>

 

Execute the JFlow model

<executeActivity>

            <description>Run Jflow Adapter</description>

            <command>

                        <!-- set path to Jflow adapter executable in the global properties file-->

                        <executable>$GA_JFLOW_ADAPTER$</executable>

            </command>

            <arguments>

                        <argument>%ROOT_DIR%\jflow.ini</argument>

            </arguments>

            <timeOut>900000</timeOut>

</executeActivity>

 

Import model results to FEWS

Import the model results grids to a location in FEWS, as in the example below.

JFlow results are written out as ASCII grids for each timestep. To relate each grid to a specific date and time, the JFlow adapter creates an XML file called jflowmapstacks.xml.

<locationID> should match the internal ID specified in the IdMaps file.

<importActivities>

            <importMapStacksActivity>

                        <importFile>../output/jflowmapstacks.xml</importFile>

                        <timeSeriesSets>

                                    <timeSeriesSet>

                                                <moduleInstanceId>Jflow_test_Historical</moduleInstanceId>

                                                <valueType>grid</valueType>

                                                <parameterId>H.simulated.historical</parameterId>

                                                <locationId>Jflow_test_map</locationId>

                                                <timeSeriesType>simulated historical</timeSeriesType>

                                                <timeStep unit="nonequidistant"/>

                                                <readWriteMode>add originals</readWriteMode>

                                    </timeSeriesSet>

                        </timeSeriesSets>

            </importMapStacksActivity>

 

Export time series from FEWS

The export file must be called export.xml (this is hard coded into the JFlow adapter).

Code Block
languagexml
titleExport time series
<exportTimeSeriesActivity>
            <description>Export flow timeseries</description>
            <!-- exportFile is written to directory named in the General section unless specified otherwise-->
            <exportFile>export.xml</exportFile>
            <timeSeriesSets>
                        <timeSeriesSet>
                                    <!-- the data to be exported -->
                                    <moduleInstanceId>ImportObservedForJflow</moduleInstanceId>
                                    <valueType>scalar</valueType>
                                    <parameterId>Q.obs</parameterId>
                                    <locationId>JBA_TEST1_SP_1</locationId>
                                    <locationId>JBA_TEST1_SP_2</locationId>
                                    <locationId>JBA_TEST1_SP_3</locationId>
                                    <timeSeriesType>external historical</timeSeriesType>
                                    <timeStep unit="minute" multiplier="15"/>
                                    <relativeViewPeriod unit="hour" start="-24" end="0" endOverrulable="true"/>
                                    <readWriteMode>read only</readWriteMode>
                        </timeSeriesSet>
            </timeSeriesSets>
</exportTimeSeriesActivity>

 

Execute the JFlow model

Code Block
languagexml
titleExport JFlow model
<executeActivity>
            <description>Run Jflow Adapter</description>
            <command>
                        <!-- set path to Jflow adapter executable in the global properties file-->
                        <executable>$GA_JFLOW_ADAPTER$</executable>
            </command>
            <arguments>
                        <argument>%ROOT_DIR%\jflow.ini</argument>
            </arguments>
            <timeOut>900000</timeOut>
</executeActivity>

 

Import model results to FEWS

Import the model results grids to a location in FEWS, as in the example below.

JFlow results are written out as ASCII grids for each timestep. To relate each grid to a specific date and time, the JFlow adapter creates an XML file called jflowmapstacks.xml.

<locationID> should match the internal ID specified in the IdMaps file.

Code Block
languagexml
titleImport activities
<importActivities>
            <importMapStacksActivity>
                        <importFile>../output/jflowmapstacks.xml</importFile>
                        <timeSeriesSets>
                                    <timeSeriesSet>
                                                <moduleInstanceId>Jflow_test_Historical</moduleInstanceId>
                                                <valueType>grid</valueType>
                                                <parameterId>H.simulated.historical</parameterId>
                                                <locationId>Jflow_test_map</locationId>
                                                <timeSeriesType>simulated historical</timeSeriesType>
                                                <timeStep unit="nonequidistant"/>
                                                <readWriteMode>add originals</readWriteMode>
                                    </timeSeriesSet>
                        </timeSeriesSets>
            </importMapStacksActivity>
</importActivities>

...

 

2.4.2       Id maps

Export to JFlow from FEWS

...