You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Function:

Functionality to use FewsAdapter of DeltaShell and how to use them in your configuration

Where to Use?

General Adapter

Why to Use?

To be able to run a Sobek-3 model

Description:

Description and examples of adapter configuration to use a Sobek-3 (DeltaShell) model in FEWS.

Available since:

Delft-FEWS 201201

Contents

General

Installation requirements

It is not required to have DeltaShell SOBEK installed at the PC as it is possible to embed the binaries of SOBEK in to the FEWS configuration. There is a special build available that can be simple unzipped in the FEWS Modules directory, e.g. <Region>\Modules\Sobek3\plugins and <Region>\Modules\Sobek3\release.

There should a valid license to use Sobek-3, preferably including Terminal Server license (TS_OK).

Interaction between FEWS and Sobek

The adapter does not have any seperate configuration. All options and definitions are parsed through the General Adapter's PI-Run file. The desired output is completely defined in FEWS only and parsed to SOBEK.

Available time series

  1. H boundary
  2. Q boundary
  3. lateral timeseries
  4. wind speed and direction
  5. concentration or Masses on bounds en lateral (e.g. Salinity, conc. and mass)
  6. RTC Setpoint (interval, PID)
  7. struc crest level
  8. struc crest width
  9. struc gate level
  10. struc pump capacity
  11. rainfall
  12. evaporation

Delft-FEWS Configuration

Definition of Sobek locations from Shape files

Nodes and Reach segments

SOBEK-3 has an option to export the model network to shape files, which can be easily imported into FEWS as locations. Sobek exports a seperate file for node and line objects, e.g.

  1. fews_ds_Lauwersmeermodel_line_data_items.shp
  2. fews_ds_Lauwersmeermodel_node_data_items.shp

    explain how to export

The shape files have the TYPE property in the associated DBF file. The possible types are (case sensitive):

  1. grid_point
  2. ObservationPoint
  3. HBoundary
  4. QBoundary
  5. Weir
  6. Pump
  7. Bridge
  8. Culvert
  9. LateralSource
  10. reach_segment

Example configuration in LocationSets.xml:

<locationSet id="DS_LWMl">
  <esriShapeFile>
    <file>fews_ds_Lauwersmeermodel_line_data_items</file>
    <geoDatum>Rijks Driehoekstelsel</geoDatum>
    <charset>Cp850</charset>
    <id>DS_LWM_%ID%</id>
    <name>%ID% - %NAME%</name>
    <description>Deltashell sobek3 testmodel</description>
    <x>%X_CENTRE%</x>
    <y>%Y_CENTRE%</y>
    <attribute id="SOBEK_ID">
      <text>%ID%</text>
    </attribute>
    <attribute id="SOBEK_PARENTID">
      <text>%TYPE%</text>
    </attribute>
    <attribute id="SOBEK_MODEL">
      <text>LWM</text>
    </attribute>
  </esriShapeFile>
</locationSet>
<locationSet id="DS_LWMn">
  <esriShapeFile>
    <file>fews_ds_Lauwersmeermodel_node_data_items</file>
    <geoDatum>Rijks Driehoekstelsel</geoDatum>
    <charset>Cp850</charset>
    <id>DS_LWM_%ID%</id>
    <name>%ID% - %NAME%</name>
    <description>Deltashell sobek3 testmodel</description>
    <x>%X%</x>
    <y>%Y%</y>
    <attribute id="SOBEK_ID">
      <text>%ID%</text>
    </attribute>
    <attribute id="SOBEK_PARENTID">
      <text>%TYPE%</text>
    </attribute>
    <attribute id="SOBEK_MODEL">
      <text>LWM</text>
    </attribute>
  </esriShapeFile>
</locationSet>
<locationSet id="DS_LWM_Qbnd">
  <locationSetId>DS_LWMn</locationSetId>
  <constraints>
    <attributeTextEquals id="SOBEK_PARENTID" equals="QBoundary"/>
  </constraints>
</locationSet>
<locationSet id="DS_LWM_waterlevel_nodes">
  <locationSetId>DS_LWMn</locationSetId>
  <constraints>
    <anyValid>
      <attributeTextEquals id="SOBEK_PARENTID" equals="grid_point"/>
      <attributeTextEquals id="SOBEK_PARENTID" equals="HBoundary"/>
      <attributeTextEquals id="SOBEK_PARENTID" equals="QBoundary"/>
    </anyValid>
  </constraints>
