Introduction
This page explains the workflow for deriving default settings for a new version of XBeach. Default settings are important for users with limited experience with XBeach. For these users the number of exposed settings should be limited, preferably to case related input, like waterlevels, bathymetry and wave conditions, only. The occasion of setting up this workflow is the preparation of XBeach as assessment model for the Dutch coast. In line with the current WTI project leading this preparation, this workflow is limited to application for the Dutch coast and 1D. Different default settings for different applications may be derived by using this workflow.
Overview
The workflow consists of the following steps:
- Create long list of XBeach settings
- Conduct marginal sensitivity analysis on erosion volume above SSL on long list
- Submit long list including sensitivity results to expert panel
- Create short list of XBeach settings based on feedback expert panel
- Compute variation matrix of relevant ranges for settings on short list on relevant cases
- Pick the combination of settings with smallest RMS error with respect to erosion volume above SSL
Long list
The long list is constructed based on parsing the params.F90 file for settings and removing any parameters that are either case-dependent input (e.g. Hm0) or irrelevant (ships, groundwater flow, etc.). The following parameters are excluded from the long list:
D50 # D50 grain size per grain type D90 # D90 grain size per grain type Hrms # Hrms wave height for instat = 0,1,2,3 Tlong # Wave group period for case instat = 1 Tm01switch # Turn off or on Tm01 or Tm-10 switch Topt # Absolute period to optimize coefficient Trep # Representative wave period for instat = 0,1,2,3 alfa # Angle of x-axis from East aquiferbot # Level of uniform aquifer bottom aquiferbotfile # Name of the aquifer bottom file avalanching # Include avalanching (1) or exclude (0) back # Switch for boundary at bay side, 0 = radiating boundary (Ad), 1 = reflective boundary; uu=0 bcfile # Name of spectrum file bchwiz # Use beachwizard, 0 = beachwizard off, 1 beachwizard on, bed update off, 2 beachwiz on, bed update on. (also requires morphology == 1) bedfricfile # Bed friction file (only valid with values of C) bedfriction # Bed friction formulation: 'chezy','white-colebrook' compi # Imaginary unit depfile # Name of the input bathymetry file dir0 # Mean wave direction (Nautical convention) for instat = 0,1,2,3 disch_loc_file # Name of discharge locations file disch_timeseries_file # Name of discharge timeseries file drifterfile # Name of drifter data file dt # Computational time step, in hydrodynamic time dthetaS_XB # The (counter-clockwise) angle in the degrees needed to rotate from the x-axis in SWAN to the x-axis pointing East dx # Regular grid spacing in x-direction dy # Regular grid spacing in y-direction dzg1 # Thickness of top sediment class layers dzg2 # Nominal thickness of variable sediment class layer dzg3 # Thickness of bottom sediment class layers flow # Include flow calculation (1), or exclude (0) freewave # Switch for free wave propagation 0 = use cg (default); 1 = use sqrt(gh) in instat = 3 front # Switch for seaward flow boundary: 0 = radiating boundary(Ad), 1 = Van Dongeren, 1997 g # Gravitational acceleration globalvars # Mnems of global output variables, not per se the same sice as nglobalvar (invalid variables, defaults) gridform # Swicth to read in grid bathy files with 'XBeach' or 'Delft3D' format respectively gw0 # Level initial groundwater level gw0file # Name of initial groundwater level file gwReturb # Reynolds number for start of turbulent flow in case of gwscheme = turbulent gwfastsolve # Reduce full 2D non-hydrostatic solution to quasi-explicit in longshore direction gwflow # Turn on (1) or off (0) groundwater flow module gwheadmodel # Model to use for vertical groundwater head: 'parabolic' (default), or 'exponential' gwhorinfil # switch to include horizontal infiltration from surface water to groundwater (default = 0) gwnonh # Switch to turn on or off non-hydrostatic pressure for groundwater gwscheme # Scheme for momentum equation (laminar, turbulent) hotstartflow # Switch to hotstart flow conditions with pressure gradient balanced by wind and bed stress instat # Wave boundary condtion type kmax # Number of sigma layers in Quasi-3D model; kmax = 1 (default) is without vertical structure of flow and suspensions kx # Darcy-flow permeability coefficient in x-direction [m/s] ky # Darcy-flow permeability coefficient in y-direction [m/s] kz # Darcy-flow permeability coefficient in z-direction [m/s] lat # Latitude at model location for computing Coriolis left # Switch for lateral boundary at ny+1, 'neumann' = vv computed from NSWE, 'wall' = reflective wall; vv=0 leftwave # old name for lateralwave lwave # Include short wave forcing on NLSW equations and boundary conditions (1), or exclude (0) maxiter # Maximum number of iterations in wave stationary meanvars # Mnems of mean output variables (by variables) mmpi # Number of domains in m direction (cross-shore) when manually specifying mpi domains morfac # Morphological acceleration factor morfacopt # Option indicating whether times should be adjusted (1) or not(0) for morfac morphology # Include morphology (1) or exclude (0) morstart # Start time morphology, in morphological time morstop # Stop time morphology, in morphological time mpiboundary # Fix mpi boundaries along y-lines ('y'), x-lines ('x'), use manual defined domains ('man') or find shortest boundary ('auto') ncfilename # xbeach netcdf output file name ncross # Number of output cross sections nd # Number of computational layers in the bed nd_var # Index of layer with variable thickness ndischarge # Number of discharge locations ndrifter # Number of drifers ne_layer # Name of file containing depth of hard structure ngd # Number of sediment classes nglobalvar # Number of global output variables (as specified by user) nhbreaker # Turn on or off nonhydrostatic breaker model nmeanvar # Number of mean,min,max,var output variables nmpi # Number of domains in n direction (alongshore) when manually specifying mpi domains nonh # Non-hydrostatic pressure option: 0 = NSWE, 1 = NSW + non-hydrostatic pressure compensation Stelling & Zijlema, 2003 nonhspectrum # Switch between spectrum format for wave action balance of nonhydrostatic waves npoints # Number of output point locations npointvar # Number of point output variables nrugauge # Number of output runup gauge locations nship # Number of ships nspectrumloc # Number of input spectrum locations nspr # nspr = 1 long wave direction forced into centres of short wave bins, nspr = 0 regular long wave spreadin ntdischarge # Length of discharge time series nveg # Number of vegetation species nx # Number of computiation cell corners in x-direction ny # Number of computiation cell corners in y-direction oldhu # Turn on / off old hu calculation oldnyq # Turn off or on old nyquist switch outputformat # Choice of output file format: 'netcdf', 'fortran', or 'debug' paulrevere # Specifies tide on sea and land ('land') or two sea points ('sea') if tideloc = 2 pointtypes # Point types (0 = point, 1=rugauge) pointvars # Mnems of point output variables (by variables) posdwn # Bathymetry is specified positive down (1) or positive up (-1) projection # projection string px # Pi q3d # Turn on (1) or off (0) quasi-3D sediment transport module random # Random seed on (1) or off (0) for instat = 4,5,6 boundary conditions rho # Density of water rhoa # Air density rhog8 # 1/8*rho*g rhos # Solid sediment density (no pores) right # Switch for lateral boundary at right, 0 = vv computed from NSWE, 1 = reflective wall; vv=0 rightwave # old name for lateralwave rotate # Rotate (1) postprocess output with the rotate function. rt # Duration of wave spectrum at offshore boundary, in morphological time sedtrans # Include sediment transport (1) or exclude (0) shipfile # Name of ship data file ships # Turn on (1) or off (0) ship waves solver # Solver used to solve the linear system, sip, or tridiag (only for 1d) solver_maxit # Maximum number of iterations in the linear sip solver struct # Switch for hard structures swave # Include short waves (1), exclude short waves (0) swrunup # Turn on (1) or off (0) short wave runup t # Computational time, in hydrodynamic time taper # Spin-up time of wave boundary conditions, in morphological time thetamax # Higher directional limit (angle w.r.t computational x-axis) thetamin # Lower directional limit (angle w.r.t computational x-axis) thetanaut # Thetamin,thetamax in cartesian (0) or nautical convention (1) thetanum # Coefficient determining whether upwind (1) or central scheme (0.5) is used. tideloc # Number of corner points on which a tide time series is specified tidetype # Switch for offfshore boundary, velocity boundary or instant water level boundary (default) timings # Switch to turn on (1) or off (0) progress output to screen tintc # Interval time of cross section output tintg # Interval time of global output tintm # Interval time of mean,var,max,min output tintp # Interval time of point and runup gauge output tnext # Next time point for output or wave stationary calculation, in hydrodynamic time tscross # Name of file containing timings of cross section output tsglobal # Name of file containing timings of global output tsmean # Name of file containing timings of mean, max, min and var output tspoints # Name of file containing timings of point output tstart # Start time of output, in morphological time tstop # Stop time of simulation, in morphological time tunits # Units can be defined in udunits format (seconds since 1970-01-01 00:00:00.00 +1:00) vardx # Switch for variable grid spacing: 1 = irregular spacing, 0 = regular grid spacing vegetation # Turn on (1) or off (0) interaction of waves and flow with vegetation vegiefile # Name of vegie species list file vegiemapfile # Name of vegie species map file wbcversion # Version of wave boundary conditions wearth # Angular velocity of earth calculated as: 1/rotation_time (in hours), later changed in calculation code to rad/s windfile # Name of file with non-stationary wind data windth # Nautical wind direction, in case of stationary wind windv # Wind velocity, in case of stationary wind xfile # Name of the file containing x-coordinates of the calculation grid xori # X-coordinate of origin of axis xyfile # Name of the file containing (Delft3D) xy-coordinates of the calculation grid yfile # Name of the file containing y-coordinates of the calculation grid yori # Y-coordinate of origin of axis zs0 # Inital water level zs0file # Name of tide boundary condition series zsinitfile # Name of inital condition file zs
ARC # Switch for active reflection compensation at seaward boundary: 0 = reflective, 1 = weakly (non) reflective BRfac # Calibration factor surface slope C # Chezy coefficient CFL # Maximum Courant-Friedrichs-Lewy number Cd # Wind drag coefficient Tbfac # Calibration factor for bore interval Tbore: Tbore = Tbfac*Tbore Tsmin # Minimum adaptation time scale in advection diffusion equation sediment alpha # Wave dissipation coefficient in Roelvink formulation bed # Calibration factor for bed transports [0..1] beta # Breaker slope coefficient in roller model betad # Dissipation parameter long wave breaking turbulence break # Type of breaker formulation (1=roelvink, 2=baldock, 3=roelvink adapted, 4=roelvink on/off breaking) breakerdelay # Turn on (1) or off (0) breaker delay model breakviscfac # Factor to increase viscosity during breaking breakvisclen # Ratio between local depth and length scale in extra breaking viscosity bulk # Option to compute bedload and suspended load seperately; 0 = seperately, 1 = bulk (as in previous versions) cats # Current averaging time scale for wci, in terms of mean wave periods cf # Friction coefficient flow cmax # Maximum allowed sediment concentration correctHm0 # Turn off or on Hm0 correction delta # Fraction of wave height to add to water depth depthscale # depthscale of (lab)test simulated. 1 = default, which corresponds to teh real world (nature) dispc # Coefficient in front of the vertical pressure gradient, Default = 1. dryslp # Critical avalanching slope above water (dz/dx and dz/dy) dtbc # Timestep used to describe time series of wave energy and long wave flux at offshore boundary (not affected by morfac) dtheta # Directional resolution dwetlayer # Thickness of the top soil layer interacting more freely with the surface water dzmax # Maximum bedlevel change due to avalanching eps # Threshold water depth above which cells are considered wet eps_sd # Threshold velocity difference to determine conservation of energy head vs momentum epsi # Ratio of mean current to time varying current through offshore boundary facAs # Calibration factor time averaged flows due to wave asymmetry facDc # Option to control sediment diffusion coefficient [0..1] facSk # Calibration factor time averaged flows due to wave skewness facrun # calibration coefficient for short wave runup facsd # fraction of the local wave length to use for shoaling delay depth facsl # Factor bedslope effect facua # Calibration factor time averaged flows due to wave skewness and asymmetry fcutoff # Low-freq cutoff frequency for instat = 4,5,6 boundary conditions form # Equilibrium sed. conc. formulation: 1 = Soulsby van Rijn, 1997, 2 = Van Rijn 2008 with modifications by Van Thiel frac_dz # Relative thickness to split time step for bed updating fw # Bed friction factor fwcutoff # Depth greater than which the bed friction factor is NOT applied gamma # Breaker parameter in Baldock or Roelvink formulation gamma2 # End of breaking parameter in break = 4 formulation gammax # Maximum ratio wave height to water depth hmin # Threshold water depth above which Stokes drift is included hswitch # Water depth at which is switched from wetslp to dryslp hwci # Minimum depth until which wave-current interaction is used jetfac # Option to mimic turbulence production near revetments [0..1] kdmin # Minimum value of kd ( pi/dx > minkd ) lws # 1 = long wave stirring, 0 = no long wave stirring lwt # Switch 0/1 long wave turbulence m # Power in cos^m directional distribution for instat = 0,1,2,3 maxbrsteep # Maximum wave steepness criterium maxerror # Maximum wave height error in wave stationary iteration merge # Merge threshold for variable sediment layer (ratio to nominal thickness) n # Power in Roelvink dissipation model nc # Smoothing distance (defined as nr of cells) for estimating umean nmax # maximum ratio of cg/c fro computing long wave boundary conditions nrugdepth # Number of depths to compute runup in runup gauge nsetbathy # Number of prescribed bed updates nuh # Horizontal background viscosity nuhfac # Viscosity switch for roller induced turbulent horizontal viscosity nuhv # Longshore viscosity enhancement factor, following Svendsen (?) order # Switch for order of wave steering, 1 = first order wave steering (short wave energy only), 2 = second oder wave steering (bound long wave correspon\ ding to short wave forcing is added) por # Porosity reformsteep # Wave steepness criterium to reform after breaking rfb # If rfb = 1 then maximum wave surface slope is feeded back in roller energy balance; else rfb = par%Beta roller # Turn on (1) or off(0) roller model rugdepth # Minimum depth for determination of last wet point in runup gauge scheme # Use first-order upwind (upwind_1), second order upwind (upwind_2) or Lax-Wendroff (lax_wendroff) secbrsteep # Secondary maximum wave steepness criterium secorder # Use second order corrections to advection/non-linear terms based on MacCormack scheme sedcal # Sediment transport calibration coefficient per grain type setbathy # Provide timeseries of prescribed bathy input, 0 = off (default), 1 = on setbathyfile # Name of prescribed bed update file shoaldelay # Turn on (1) or off (0) shoaling delay sigfac # dsig scales with log(sigfac). Default = 1.3 smag # Switch for smagorinsky subgrid model for viscocity smax # Being tested: maximum Shields parameter for ceq Diane Foster snells # Turn on (1) or off (0) Snell's law for wave refraction solver_acc # accuracy with respect to the right-hand side used solver_urelax # Underrelaxation parameter sourcesink # In suspended transport use source-sink terms to calculate bed level change (1) or sus transport gradients (0) split # Split threshold for variable sediment layer (ratio to nominal thickness) sprdthr # Threshold ratio to maxval of S above which spec dens are read in (default 0.08*maxval) sus # Calibration factor for suspensions transports [0..1] sws # 1 = short wave & roller stirring and undertow, 0 = no short wave & roller stirring and undertow trepfac # Compute mean wave period over energy band: par%trepfac*maxval(Sf) for instat 4,5,6; converges to Tm01 for trepfac = 0.0 and tsfac # Coefficient determining Ts = tsfac * h/ws in sediment source term turb # Switch to include short wave turbulence: turbadv # Switch 0/1 to activate turbulence advection model for short and or long wave turbulence ucrcal # Critical velocity calibration coefficient per grain type umin # Threshold velocity for upwind velocity detection and for vmag2 in eq. sediment concentration waveform # Option for waveshape model: 1 = Ruessink & Van Rijn, 2 = Van Thiel de Vries, 2009 wavint # Interval between wave module calls (only in stationary wave mode) wci # Turns on (1) or off (0) wave-current interaction wetslp # Critical avalanching slope under water (dz/dx and dz/dy) z0 # Zero flow velocity level in Soulsby van Rijn (1997) sed.conc. expression
Marginal sensitivity analysis
The marginal sensitivity analysis is performed using a default dune profile and representative settings for the Dutch coast (normative conditions). Using this model, a single parameter is varied over the applicable range of values. The default values are always included. The sensitivity is subsequently determined by looking at the variation in erosion volume depending on that parameter setting.
Preliminary results are as follows. The first plot shows for each varied parameter the variation in erosion volume above SSL. The black dot indicates the default value. The red line indicates a linear fit excluding any outliers. The second plot shows the minimum and maximum erosion volumes found when varying a parameter over it's valid range of values. The plot is ordered based on the difference between the minimum and maximum value found.
Zero-influence parameters
Some parameters show no influence at all. This might be due to the fact that a parameter is only applicable to a part of XBeach that is not enabled by default. But it might also mean that there is no influence at all in the case simulated. The zero-influence parameters are discussed below.
facsd # fraction of the local wave length to use for shoaling delay depth hwci # Minimum depth until which wave-current interaction is used scheme # Use first-order upwind (upwind_1), second order upwind (upwind_2) or Lax-Wendroff (lax_wendroff) jetfac # Option to mimic turbulence production near revetments [0..1] nrugdepth # Number of depths to compute runup in runup gauge smag # Switch for smagorinsky subgrid model for viscocity breakviscfac # Factor to increase viscosity during breaking sigfac # dsig scales with log(sigfac). Default = 1.3 gamma2 # End of breaking parameter in break = 4 formulation maxerror # Maximum wave height error in wave stationary iteration form # Equilibrium sed. conc. formulation: 1 = Soulsby van Rijn, 1997, 2 = Van Rijn 2008 with modifications by Van Thiel lws # 1 = long wave stirring, 0 = no long wave stirring turb # Switch to include short wave turbulence: facrun # calibration coefficient for short wave runup sourcesink # In suspended transport use source-sink terms to calculate bed level change (1) or sus transport gradients (0) lwt # Switch 0/1 long wave turbulence roller # Turn on (1) or off(0) roller model waveform # Option for waveshape model: 1 = Ruessink & Van Rijn, 2 = Van Thiel de Vries, 2009 turbadv # Switch 0/1 to activate turbulence advection model for short and or long wave turbulence sus # Calibration factor for suspensions transports [0..1] maxbrsteep # Maximum wave steepness criterium sws # 1 = short wave & roller stirring and undertow, 0 = no short wave & roller stirring and undertow Tm01 # Old name for Trep split # Split threshold for variable sediment layer (ratio to nominal thickness) wavint # Interval between wave module calls (only in stationary wave mode) rfb # If rfb = 1 then maximum wave surface slope is feeded back in roller energy balance; else rfb = par%Beta snells # Turn on (1) or off (0) Snell's law for wave refraction wci # Turns on (1) or off (0) wave-current interaction bulk # Option to compute bedload and suspended load seperately; 0 = seperately, 1 = bulk (as in previous versions) depthscale # depthscale of (lab)test simulated. 1 = default, which corresponds to teh real world (nature) breakvisclen # Ratio between local depth and length scale in extra breaking viscosity dtheta # Directional resolution dtbc # Timestep used to describe time series of wave energy and long wave flux at offshore boundary (not affected by morfac) z0 # Zero flow velocity level in Soulsby van Rijn (1997) sed.conc. expression nsetbathy # Number of prescribed bed updates frac_dz # Relative thickness to split time step for bed updating break # Type of breaker formulation (1=roelvink, 2=baldock, 3=roelvink adapted, 4=roelvink on/off breaking) betad # Dissipation parameter long wave breaking turbulence setbathy # Provide timeseries of prescribed bathy input, 0 = off (default), 1 = on correctHm0 # Turn off or on Hm0 correction oldwbc # (1) Use old version wave boundary conditions for instat 4,5,6 BRfac # Calibration factor surface slope m # Power in cos^m directional distribution for instat = 0,1,2,3 bed # Calibration factor for bed transports [0..1] Cd # Wind drag coefficient fwcutoff # Depth greater than which the bed friction factor is NOT applied merge # Merge threshold for variable sediment layer (ratio to nominal thickness) fcutoff # Low-freq cutoff frequency for instat = 4,5,6 boundary conditions ARC # Switch for active reflection compensation at seaward boundary: 0 = reflective, 1 = weakly (non) reflective shoaldelay # Turn on (1) or off (0) shoaling delay breakerdelay # Turn on (1) or off (0) breaker delay model
facsd # only relevant for shoaldelay=1, default is shoaldelay=0 hwci # only relevant for wci=1, default is wci=0 scheme # ? relevant for all jetfac # only relevant for swrunup=1, default is swrunup=0 nrugdepth # only relevant for point or runup gauge output smag # ? relevant for all breakviscfac # only relevant for nonh=1 and swave=0, default is nonh=0 and swave=1 sigfac # only relevant for kmax>1, default is kmax=1 gamma2 # ? relevant for break=roelvink1 or break=roelvink2, default is break=roelvink2 maxerror # only relevant for stationary wave solver form # ? relevant for all lws # ? relevant for all turb # ? relevant for all facrun # relevant for swrunup=1, default is swrunup=0 sourcesink # ? relevant for all lwt # ? relevant for turbulence computation, which is the default roller # ? relevant for all waveform # ? relevant for swave=1, default is swave=1 turbadv # ? relevant for all sus # ? relevant for all maxbrsteep # only relevant for nonh=1, default is nonh=0 sws # ? relevant for all Tm01 # overwritten by Trep split # only relevant for ngd>1, default is ngd=1 wavint # only relevant for stationary wave solver rfb # ? relevant for waveform=vanthiel, default is waveform=vanthiel snells # ? relevant for all 1D models wci # ? relevant for all bulk # relevant for all, but should not change outcome, only output depthscale # validity range is irrelevant breakvisclen # only relevant for nonh=1 and swave=0, default is nonh=0 and swave=1 dtheta # should not be changed in 1D dtbc # ? relevant for all z0 # only relevant for form=soulsby_vanrijn, default is form=vanthiel_vanrijn nsetbathy # only relevant for time-dependent bathy input frac_dz # only relevant for ngd>1, default is ngd=1 break # ? relevant for all betad # ? relevant for all setbathy # only relevant for nsetbaty>1, default is nsetbathy=1 correctHm0 # ? relevant for all oldwbc # only relevant for wbcversion<3, default is wbcversion=3 BRfac # only relevant for rfb=1, default is rfb=0 m # only relevant for instat<4, default is instat=4 bed # ? relevant for all Cd # only relevant for wind input fwcutoff # ? relevant for all merge # only relevant for ngd>1, default is ngd=1 fcutoff # ? relevant for all ARC # only relevant for front=abs_2d, default is front=abs_2d, but set to front=abs_1d in 1D case shoaldelay # ? relevant for all breakerdelay # ? relevant for all
Expert panel
- Dano Roelvink
- Ad Reniers
- Jaap van Thiel de Vries
- Robert McCall
- Ap van Dongeren
Short list
Variation matrix
Resolution vs. dimensions
We can choose either to vary a large number of parameters (dimensions) using a limited resolution or vary a small number of parameters using a high resolution.
Cases
- Deltaflume ?
- Deltaflume 2006
- Boers ?
- 1953 storm surge
Result
Discussion
Several topics within this workflow are still being discussed. These discussions are briefly mentioned below.
Performance indicators
XBeach allows a variety of performance indicators to be used to compare the performance of one set of settings against another. For example, a profile comparison with measured data may be used by computing a BSS score. The BSS score itself, however, is subject to discussion for this purpose. Moreover, comparison data is often obtained from flume experiments on scale. These experiments use scaling rules that are derived by comparing erosion profiles rather than profile shape. The profile shape for these tests can thus not be used. For now, we use the erosion volume above SSL as performance indicator. Another advantage of this indicator is that it relates well to other calibration studies for dune assessment models in the Netherlands.
Scaling
Comparison with data is often done using data obtained from flume experiments. These experiments are performed on scale. XBeach allows us to simulate the experiment at the scale of the experiment rather than on a 1:1 scale. As for now, this is not done for two reasons. First, the scaling within XBeach is still subject to discussion. Second, other calibration studies for dune assessment models also first scaled the experiment results and then performed the calibration.