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

Compare with Current View Page History

« Previous Version 14 Next »

XBeach

XBeach is a two-dimensional model for wave propagation, long waves and mean flow, sediment transport and morphological changes of the nearshore area, beaches, dunes and backbarrier during storms.

Example configuration

XBeachAdapterRun.xml

Export activities

The first steps in the general adapter run are the netcdf and run file export activities, the exported files will be a netcdf file (swanxbinput.nc) containing Swan golf spectra over time and a netcdf file (1xbinput.nc) containing water level over time. The exported run file will contain properties that can be used by the pre adapter. For example:

  • TIDE_VARIABLE: name of netcdf variable containing water level
  • PARAM_TUNITS: meaning of the time values in XBeach input and output files. For example "seconds since 2001-01-01"
  • PARAM_OUTPUTFORMAT: XBeach parameter specifying the output format. Has to be "netcdf" for FEWS to import
  • PARAM_TSTOP: XBeach parameter specifying end of XBeach run: for example "36000" which in this case means after 10 hours

Properties starting with "PARAM_" will be passed literally to XBeach without "PARAM_"

export activities
		<exportActivities>
			<exportNetcdfActivity>
				<exportFile>swanxbinput.nc</exportFile>
				<timeSeriesSets>
					<timeSeriesSet>
						<moduleInstanceId>Run_XBeach</moduleInstanceId>
						<valueType>scalar</valueType>
						<parameterId>EnDens</parameterId>
						<domainParameterId>AFREQ</domainParameterId>
						<domainParameterId>NDIR</domainParameterId>
						<locationId>Dummy</locationId>
						<timeSeriesType>external historical</timeSeriesType>
						<timeStep unit="hour"/>
						<relativeViewPeriod unit="hour" start="-24" end="0"/>
						<readWriteMode>add originals</readWriteMode>
						<synchLevel>1</synchLevel>
					</timeSeriesSet>
				</timeSeriesSets>
			</exportNetcdfActivity>
			<exportNetcdfActivity>
				<exportFile>1xbinput.nc</exportFile>
				<timeSeriesSets>
					<timeSeriesSet>
						<moduleInstanceId>Run_XBeach</moduleInstanceId>
						<valueType>scalar</valueType>
						<parameterId>H_mean</parameterId>
						<locationId>Dummy</locationId>
						<timeSeriesType>external historical</timeSeriesType>
						<timeStep unit="minute" multiplier="10"/>
						<relativeViewPeriod unit="hour" start="-24" end="0"/>
						<readWriteMode>add originals</readWriteMode>
					</timeSeriesSet>
				</timeSeriesSets>
			</exportNetcdfActivity>
			<exportRunFileActivity>
				<description>This pi run file is passes as argument to XBeachPreAdapter</description>
				<exportFile>pi_run\pi-run.xml</exportFile>
				<properties>
					<description>Specific configuration required for MyPreAdapter and MyPostAdapter</description>
					<string key="TIDE_VARIABLE" value="H_mean"/>
					<string key="PARAM_TUNITS" value="seconds since 2001-01-01"/>
					<string key="PARAM_OUTPUTFORMAT" value="netcdf"/>
					<string key="PARAM_TSTOP" value="36000"/>
				</properties>
			</exportRunFileActivity>
		</exportActivities>

Execute activities

The next steps are the execute activities. The first will be the pre adapter. This program will read the pi-run.xml input file and use the properties for instructions on which directory and files should be used to convert to the correct XBeach input format.

execute activities
		<executeActivities>
			<executeActivity>
				<command>
					<className>com.deltares.fews.xbeachadapters.preadapter.XBeachPreAdapter</className>
					<binDir>adapter\bin</binDir>
				</command>
				<arguments>
					<argument>pi_run\pi-run.xml</argument>
				</arguments>
				<timeOut>99999999</timeOut>
			</executeActivity>
			<executeActivity>
				<command>
					<executable>runxb.bat</executable>
				</command>
				<timeOut>99999999</timeOut>
			</executeActivity>
		</executeActivities>

Golf spectrum conversion

In this example "swanxbinput.nc" will be used to write the golf spectra into the following format:

  • waves.txt referencing to golf spectrum files and a time of how long these should be used in each calculation step
