Introduction
Delft Dashboard is an open source package and is part of the OpenEarth suite. It is written in Matlab code and provides an interface for several numerical models (e.g. Delft3D-FLOW, XBeach), however, the main functionality is Delft3D-FLOW. Models are quickly set up via the Model maker toolbox by loading online available data (e.g. bathymetry: GEBCO '08, tide: TPXO 7.2). However, Delft Dashboard offers a much broader range of applicability as it may be used to investigate e.g. tropical cyclones or tsunami's through corresponding toolboxes. On this page the different Matlab routines applied within the Model Maker toolbox are described.
Model maker
The toolbox Model Maker has two functions which can be used for all models supported by Dashboard which makes it easy to set-up a rectangular grid and matching the bathymetry to it. For Delft3D-FLOW also functionality related to boundary conditions and roughness have been implemented.
1) Make a rectangular grid
A rectangular grid can be created for every model supported by Delft Dashboard. The basic procedure contains three steps.
1) All the relevant variables (grid orientation, resolution) are loaded from the interface in Dashboard (getHandles).
2) Creation of a full grid based on the active bathymetry (often GEBCO '08). This full grid will have a margin of 20 percent and is thus larger than the grid defined in Dashboard. This is done in order to overcome interpolation issues at the edges of your grid. This full grid will also have a bathymetry in order to determine where the grid needs to be cut-off based on the maximum height (Z-Max) described in Dashboard. This step is carried out by the function ddb_ModelMakerToolbox_makeRectangularGrid.
3) The final grid is created based on this larger grid. Rotation is taken into account and cells above a certain threshold (Z max) are deleted. This step is carried out by the function MakeRectangularGrid.
Figure: Code structure of the routines needed to create a rectangular grid in Dashboard
2) Make a bathymetry
A bathymetry can be created for every model supported by Delft Dashboard. The basic procedure will contain three steps.
1) All the relevant variables (grid orientation, resolution) are loaded from the interface in Dashboard (getHandles).
2) The data sets described in Bathymetry are prepared to be applied in the actual bathymetry. This means that for every grid cell there is at least a value (possibly a NaN).
3) The different bathymetric data sets are used in the order defined. Dashboard applies a linear interpolation from the grid the bathymetry is defined on to the grid it needs to be calculated on. On top of that, Dashboard can take into account a model offset and can apply an internal diffusion in order to overcome possible undefined cells (NaNs).
3) Make open boundaries and create boundary conditions
A. Make open boundaries
The open boundary for Delft3D-FLOW can be created with Delft Dashboard. The basic procedure to create open boundaries will contain five steps. The master function of this routine is ddb_generateBoundaryLocationsDelft3DFLOW.
1) All the relevant variables (grid, bathymetry, the number of boundaries and source) are loaded from the interface in Dashboard (getHandles).
2) A specific number of open boundaries is created on the grid. The function determines if a cross-section is 'open' based on the Z max defined in Dashboard. This step is carried out by the function findBoundarySectionsOnStructuredGrid.
Figure: Code structure of the routines needed to create open boundaries in Dashboard
B. Generate boundary conditions
It is also possible to generate astronomic boundary conditions for Delft3D-FLOW with Delft Dashboard. The basic procedure to generate boundary conditions will contain four steps. The master function of this routine is ddb_generateBoundaryConditionsDelft3DFLOW.
1) All the relevant variables (grid, bathymetry, the number of boundaries and source) are loaded from the interface in Dashboard (getHandles).
2) Determine the coordinates of the end of each boundary in longitude and latitude.
4) Roughness
Delft Dashboard also supports to the possibility to apply a different roughness on land than on the seabed.The basic procedure only contains three steps. The master function of this routine is ddb_ModelMakerToolbox_roughness.
1) All the relevant variables (grid, bathymetry, the number of boundaries and source) are loaded from the interface in Dashboard (getHandles).
2) Determine which cells are above the land elevation defined. Grid cells above this value will get a land roughness and the remaining cells will get a sea roughness.