</locationSet>
<locationSet id="DS_LWM_structures">
  <locationSetId>DS_LWMn</locationSetId>
  <constraints>
    <anyValid>
      <attributeTextEquals id="SOBEK_PARENTID" equals="Weir"/>
      <attributeTextEquals id="SOBEK_PARENTID" equals="Pump"/>
      <attributeTextEquals id="SOBEK_PARENTID" equals="Bridge"/>
      <attributeTextEquals id="SOBEK_PARENTID" equals="Culvert"/>
    </anyValid>
  </constraints>
</locationSet>

Longitudinal profiles

It is possible to define longitudinal profiles in SOBEK which can also be directly exported to a FEWS branch definition. The simulation results can also be directly derived from SOBEK.

explain how to export

Maps

will be available for 2D only, which is currently still not in SOBEK-3

General Adapter

The Delft-FEWS General Adapter starts the FEWS-DeltaShell adapter and provides all relevant information to the DeltaShell Adapter.
Configuration options are parsed to the Adapter through the so-called PI run file. In this file also references to input and output files are listed.

PI run file

All possible options are defined the PI run file that FEWS provides to the Adapter. The options are:

option

description

required

default

example

deltaShellProjectFile

..

yes

-

%ROOT_DIR%\DSModel\lauwersmeer.dsproj

model

..

yes

-

Lauwersmeermodel

piTimeSeriesAsBin

option to write output to binairy PI files to allow for better performance on large output time series

no

false

true

saveResultsInCopyOfProject

This option is available for debug purpose. It saves always a copy of the simulation to "Copy of <project>"

no

false

true

workDirFlow1D

Directory where to run the 1D-Flow simulation

no

%TEMP% directory

%ROOT_DIR%/Work

Example of PI Run configuration

<exportRunFileActivity>
  <exportFile>pi-run.xml</exportFile>
  <properties>
    <string key="deltaShellProjectFile" value="%ROOT_DIR%\DSModel\lauwersmeer.dsproj"/>
    <string key="model" value="Lauwersmeermodel"/>
    <string key="piTimeSeriesAsBin" value="true"/>
    <string key="saveResultsInCopyOfProject" value="true"/>
    <string key="workDirFlow1D" value="%ROOT_DIR%/Work"/>
  </properties>
</exportRunFileActivity>

Id Maps

Sobek expects the parameters to be in NetCDF standard IDs.

item in model

Sobek parameter id

Sobek module

H boundary

water_level

1D flow

Q boundary

water_discharge

1D flow

laterals

water_discharge

1D flow

wind speed

wind_speed

1D flow

wind direction

wind_direction

1D flow

to do:

  1. concentration or Masses on bounds en lateral (e.g. Salinity, conc. and mass)
  2. RTC Setpoint (interval, PID)
  3. struc crest level
  4. struc crest width
  5. struc gate level
  6. struc pump capacity
  7. rainfall
  8. evaporation

Time Series Input files to Sobek

The DeltaShell Adapter only accepts scalar time series in PI format. ParameterIDs should be according to the NetCDF standard, so many times an IdMap is required (see below). The locationIDs should correspond with objects in the models.

At the moment DeltaShell has no clear handling of ID's, names and descriptions of objects. They are handled differently over the various plugins (1D-Flow, RTC, WQ or RR). Be aware of this when you configure the idMappings.....

TimeSeries Outputfiles from Sobek

Two types of output files are supported: the PI scalar and the PI profile time series files.
Both should be exported before the simulation starts with the option exportPlaceholderFile=true. The DeltaShell adapter derives the expected output from the headers in these files. It is possible to spread the wanted output time series over various files.

State files

DeltaShell supports state files (or restart files). It is possible to use state files as initial condition and to store the last state of the simulation as state. The state files should be provided all

1D-Flow: sobek.rda, sobek.rdf

RTC, RR, WQ to be added

<exportStateActivity>
  <moduleInstanceId>DS_LWM_Historie</moduleInstanceId>
  <stateExportDir>%ROOT_DIR%/States</stateExportDir>
  <stateConfigFile>%ROOT_DIR%/States/Inputstates.xml</stateConfigFile>
  <stateLocations type="file">
    <stateLocation>
      <readLocation>restart_files_in.zip</readLocation>
      <writeLocation>restart_files_out.zip</writeLocation>
    </stateLocation>
  </stateLocations>
  <stateSelection>
    <warmState>
      <stateSearchPeriod unit="hour" start="-96" end="-2"/>
    </warmState>
  </stateSelection>
</exportStateActivity>

Diagnostics

todo

Possible messages

Miscellaneous

todo

Performance

todo

How to run ensembles

todo

  • No labels