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.

Figure: Code structure of the routines needed to create a bathymetry in Dashboard

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.

3) The open boundaries are initialized. This means that the different boundary types (eg. water level or Riemann) are activated with default values (delft3dflow_initializeOpenBoundary).
4) The *.bca file is written to the working directory.
5) The view in Dashboard is updated with the recently formed open boundaries. The name of the boundaries can be seen when Boundaries is selected in the Model menu.

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. 

3) Generation of the amplitude and phases based on the coordinates. Dashboard reads the values from the tide models defined (default TPXO 7.2) and applies a linear interpolation to the coordinates of interest. Diffusion is used to overcome any NaN's. This step is carried out by the function readTideModel.
4) The *.bnd file is written to the working directory. By default, Dashboard applies a water level relation, but also other types (eg. Riemann) are supported. The user can set the boundary condition type in the model menu under Boundary.
Figure: Code structure of the routines needed  to generate boundary conditions in Dashboard

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.

3) The *.rgh file is written to the working directory. 

 

  • No labels