There are several model adapters for URBS:
- URBS parameter adapter (this wiki), which
- creates the *.ini file that will be used by the URBS pre adapter (see next step),
- incorporating the modifier written by Delft-FEWS if any
- For more info, see below.
- URBS pre adapter, that does several things:
- extracts the start date, end date and time increment for the data series from the startDate, endDate and timeStep.
- creates an individual file for rainfall, gauging station and inflow data (i.e. the “.r”, “.g” or ‘.i” files) as exported by Delf-FEWS.
- reads the relevant directories to run the URBS model.
- create the modelAdapter.bat file, to start the URBS model
- For more info see https://publicwiki.deltares.nl/download/attachments/8684125/Delft-FEWS%20%E2%80%93%20URBS%20Adapters%20v1.0.pdf?version=1&modificationDate=1513747330821&api=v2
- URBS post adapter, which
- converts the URBS output files to a single xml results file and
- appends log messages from both the model run and the post adapter itself to the log file created by the pre adapter.
- For more info see https://publicwiki.deltares.nl/download/attachments/8684125/Delft-FEWS%20%E2%80%93%20URBS%20Adapters%20v1.0.pdf?version=1&modificationDate=1513747330821&api=v2
Version control of URBS parameter adapter
- 2018.02 and up: fews-urbs-parameter-adapter.jar (updated version due to upgraded jre version java 2013)
- Pre 2018.02: fews-urbs-parameter-adapter.jar
- Deprecated: UrbsIniAdapter.jar
Properties URBS parameter adapter
For this adapter, some optional properties can be configured
parameterSeriesFile
When this property is configured, the adapter will read a pi xml file and will extract the first non missing value for each time series and will replace the values in the .ini file that matches the key of the parameter of that time series.
For example the value 48.0 will be taken from the next time series file and used to write "URBS_IL=48.0" to the urbs.ini file instead of the value taken from the PiParameters.xml file.
This is only done for the "Initial Dam Volumes and Levels", "Catchment and Channel Routing Parameters" and "Rainfall Runoff Parameters" sections in the .ini file.
<?xml version="1.0" encoding="UTF-8"?> <TimeSeries xmlns="http://www.wldelft.nl/fews/PI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews/PI http://fews.wldelft.nl/schemas/version1.0/pi-schemas/pi_timeseries.xsd" version="1.10"> <timeZone>10.0</timeZone> <series> <header> <type>instantaneous</type> <locationId>tweed_uki</locationId> <parameterId>URBS_IL</parameterId> <ensembleId>IFD</ensembleId> <ensembleMemberIndex>0</ensembleMemberIndex> <timeStep unit="second" multiplier="86400"/> <startDate date="2018-05-21" time="10:00:00"/> <endDate date="2018-05-24" time="10:00:00"/> <missVal>-99.0</missVal> <stationName>tweed_uki</stationName> <lat>-28.46995606962717</lat> <lon>153.2671548515222</lon> <x>153.2671548515222</x> <y>-28.46995606962717</y> <z>0.0</z> <units>mm</units> </header> <event date="2018-05-21" time="10:00:00" value="-99.0" flag="8"/> <event date="2018-05-22" time="10:00:00" value="48" flag="0"/> <event date="2018-05-23" time="10:00:00" value="40" flag="0"/> <event date="2018-05-24" time="10:00:00" value="-99.0" flag="8"/> </series> </TimeSeries>
locationParameterSeriesFile
When this property is configured, the adapter will read a pi xml file and will extract the first non missing value for each time series and will replace the values in the .ini file that matches the key of the location of that time series.
For example the value 48.0 will be taken from the next time series file and used to write "URBS_IL=48.0" to the urbs.ini file instead of the value taken from the PiParameters.xml file.
This is only done for the "Initial Dam Volumes and Levels" section in the .ini file.
vecFile
a vec file can be configured which will get the "URBS_VEC_TAGS" group from the Parameters.xml and will replace the corresponding tags is the specified vec file with the values of the parameter.
When "URBS_ASTERISKS" group is defined in Parameters.xml all %ASTERISK_<x>% tags will be replaced with an * where the <x> corresponds to one of the values in the string value of "URBS_ASTERISKS" parameter, separated by /
<group id="URBS_VEC_TAGS" name="URBS Vec tags" readonly="false"> <model>Subcatchments</model> <parameter id="VEC_B0" name="VEC_B0"> <description>URBS_VEC_B0</description> <stringValue>27.5</stringValue> </parameter> <parameter id="VEC_BR" name="VEC_BR"> <description>URBS_VEC_BR</description> <stringValue>0.875</stringValue> </parameter> <parameter id="VEC_BC" name="VEC_BC"> <description>VEC_BC</description> <stringValue>0.23</stringValue> </parameter> <parameter id="VEC_BM" name="VEC_BM"> <description>VEC_BM</description> <stringValue>1</stringValue> </parameter> </group> <group id="URBS_ASTERISKS" name="URBS_ASTERISKS"> <model>Subcatchments</model> <parameter id="URBS_ASTERISKS" name="URBS_ASTERISKS"> <description>URBS_ASTERISKS</description> <stringValue>1/3</stringValue> </parameter> </group>
River KNOCKLOFTY MODEL: SPLIT {Developed by Terry Malone on 08/10/2009} USES: L, E*1, U*1, I*0.1 {The default parameters are for information only} DEFAULT PARAMETERS: alpha = 0.2 m = 0.8 beta = 2.5 n = 1 x = 0 DEFAULT PARAMETERS: K24 = 0.993 CATCHMENT DATA FILE = knocklofty.dat Factor = 1 INPUT. Newcastle_br PRINT.Newcastle_br_G: B0=12.5 {12} Br=0.875 {0.825} BC= 0.25 BM = 1.0 STORE. INPUT. nire PRINT.Nire_G:B0=5.0 Br=0.875 BC= 0.2 BM = 1.0 GET. ROUTE THRU #14 L = 2.63 Sc = 0.0005 ADD RAIN #14 L = 2.63 Sc = 0.0005 {PRINT.Ballydonagh: Br=0.9 BC= 0.2 BM = 1.0} STORE. RAIN #109 L = 5.84 Sc = 0.0273 GET. ROUTE THRU #110 L = 1.22 Sc = 0.0019 ADD RAIN #110 L = 1.22 Sc = 0.0019 ROUTE THRU #15 L = 1.58 Sc = 0.0005 ADD RAIN #15 L = 1.58 Sc = 0.0005 PRINT.KNOCKLOFTY* PRINT.KNOCKLOFTY_G : B0=%VEC_B0% {12} Br=%VEC_BR% {0.85} BC=%VEC_BC% {0.25} BM =%VEC_BM% end of catchment data file. 4 PLUVIOGRAPHS: LOCATION. suir014 1 SUBAREAS: 14 LOCATION. suir015 1 SUBAREAS: 15 LOCATION. suir109 1 SUBAREAS: 109 LOCATION. suir110 1 SUBAREAS: 110 END OF PLUVIOGRAPH DATA. {3 rating station:} {location. newcastle_br_G*1.1} {location. nire_G*0.7} {location. KNOCKLOFTY_G*1.1} {end of rating stations.} 3 gauging station: location. newcastle_br_G%ASTERISK_1% location. nire_G%ASTERISK_2% location. KNOCKLOFTY_G%ASTERISK_3% end of gauging station.