FILELIST
3600.0      1.0 egx.loct001.sp2
3600.0      1.0 egx.loct002.sp2
3600.0      1.0 egx.loct003.sp2
3600.0      1.0 egx.loct004.sp2
3600.0      1.0 egx.loct005.sp2
3600.0      1.0 egx.loct006.sp2
3600.0      1.0 egx.loct007.sp2
3600.0      1.0 egx.loct008.sp2
3600.0      1.0 egx.loct009.sp2
3600.0      1.0 egx.loct010.sp2
  • egx.loct001.sp2 containing a golf spectrum
Unknown macro: {code|title=egx.loct001.sp2}

SWAN 1 Swan standard spectral file, version
$ Data exported by FEWS for SWAN
$ Project: ; run number:
TIME time-dependent data
1 time coding option
LONLAT locations in spherical coordinates
1 number of locations
4.6019540 52.6194688
AFREQ 1/s
25 number of frequencies
0.0500
0.0566
0.0642
...
0.7791
0.8827
1.0000
NDIR degrees
36 number of directions
265.0000
255.0000
245.0000
...
-65.0000
-75.0000
-85.0000
QUANT
1 number of quantities in table
EnDens id
m unit
-0.9900E+02 exception value
20010101.000000 date and time
FACTOR
0.0011500214
0 0 0 0 0 0 0 0 0 0 ... 0 0 0
0 0 0 0 0 0 0 0 0 0 ... 0 0 0
0 0 0 0 0 0 0 0 0 0 ... 0 0 0
1 1 0 0 0 0 0 0 0 0 ... 0 0 1
40 27 9 3 3 3 2 0 0 0 ... 2 9 28
610 294 70 17 24 31 17 0 0 0 ... 67 303 626
4916 1621 268 57 119 193 145 23 0 1 ... 1780 5295 7229
13782 3341 415 94 287 659 803 340 0 6 ... 14433 28039 27099
14186 2446 257 68 290 982 1874 1407 5 3 ... 52381 62127 39577
10369 1638 231 37 90 431 1241 1598 227 0 ... 99999 80353 37089
8225 1923 361 54 17 70 324 770 448 0 ... 77305 54223 24535
6742 1962 381 88 21 6 30 143 211 0 ... 42814 28100 15442
5744 2480 622 147 34 5 1 8 30 0 ... 27283 16631 9808
4448 2618 1011 228 41 6 0 0 2 2 ... 15103 9139 6001
2853 2150 977 217 34 5 1 0 0 0 ... 8682 5250 3507
1818 1588 752 160 20 4 1 0 0 0 ... 4838 2895 2116
1064 927 597 168 23 3 0 0 0 0 ... 2374 1383 1151
517 534 423 142 23 2 0 0 0 0 ... 1182 789 561
243 299 202 87 17 1 0 0 0 0 ... 756 329 262
137 112 87 51 12 1 0 0 0 0 ... 243 98 120
86 40 34 18 5 1 0 0 0 0 ... 137 117 142
55 21 8 4 2 0 0 0 0 0 ... 137 123 87
24 13 3 1 0 0 0 0 0 0 ... 83 74 62
6 7 1 0 0 0 0 0 0 0 ... 58 27 16
6 3 0 0 0 0 0 0 0 0 ... 39 20 10


h3. Water level conversion

In this example "1xbinput.nc" will be used to write the time dependent water levels to a file named "tide.txt". The first column specifies the time (meaning defined in "PARAM_TUNITS") and the second column water level. For now the adapter only supports the water level as a single boundary condition but XBeach has to possibility to also use 2 or 4 resulting in 1 or 3 extra columns.

