Introduction
Delft Dashboard is an open source package and is part of the OpenEarth suite. It is programmed 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). Besides that, Delft Dashboard offers a broad range of other toolboxes that may be used to investigate e.g. tropical cyclones or tsunami's. 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 are (1) setting up a rectangular grid and (2) matching the bathymetry to this grid. These functionalities are available for all the models supported by Delft Dashboard. For Delft3D-FLOW also functionalities related to the 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 consists of 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 a value is ascribed to every grid cell (possibly a NaN).
3) The different bathymetric data sets are used in the order defined. Dashboard applies a linear interpolation from the bathymetric dataset to the grid. On top of that, Dashboard can take into account a model offset and can apply an internal diffusion to fill gaps in the bathymetry.
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 involves 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 involves 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 terms of longitude and latitude.
4) Roughness
Delft Dashboard also includes the possibility to apply different roughnesses for land and seabed.The basic procedure only involves 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.