How to set up a Sobek Model in FEWS
Needed:
- installation of SOBEK (incl license) in the root of the same partition of your hard disk (e.g. c: or d:) as where FEWS is run.
SOBEK project (*.lit folder) in /Modules/SOBEK/[application name]/ *.lit
SOBEK adapter: /Modules/SOBEK/[application name]/ SOBEK_Adapter.xml
- general adapter file: Config/ModuleConfigFiles/SOBEK_Forecast and SOBEK_Historical
Settings inside the SOBEK case
Simulation period and calculation time step
The simulation period needs to be triggered by the meteorological data. When running SOBEK from the User Interface there is a meteo-event file used. This file is called *.bui and is located by default in the SOBEK folder \SOBEK211\FIXED. The meteo event has a time step which will influence the calculation time step in the case. It is recommended to make this time step in the meteo event file larger than the desired calculation time step, to avoid SOBEK resetting your time step.
When running SOBEK under FEWS there is also a meteo event file needed. This file (e.g. Rainfall.xml) is exported by the general adapter-file. So even if there is no rainfall needed for running the SOBEK model, it needs to be exported for determining the meteo event and thus the simulation period.
Model state files
FEWS propagates the model state of the SOBEK model with the historical runs. Every next run is started from the last known model state, a warm state. If the model state is disregarded this means a cold state start is made. In both cases the model state is read from so called 'restart-files'. The SOBEK case needs to be instructed to write and read the same restart-files in the settings under the tab 'initial data'. You will receive a warning that the restart files have the same name and will be overwritten.
In the project folder (.lit) the restart files 1DFLOW.RDA, 1DFLOW.RDF and 1DFLOW.RDS can be found in the case, the folder starts with a number. In the folder [.lit]/FIXED the 2D restart files 2DFLOW.FDS and 2DFLOW.FLS can be found. These restart files all need to be copied into the ColdStateFiles/SOBEK_Historical default.xml.
Water Quality calculation
In case of using any WAQ module, ensure the option for using the previous flow results is switched off in the SETTINGS task.
Copying the Project folder
Before copying the project folder from the SOBEK program to the FEWS Modules directory, you can reduce the size of the complete case directory by removing the original results
1. run the simulation task
2. cancel the simulation once started
3. press [Show permanent] button on error message box
4. delete all next files in work directory of the case
a) *.out;.his;.map;.stu;.pst;.hia;.log;.prn;.hia;.inc;.asc;.mon;*.lst
*b) 2DAREA.DAT
*c) 2DFLOW.DAT
*d) 2DSOBEK.CHZ
*e) 2DVELOC.DAT
*f) 2DVOLUME.DAT
*g) 2DPOINT.DAT
5. remove rubish data from the project directory
*a) boundary subdir
*b) data subdir
*c) initial S subdir
*d) Network subdir
*e) Many files in fixed subdir
*f) Many files in Bathymetry subdir
The case must be saved before copying with at least the [Schematisation] task green.
Schematisation
Note that the boundaries which data is being updated by FEWS should already been defined as time tables, both for Flow and WAQ modules!**
-
-
Output
To make sure the amount of output produced by SOBEK is no more than needed, it is important to uncheck all unnecessary output creation. If only water depth is needed in 2D then only have this option checked.
-
Output
Settings inside the SOBEK module directory
Inside the module directory SOBEK needs to have a /bin folder with SBKbatch.exe and SBKbatch.ini . Inside the other directory the folders Inputs, Logs, project folder copied from SOBEK, Output and States are needed. In the root of this directory the SOBEK_Adapter.xml is found.
SOBEK_Adapter.xml
In this file the adapter for SOBEK is configured.
__
general
The file describes in the 'general' section which project to use and which case to use inside the project.
postProcessingActivities
In the 'postProcessingActivities' the 2D map outputs from SOBEK are moved Output folder and the restart files written to the States folder. Please note that whether they are read by FEWS depends on the generalAdapter file.
mapStack
In the 'mapStack' part the 2D maps are put together in a so called map stack. The generalAdapter will import these map stacks as a grid timeSeries.
parameters
In 'parameters' it is described which timeSeries need to be translated to which SOBEK files and how they should be interpreted. See the table below to select the type of parameter to select.
Please note that the wind time series should be in one single XML file. The adapter looks for the following time series:
- For wind speed: a series with in the parameterID the string "speed" (not case sensitive) for a locationID or parameterID that contains the string "wind"
the following will work: - Location = "xxxx", Parameter = "Wind Speed"
- Location = "Wind", Parameter = "Speed"
- For wind direction: a series with in the parameterID the string "dir" (not case sensitive) for a locationID or parameterID that contains the string "wind"
the next will work: - Location = "xxxx", Parameter = "Wind Direction"
- Location = "Wind", Parameter = "Dir"
type |
description |
undefined |
not allowed as type |
rainfallfile |
precipitation, used as meteo event file, should be a single PI file |
rrrestart |
rr restartfile (state file) |
flowrestart |
flow restart (state file) |
flow_hc_boundary |
H boundary with constant value |
flow_ht_boundary |
H boundary with timeSeries |
flow_qc_boundary |
Q boundary with constant value |
flow_qt_boundary |
Q boundary with timeSeries |
flow_htref_boundary |
H boundary with timeSeries from ref.table |
flow_qtref_boundary |
Q boundary with timeSeries from ref.table |
windfile |
wind, should be a single PI file |
flow_latndc |
lateral flow on connection node, constant value |
flow_latndt |
lateral flow on connection node, time series |
flow_latndref |
lateral flow on connection node, time series from ref.table |
flow_latbrc |
lateral flow on node at branch, constant value |
flow_latbrt |
lateral flow on node at branch, time series |
flow_latbrref |
lateral flow on node at branch, time series from ref.table |
flsboundline_hc |
H line boundary on grid, constant value |
flsboundline_ht |
H line boundary on grid, time series |
flsboundline_qc |
Q line boundary on grid, constant value |
flsboundline_qt |
Q line boundary on grid, time series |
flsboundnode_hc |
H boundary node on grid, constant value |
flsboundnode_ht |
H boundary node on grid, time series |
flsboundnode_qc |
Q boundary node on grid, constant value |
flsboundnode_qt |
Q boundary node on grid, time series |
flsinitpoint |
initial condition point at grid |
rr_up_seepdef |
rainfall-runoff seepage definition ID, (no timeSeries!) |
rr_up_stordef |
rainfall-runoff storage definition ID, (no timeSeries!) |
rr_up_alfadef |
rainfall-runoff alfa drainage coeff. definition ID, (no timeSeries!) |
rr_up_infdef |
rainfall-runoff infiltratie definition ID (no timeSeries!) |
rr_up_initdef |
rainfall-runoff initial definition ID (no timeSeries!) |
rr_up_ernstdef |
rainfall-runoff ernst drainage coeff. definition ID, (no timeSeries!) |
rr_insodemandtable |
rainfall-runoff industrial demand time series, like a lateral flow |
rr_insodischargetable |
rainfall-runoff insdustrial discharge time series, like a lateral flow |
evapfile |
evaporation, should be a single PI file |
rtc_par3 |
RTC, parameter3 record ID |
rtc_rule |
RTC, rule record ID |
rtc_maxf |
RTC, maxf record ID |
rtc_engd |
RTC, engd record ID |
flow_timecontroller_tiwithbl |
1D flow structure time controller, time series |
flow_intervalcontrollersetpoint_tiwithbl |
1D flow structure interval controller setpoint, time series |
flow_controllerpidsetpoint_tiwithbl |
1D flow structure PID setpoint, time series |
1dwq_fraction_concentration_tiwithbl |
1d waq substance concentration for fraction type, time series |
1dwq_boundary_concentration_tiwithbl |
1d waq substance concentration for local boundary, time series |
2dwq_fraction_concentration_tiwithbl |
2d waq substance concentration for fraction type, time series |
2dwq_boundary_concentration_tiwithbl |
2d waq substance concentration for local boundary, time series |
fls_restart |
fls restart / state |
1dwq_restart |
1d waq restart / state |
2dwq_restart |
2d waq restart / state |
Jobs
In the 'jobs' section nothing needs to be changed.
Output
In the 'output' section the output locations need to be identified. Moreover the SOBEK_Adapter needs to know in which file to read the output and to which PI-file to write the output so that the generalAdapter can read it.
Type of output |
corresponding outputfile |
*Type of output *** |
corresponding outputfile** |
level on nodes, depth in the 1d schematisation |
calcpoint |
flow on branches, discharge/velocity |
reachseg |
results at structures, discharge/crestlevels, waterlevels up&down |
struc |
Total Waterbalance, Flow |
qwb |
RR ? |
ow_lvldt |
RR ? |
upflowdt |
RTC ? |
rtcparal |
1D Wq results: .his for History stations, .map for whole area |
delwaq.his and delwaq.map |
RR ? |
bndflodt |
Overlandflow History stations, Velocity, Waterlevels/depth |
flshis |
States__
The last section in the SOBEK_Adapter.xml file is 'states'. This describes the read locations and writelocations of the model states. This is similar to other external modules.
1d states: 1dflow.rda, 1dflow.rdf, 1dflow.rds
2d states: 2dflow.fls, 2dflow.fds
WQ states: 1dwaq.res, 2dwaq.2rs
GeneralAdapter
The generalAdapter is similar to other generalAdapter files. For the exact syntax inside the executeActivities part of the file always copy an existing SOBEK generalAdapter. A special point of attention is that there should always be a meteo time series exported to SOBEK. This file will determine the start and end time of the run.