{code|title=tide.txt}
0.0000000e+000 \-2.2000000e-002
6.0000000e+002  2.2000000e-002
1.2000000e+003  6.4999998e-002
1.8000000e+003  1.0800000e-001
2.4000000e+003  1.5200000e-001
3.0000000e+003  1.9400001e-001
3.6000000e+003  2.3700000e-001
4.2000000e+003  2.7900001e-001
4.8000000e+003  3.1999999e-001
5.4000000e+003  3.6100000e-001
6.0000000e+003  4.0099999e-001
6.6000000e+003  4.4100001e-001
7.2000000e+003  4.7900000e-001
7.8000000e+003  5.1700002e-001
8.4000000e+003  5.5400002e-001
9.0000000e+003  5.8999997e-001
9.6000000e+003  6.2400001e-001
1.0200000e+004  6.5700001e-001
1.0800000e+004  6.9000000e-001
1.1400000e+004  7.2000003e-001
1.2000000e+004  7.5000000e-001
1.2600000e+004  7.7800000e-001
1.3200000e+004  8.0500001e-001
1.3800000e+004  8.2999998e-001
1.4400000e+004  8.5299999e-001
1.5000000e+004  8.7500000e-001
1.5600000e+004  8.9499998e-001
1.6200000e+004  9.1399997e-001
1.6800000e+004  9.3000001e-001
1.7400000e+004  9.4599998e-001
1.8000000e+004  9.5899999e-001

Parameter conversion

The pre adapter will also convert all run file string properties starting with "PARAM_" to XBeach parameters in "params.txt".
It reads an existing "params.txt" and searches for a line starting with the specified parameter and replaces the whole line with "parameter = value" or adds a new line in the same format when the parameter was not present yet.

Unknown macro: {code|title=params.txt}

----------------------------------------------------

Grid input

nx = 154
ny = 70
xfile = x.grd
yfile = y.grd
xori = 101627.84
yori = 513562.63
alfa = -8
depfile = egmondxbeach.dep
posdwn = -1
thetanaut = 0
thetamin = -40
thetamax = 40
dtheta = 10
vardx = 1
----------------------------------------------------
Numerics input
CFL = 0.8
eps = 0.01
----------------------------------------------------
Time input
tstart = 0.
tstop = 36000
taper = 100
tintg = 3600
tintm = 3600
tintp = 60
----------------------------------------------------
General constants
rho = 1025
g = 9.81
----------------------------------------------------
Boundary condition options
zs0file = tide.txt
tideloc = 1
zs0 = 0
paulrevere = 0
instat = 5
leftwave = 1
rightwave = 1
----------------------------------------------------
Wave calculation options
break = 1
roller = 1
beta = 0.1
refl = 0
gamma = 0.45
delta = 0.0
n = 10.
bcfile = waves.txt
front = 0
snel = 1
oldwbc = 0
----------------------------------------------------
Flow calculation options
nuh = 0.1
nuhfac = 1.0
C = 55.
umin = 0.01
----------------------------------------------------
Sediment transport calculation options
facua = 0.10
D50 = 0.0002
D90 = 0.0003
ngd = 1
nd = 30
struct = 0
sedtrans = 1
sourcesink = 0
----------------------------------------------------
Morphological calculation options
morfac = 10
morstart = 3600
wetslp = 0.15
morphology = 1
----------------------------------------------------
Output options
outputformat = netcdf
nglobalvar = 3
zs
zb
wetz
nmeanvar = 6
H
thetamean
uu
vv
DR
zs
tunits = seconds since 2001-01-01

h2. Executing model run

The next activity will be executing the XBeach model run. So far this is done by a .bat file to be able to run the xbeach.exe in a other directory containing the input files. It would be preferable to change this in such a way that the .bat file will not be needed.

{code|title=module run execute activity}
<executeActivity>
<command>
<executable>runxb.bat</executable>
</command>
<timeOut>99999999</timeOut>
</executeActivity>

Importing Xbeach output

The last part of the general adapter run is importing the XBeach output. In the case xboutput.nc contains all parameter, output and grid information of the run. This can be visualized in FEWS after defining the needed parameters, location and grid. How to do this can be found here: XBeach FEWS setup

Unknown macro: {code|title=model run output import activity}

<importActivities>
<importPiNetcdfActivity>
<importFile>xboutput.nc</importFile>
<timeSeriesSets>
<timeSeriesSet>
<moduleInstanceId>Run_XBeach</moduleInstanceId>
<valueType>grid</valueType>
<parameterId>H_max</parameterId>
<locationId>Dummy</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="hour"/>
<readWriteMode>add originals</readWriteMode>
</timeSeriesSet>
</timeSeriesSets>
</importPiNetcdfActivity>
</importActivities>


  • No labels