...
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.
Settings inside the SOBEK module directory
...
variable | required | default value | meaning | example | |
version | yes |
| Version of Batch Data Structure | 2 | |
projectDir | yes | SOBEK project directory | BosRegge.lit | ||
caseName | yes |
| Case name as in SOBEK project | Basismodel voor voorspelinstrument 101105, WL 20060404 | |
showTablesFlipped | no | FALSE | Option to show all the input and output tables in the user interface flipped (true=horizontal, false = vertical) | TRUE | |
resultsHisFile | no | Output filename | Output\Output.his | ||
dataPath | no | Path where all kind of info files are stored | Output | ||
resultsSaved | no | FALSE | If the results have been saved and are availalbe | TRUE | |
parInfoFile | no |
| Filename of file with parameter information | Output\Output_par.csv | |
storeWorkDir | no | FALSE | Option to save the complete working directory | FALSE | |
workDirStored | no | FALSE | Option to determine if working directory has been saved | FALSE | |
storeOutputInOneFile | no | FALSE | Option to save all the output in one output file, which is required for FEWS | TRUE | |
storeFEWSState | no | FALSE | Option to save state information, which is required for FEWS | TRUE | |
fewsDiagnosticsFile | no | Filename of FEWS diagnostics file | Logs\Diagnostics.xml | ||
clearWorkingDirectories | no | TRUE | Option to clear working directory after running the simulation | FALSE | |
skipTimeSteps | no | 0 | Number of timesteps to be skipped when converted FEWS ASCII Meteo file to Bui file. | 0 | |
useXMLBinFileType | no | FALSE | Option to write Delft-FEWS PI files with binary data section. Improves performence very much, but bad to check the contents of the PI files. Only use this if everything is going right..... | TRUE | |
useParsenUpdateMode | yes | FALSE | Option to let the PARSEN of the Flow modules only update the time series in the NEFIS files. Might improve performence very much, but does not pick up any other updated data from the MDB Files | FALSE | |
parsenMinimumTimeSeriesLength | yes | 1000 | If useParsenUpdateMode is TRUE, it is required to define the number of timesteps to generate in the time series tables. Value must be higher than zero. | 1000 | |
parsenSourceFiles | yes |
| If useParsenUpdateMode is TRUE, the source files which should be updated by the PARSEN must be defined here. | Defaults\sobek.* |
...
Please note that the rainfall, evaporation and , wind, wqmeteo time series should be all in one separate single XML file, so one for all rainfall series, one for all evaporation series and one for all wind series (speed and direction both in one file).
Rainfall series are always converted independent on the parameterID, where all locationIDs are converted to meteo stations. Evaporation works the same. Regarding wind series, the adapter looks for the following time series:
...
type | description |
---|---|
undefined | not allowed as type |
rainfallfile | converts full contents of the file into RR rainfall file. All series should have same time stamps. File name will be *.bui and will be written in cmtwork. Case registry will be updated, so the file will be used in the computation |
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 |
flow_latdic | diffuse lateral flow on branch, constant value |
flow_latdit | diffuse lateral flow on branch, time series |
flow_latdiref | diffuse lateral flow on 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. Note: a dummy salt concentration of 0 mg/l will be used! |
rr_insodischargetable | rainfall-runoff insdustrial discharge time series, like a lateral flow |
evapfile | converts full contents of the file into RR evaporation file. All series should have same time stamps. File name will be *.evp and will be written in cmtwork. Case registry will be updated, so the file will be used in the computation |
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_tbl | 1D flow structure time controller, time series |
flow_intervalcontrollersetpoint_tbl | 1D flow structure interval controller setpoint, time series |
flow_controllerpidsetpoint_tbl | 1D flow structure PID setpoint, time series |
1dwq_fraction_concentration_tbl | 1d waq substance concentration for fraction type, time series |
1dwq_boundary_concentration_tbl | 1d waq substance concentration for local boundary, time series |
2dwq_fraction_concentration_tbl | 2d waq substance concentration for fraction type, time series |
2dwq_boundary_concentration_tbl | 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 |
1d_flow_dam | 1d flow weir object, representing a obstruction in the river |
1d_flow_dambreak_hc_boundary, 1d_flow_dambreak_connectionnode | do exactly the same: create a breach in the dike |
rr_temperature | temperature for the RR module, should be a single PI file |
1d_flow_lateral_dat_file | Converts the complete contents of a PI xml file into a 1D flow lateral.dat file. The PI locationID should be used to map to the lateral IDs (any type). The parameter (and qualifier) is not used. All series in the XML should exist as definition with a time series table in the SOBEK lateral .dat file. Vice versa is not needed, as SbkBatch only updates the definitions. |
rr_boundarytable | rainfall-runoff boundary node, water level time table. Note: a dummy salt concentration of 0 mg/l will be used! |
1d_flow_boundary_dat_file | Converts the complete contents of a PI xml file into a 1D flow Boundary.Dat file. The PI locationID should be used to map to the boundary IDs. The parameter (and qualifier) is not used. All series in the XML should exist as definition with a time series table in the SOBEK boundary.dat file. Vice versa is not needed, as SbkBatch only updates the definitions. |
1d_flow_control_def_file | Converts the complete contents of a PI xml file into a 1D flow control.def file. The PI locationID should be used to map to the control def IDs (of time controller type). The parameter (and qualifier) is not used. All series in the XML should exist as definition with a time series table in the SOBEK control.def file. Vice versa is not needed, as SbkBatch only updates the definitions. |
1d_flow_profile_def | changes the reference to a cross section definition in profile.dat. The sobekObjectId should refer to the record in the profile.dat, while the classFile(s) refer to the records in the profile.def. Typically used in batching runs with varying cross sections per run. |
greenhouse_water_usage_file | Convert the complete contents of a PI xml file into the \sobek\fixed\3b\KasGebrData.Dat file, which is referred to in the sbkbatch.ini key [General]KasGebrDataFile=.... In delft_3b.ini [Options]NewFormatKasdata should be -1 and greenhouse node definitions should be setup to using this new format (which is not supported by the GUI). All series in the XML are converted to update existing definitions in the KasGebrData.Dat. Note that this file is not register to in the case registry ,so updating this file may affect other cases too. Only definition with single column tables are supported. The PI locationID should be used to map to the kasgebr IDs . The parameter (and qualifier) is not used. All series in the XML should exist as definition with a time series table in the SOBEK kasgebr file. Vice versa is not needed, as SbkBatch only updates the definitions. |
rr_runoff_rnf | Converts the complete contents of a PI xml file into a *.rnf file. Can only be used in case also a rainfallfile is used, so sbkbatch can write it to the same base file name as the RR module uses that. |
rr_openwater_target_level_timetable | Converts one individual timeseries into a OW_T table in openwate.tbl |
rr_openwater_target_level_timetable_file | Converts a complete PI xml (so all timeseries) into a OW_T tables in openwate.tbl, based on locationid |
rr_timecontroller_tbl_file | Converts a complete PI xml (so all timeseries) into a INST tables in struct3b.tbl, based on locationid |
1d_flow_trigger_def_file | Converts a complete PI xml (so all timeseries) into a CNTL tables in control.tbl, based on locationid |
wq_meteofile | Converts a complete PI xml (so all timeseries) into a Delwaq format file (based on parameterid, locationid is ignored). This file is called wqmeteo.mwq and is included in the delwaq wq computation |
Flow_dam and Flow_dambreak should be triggered by time series with non-missing values. The flow_dam should have timeseries where the location id is equal to the reachsegment id. The adapter creates the weir/dam at this segment. The time series values represent the height of the weir. This is automatically added to the bed level to get a correct crest level of the weir.
The dambreaks can be created at all node types that are calculation points (fixed and regular calculation points, connection nodes and linkage nodes). The time series that trigger a dambreak should contain by default missing values, but a -1 for a dambreak at the left side, a +1 for a dambreak at the right side. The adapter creates a new reach to represents the dambreak. At this reach a weir structure is placed, with a crest level that will be lowered at the start of the dambreak.
Notice that using dams or dam breaks will make that the restart files do not fit anymore with the network and will be neglected.
1dwq_boundary_concentration_timetbl_file | Converts a complete PI xml (so all timeseries) into ..\work\boundwq.dat, using location and parameter IDs. Note that (unlike with other complete file conversions, like 1d_flow_control_def_file etc) the file is fully converted only and not updated! That means that definitions which are not in the PI xml file, not will be converted. |
2dwq_boundary_concentration_timetbl_file | Converts a complete PI xml (so all timeseries) into ..\work\2DBNDWQ.DAT, using location and parameter IDs. Note that (unlike with other complete file conversions, like 1d_flow_control_def_file etc) the file is fully converted only and not updated! That means that definitions which are not in the PI xml file, not will be converted. |
Flow_dam and Flow_dambreak should be triggered by time series with non-missing values. The flow_dam should have timeseries where the location id is equal to the reachsegment id. The adapter creates the weir/dam at this segment. The time series values represent the height of the weir. This is automatically added to the bed level to get a correct crest level of the weir.
The dambreaks can be created at all node types that are calculation points (fixed and regular calculation points, connection nodes and linkage nodes). The time series that trigger a dambreak should contain by default missing values, but a -1 for a dambreak at the left side, a +1 for a dambreak at the right side. The adapter creates a new reach to represents the dambreak. At this reach a weir structure is placed, with a crest level that will be lowered at the start of the dambreak.
Notice that using dams or dam breaks will make that the restart files do not fit anymore with the network and will be neglected.
The The flow_lateral_dat_file has some special features. This routine reads the network.cn file to know the type of the laterals (FLNO, FLBR, FLDI) and then creates a complete new lateral.dat file, based on the series PI-XML file. In case a time series is not in the XML file, the original definition is re-used. However, this method is not very efficient so this whole flow_lateral_dat_file routine is most efficient in case you convert ALL the laterals. The locationID is used as the required lateral id. The parameterId is not used, although you can use it to parse the interpolation option to the definition. Therefore include the string "block" in to the parameterId, so the routine knows that the block interpolation option should be used. Default interpolation option is linear. It is of course (in operational systems) not possible to define a periodicity.
...
Code Block | ||||
---|---|---|---|---|
| ||||
<general>
<rootDir>$REGION_HOME$/Modules/Sobek/Singapore</rootDir>
<workDir>%ROOT_DIR%</workDir>
<exportDir>%ROOT_DIR%/Input</exportDir>
<exportIdMap>IdExportSobek</exportIdMap>
<importDir>%ROOT_DIR%/Output</importDir>
<importIdMap>IdImportSobekForecast</importIdMap>
<dumpFileDir>$GA_DUMPFILEDIR$</dumpFileDir>
<dumpDir>%ROOT_DIR%</dumpDir>
<diagnosticFile>%ROOT_DIR%/Logs/diagnostics.xml</diagnosticFile>
<missVal>-999.99</missVal>
<convertDatum>true</convertDatum>
<timeZone>
<timeZoneOffset>+08:00</timeZoneOffset>
</timeZone>
</general>
|
Supported input parameters
The SOBEK adapter supports the following input parameters:
Parameter ID | Description |
---|---|
H | Water level at an H boundary |
Q | Flow rate at a Q boundary |
L | Flow rate at a location for lateral discharge |
S | Kalman filter (TODO: further specify) |
GATE HEIGHT | The gate height as set via a controller |
CREST WIDTH | The width of a structure as set via a controller |
CREST HEIGHT | The height of a structure as set via a controller |
...
/timeZoneOffset>
</timeZone>
</general>
|
How to run a model in Ensemble mode?
...
Notice that this functionality is available only since SbkBatch.exe version 2.1.0.112
Problems/Solutions
SbkBatch seems to hang at startup and use a lot of cpu power
This may happen if sbkbatch cannot write it's diagnostics file. Check if the directory is present and if it is readable by the adapter. The location of the diagnostics file is set in the general section of the xml configuration file:
...
<fewsDiagnosticsFile>Logs\Diagnostics.xml</fewsDiagnosticsFile>
...
Installation and latest version
The adapter software is installed as part of the SOBEK installation in the Programs folder. However, due to various features extensions, a later version of the SbkBatch.exe (and the corresponding sobekAdvancedBatch.xsd) can be needed. Therefore the latest version of both can be found here: