D Flow Flexible Mesh User Manual Flow_FM_User_Manual FM

User Manual: Pdf D-Flow_FM_User_Manual

Open the PDF directly: View PDF PDF.
Page Count: 436

DownloadD-Flow Flexible Mesh User Manual D-Flow_FM_User_Manual FM
Open PDF In BrowserView PDF
1D/2D/3D Modelling suite for integral water solutions

DR
AF

T

Delft3D Flexible Mesh Suite

D-Flow Flexible Mesh

User Manual

DR
AF
T

T

DR
AF

D-Flow Flexible Mesh
D-Flow FM in Delta Shell

User Manual

Released for:
Delft3D FM Suite 2018
D-HYDRO Suite 2018

Version: 1.2.1
SVN Revision: 55248
April 18, 2018

DR
AF

T

D-Flow Flexible Mesh, User Manual

Published and printed by:
Deltares
Boussinesqweg 1
2629 HV Delft
P.O. 177
2600 MH Delft
The Netherlands

For sales contact:
telephone: +31 88 335 81 88
fax:
+31 88 335 81 11
e-mail:
software@deltares.nl
www:
https://www.deltares.nl/software

telephone:
fax:
e-mail:
www:

+31 88 335 82 73
+31 88 335 85 82
info@deltares.nl
https://www.deltares.nl

For support contact:
telephone: +31 88 335 81 00
fax:
+31 88 335 81 11
e-mail:
software.support@deltares.nl
www:
https://www.deltares.nl/software

Copyright © 2018 Deltares
All rights reserved. No part of this document may be reproduced in any form by print, photo
print, photo copy, microfilm or any other means, without written permission from the publisher:
Deltares.

Contents

Contents
List of Figures

xiii

List of Tables

xxi

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

1
1
1
2
2
3

2 Introduction to D-Flow Flexible Mesh
2.1 Areas of application . . . . . . . . . . . . . . . .
2.2 Standard features . . . . . . . . . . . . . . . . .
2.3 Special features . . . . . . . . . . . . . . . . . .
2.4 Important differences compared to Delft3D-FLOW
2.5 Coupling to other modules . . . . . . . . . . . .
2.6 Installation . . . . . . . . . . . . . . . . . . . .
2.6.1 Installation of DeltaShell . . . . . . . . .
2.6.2 Installation of the computational core . . .
2.7 Examples . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

5
5
5
6
6
7
7
7
7
8

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

9
9
9
10
11
12
13
13
13
13
14
15
15
15
17
17
18
18
19
19
20
20
20
21
21
22
22
24
24
24
25

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

DR
AF

T

1 A guide to this manual
1.1 Introduction . . . . . . . . . . . . . . . .
1.2 Overview . . . . . . . . . . . . . . . . .
1.3 Manual version and revisions . . . . . . .
1.4 Typographical conventions . . . . . . . .
1.5 Changes with respect to previous versions

3 Getting started
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Overview of D-Flow FM GUI . . . . . . . . . . . . . . .
3.2.1 Project window . . . . . . . . . . . . . . . . . .
3.2.2 Central (map) window . . . . . . . . . . . . . .
3.2.3 Map window . . . . . . . . . . . . . . . . . . .
3.2.4 Messages window . . . . . . . . . . . . . . . .
3.2.5 Time navigator window . . . . . . . . . . . . . .
3.3 Dockable views . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Docking tabs separately . . . . . . . . . . . . .
3.3.2 Multiple tabs . . . . . . . . . . . . . . . . . . .
3.4 Ribbons and toolbars . . . . . . . . . . . . . . . . . . .
3.4.1 Ribbons (shortcut keys) . . . . . . . . . . . . . .
3.4.2 File . . . . . . . . . . . . . . . . . . . . . . . .
3.4.3 Home . . . . . . . . . . . . . . . . . . . . . . .
3.4.4 View . . . . . . . . . . . . . . . . . . . . . . .
3.4.5 Tools . . . . . . . . . . . . . . . . . . . . . . .
3.4.6 Map . . . . . . . . . . . . . . . . . . . . . . .
3.4.7 Scripting . . . . . . . . . . . . . . . . . . . . .
3.4.8 Shortcuts . . . . . . . . . . . . . . . . . . . . .
3.4.9 Quick access toolbar . . . . . . . . . . . . . . .
3.5 Basic steps to set up a D-Flow FM model . . . . . . . . .
3.5.1 Add a D-Flow FM model . . . . . . . . . . . . .
3.5.2 Set up a D-Flow FM model . . . . . . . . . . . .
3.5.3 Multiple input files . . . . . . . . . . . . . . . .
3.5.4 Converting a Delft3D-FLOW model into D-Flow FM
3.5.5 Validate D-Flow FM model . . . . . . . . . . . .
3.5.6 File tree . . . . . . . . . . . . . . . . . . . . .
3.5.7 Run D-Flow FM model . . . . . . . . . . . . . .
3.5.8 Inspect model output . . . . . . . . . . . . . . .
3.5.9 Import/export or delete a D-Flow FM model . . . .

Deltares

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

iii

D-Flow Flexible Mesh, User Manual

3.6

3.5.10 Save project . . . . . . . . . . . . . . . . .
3.5.11 Exit Delta Shell . . . . . . . . . . . . . . . .
Important differences compared to Delft3D-FLOW GUI
3.6.1 Project vs model . . . . . . . . . . . . . . .
3.6.2 Load/save vs import/export . . . . . . . . . .
3.6.3 Working from the map . . . . . . . . . . . .
3.6.4 Coordinate conversion . . . . . . . . . . . .
3.6.5 Model area . . . . . . . . . . . . . . . . . .
3.6.6 Integrated models (model couplings) . . . . .
3.6.7 Ribbons (shortcut keys) . . . . . . . . . . . .
3.6.8 Context menus . . . . . . . . . . . . . . . .
3.6.9 Scripting . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

26
26
27
27
27
27
27
28
29
29
29
29

DR
AF

T

4 All about the modelling process
31
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 mdu-file and attribute files . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 Filenames and conventions . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4 Setting up a D-Flow FM model . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4.1.1 Vertical layer specification . . . . . . . . . . . . . . . . . 33
4.4.1.2 Model coordinate system . . . . . . . . . . . . . . . . . . 34
4.4.1.3 Angle of latitude . . . . . . . . . . . . . . . . . . . . . . 35
4.4.2 Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.4.2.1 Grid snapped features . . . . . . . . . . . . . . . . . . . 36
4.4.2.2 Observation points . . . . . . . . . . . . . . . . . . . . . 37
4.4.2.3 Observation cross-sections . . . . . . . . . . . . . . . . . 38
4.4.2.4 Thin dams . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.4.2.5 Fixed weirs . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.4.2.6 Land boundaries . . . . . . . . . . . . . . . . . . . . . . 42
4.4.2.7 Dry points and dry areas . . . . . . . . . . . . . . . . . . 43
4.4.2.8 Pumps . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4.2.9 Weirs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.4.2.10 Gates . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4.3 Computational grid . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.4.4 Bed Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.4.5 Time frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.4.6 Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.4.7 Initial conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.4.8 Boundary conditions . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.4.8.1 Specification of boundary locations (support points) . . . . 54
4.4.8.2 Boundary data editor (forcing) . . . . . . . . . . . . . . . 57
4.4.8.3 Import/export boundary conditions from the Project window 71
4.4.8.4 Overview of boundary conditions in attribute table (non-editable) 73
4.4.9 Physical parameters . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.9.1 Constants . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.9.2 Roughness . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.9.3 Viscosity . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4.9.4 Wind . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.4.9.5 Heat Flux model . . . . . . . . . . . . . . . . . . . . . . 76
4.4.9.6 Tidal forces . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4.10 Sources and sinks . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4.11 Numerical parameters . . . . . . . . . . . . . . . . . . . . . . . . 79
4.4.12 Output parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.4.13 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

iv

Deltares

Contents

4.5

4.4.14 Sediment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.4.15 Morphology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Save project, MDU file and attribute files . . . . . . . . . . . . . . . . . . . 89

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

91
91
91
91
92
93
95
95
96
96
97
97
98
99
99
100
100
101
101
102
102
103
104

6 Visualize results
6.1 Introduction . . . . . . . . .
6.2 Visualization with Delta Shell
6.3 Visualization with Quickplot .
6.4 Visualization with Muppet . .
6.5 Visualization with Matlab . .
6.6 Visualization with Python . .

DR
AF

T

5 Running a model
5.1 Running a simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Parallel calculations using MPI . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2 Partitioning the model . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2.1 More about the mesh partitioning . . . . . . . . . . . . .
5.2.3 Partitioning the MDU file . . . . . . . . . . . . . . . . . . . . . .
5.2.3.1 Remaining model input . . . . . . . . . . . . . . . . . .
5.2.4 Running a parallel job . . . . . . . . . . . . . . . . . . . . . . . .
5.2.5 Visualizing the results of a parallel run . . . . . . . . . . . . . . .
5.2.5.1 Plotting all partitioned map files with Delft3D-QUICKPLOT
5.2.5.2 Merging multiple map files into one . . . . . . . . . . . .
5.3 Running a scenario using Delta Shell . . . . . . . . . . . . . . . . . . . .
5.4 Running a scenario using a batch script . . . . . . . . . . . . . . . . . . .
5.5 Run time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1 Multi-core performance improvements by OpenMP . . . . . . . . .
5.6 Files and file sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.1 History file . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.2 Map file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6.3 Restart file . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7 Command-line arguments . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8 Restart a simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.9 Frequently asked questions . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

105
105
105
106
107
107
107

7 Hydrodynamics
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 General background . . . . . . . . . . . . . . . . . . . . .
7.2.1 Range of applications of D-Flow FM . . . . . . . . .
7.2.2 Physical processes . . . . . . . . . . . . . . . . . .
7.2.3 Assumptions underlying D-Flow FM . . . . . . . . . .
7.3 Hydrodynamic processes . . . . . . . . . . . . . . . . . . .
7.3.1 Topological conventions . . . . . . . . . . . . . . .
7.3.2 Conservation of mass and momentum . . . . . . . .
7.3.2.1 Continuity equation . . . . . . . . . . . . .
7.3.2.2 Momentum equations in horizontal direction
7.3.2.3 Vertical velocities . . . . . . . . . . . . . .
7.3.3 The hydrostatic pressure assumption . . . . . . . . .
7.3.4 The Coriolis force . . . . . . . . . . . . . . . . . . .
7.3.5 Diffusion of momentum . . . . . . . . . . . . . . . .
7.3.6 Conveyance in 2D . . . . . . . . . . . . . . . . . .
7.4 Hydrodynamics boundary conditions . . . . . . . . . . . . .
7.4.1 Open boundary conditions . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

109
109
109
109
110
111
112
113
116
116
117
117
117
118
118
119
120
121

Deltares

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

v

D-Flow Flexible Mesh, User Manual

DR
AF

T

7.4.1.1 The location of support points . . . . . . . . . . . . . .
7.4.1.2 Physical information . . . . . . . . . . . . . . . . . . .
7.4.1.3 Example . . . . . . . . . . . . . . . . . . . . . . . . .
7.4.1.4 Miscellaneous . . . . . . . . . . . . . . . . . . . . . .
7.4.2 Vertical boundary conditions . . . . . . . . . . . . . . . . . . . .
7.4.3 Shear-stresses at closed boundaries . . . . . . . . . . . . . . . .
7.5 Artificial mixing due to sigma-coordinates . . . . . . . . . . . . . . . . . .
7.6 Secondary flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6.2 Depth-averaged continuity equation . . . . . . . . . . . . . . . . .
7.6.3 Momentum equations in horizontal direction . . . . . . . . . . . .
7.6.4 Effect of secondary flow on depth-averaged momentum equations .
7.6.5 The depth averaged transport equation for the spiral motion intensity
7.7 Drying and flooding . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7.1.1 Piecewise constant approach for the bed level . . . . . .
7.7.1.2 Piecewise linear approach for the bed levels . . . . . . .
7.7.1.3 Hybrid bed level approach . . . . . . . . . . . . . . . .
7.7.2 Specification in Delta Shell . . . . . . . . . . . . . . . . . . . . .
7.8 Intakes, outfalls and coupled intake-outfalls . . . . . . . . . . . . . . . . .
7.9 Equations of state for the density . . . . . . . . . . . . . . . . . . . . . .
7.10 Tide generating forces . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 Transport of matter
8.1 Introduction . . . . . . . . . . . . . . . . . . . .
8.2 Some words about suspended sediment transport
8.3 Transport processes . . . . . . . . . . . . . . .
8.3.1 Advection . . . . . . . . . . . . . . . . .
8.3.2 Diffusion . . . . . . . . . . . . . . . . .
8.3.3 Sources and sinks . . . . . . . . . . . .
8.3.4 Forester filter . . . . . . . . . . . . . . .
8.4 Transport boundary and initial conditions . . . . .
8.4.1 Open boundary conditions . . . . . . . .
8.4.2 Closed boundary conditions . . . . . . .
8.4.3 Vertical boundary conditions . . . . . . .
8.4.4 Thatcher-Harleman boundary conditions .
8.4.5 Initial conditions . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

121
123
128
130
131
131
132
136
137
137
137
138
139
139
140
141
142
143
143
144
146
148

.
.
.
.
.
.
.
.
.
.
.
.
.

151
151
152
152
152
153
154
155
155
155
156
156
156
156

9 Turbulence
159
9.1 k-epsilon turbulence model . . . . . . . . . . . . . . . . . . . . . . . . . . 161
9.2 k-tau turbulence model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
10 Heat transport
10.1 Heat balance . . . . . . . . . . . . . . .
10.2 Solar radiation . . . . . . . . . . . . . .
10.3 Atmospheric radiation (long wave radiation)
10.4 Back radiation (long wave radiation) . . . .
10.5 Effective back radiation . . . . . . . . . .
10.6 Evaporative heat flux . . . . . . . . . . .
10.7 Convective heat flux . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

165
168
168
170
171
171
171
173

11 Wind
175
11.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
11.1.1 Nautical convention . . . . . . . . . . . . . . . . . . . . . . . . . . 175
11.1.2 Drag coefficient . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

vi

Deltares

Contents

11.2 File formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
11.2.1 Defined on the computational grid . . . . . . . . . . . . . . . . . . 179
11.2.1.1 Specification of uniform wind through velocity components . 179
11.2.1.2 Specification of uniform wind through magnitude and direction180
11.2.2 Defined on an equidistant grid . . . . . . . . . . . . . . . . . . . . 180
11.2.3 Defined on a curvilinear grid . . . . . . . . . . . . . . . . . . . . . 182
11.2.4 Space and time varying Charnock coefficients . . . . . . . . . . . . 183
11.2.5 Defined on a spiderweb grid . . . . . . . . . . . . . . . . . . . . . 184
11.2.6 Combination of several wind specifications . . . . . . . . . . . . . . 186
11.3 Masking of points in the wind grid from interpolation (‘land-sea mask’) . . . . . 188

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

189
189
189
190
190
192
193
194

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

195
195
195
195
202
203

T

.
.
.
.
.
.
.

DR
AF

12 Hydraulic structures
12.1 Introduction . . . . . . . .
12.2 Structures . . . . . . . .
12.2.1 Fixed weirs . . . .
12.2.2 (adjustable) Weirs
12.2.3 Gates . . . . . . .
12.2.4 Pumps . . . . . .
12.2.5 Thin dams . . . .

13 Bedforms and vegetation
13.1 Bedform heights . . . . . . . . . . . . . . . . .
13.2 Trachytopes . . . . . . . . . . . . . . . . . . . .
13.2.1 Trachytope classes . . . . . . . . . . . .
13.2.2 Averaging and accumulation of trachytopes
13.3 (Rigid) three-dimensional vegetation model . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

14 Calibration factor

205

15 Coupling with D-Waves (SWAN)
15.1 Getting started . . . . . . . . . . . . . . . .
15.1.1 Input D-Flow FM . . . . . . . . . . .
15.1.2 Input D-Waves . . . . . . . . . . . .
15.1.3 Input dimr . . . . . . . . . . . . . .
15.1.4 Online process order . . . . . . . . .
15.1.5 Related files . . . . . . . . . . . . .
15.2 Forcing by radiation stress gradients . . . . .
15.3 Stokes drift and mass flux . . . . . . . . . . .
15.4 Streaming . . . . . . . . . . . . . . . . . .
15.5 Enhancement of the bed shear-stress by waves

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

207
207
208
208
209
211
212
213
214
215
215

16 Coupling with D-RTC (RTC-Tools)
16.1 Introduction . . . . . . . . . . . . .
16.2 Getting started . . . . . . . . . . .
16.2.1 User interface: the first steps
16.2.2 Input D-Flow FM . . . . . .
16.2.3 Input D-RTC . . . . . . . .
16.2.4 Input d_hydro . . . . . . . .
16.2.5 Online process order . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

221
221
221
221
222
223
223
223

17 Coupling with D-Water Quality (Delwaq)
17.1 Introduction . . . . . . . . . . . . .
17.2 Offline versus online coupling . . . .
17.3 Creating output for D-Water Quality .
17.4 Current limitations . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

225
225
225
225
226

Deltares

vii

D-Flow Flexible Mesh, User Manual

DR
AF

T

18 Sediment transport and morphology
18.1 General formulations . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.1.2 Suspended transport . . . . . . . . . . . . . . . . . . . . . . . .
18.1.3 Effect of sediment on fluid density . . . . . . . . . . . . . . . . .
18.1.4 Sediment settling velocity . . . . . . . . . . . . . . . . . . . . . .
18.1.5 Dispersive transport . . . . . . . . . . . . . . . . . . . . . . . .
18.1.6 Three-dimensional wave effects . . . . . . . . . . . . . . . . . . .
18.1.7 Initial and boundary conditions . . . . . . . . . . . . . . . . . . .
18.1.7.1 Initial condition . . . . . . . . . . . . . . . . . . . . . .
18.1.7.2 Boundary conditions . . . . . . . . . . . . . . . . . . .
18.2 Cohesive sediment . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.2.1 Cohesive sediment settling velocity . . . . . . . . . . . . . . . . .
18.2.2 Cohesive sediment dispersion . . . . . . . . . . . . . . . . . . .
18.2.3 Cohesive sediment erosion and deposition . . . . . . . . . . . . .
18.2.4 Interaction of sediment fractions . . . . . . . . . . . . . . . . . .
18.2.5 Influence of waves on cohesive sediment transport . . . . . . . . .
18.2.6 Inclusion of a fixed layer . . . . . . . . . . . . . . . . . . . . . .
18.2.7 Inflow boundary conditions cohesive sediment . . . . . . . . . . .
18.3 Non-cohesive sediment . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.3.1 Non-cohesive sediment settling velocity . . . . . . . . . . . . . . .
18.3.2 Non-cohesive sediment dispersion . . . . . . . . . . . . . . . . .
18.3.2.1 Using the k-epsilon turbulence model . . . . . . . . . . .
18.3.2.2 Using the k-tau turbulence model . . . . . . . . . . . . .
18.3.3 Reference concentration . . . . . . . . . . . . . . . . . . . . . .
18.3.4 Non-cohesive sediment erosion and deposition . . . . . . . . . . .
18.3.5 Inclusion of a fixed layer . . . . . . . . . . . . . . . . . . . . . .
18.3.6 Inflow boundary conditions non-cohesive sediment . . . . . . . . .
18.4 Bedload sediment transport of non-cohesive sediment . . . . . . . . . . .
18.4.1 Basic formulation . . . . . . . . . . . . . . . . . . . . . . . . . .
18.4.2 Suspended sediment correction vector . . . . . . . . . . . . . . .
18.4.3 Interaction of sediment fractions . . . . . . . . . . . . . . . . . .
18.4.4 Inclusion of a fixed layer . . . . . . . . . . . . . . . . . . . . . .
18.4.5 Calculation of bedload transport at open boundaries . . . . . . . .
18.4.6 Bedload transport at velocity points . . . . . . . . . . . . . . . . .
18.4.7 Adjustment of bedload transport for bed-slope effects . . . . . . . .
18.5 Transport formulations for non-cohesive sediment . . . . . . . . . . . . . .
18.5.1 Van Rijn (1993) . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.5.2 Engelund-Hansen (1967) . . . . . . . . . . . . . . . . . . . . . .
18.5.3 Meyer-Peter-Muller (1948) . . . . . . . . . . . . . . . . . . . . .
18.5.4 General formula . . . . . . . . . . . . . . . . . . . . . . . . . .
18.5.5 Bijker (1971) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.5.5.1 Basic formulation . . . . . . . . . . . . . . . . . . . . .
18.5.5.2 Transport in wave propagation direction (Bailard-approach)
18.5.6 Van Rijn (1984) . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.5.7 Soulsby/Van Rijn . . . . . . . . . . . . . . . . . . . . . . . . . .
18.5.8 Soulsby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.5.9 Ashida-Michiue (1974) . . . . . . . . . . . . . . . . . . . . . . .
18.5.10 Wilcock-Crowe (2003) . . . . . . . . . . . . . . . . . . . . . . .
18.5.11 Gaeuman et al. (2009) laboratory calibration . . . . . . . . . . . .
18.5.12 Gaeuman et al. (2009) Trinity River calibration . . . . . . . . . . .
18.6 Morphological updating . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.6.1 Bathymetry updating including bedload transport . . . . . . . . . .
18.6.2 Erosion of (temporarily) dry points . . . . . . . . . . . . . . . . .

viii

227
. 227
. 227
. 227
. 228
. 228
. 229
. 230
. 230
. 230
. 230
. 231
. 231
. 232
. 232
. 233
. 233
. 234
. 234
. 234
. 234
. 235
. 235
. 236
. 236
. 237
. 240
. 240
. 241
. 241
. 242
. 242
. 243
. 243
. 244
. 244
. 247
. 247
. 252
. 252
. 253
. 253
. 253
. 255
. 257
. 258
. 260
. 262
. 263
. 264
. 264
. 265
. 267
. 268

Deltares

Contents

18.6.3 Dredging and dumping . . . . . . . . . . . . . . . . . . . . . . . . 268
18.6.4 Bed composition models and sediment availability . . . . . . . . . . 269
18.7 Specific implementation aspects . . . . . . . . . . . . . . . . . . . . . . . 270

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

T

19 Tutorial
19.1 Introduction . . . . . . . . . . . . . . . . . . . .
19.1.1 Setup of the tutorial . . . . . . . . . . . .
19.1.2 Basic grid concepts . . . . . . . . . . . .
19.2 Tutorial 1: Creating a curvilinear grid . . . . . . .
19.3 Tutorial 2: Creating a triangular grid . . . . . . . .
19.4 Tutorial 3: Coupling multiple separate grids . . . .
19.5 Tutorial 4: Inserting a bed level . . . . . . . . . .
19.6 Tutorial 5: Imposing boundary conditions . . . . .
19.7 Tutorial 6: Defining output locations . . . . . . . .
19.8 Tutorial 7: Defining computational parameters . . .
19.9 Tutorial 8: Running a model simulation . . . . . .
19.10 Tutorial 9: Viewing the output of a model simulation

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

273
. 273
. 273
. 273
. 275
. 280
. 282
. 284
. 287
. 290
. 291
. 293
. 294

DR
AF

20 Calibration and data assimilation
297
20.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
20.2 Getting started with OpenDA . . . . . . . . . . . . . . . . . . . . . . . . . 297
20.3 The OpenDA black box model wrapper for D-Flow FM . . . . . . . . . . . . . 298
20.4 OpenDA configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
20.4.1 Main configuration file and the directory structure . . . . . . . . . . . 298
20.4.2 The algorithm configuration . . . . . . . . . . . . . . . . . . . . 300
20.4.3 The stochObserver configuration . . . . . . . . . . . . . . . . . 300
20.4.3.1 NoosTimeSeriesStochObserver . . . . . . . . . . . . . . 300
20.4.3.2 IoObjectStochObserver . . . . . . . . . . . . . . . . . . . 301
20.4.4 The stochModel configuration . . . . . . . . . . . . . . . . . . . 302
20.4.5 D-Flow FM files and the OpenDA dataObjects configuration . . . . . . 303
20.4.5.1 Start and end time in the model definition file (.mdu) . . . . 303
20.4.5.2 External forcings (.xyz) . . . . . . . . . . . . . . . . . . 303
20.4.5.3 Boundary time series (.tim) . . . . . . . . . . . . . . . . 305
20.4.5.4 Meteorological boundary conditions (<∗.amu>, <∗.amv>,
<∗.amp>) . . . . . . . . . . . . . . . . . . . . . . . . 305
20.4.5.5 Result time series (<∗_his.nc>) . . . . . . . . . . . . . . 306
20.4.5.6 Restart file (<∗_map.nc>) . . . . . . . . . . . . . . . . . 306
20.4.5.7 Calibration factor definition file (<∗.cld>) . . . . . . . . . . 306
20.4.5.8 Trachytopes roughness definition file (<∗.ttd>) . . . . . . . 308
20.5 Generating noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
20.6 Examples of the application of OpenDA for D-Flow FM . . . . . . . . . . . . 311
20.6.1 Example 1: Calibration of the roughness parameter . . . . . . . . . . 311
20.6.2 Example 2: EnKF with uncertainty in the tidal components . . . . . . 313
20.6.3 Example 3: EnKF with uncertainty in the inflow velocity . . . . . . . . 314
20.6.4 Example 4: EnKF with uncertainty in the inflow condition for salt . . . 314
20.6.5 Example 5: EnKF with uncertainty on the wind direction . . . . . . . 315
20.6.6 Example 6: EnKF with the DCSM v5 model and uncertainty on the
wind direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
References

317

A The master definition file

323

B Attribute files
329
B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

Deltares

ix

D-Flow Flexible Mesh, User Manual

Polyline/polygon file . . . . . . . . . . . . . . . . . . . . .
Sample file . . . . . . . . . . . . . . . . . . . . . . . . .
Time series file (ASCII) . . . . . . . . . . . . . . . . . . .
The external forcings file . . . . . . . . . . . . . . . . . .
B.5.1 Old style external forcings . . . . . . . . . . . . .
B.5.2 New style external forcing (boundary conditions only)
B.5.3 Accepted quantity names . . . . . . . . . . . . . .
B.6 Trachytopes . . . . . . . . . . . . . . . . . . . . . . . . .
B.6.1 Area Roughness on Links (ARL-file) . . . . . . . .
B.6.1.1 Example . . . . . . . . . . . . . . . . .
B.6.1.2 Conversion from Delft3D input files . . . .
B.6.2 Trachytope Definition file (TTD-file) . . . . . . . . .
B.6.2.1 General format . . . . . . . . . . . . . .
B.6.2.2 Example . . . . . . . . . . . . . . . . .
B.6.2.3 Discharge dependent format . . . . . . .
B.6.2.4 Water level dependent format . . . . . . .
B.6.2.5 Supported roughness formulations . . . .
B.7 Weirs . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B.7.0.1 Example . . . . . . . . . . . . . . . . .
B.8 Calibration Factors . . . . . . . . . . . . . . . . . . . . .
B.8.1 Calibration factor definition file (CLD-file) . . . . . .
B.8.1.1 Header of the CLD-file . . . . . . . . . .
B.8.1.2 Constant values . . . . . . . . . . . . .
B.8.1.3 Discharge dependent format . . . . . . .
B.8.1.4 Water level dependent format . . . . . . .
B.8.1.5 Example . . . . . . . . . . . . . . . . .
B.8.2 Calibration Class Area on Links (CLL-file) . . . . . .
B.8.2.1 Header of the CLL-file . . . . . . . . . .
B.8.2.2 Body of the CLL-file . . . . . . . . . . .
B.8.2.3 Example . . . . . . . . . . . . . . . . .
B.9 Sources and sinks . . . . . . . . . . . . . . . . . . . . .
B.10 Dry points and areas . . . . . . . . . . . . . . . . . . . .
B.11 Structure INI file . . . . . . . . . . . . . . . . . . . . . .
B.12 Space varying wind and pressure . . . . . . . . . . . . . .
B.12.1 Meteo on equidistant grids . . . . . . . . . . . . .
B.12.2 Curvilinear data . . . . . . . . . . . . . . . . . . .
B.12.3 Spiderweb data . . . . . . . . . . . . . . . . . . .
B.12.4 Fourier analysis . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

329
330
331
331
331
332
333
334
335
335
335
336
336
336
336
337
338
339
339
340
340
340
340
340
341
341
341
342
342
342
342
343
343
343
344
347
350
354

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

357
357
357
357
357
357
357
357
358
358
358
358
359
359
359

DR
AF

T

B.2
B.3
B.4
B.5

C Initial conditions and spatially varying input
C.1 Introduction . . . . . . . . . . . . . . .
C.2 Supported quantities . . . . . . . . . .
C.2.1 Water levels . . . . . . . . . .
C.2.2 Initial velocities . . . . . . . . .
C.2.3 Salinity . . . . . . . . . . . . .
C.2.4 Temperature . . . . . . . . . .
C.2.5 Tracers . . . . . . . . . . . . .
C.2.6 Sediment . . . . . . . . . . . .
C.2.7 Physical coefficients . . . . . .
C.3 Supported file formats . . . . . . . . .
C.3.1 Inside-polygon option . . . . . .
C.3.2 Sample file . . . . . . . . . . .
C.3.3 Vertical profile file . . . . . . . .
C.3.4 Map file . . . . . . . . . . . . .

x

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

Deltares

Contents

C.3.5

Restart file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

361
361
361
361
361
361
362
362
362
362
362
363
363
365

E Output files
E.1 Diagnostics file . . . . . . . . . . . . .
E.2 Demanding output . . . . . . . . . . .
E.2.1 The MDU-file . . . . . . . . . .
E.2.2 Observation points . . . . . . .
E.2.3 Moving observation points . . .
E.2.4 Cross-sections . . . . . . . . .
E.3 NetCDF output files . . . . . . . . . . .
E.3.1 Timeseries as NetCDF his-file .
E.3.2 Spatial fields as NetCDF map-file
E.3.3 Restart files as NetCDF rst-file .
E.4 Shapefiles . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

367
367
368
368
368
368
369
369
369
372
374
374

F Spatial editor
F.1 Introduction . . . . . . . . . . . . . . .
F.2 General . . . . . . . . . . . . . . . . .
F.2.1 Overview of spatial editor . . . .
F.2.2 Import/export dataset . . . . . .
F.2.3 Activate (spatial) model quantity
F.2.4 Colorscale . . . . . . . . . . .
F.2.5 Render mode . . . . . . . . . .
F.2.6 Context menu . . . . . . . . .
F.3 Quantity selection . . . . . . . . . . . .
F.4 Geometry operations . . . . . . . . . .
F.4.1 Polygons . . . . . . . . . . . .
F.4.2 Lines . . . . . . . . . . . . . .
F.4.3 Points . . . . . . . . . . . . .
F.5 Spatial operations . . . . . . . . . . . .
F.5.1 Import point cloud . . . . . . .
F.5.2 Crop . . . . . . . . . . . . . .
F.5.3 Erase . . . . . . . . . . . . . .
F.5.4 Set value . . . . . . . . . . . .
F.5.5 Contour . . . . . . . . . . . .
F.5.6 Copy to samples . . . . . . . .
F.5.7 Copy to spatial data . . . . . .
F.5.8 Merge spatial data . . . . . . .
F.5.9 Gradient . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

375
375
375
375
376
377
377
378
380
381
382
383
383
384
385
386
387
388
388
389
391
393
393
395

DR
AF

T

D Boundary conditions specification
D.1 Supported boundary types . . . . . . . . . . . . . . . . . .
D.1.1 Astronomic boundary conditions . . . . . . . . . . .
D.1.2 Astronomic correction factors . . . . . . . . . . . . .
D.1.3 Harmonic flow boundary conditions . . . . . . . . . .
D.1.4 QH-relation flow boundary conditions . . . . . . . . .
D.1.5 Time-series flow boundary conditions . . . . . . . . .
D.1.6 Time-series transport boundary conditions . . . . . .
D.1.7 Time-series for the heat model parameters . . . . . .
D.2 Boundary signal file formats . . . . . . . . . . . . . . . . . .
D.2.1 The  format . . . . . . . . . . . . . . . . .
D.2.2 The  format . . . . . . . . . . . . . . . . . .
D.2.3 The  format . . . . . . . . . . . . . . . . . .
D.2.4 The NetCDF-format for boundary condition time-series

Deltares

xi

D-Flow Flexible Mesh, User Manual

F.6

F.5.10 Interpolate . . . . . . . .
F.5.11 Smoothing . . . . . . . .
F.5.12 Overwrite (single) value . .
Operation stack . . . . . . . . . .
F.6.1 Stack workflow . . . . . .
F.6.2 Edit operation properties .
F.6.3 Enable/disable operations
F.6.4 Delete operations . . . . .
F.6.5 Refresh stack . . . . . . .
F.6.6 Quick links . . . . . . . .
F.6.7 Import/export . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

396
399
401
401
402
402
405
405
406
407
407
409

DR
AF

T

Index

.
.
.
.
.
.
.
.
.
.
.

xii

Deltares

List of Figures

List of Figures
9
11
12
12
13
13
13
14
14
14
15
16
17
17
17
18
18
19
20
21

.
.
.
.
.
.
.
.
.
.
.
.

21
21
22
23
23
24
24
25
26
28
28
29

4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18

The Select model ... window . . . . . . . . . . . . . . . . . . . . .
Overview of general tab . . . . . . . . . . . . . . . . . . . . . . . .
Vertical layer specification window (σ -model is β -functionality) . . . .
Coordinate system wizard . . . . . . . . . . . . . . . . . . . . . . .
Overview of geographical features . . . . . . . . . . . . . . . . . .
Overview of map ribbon . . . . . . . . . . . . . . . . . . . . . . . .
Example of expanded grid snapped features attribute in map tree . . .
Example of grid snapped features displayed on the central map . . . .
Geographical and grid snapped representation of an observation point
Attribute table with observation points . . . . . . . . . . . . . . . . .
Geographical and grid snapped representation of a cross section . . .
Attribute table with observation cross sections . . . . . . . . . . . .
Geographical and grid snapped representation of a thin dam . . . . .
Attribute table with thin dams . . . . . . . . . . . . . . . . . . . . .
Geographical and grid snapped representation of a fixed weir . . . . .
Schematic representation of a fixed weir . . . . . . . . . . . . . . .
Attribute table with fixed weirs . . . . . . . . . . . . . . . . . . . . .
Fixed weir editor . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

32
33
34
35
35
36
36
37
37
38
38
39
39
40
40
40
41
41

T

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

3.22
3.23
3.24
3.25
3.26
3.27
3.28
3.29
3.30
3.31
3.32

Start-up lay-out Delta Shell . . . . . . . . . . . . . . . . . . . . . . . . .
Project window of D-Flow FM plugin . . . . . . . . . . . . . . . . . . . .
Central map with contents of the D-Flow FM plug-in . . . . . . . . . . . . .
Map tree controlling map contents . . . . . . . . . . . . . . . . . . . . .
Log of messages, warnings and errors in message window . . . . . . . . .
Time navigator in Delta Shell . . . . . . . . . . . . . . . . . . . . . . . .
Docking windows on two screens within the Delta Shell framework. . . . . .
Bringing the Time Navigator window to the front . . . . . . . . . . . . . .
Docking the Time Navigator window. . . . . . . . . . . . . . . . . . . . .
Auto hide the Properties window . . . . . . . . . . . . . . . . . . . . . .
Perform operations using the shortcut keys . . . . . . . . . . . . . . . . .
The File ribbon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Delta Shell options dialog. . . . . . . . . . . . . . . . . . . . . . . .
The Home ribbon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The View ribbon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Tools ribbon contains just the Data item. . . . . . . . . . . . . . . . .
The Map ribbon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The scripting ribbon within Delta Shell. . . . . . . . . . . . . . . . . . . .
The quick access toolbar. . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding a new model from the ribbon . . . . . . . . . . . . . . . . . . . .
Adding a new model using the Right Mouse Button on “project1” in the Project
window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Select “D-Flow FM model” . . . . . . . . . . . . . . . . . . . . . . . . .
Illustration of multiple input files for observation points . . . . . . . . . . . .
Validate model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Validation report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Run model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Output of wave model in Project window . . . . . . . . . . . . . . . . . .
Import wave model from Project window . . . . . . . . . . . . . . . . . .
Import wave model from file ribbon . . . . . . . . . . . . . . . . . . . . .
Set map coordinate system using right mouse button . . . . . . . . . . . .
Select a coordinate system using the quick search bar . . . . . . . . . . .
Perform operations using the shortcut keys . . . . . . . . . . . . . . . . .

DR
AF

3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21

Deltares

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

xiii

D-Flow Flexible Mesh, User Manual

4.34
4.35
4.36
4.37
4.38
4.39
4.40
4.41
4.42
4.43
4.44
4.45
4.46
4.47
4.48
4.49
4.50
4.51
4.52
4.53
4.54
4.55
4.56
4.57
4.58
4.59
4.60
4.61

xiv

T

4.28
4.29
4.30
4.31
4.32
4.33

Geographical representation of a land boundary . . . . . . . . . . . . . . .
Attribute table with land boundaries . . . . . . . . . . . . . . . . . . . . . .
Geographical and grid snapped representation of several dry points . . . . . .
Attribute table with dry points . . . . . . . . . . . . . . . . . . . . . . . . .
Geographical and grid snapped representation of a dry area . . . . . . . . .
Attribute table with dry areas . . . . . . . . . . . . . . . . . . . . . . . . .
Polygon for pump (a) and adjustment of physical properties (b). . . . . . . . .
Selection of the pumps . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Polygon for adjustable weir (a) and adjustment of geometrical and temporal
conditions (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Time series for crest level. . . . . . . . . . . . . . . . . . . . . . . . . . .
Time series for crest level. . . . . . . . . . . . . . . . . . . . . . . . . . .
Polygon for gate (a) and adjustment of geometrical and temporal conditions (b).
Bed level activated in the spatial editor . . . . . . . . . . . . . . . . . . . .
Overview time frame tab . . . . . . . . . . . . . . . . . . . . . . . . . . .
Relation between Reference Date and the simulation start and stop time for
astronomic- and harmonic-series as used in the simulation. Time-series should
cover the simulation time. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview processes tab . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initial conditions in the Project window . . . . . . . . . . . . . . . . . . . .
The ‘Initial Conditions’ tab where you can specify the uniform values and the
layer distributions of the active physical quantities. . . . . . . . . . . . . . .
Initial water levels activated in the spatial editor . . . . . . . . . . . . . . . .
Selecting 3 dimensional initial fields from the dropdown box in the ‘Map’ ribbon
to edit them in the spatial editor . . . . . . . . . . . . . . . . . . . . . . . .
Restart files in output states folder . . . . . . . . . . . . . . . . . . . . . .
Restart file in initial conditions attribute . . . . . . . . . . . . . . . . . . . .
Adding a boundary support point on a polyline in the central map . . . . . . .
Polyline added in Project window under ‘Boundary Conditions’ . . . . . . . .
Geometry edit options in Map ribbon . . . . . . . . . . . . . . . . . . . . .
Edit name of polyline/boundary in Boundaries tab . . . . . . . . . . . . . . .
Overview of the boundary data editor . . . . . . . . . . . . . . . . . . . . .
Process and quantity selection in the boundary data editor . . . . . . . . . .
Activate a support point . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specification of time series in the boundary data editor (left panel) . . . . . .
Window for generating series of time points . . . . . . . . . . . . . . . . . .
Csv import wizard: csv file selection . . . . . . . . . . . . . . . . . . . . . .
Clipboard/csv import wizard: specification of how data should be parsed into
columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Clipboard/csv import wizard: specification of how values should be parsed and
columns should be mapped . . . . . . . . . . . . . . . . . . . . . . . . . .
Window for entering input to download boundary data from WPS . . . . . . .
Specification of harmonic components in boundary data editor . . . . . . . .
Selection of astronomical components from list (after pressing ‘select components’) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Suggestions for astronomical components in list . . . . . . . . . . . . . . .
Editing harmonic/astronomic components and their corrections . . . . . . . .
Specification of a Q-h relationship . . . . . . . . . . . . . . . . . . . . . . .
Selection of vertically uniform or varying boundary conditions in case of a 3D
model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of the layer view component of the boudary conditions editor . . . .
Specification of boundary forcing data (in this example for salinity) at 3 positions in the vertical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

DR
AF

4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27

42
42
43
44
44
45
46
46
47
47
48
48
49
50

51
52
52
53
53
53
54
54
55
56
56
57
58
59
60
60
61
62
63
64
65
66
67
68
68
69
69
70
70

Deltares

List of Figures

75
76
76
77
78
78
79
79
81
84
86
90

5.1
5.2
5.3
5.4
5.5

Partioning exporter dialog . . . . . . . . . . . . . . . . . . . .
Domain selector in Delft3D-QUICKPLOT for partitioned map files.
Selecting the model you want to run in the Project window . . .
Group Run in Home ribbon . . . . . . . . . . . . . . . . . . .
Run console Delta Shell . . . . . . . . . . . . . . . . . . . .

93
97
98
98
99

6.1
6.2
6.3

Example of setting output (in)visible in the Map window . . . . . . . . . . . . 105
Useful map visualization options in the Delft3D-QUICKPLOT . . . . . . . . . 106
Example of the Muppet visualization of the D-Flow FM map output file . . . . 107

DR
AF

T

4.62 Example of active and total signal for multiple water level data series on one
support point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.63 Importing or exporting boundary features — both polylines <∗.pli> and forcing <∗.bc> — from the Project window using the right mouse button . . . . .
4.64 Import or export a <∗.pli>-file as is or with coordinate transformation. . . . .
4.65 Import or export a <∗.pli>-file as is or with coordinate transformation. . . . .
4.66 Import or export a *.pli file as is or with coordinate transformation. . . . . . . .
4.67 Overview of all boundary conditions in attribute table . . . . . . . . . . . . .
4.68 The physical parameters in the Project window . . . . . . . . . . . . . . . .
4.69 The section of the ‘Physical Parameters’ tab where you can specify roughness
related parameters and formulations. . . . . . . . . . . . . . . . . . . . . .
4.70 Roughness activated in the spatial editor to create/edit a spatially varying field
4.71 The section of the‘Physical Parameters’ tab where you can specify (uniform)
values for the horizontal and vertical eddy viscosity and diffusivity. . . . . . . .
4.72 Viscosity activated in the spatial editor to create/edit a spatially varying field . .
4.73 Overview of parameters in sub-tab Wind . . . . . . . . . . . . . . . . . . .
4.74 Activate the sources and sinks editing icon in the Map ribbon . . . . . . . . .
4.75 Add sources and sinks in the central map using the ‘Sources and sinks’ icon. .
4.76 Sources and sinks appearing in the Project window . . . . . . . . . . . . . .
4.77 Specifying time series for sources and sinks in the sources and sinks editor . .
4.78 Output parameters tab . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.79 Overview output parameters tab . . . . . . . . . . . . . . . . . . . . . . .
4.80 Overview of the Sediment tab, showing a sediment of type ‘sand’. . . . . . . .
4.81 Default view of the Morphology tab. . . . . . . . . . . . . . . . . . . . . . .
4.82 Model/data import wizard . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Example of σ -model (left) and Z-model (right). . . . . . . . . . . . . . . .
Flexible mesh topology . . . . . . . . . . . . . . . . . . . . . . . . . . .
Two conventional definitions of the cell center of a triangle: the circumcenter
and the mass center. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4 Perfect orthogonality and nearly perfect smoothness along the edge connecting two triangles. Black lines/dots are network links/nodes, blue lines/dots are
flow links/nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5 Poor mesh properties due to violating either the smoothness or the orthogonality at the edge connecting two triangles . . . . . . . . . . . . . . . . .
7.6 Input for map projection for specifying Coriolis parameter on the grid. . . . .
7.7 Input parameters for horizontal and vertical eddy viscosities. . . . . . . . .
7.8 Bed representation with uniform depth levels (a), and locally sloping bed (b).
7.9 A shematic view of the linear variation over the width for calculating the flow
parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.10 Virtual boundary ’cells’ near the shaded boundary . . . . . . . . . . . . .
7.11 Delta-Shell view of a simple channel covered by a straightforward Cartesian
grid. Boundary conditions are prescribed at the left hand side and the right
hand size of the domain. . . . . . . . . . . . . . . . . . . . . . . . . . .

7.1
7.2
7.3

Deltares

.
.
.
.
.

71
71
72
72
73
73
74
74
75

. 113
. 114
. 115

. 115
.
.
.
.

116
118
119
119

. 121
. 122

. 128

xv

D-Flow Flexible Mesh, User Manual

δx,
7.12 Example of a hydrostatic consistent and inconsistent grid; (a) Hδσ > σ ∂H
∂x
7.13
7.14
7.15
7.16
7.17
7.18
7.19

(b) Hδσ < σ ∂H
δx . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
∂x
Finite Volume for diffusive fluxes and pressure gradients . . . . . . . . . .
Left and right approximation of a strict horizontal gradient . . . . . . . . . .
Vertical profile secondary flow (v ) in river bend and direction bed stress . . .
Definition of the water levels, the bed levels and the velocities in case of two
adjacent triangular cells. . . . . . . . . . . . . . . . . . . . . . . . . . .
Specification of the conveyance option in Delta Shell. . . . . . . . . . . . .
Specification of the bed level treatment type in Delta Shell. . . . . . . . . .
Specification of the hybrid bed options (with keywords blminabove and
blmeanbelow). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

133
133
134
136

. 141
. 143
. 143
. 144

T

10.1 Overview of the heat exchange mechanisms at the surface . . . . . . . . . . 165
10.2 Co-ordinate system position Sun
δ : declination; θ: latitude; ωt: angular speed . . . . . . . . . . . . . . . . . 170

12.1
12.2
12.3
12.4
12.5
12.6

DR
AF

11.1 Nautical conventions for the wind. . . . . . . . . . . . . . . . . . . . . . . 175
11.2 Prescription of the dependency of the wind drag coefficient Cd on the wind
speed is achieved by means of at least 1 point, with a maximum of 3 points. . 176
11.3 Grid definition of the spiderweb grid for cyclone winds. . . . . . . . . . . . . 184
Selection of structures (and other items) in the toolbar.
Input for simple weir . . . . . . . . . . . . . . . . .
General structure, side view . . . . . . . . . . . . . .
General structure, top view . . . . . . . . . . . . . .
Input for a general structure . . . . . . . . . . . . . .
Input for a gate . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

189
190
191
191
192
193

15.1 Schematic view of non-linear interaction of wave and current bed shear-stresses
(from Soulsby et al. (1993b, Figure 16, p. 89)) . . . . . . . . . . . . . . . . . 216
15.2 Inter-comparison of eight models for prediction of mean and maximum bed
shear-stress due to waves and currents (from Soulsby et al. (1993b, Figure 17,
p. 90)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
16.1 An Integrated model in the Project window . . . . . . . . . . . . . . . . . . 222
16.2 Example of a Control flow in D-RTC . . . . . . . . . . . . . . . . . . . . . 222
18.1 Selection of the kmx layer; where a is Van Rijn’s reference level . . . . . . .
18.2 Schematic arrangement of flux bottom boundary condition . . . . . . . . .
18.3 Approximation of concentration and concentration gradient at bottom of kmx
layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18.4 Setting of bedload transport components at velocity points . . . . . . . . .
18.5 Morphological control volume and bedload transport components . . . . . .
19.1 Topology and definitions for a grid as used in D-Flow FM. . . . . . . . . . .
19.2 Perfect orthogonality and nearly perfect smoothness along the edge connecting two triangles. Black lines/dots are network links/nodes, blue lines/dots are
flow links/nodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.3 Poor grid properties due to violating either the smoothness or the orthogonality
at the edge connecting two triangles . . . . . . . . . . . . . . . . . . . .
19.4 Start RGFGRID by a double-click on Grid. . . . . . . . . . . . . . . . . .
19.5 Splines in Tutorial01 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.6 Settings for the Grow Grid from Splines procedure. . . . . . . . . . . . . .
19.7 Generated curvilinear grid after the new Grow Grid from Splines procedure.

xvi

. 237
. 237
. 238
. 244
. 267
. 274

. 274
.
.
.
.
.

275
275
276
277
278

Deltares

List of Figures

DR
AF

T

19.8 Orthogonality of the generated curvilinear grid after the Grow Grid from Splines
procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.9 Importing a land boundary . . . . . . . . . . . . . . . . . . . . . . . . . .
19.10 After closing RGFGRID the grid is visible in the Delta Shell GUI. . . . . . . .
19.11 Polygon that envelopes the area in which an unstructured grid is aimed to be
established. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.12 Unstructured grid, after having refined the polygon. . . . . . . . . . . . . . .
19.13 Connection of the river grid and the unstructured grid. The red lines show the
inserted grid lines used to couple the two grids manually. . . . . . . . . . . .
19.14 Orthogonality of the integrated grid, containing the curvilinear part, the triangular part and the coupling between the two grids. . . . . . . . . . . . . . .
19.15 Project tree. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19.16 Map-ribbon with the Spatial Operations menu. . . . . . . . . . . . . . . . .
19.17 Interpolated bed levels values at the grid (estuary). . . . . . . . . . . . . . .
19.18 Interpolated bed levels values at the grid (harbour). . . . . . . . . . . . . .
19.19 Location of the two open boundaries at the sea and river side. . . . . . . . .
19.20 Selection of Boundary01. . . . . . . . . . . . . . . . . . . . . . . . . . .
19.21 Boundary conditions seaside. . . . . . . . . . . . . . . . . . . . . . . . .
19.22 Boundary condition riverside. . . . . . . . . . . . . . . . . . . . . . . . . .
19.23 Overview cross sections and observation points. . . . . . . . . . . . . . . .
19.24 The time frame of the simulation. . . . . . . . . . . . . . . . . . . . . . . .
19.25 Imposed initial conditions for the simulation. . . . . . . . . . . . . . . . . .
19.26 Optional output parameters for the computation. . . . . . . . . . . . . . . .
19.27 Menu for saving a project. . . . . . . . . . . . . . . . . . . . . . . . . . .
19.28 View of Delta Shell when running a model. . . . . . . . . . . . . . . . . . .
19.29 View of Delta Shell, available to select a location for timeseries in. . . . . . .
19.30 View of Delta Shell, time-series for observation point ”Obs03”. . . . . . . . .
19.31 WMS layer icon at the top of the map-tree viewer. . . . . . . . . . . . . . .
19.32 View of Delta Shell in combination with OpenStreetMap. . . . . . . . . . . .
19.33 Select waterlevel(s1) from the map tree . . . . . . . . . . . . . . . . . . . .

279
280
280
281
282
283
284
285
285
286
286
288
288
289
289
291
292
292
292
293
294
295
295
296
296
296

20.1 Visualisation of the EnKF computation results from OpenDA for a certain observation point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
B.1
B.2
B.3
F.1
F.2
F.3
F.4
F.5
F.6
F.7
F.8
F.9

Deltares

Illustration of the data to grid conversion for meteo input on
linear grid . . . . . . . . . . . . . . . . . . . . . . . . .
Wind definition according to Nautical convention . . . . .
Spiderweb grid definition . . . . . . . . . . . . . . . . .

a
.
.
.

separate
. . . . .
. . . . .
. . . . .

curvi. . . . 349
. . . . 351
. . . . 352

Overview of spatial editor functionality in Map ribbon . . . . . . . . . . . .
Importing a point cloud into the project using the context menu on “project” in
the project tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activate the imported point cloud in the spatial editor by double clicking it in
the project tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activate the imported point cloud in the spatial editor by selecting it from the
dropdown box in the Map ribbon . . . . . . . . . . . . . . . . . . . . . .
Activate the colorscale using the button in the map ribbon . . . . . . . . . .
Edit the colorscale properties using the context menu on the active layer in the
Map Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Select the rendermode for the active layer in the property grid. . . . . . . .
Example of a coverage rendered as colored numbers. . . . . . . . . . . .
Selecting a smoothing operation for a polygon geometry from the context
menu (using context menu) . . . . . . . . . . . . . . . . . . . . . . . . .

. 375
. 376
. 376
. 377
. 377
. 378
. 379
. 380
. 381

xvii

D-Flow Flexible Mesh, User Manual

DR
AF

T

F.10 Activating a spatial quantity by double clicking it in the project tree (in this
example ‘Initial Water Level’) . . . . . . . . . . . . . . . . . . . . . . . . . 382
F.11 Activating a spatial quantity by selecting it from the dropdown box in the ‘Map’
ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
F.12 Overview of the available geometry operations in the ‘Map’ ribbon . . . . . . . 382
F.13 Activating the polygon operation and drawing polygons in the central map. . . 383
F.14 Activating the line operation and drawing lines in the central map. . . . . . . . 384
F.15 Activating the ‘Add points’ operation, drawing them in the central map and
assigning a value to them. . . . . . . . . . . . . . . . . . . . . . . . . . . 385
F.16 Overview of the available spatial operations in the ‘Map’ ribbon . . . . . . . . 385
F.17 Importing a point cloud using the ‘Import’ operation from the ‘Map’ ribbon . . . 386
F.18 Option to perform a coordinate transformation on the imported point cloud . . 386
F.19 Appearance of import point cloud operation in the operations stack . . . . . . 387
F.20 Performing a crop operation on a point cloud with a polygon using ‘Crop’ from
the ‘Map’ ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
F.21 Appearance of crop operation in the operations stack . . . . . . . . . . . . . 387
F.22 Performing an erase operation on a point cloud with a polygon using ‘Erase’
from the ‘Map’ ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
F.23 Appearance of erase operation in the operations stack . . . . . . . . . . . . 388
F.24 Performing a set value operation (e.g. overwrite) on a point cloud with a polygon using ‘Set Value’ from the ‘Map’ ribbon . . . . . . . . . . . . . . . . . . 389
F.25 Appearance of set value operation in the operations stack . . . . . . . . . . . 389
F.26 Import a nautical chart as a georeferenced tiff file . . . . . . . . . . . . . . . 390
F.27 Set the right map coordinate system for the geotiff . . . . . . . . . . . . . . 390
F.28 Performing a contour operation on a nautical chart using lines to define the
contours and ‘Contour’ from the ‘Map’ ribbon . . . . . . . . . . . . . . . . . 390
F.29 Bring the sample set to the front if it appears behind the nautical chart . . . . 391
F.30 Appearance of contour operation in the operations stack . . . . . . . . . . . 391
F.31 Applying the copy to samples operation . . . . . . . . . . . . . . . . . . . . 392
F.32 Copy to samples operation result . . . . . . . . . . . . . . . . . . . . . . . 392
F.33 Applying the copy spatial data operation . . . . . . . . . . . . . . . . . . . 393
F.34 Copy spatial data operation result . . . . . . . . . . . . . . . . . . . . . . . 393
F.35 Activating the merge spatial data tool from the ribbon . . . . . . . . . . . . . 394
F.36 The merge operation requests a pointwise combination method . . . . . . . . 394
F.37 Resulting grid coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
F.38 Performing a gradient operation on a point cloud with a polygon using ‘Gradient’ from the ‘Map’ ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
F.39 Appearance of gradient operation in the operations stack . . . . . . . . . . . 396
F.40 Interpolation Operation options . . . . . . . . . . . . . . . . . . . . . . . . 396
F.41 Averaging options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
F.42 Performing an interpolation operation on a single sample set (without using a
polygon) using ‘Interpolate’ from the ‘Map’ ribbon . . . . . . . . . . . . . . . 397
F.43 Appearance of interpolation of ‘set1’ to the coverage ’bed level’ in the operations stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
F.44 Performing an interpolation operation on multiple sample sets (without using a
polygon) using ‘Interpolate’ from the ‘Map’ ribbon . . . . . . . . . . . . . . . 398
F.45 Appearance of interpolation of ‘set1’ and ‘set2’ to the coverage ’bed level’ in
the operations stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
F.46 Performing a smoothing operation on a point cloud with a polygon using ‘Smoothing’ from the ‘Map’ ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
F.47 Appearance of smoothing operation in the operations stack . . . . . . . . . . 400
F.48 The cursor for the overwrite operation showing the value of the closest coverage point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400

xviii

Deltares

List of Figures

DR
AF

T

F.49 Performing an overwrite operation on a coverage point using ‘Single Value’
from the ‘Map’ ribbon . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F.50 Appearance of overwrite operation in the operations stack . . . . . . . . . .
F.51 The ‘Operations’ panel with the operations stack. In this example ‘bed level’
is the coverage (e.g. trunk) that is edited. The point clouds ‘set 1’ and ‘set 2’
(e.g. branches) are used to construct the ‘bed level’ coverage. . . . . . . .
F.52 Input for the operation (top panel), mask for the operation (middle panel) and
output of the operation (bottom panel) . . . . . . . . . . . . . . . . . . . .
F.53 Editing the value or ‘Pointwise operation’ of a ‘Set Value’ operation using the
properties panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F.54 Disabling an operation using the boxed cross icon in the stack menu. The
operation will become grey. Note the exlamation marks marking the stack ‘out
of sync’. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F.55 Removing an operation from the stack using the cross icon in the stack menu
F.56 Removing an operation from the stack using the context menu on the selected
operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F.57 Refresh the stack using the ‘Refresh’ button so that all operation are (re-)
evaluated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
F.58 Quick link to the original dataset before performing any spatial operations . .
F.59 Quick link to the output after performing all (enabled) operations . . . . . .

Deltares

. 401
. 401

. 402
. 403
. 404

. 405
. 405
. 406
. 406
. 407
. 407

xix

DR
AF

T

D-Flow Flexible Mesh, User Manual

xx

Deltares

List of Tables

List of Tables
3.1
3.2
3.2

Functions and their descriptions within the scripting ribbon of Delta Shell. . . 19
Shortcut keys within the scripting editor of Delta Shell. . . . . . . . . . . . . 19
Shortcut keys within the scripting editor of Delta Shell. . . . . . . . . . . . . 20

4.1
4.2
4.3
4.4

Overview and description of numerical parameters .
Input and output parameters of the example . . . . .
Time (after Reference Date in seconds) of output files
Overview and description miscellaneous parameters

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

80
83
83
83

15.1 Fitting coefficients for wave/current boundary layer model . . . . . . . . . . . 217

T

18.1 Additional transport relations . . . . . . . . . . . . . . . . . . . . . . . . . 247
18.2 Overview of the coefficients used in the various regression models (Soulsby
et al., 1993a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
18.3 Overview of the coefficients used in the various regression models, continued
(Soulsby et al., 1993a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

DR
AF

20.1 Directory structure of the OpenDA Ensemble Kalman filtering configuration for
the simple Waal D-Flow FM model. . . . . . . . . . . . . . . . . . . . . . . 299
20.2 D-Flow FM files that can be manipulated and the corresponding OpenDA class
names to be used in the dflowfmWrapper.xml file. . . . . . . . . . . . . 303
A.1

Standard MDU-file with default settings. . . . . . . . . . . . . . . . . . . . . 323

B.1

List of accepted external forcing quantity names. . . . . . . . . . . . . . . . 333

E.1

Features and MDU settings for generating shapefiles . . . . . . . . . . . . . 374

Deltares

xxi

DR
AF

T

D-Flow Flexible Mesh, User Manual

xxii

Deltares

1 A guide to this manual
1.1

Introduction
This User Manual describes the hydrodynamic module D-Flow Flexible Mesh (D-Flow FM)
which is part of the Delft3D Flexible Mesh Model Suite.

T

This module is part of several Modelling suites, released by Deltares as Deltares Systems
or Dutch Delta Systems. These modelling suites are based on the Delta Shell framework.
The framework enables to develop a range of modeling suites, each distinguished by the
components and — most significantly — the (numerical) modules, which are plugged in. The
modules which are compliant with the Delta Shell framework are released as D-Name of the
module, for example: D-Flow Flexible Mesh, D-Waves, D-Water Quality, D-Real Time Control,
D-Rainfall Run-off.

1.2

DR
AF

Therefore, this user manual is shipped with several modelling suites. In the start-up screen
links are provided to all relevant User Manuals (and Technical Reference Manuals) for that
modelling suite. It will be clear that the Delta Shell User Manual is shipped with all these
modelling suites. Other user manuals can be referenced. In that case, you need to open the
specific user manual from the start-up screen in the central window. Some texts are shared
in different user manuals, in order to improve the readability.
Overview

To make this manual more accessible we will briefly describe the contents of each chapter.
If this is your first time to start working with D-Flow FM we suggest you to read Chapter 3, Getting started and practice the tutorial of Chapter 19. These chapters explain the user interface
and guide you through the modelling process resulting in your first simulation.
Chapter 2: Introduction to D-Flow Flexible Mesh, provides specifications of D-Flow FM, such
as the areas of application, the standard and specific features provided, coupling to other
modules and utilities.
Chapter 3: Getting started, gives an overview of the basic features of the D-Flow FM GUI and
will guide you through the main steps to set up a D-Flow FM model.
Chapter 4: All about the modelling process, provides practical information on the GUI, setting
up a model with all its parameters and tuning the model.
Chapter 5: Running a model, discusses how to validate and execute a model run. Either in
the GUI, or in batch mode and/or in parallel using MPI. It also provides some information on
run times and file sizes.
Chapter 6: Visualize results, explains in short the visualization of results within the GUI. It
introduces the programs Quickplot and Muppet to visualize or animate the simulation results,
and Matlab for general post-processing.
Chapter 7: Hydrodynamics, gives some background information on the conceptual model of
the D-Flow FM module.
Chapter 8: Transport of matter, discusses the modeled tranport processes, their governing
equations, boundary and initial conditions and user-relevant numerical and physical settings.

Deltares

1 of 412

D-Flow Flexible Mesh, User Manual

Chapter 9: Turbulence provides a detailed insight into the modelling of turbulence.
Chapter 10: Heat transport, provides a detailed insight into (the modelling of) heat transport.
Chapter 11: Wind, gives background information of how wind fields should be imposed, the
relevant definitions and the supported file formats.
Chapter 12: Hydraulic structures, gives background information of the available hydraulic
structures in D-Flow FM, the relevant definitions and the supported file formats.
Chapter 15: Coupling with D-Waves (SWAN), provides guidance on the integrated modelling
of hydrodynamics (D-Flow FM) and waves (D-Waves).

T

Chapter 16: Coupling with D-RTC (RTC-Tools), provides guidance on the integrated modelling
of hydrodynamics (D-Flow FM) and real time control of hydraulic structures (D-RTC).
Chapter 17: Coupling with D-Water Quality (Delwaq), provides guidance on the integrated
modelling of hydrodynamics (D-Flow FM) and water quality (D-Water Quality).

DR
AF

Chapter 18: Sediment transport and morphology, describes the three-dimensional transport
of suspended sediment, bedload transport and morphological updating of the bottom.
Chapter 19: Tutorial, gives you some first hands-on experience in using the D-Flow FM GUI
to define the input of a simple problem, in validating this input, in executing the simulation and
in inspecting the results.
Chapter 20: Calibration and data assimilation, describes how the OpenDA toolbox could be
deployed to apply calibration and data assimilation.
1.3

Manual version and revisions
This manual applies to:

 the D-HYDRO Suite, version 2016.2
 the Delft3D Flexible Mesh Suite, version 2017
 SOBEK 3, version 3.6.1 (and higher)
1.4

Typographical conventions

Throughout this manual, the following conventions help you to distinguish between different
elements of text.
Example

Description

Module
Project

Title of a window or a sub-window are in given in bold.
Sub-windows are displayed in the Module window and
cannot be moved.
Windows can be moved independently from the Module window, such as the Visualisation Area window.

2 of 412

Deltares

A guide to this manual

Description

Save

Item from a menu, title of a push button or the name of
a user interface input field.
Upon selecting this item (click or in some cases double
click with the left mouse button on it) a related action
will be executed; in most cases it will result in displaying
some other (sub-)window.
In case of an input field you are supposed to enter input
data of the required format and in the required domain.

<\tutorial\wave\swan-curvi>


Directory names, filenames, and path names are expressed between angle brackets, <>. For the Linux
and UNIX environment a forward slash (/) is used instead of the backward slash (\) for PCs.

“27 08 1999”

Data to be typed by you into the input fields are displayed between double quotes.
Selections of menu items, option boxes etc. are described as such: for instance ‘select Save and go to
the next window’.

DR
AF

T

Example

delft3d-menu

Commands to be typed by you are given in the font
Courier New, 10 points.
In this User manual, user actions are indicated with this
arrow.

[m s−1 ] [−]

Units are given between square brackets when used
next to the formulae. Leaving them out might result in
misinterpretation.

Command prompts and terminal output are shown in framed boxes with typewriter font:

> ./dflowfm --version
Deltares, D-Flow FM Version 1.1.149.41663, Sep 02 2015, 10:40:42
Compiled with support for:
IntGUI: no
OpenGL: no
OpenMP: yes
MPI
: yes
PETSc : yes
METIS : yes

1.5

Changes with respect to previous versions
Several descriptions of β -functionality are added or marked as β -functionality.

Deltares

3 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

4 of 412

Deltares

2 Introduction to D-Flow Flexible Mesh
Note: The 3D modelling is a β -functionality.
D-Flow Flexible Mesh (D-Flow FM) is a hydrodynamic simulation program developed by Deltares.
It is part of Deltares’ unique, fully integrated computer software suite for a multi-disciplinary
approach and 1D, 2D and 3D computations for coastal, river and estuarine areas. It can carry
out simulations of flows, waves, water quality and ecology.

DR
AF

T

It has been designed for experts and non-experts alike. The Delft3D Flexible Mesh Suite is
composed of several modules, grouped around a mutual interface, while being capable to
interact with one another. D-Flow FM, which this manual is about, is one of these modules.
D-Flow FM is a multi-dimensional (1D, 2D and 3D) hydrodynamic (and transport) simulation
program which calculates non-steady flow and transport phenomena that result from tidal
and meteorological forcing on structured and unstructured, boundary fitted grids. The term
Flexible Mesh in the name refers to the flexible combination of unstructured grids consisting of
triangles, quadrangles, pentagons and hexagons. In 3D simulations the vertical grid is using
the σ co-ordinate approach. As an alternative a fixed z layers approach is also possible. The
2D functionality in D-Flow FM has been released, while the functionality for 3D and 1D is in
development.
2.1

Areas of application
 Tide and wind-driven flows (i.e., storm surges).
 Stratified and density driven flows.
 River flow simulations.
 Rural channel networks.
 Rainfall runoff in urban environments.
 Simulation of tsunamis, hydraulic jumps, bores and flood waves.
 Fresh-water river discharges in bays.
 Salt intrusion.
 Cooling water intakes and waste water outlets.
 Transport of dissolved material and pollutants.

2.2

Standard features
 Tidal forcing.
 The effect of the Earth’s rotation (Coriolis force).
 Density driven flows (pressure gradients terms in the momentum equations).
 Advection-diffusion solver included to compute density gradients.
 Space and time varying wind and atmospheric pressure.
 Advanced turbulence models to account for the vertical turbulent viscosity and diffusivity
based on the eddy viscosity concept. Four options are provided: 1) constant, 2) algebraic,
3) k -ε and 4) k -τ model.
 Time varying sources and sinks (e.g., river discharges).
 Simulation of the thermal discharge, effluent discharge and the intake of cooling water at
any location and any depth.
 Robust simulation of drying and flooding of inter-tidal flats and river winter beds.

Deltares

5 of 412

D-Flow Flexible Mesh, User Manual

Special features
 Built-in automatic switch converting 2D bottom-stress coefficient to 3D coefficient.
 Built-in anti-creep correction to suppress artificial vertical diffusion and artificial flow due
to σ -grids.
 Heat exchange through the free water surface.
 Wave induced stresses and mass fluxes.
 Influence of waves on the bed shear stress.
 Optional facility to calculate the intensity of the spiral motion phenomenon in the flow
(e.g., in river bends) which is especially important in sedimentation and erosion studies
(for depth averaged — 2DH — computations only).
 Non-linear iterations in the solver can be enabled for accurate flooding results.
 Optional facility for tidal analysis of output parameters.
 Optional facility for special structures such as pumping stations, fixed weirs, controllable
barriers (1D, 2D and 3D)
 Default advection scheme suitable for various flow regimes, from bore propagation to eddy
shedding.
 Domain partitioning for parallellized runs on MPI-based High Performance Computing
clusters.

2.4

Important differences compared to Delft3D-FLOW

DR
AF

T

2.3

The most noticeable difference between Delft3D-FLOW and D-Flow FM is the use of unstructured grids. Large regions with quadrangles can be coupled with much greater freedom than
before, using triangles, pentagons and hexagons. Grid refinement (and coarsening) without
DD-coupling is now possible in one and the same model grid. In future, 1D networks will be
coupled to 2D grids, either adjacent to each other or the 1D network overlying the 2D grid.
Finally, many of Delft3D-FLOW’s grid restrictions are now gone: since there are no true grid
’rows’ and ’columns’ anymore, rows of grid cells may be coupled to columns, in any direction
and at any position.
In addition to the unstructured grid files, all geometric model input is now specified in geographical coordinates, either in Cartesian or spherical coordinates (x, y or longtitude, latitude). This is different from Delft3D-FLOW which required model input in grid indices. This
so-called model-independent coordinates input allows for easy change of a model grid, after
which the remaining model input can remain the same.
The new Delta Shell graphical user interface provides a much more powerful and integrated
environment for setting up D-Flow FM models and inspecting model input such as timedependent forcings (boundary conditions and barrier control). Another improvement within
Delta Shell is the use of scripting for running and live interaction with a model.
Coupled running of D-Flow FM with other modules has been extended with real time control
of hydraulic structures, as listed in the following section.
Like Delft3D-FLOW, D-Flow FM implements a finite volume solver on a staggered grid. However, since there is no concept of grid ’rows’ and ’columns’, there is also no ADI-solver possible. The continuity equation is solved implicitly for all points in a single combined system.
Time integration is done explicitly for part of the advection term, and the resulting dynamic
time-step limitation is automatically set based on the Courant criterium. The possible performance penalty that may result from this approach can often be remedied by refining and
coarsening the computational grid at the right locations.
In D-Flow FM, the advection scheme is suitable for both subcritical and critical flows. The
scheme is ’shock proof’, is capable of reproducing correct bore propagation velocities.

6 of 412

Deltares

Introduction to D-Flow Flexible Mesh

2.5

Coupling to other modules
The hydrodynamic conditions (velocities, water elevations, density, salinity, vertical eddy viscosity and vertical eddy diffusivity) calculated in the D-Flow FM module are used as input to
the other modules of the Delft3D Flexible Mesh Suite, which are:
Module

Description

D-Waves (SWAN)
D-Water Quality (Delwaq)
D-Real Time Control

short wave propagation, see also chapter 15
far-field water quality, see also chapter 17
flow-triggered control of hydrodynamic structures

Module couplings that are not yet available are summarized below:
Description

D-Waq PART
Delft3D-SED

mid-field water quality and particle tracking
cohesive and non-cohesive sediment transport

T

Module

DR
AF

For using D-Flow FM the following utilities are important:
Module

Description

Delta Shell

for complete model set-up and model runs, see chapter 3 and
chapter 4
for generating curvilinear and unstructured grids
for visualisation and animation of simulation results
set of MATLAB scripts for postprocessing of output files, see

RGFGRID
Delft3D-QUICKPLOT
OpenEarthTools

http://www.openearth.eu

DFMOUTPUT

for merging partitioned map files into one, see Section 5.2.5.

For details on using these utility programs you are referred to the respective User Manuals.
2.6

Installation

Separate installation are provided for DeltaShell and the computational core.
2.6.1

Installation of DeltaShell

Delta Shell is only available for Windows operating systems. You can either install the msiversion or copy the zip-version. For the msi-version first follow the steps in the installation
programme. Consequently, start the application from Start →All Programs →Deltares or by
double-clicking the short-cut on your desktop. For the zip-version you don’t have to install anything. First unpack the zip, consequently go to bin and double-click 
to start the application.
2.6.2

Installation of the computational core
For the installation of the computational core a separate Installation Manual is provided.

Deltares

7 of 412

D-Flow Flexible Mesh, User Manual

Examples
An extensive set of example models is available as part of this D-Flow FM release. Throughout
this User Manual, references to these testcases are made via the directory names as follows:

T

 
 

DR
AF

2.7

8 of 412

Deltares

3 Getting started
3.1

Introduction
The D-Flow FM plugin is part of the Delta Shell framework. For an introduction to the general look-and-feel and functionalities of the Delta Shell framework you are referred to the
Delta Shell User Manual. This chapter gives an overview of the basic features of the DFlow FM plugin and will guide you through the main steps to set up a D-Flow FM model. For
a more detailed description of the GUI features you are referred to chapter 4. For technical
documentation you are referred to D-Flow FM TRM (2015).
Overview of D-Flow FM GUI









T

When you start the application for the first time the lay-out will look like Figure 3.1. The basic
lay-out consists of the following items:
Ribbon - top
Project window - up left
Map window - down left
central (map) window - up centre
Messages window - down centre
Toolbox, Chart, Region and Operations window - up right
Properties window - down right

DR
AF

3.2

Figure 3.1: Start-up lay-out Delta Shell

All the windows can be customized/hidden according to your own preferences.
These settings will be automatically saved for the next time you the application.
The most important windows for the D-Flow FM plugin are the Project, central (map), Map,
Messages and Time navigator windows.
The contents of these windows are briefly discussed in the subsections below.

Deltares

9 of 412

D-Flow Flexible Mesh, User Manual

Project window
After adding or importing a D-Flow FM model (see section 3.5.1 and section 3.5.9), the Project
window will be extended with D-Flow FM specific features (see Figure 3.2). The Project
window provides you with the basic steps to set up a D-Flow FM model.
The Project window consists of the following features:

Area
Domain
Bed Level
Time Frame
Processes
Initial conditions
Boundary conditions
Physical parameters

general model information such as depth layer specification, model
coordinate system and angle of latitude
geographical (GIS based) features, such as observation points, structures, dry points and land boundaries
computational grid (Note: still to be implemented, for now under
general)
model bed level
model time frame and time step
active physical processes in the model such as salinity, temperature,
wind and tide generating forces
initial conditions for water levels and other physical processes
model boundaries and boundary condition specification
physical settings for processes such as roughness, viscosity, wind
and temperature
location and time series specification for point sources and sinks
numerical simulation settings
output specification
output after running the simulation

T

General

DR
AF

3.2.1

Sources and sinks
Numerical parameters
Output parameters
Output

Upon clicking the items in the Project window the corresponding tab (in case of non-geographic
model settings), attribute table (in case of geographic model settings) or editor view (in case
of advanced editing options) will open. Using the right mouse button gives options such as
importing/exporting model data.

10 of 412

Deltares

DR
AF

T

Getting started

Figure 3.2: Project window of D-Flow FM plugin

3.2.2

Central (map) window

The central window shows the contents of the main editor you are working with. In most cases
this will be the central map with tabulated input fields (see Figure 3.3). The map is used to
edit geographic model data, the tabulated input fields to edit overall model settings. Moreover,
the contents of the central window can also be a specific editor such as the time point editor
or the boundary condition editor. Each of these editors will open as a separate view.

Deltares

11 of 412

T

D-Flow Flexible Mesh, User Manual

3.2.3

DR
AF

Figure 3.3: Central map with contents of the D-Flow FM plug-in

Map window

The map tree allows the user to control the visibility of the contents of the central map using
checkboxes. Furthermore, the user can add (wms) layers, such as satellite imagery or open
street maps (see Figure 3.4).
Note: Please note that the map usually has a different coordinate system than the model. In
rendering the model attributes they are transformed to the map coordinate system (for visual
inspection on the map), but the model will be saved in the model coordinate system.

Figure 3.4: Map tree controlling map contents

12 of 412

Deltares

Getting started

3.2.4

Messages window
The message window (Figure 3.5) provides a log of information on the recent activities in
Delta Shell. It also provides warning and error messages.

Figure 3.5: Log of messages, warnings and errors in message window

3.2.5

Time navigator window

DR
AF

T

The time navigator (Figure 3.6) can be used to step through time dependent model output
and other time dependent geographic features on the map.

Figure 3.6: Time navigator in Delta Shell

3.3

Dockable views

The Delta Shell framework offers lots of freedom to customize dockable views, which are
discussed in this section.
3.3.1

Docking tabs separately

Within the Delta Shell framework the user can dock the separate windows according to personal preferences. These preferences are then saved for future use of the framework. An
example of such preferences is presented in Figure 3.7, where windows have been docked
on two screens.

Figure 3.7: Docking windows on two screens within the Delta Shell framework.

Deltares

13 of 412

D-Flow Flexible Mesh, User Manual

Multiple tabs
In case two windows are docked in one view, the underlying window (tab) can be brought to
the front by simply selecting the tab, as is shown here.

Figure 3.8: Bringing the Time Navigator window to the front

T

By dragging dockable windows with the left mouse button and dropping the window left, right,
above or below another one the graphical user interface can be customized according to
personal preferences. Here an example of the Time Navigator window being docked above
the Properties window.

DR
AF

3.3.2

Figure 3.9: Docking the Time Navigator window.

Additional features are the possibility to remove or (auto) hide the window (top right in Figure 3.9). In case of removal, the window can be retrieved by a mouse-click on Time Navigator
in the View ribbon. Hiding the Time Navigator window results in:

Figure 3.10: Auto hide the Properties window

14 of 412

Deltares

Getting started

3.4

Ribbons and toolbars
The user can access the toolbars arranged in ribbons. Model plug-ins can have their own
model specific ribbon. The ribbon may be auto collapsed by activating the Collapse the Ribbon
button when right-mouse-clicking on the ribbon.

3.4.1

Ribbons (shortcut keys)
Delta Shell makes use of ribbons, just like Microsoft Office. You can use these ribbons for
most of the operations. With the ribbons comes shortcut key functionality, providing shortcuts
to perform operations. If you press Alt, you will see the letters and numbers to access the
ribbons and the ribbon contents (i.e. operations). For example, Alt + H will lead you to the
Home-ribbon (Figure 3.11).

DR
AF

T

Note: Implementation of the shortcut key functionality is still work in progress.

Figure 3.11: Perform operations using the shortcut keys

3.4.2

File

The left-most ribbon is the File ribbon. It has menu-items comparable to most Microsoft
applications. Furthermore, it offers users import and export functionality, as well as the Help
and Options dialogs, as shown in Figure 3.12 and Figure 3.13.

Deltares

15 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

Figure 3.12: The File ribbon.

16 of 412

Deltares

DR
AF

T

Getting started

Figure 3.13: The Delta Shell options dialog.

3.4.3

Home

The second ribbon is the Home ribbon (Figure 3.14). It harbours some general features for
clipboard actions, addition of items, running models, finding items within projects or views,
and help functionality.

Figure 3.14: The Home ribbon.

3.4.4

View

The third ribbon is the View ribbon (Figure 3.15). Here, the user can show or hide windows.

Figure 3.15: The View ribbon.

Deltares

17 of 412

D-Flow Flexible Mesh, User Manual

3.4.5

Tools
The fourth ribbon is the Tools ribbon (Figure 3.16). By default, it contains only the Open
Case Analysis View tool. Some model plug-ins offer the installation of extra tools that may be
installed. These are documented within the user documentation of those model plug-ins.

Figure 3.16: The Tools ribbon contains just the Data item.

The last ribbon is the Map ribbon (Figure 3.17).

T

Map

DR
AF

Figure 3.17: The Map ribbon.

This will be used heavily, while it harbours all Geospatial functions, like:

   

 Decorations for the map
North arrow
Scale bar
Legend
...

      

 Tools to customize the map view

Select a single item
Select multiple items by drawing a curve
Pan
Zoom to Extents
Zoom by drawing a rectangle
Zoom to Measure distance
...

  

 Edit polygons, for example within a network, basin, or waterbody
Move geometry point(s)
Add geometry point(s)
Remove geometry point(s)

 Creation of a model Network, for example for D-Flow 1D
     

3.4.6

Add new Branch
Split Branch
Add Cross section
Add Weir
Add Pump
...

Still, all functions of the category can be activated as they will appear in the drop-down panel.

18 of 412

Deltares

Getting started

3.4.7

Scripting
When you open the scripting editor in Delta Shell, a Scripting ribbon category will appear.
This ribbon has the following additional options (see also Figure 3.18), which are described in
Table 3.1:

Figure 3.18: The scripting ribbon within Delta Shell.

Table 3.1: Functions and their descriptions within the scripting ribbon of Delta Shell.

Description

Run script

Executes the selected text. If no text is selected then it will
execute the entire script
Clears all variables and loaded libraries from memory
Enables/Disables the debug option. When enabled you can
add breakpoint to the code (using F9 or clicking in the margin) and the code will stop at this point before executing the
statement (use F10 (step over) or F11 (step into) for a more
step by step approach)
Show or hide python variables (like _var_) in code completion
Determines if spaces or tab characters are added when
pressing tab
Sets the number of spaces that are considered equal to a
tab character
Saves the changes to the file before running
Creates a new region surrounding the selected text
Comments out the selected text
Converts all tab characters in the script to spaces. The number of spaces is determined by Tab size
Converts all x number of space characters (determined by
Tab size) in the script to tabs
Opens a link to the python website, showing you the python
syntax and standard libraries
Opens a link to the Delta Shell documentation website (generated documentation of the Delta Shell api)

DR
AF

Clear cached variables
Debugging

T

Function

Python variables

Insert spaces/tabs
Tab size

Save before run
Create region
Comment selection
Convert to space indenting
Convert to tab indenting

Python (documentation)

Delta Shell (documentation)

3.4.8

Shortcuts
The shortcut keys of the scripting editor within Delta Shell are documented in Table 3.2.
Table 3.2: Shortcut keys within the scripting editor of Delta Shell.

Shortcut

Function

Ctrl + Enter
Ctrl + Shift +
Enter
Ctrl + X

Run selection (or entire script with no selection)
Run current region (region where the cursor is in)

Deltares

Cut selection

19 of 412

D-Flow Flexible Mesh, User Manual

Table 3.2: Shortcut keys within the scripting editor of Delta Shell.

Ctrl
Ctrl
Ctrl
Ctrl
Ctrl
Ctrl
Ctrl
Ctrl
F9
F5

+
+
+
+
+
+
+
+

Function

C
V
S
+
"
W
H

Shift + F5
F10

3.4.9

DR
AF

F11

Copy selection
Paste selection
Save script
Collapse all regions
Expand all regions
Comment or Uncomment current selection
Add selection as watch variable
Highlight current selection in script (press esc to cancel)
Add/remove breakpoint (In debug mode only)
Continue running (In debug mode only — when on breakpoint)
Stop running (In debug mode only — when on breakpoint)
Step over current line and break on next line (In debug mode
only - when on breakpoint)
Step into current line if possible, otherwise go to next line
(In debug mode only — when on breakpoint). This is used
to debug functions declared in the same script (that have
already runned)

T

Shortcut

Quick access toolbar

Note: The user can make frequently used functions available by a single mouse-click in the
Quick Access Toolbar, the top-most part of the application-window. Do this by right-mouseclicking a ribbon item and selecting Add to Quick Access Toolbar.

Figure 3.19: The quick access toolbar.

3.5

Basic steps to set up a D-Flow FM model

This section shows the basic steps to set up a D-Flow FM model. For a more detailed description of the steps and GUI features you are referred to chapter 4.
3.5.1

Add a D-Flow FM model
After starting the application for the first time, the start page will open with a default project (i.e.
“project1”, see Figure 3.1). To add a D-Flow FM model to the project you have the following
options:
click “New Model” in the “Home”-ribbon (Figure 3.20)
use the Right Mouse Button on “project1” in the Project window, go to “Add” and “New
Model” (Figure 3.21)

20 of 412

Deltares

Getting started

From the list of available models (which can vary depending on your installation), select “DFlow FM model” (Figure 3.22).

DR
AF

T

Figure 3.20: Adding a new model from the ribbon

Figure 3.21: Adding a new model using the Right Mouse Button on “project1” in the
Project window

Figure 3.22: Select “D-Flow FM model”

3.5.2

Set up a D-Flow FM model
To set up the D-Flow FM model follow the steps in the Project window. For a more detailed
description, see chapter 4.

3.5.3

Multiple input files
The input of a D-Flow FM model is stored in a MDU file and in a number of attribute files,
which are explained in section 4.5. In general, all items of a certain quantity are stored in one

Deltares

21 of 412

D-Flow Flexible Mesh, User Manual

attribute file. This is the standard approach. However, D-Flow FM also allows to have more
input files for all quantities, such as thin dams, dry points, cross sections and fixed weirs,
gates.

DR
AF

T

In the MDU file multiple input files per quantity can be specified. These input files have to be
separated by a " " (whitespace) in the MDU file. For a description of the MDU file we refer
to Appendix A. In Figure 3.23 this is illustrated by using two files for the observation points,
namely main_locations.xyn and secondary_locations.xyn. In a similar way the other quantities
like fixed weirs and thin dams can be stored in multiple files.

Figure 3.23: Illustration of multiple input files for observation points

3.5.4

Converting a Delft3D-FLOW model into D-Flow FM

Existing Delft3D-FLOW models can be converted into a set of input files suitable for DFlow FM (to a large extent). The conversion can be done by some Matlab utitilies, which
are described in section B.6.1.2.
3.5.5

Validate D-Flow FM model

You can check whether your model setup is valid by using the right mouse button in the Project
window and select “Validate” (Figure 3.24). This will produce a validation report (Figure 3.25).
Red exclamation marks indicate the parts of the model that are still invalid. By clicking the
hyperlink you will be automatically redirected to the invalid step in the model setup, so that
you can correct it.

22 of 412

Deltares

DR
AF

T

Getting started

Figure 3.24: Validate model

Figure 3.25: Validation report

Deltares

23 of 412

D-Flow Flexible Mesh, User Manual

3.5.6

File tree
To check the file paths and names of the attribute files which are linked to your model, you
can select “File tree” using the right mouse button on your model in the Project window.

3.5.7

Run D-Flow FM model
If you are satisfied with the model setup, you can run it from Delta Shell using the right mouse
button on model and select “Run model” (Figure 3.26).

DR
AF

T

Note: it is also possible to run D-Flow FM outside Delta Shell using the command line.

Figure 3.26: Run model

3.5.8

Inspect model output

The simulation will start and the output will be stored in the output folder in the Project window
(Figure 3.27). Delta Shell provides some basic tools to inspect the model output. For more
extensive and advanced options you are referred to Quickplot and Muppet.

Figure 3.27: Output of wave model in Project window

24 of 412

Deltares

Getting started

Import/export or delete a D-Flow FM model
To import an existing D-Flow FM model either use the right mouse button on the project level
in the Project window (Figure 3.28) or go to the File-ribbon and press Import (Figure 3.29).
Likewise you can export a model or delete a model.

T

For the steps in the Project window that are linked to attribute files (observation points, grid,
bed level, etc.) you can use the right mouse button to import or export these attribute files.

DR
AF

3.5.9

Figure 3.28: Import wave model from Project window

Deltares

25 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

Figure 3.29: Import wave model from file ribbon

3.5.10

Save project

To save the project (and, hence, the model) use the disk-icon on the Quick Access Toolbar or
the File-ribbon (Figure 3.29). If you would like to save the project under a different name use
Save As.
3.5.11

Exit Delta Shell
If you are finished you can exit Delta Shell using the red cross or pressing the Exit button in
the File-ribbon (Figure 3.29).

26 of 412

Deltares

Getting started

3.6

Important differences compared to Delft3D-FLOW GUI
The differences between the former Delft3D-FLOW GUI and the D-Flow FM plugin in Delta Shell
in lay-out and functionality are numerous. Here, we address only the most important differences in the workflow.

3.6.1

Project vs model

3.6.2

Load/save vs import/export

T

The entity “project” is new in the Delta Shell GUI. In the hierarchy the entity“project” is on a
higher level than the entity “model”. A project can contain multiple models, which can either
run standalone or coupled. The user can run all models in the project at once (on project level)
or each model separately (on model level). When the user saves the project, the project settings will be saved in a <∗.dsproj> configuration file and the project data in a <*.dsproj_data
folder>. The <*.dsproj_data> folder contains folders with all input and output files for the
models within the project. There is no model intelligence in the <∗.dsproj> configuration file,
meaning that the models can also be run outside the GUI from the <*.dsproj_data> folder.

DR
AF

The user can load an existing Delta Shell project, make changes in the GUI and, consequently,
save all the project data. Loading and saving means working on the original project data, i.e.
the changes made by the user overwrite the original project data. Alternatively, use Save As
to keep the original project data and save the changes project data at another location (or with
another name).
Import/export functionality can be used to copy data from another location into the project
(import) or, vice versa, to copy data from the project to another location (export). Import/export
is literally copying, e.g.:

 import: changes on the imported data will only affect the data in the project and not the
source data (upon saving the project)

 export: the model data is copied to another location “as is”, changes made afterwards will
only affect the data in the project not the exported data (upon saving the project)
3.6.3

Working from the map

One of the most important differences with the former GUI is the central map. The central
map is comparable with the former “visualization area”, but with much more functionality and
flexibility. The map helps you to see what you are doing and inspect the model at all times.
You can use the Region and Map ribbons to add/edit model features in the map.
3.6.4

Coordinate conversion

With the map as a central feature, functionality to convert model and map coordinates is an
indispensable feature. In the General tab you can set the model coordinate system. In the
map tree you can set the map coordinate system using the right mouse button (Figure 3.30).
The coordinate systems are subdivided in geographic and projected systems. Use the quick
search bar to find the coordinate system you need either by name or EPSG code (Figure 3.31).

Deltares

27 of 412

T

D-Flow Flexible Mesh, User Manual

DR
AF

Figure 3.30: Set map coordinate system using right mouse button

Figure 3.31: Select a coordinate system using the quick search bar

3.6.5

Model area
The model area contains geographical features, such as observation points & curves and
obstacles. In contrast to the former GUI, these features can even exist without a grid or outside
the grid and they are not based on grid coordinates, implying that their location remains the
same when the grid is changed (for example by (de-)refining).
Finally, for the computations, the SWAN computational core interpolates the features to the
grid. In the future we would like to show to which grid points the features are snapped before
running the computation. However, this requires some updates in the SWAN computational
core.

28 of 412

Deltares

Getting started

3.6.6

Integrated models (model couplings)
The Delta Shell framework implements the concept of an Integrated model in order to couple
different models, such as: hydrodynamics coupled with the controlling of structures, waves,
morphology and/or water quality.
Two types of coupling are distinguished: offline and online coupling. In case of an Integrated
model with offline coupling, the entire hydrodynamic simulation is done first, i.e., separately
from the second simulation. The file-based hydrodynamic output serves as input for the second simulation. As such, the hydrodynamic flow drives the controlling of structures or the
simulation of waves or water quality. In this case there is no feedback on the hydrodynamic
simulation. For many applications, this is good practice.

T

An online coupling, on the other hand, exchanges data every time after computing a specified
time interval. This tight coupling allows for direct feedback of the various processes on one
another. This is crucial for controlling structures.
Note: Offline is also referred to as sequential coupling and online as parallel coupling.
Ribbons (shortcut keys)

DR
AF

3.6.7

Delta Shell makes use of ribbons, just like Microsoft Office. You can use these ribbons for
most of the operations. With the ribbons comes shortcut key functionality, providing shortcuts
to perform operations. If you press Alt, you will see the letters and numbers to access the
ribbons and the ribbon contents (i.e. operations). For example, Alt + H will lead you to the
Home-ribbon (Figure 3.32).
Note: Implementation of the shortcut key functionality is still work in progress.

Figure 3.32: Perform operations using the shortcut keys

3.6.8

Context menus

Context menus are the menus that pop up using the right mouse button. These context menus
provide you with some handy functionality and shortcuts specific for the selected item. The
functionality is available in all Delta Shell windows and context dependent. You can best try it
yourself to explore the possibilities.
3.6.9

Scripting
Delta Shell has a direct link with scripting in Iron Python (NB: this is not the same as C-Python).
This means that you can get and set data, views and model files by means of scripting instead
of having to do it all manually. Scripting can be a very powerful tool to automate certain steps
of your model setup or to add new functionality to the GUI. You can add a new script by adding
a new item, either in the Home-ribbon or through the right mouse button.

Deltares

29 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

30 of 412

Deltares

4 All about the modelling process
4.1

Introduction
In order to set up a hydrodynamic model you must prepare an input file. All parameters to
be used originate from the physical phenomena being modelled. Also from the numerical
techniques being used to solve the equations that describe these phenomena, and finally,
from decisions being made to control the simulation and to store its results. Within the range
of realistic values, it is likely that the solution is sensitive to the selected parameter values, so
a concise description of all parameters is required. This input data is collected into the Master
Definition Unstructured file, called a mdu-file.

mdu-file and attribute files

The Master Definition Unstructured file (mdu-file) is the input file for the hydrodynamic simulation program. It contains all the necessary data required for defining a model and running
the simulation program. In the mdu-file you can define attribute files in which relevant data
(for some parameters) is stored. This will be particularly the case when parameters contain
a large number of data (e.g., time-dependent or space varying data). The mdu-file and all
possible user-definable attribute files are listed and described in Appendix A.

DR
AF

4.2

T

In section 4.2 we discuss some general aspects of the mdu-file and its attribute files. The
sections thereafter describe how the actual modelling process can be done in the GUI.

Although you are not supposed to work directly on the mdu-file it is useful to have some ideas
on it as it reflects the idea of the designer on how to handle large amounts of input data and
it might help you to gain a better idea on how to work with this file.
The basic characteristics of an mdu-file are:

 It is an ASCII file.
 Each line contains a maximum of 256 characters.
 Each (set of) input parameter(s) is preceded by a (set of) keyword(s).
The results of all modules are written to platform independent binary (NetCDF-)files, so also
these result files you can transfer across hardware platforms without any conversion.
The mdu-file contains several sections, denoted by square brackets, below are the most relevant ones:

[model] this section contains the program name and its version.
[geometry] in this section, the main entry comprises the specification of the grid (i.e.
the netcdf network file). In addition, thin dams and thin dykes can be specified.

[numerics] this section contains the settings of specific parts of the flow solver, such
as limiters and the iterative solver type.

[physics] in this field, physical model parameters can be inserted, for instance related
to friction modelling and turbulence modelling.
[wind] the wind section prescribed the dependency of the wind drag coefficient to the
wind velocity through 2 or 3 breakpoints. This field also contains pressure information.
[time] in this section, the start time and the stop time of the simulation are specified in
hours, minutes or seconds. The other times specified are specified in seconds.
[restart] in this section, the restart file can be specified, either as a <∗_map.nc>-file
or as an <∗_rst.nc> file.

Deltares

31 of 412

D-Flow Flexible Mesh, User Manual

[external forcing] this section only contains the name of the external forcings file.
[output] in this section, the writing frequency of output data can be prescribed.
Appendix A contains the full list of MDU sections and keywords.
4.3

Filenames and conventions
Filenames and file extensions hardly have any strict requirements in D-Flow FM, but we do
advise to use the suggested file naming patterns below:

mdu_name.mdu
∗_net.nc
∗.xyz
∗.ldb
∗_thd.pli
∗_fxw.pliz
∗_part.pol
∗.ext
pli_name.pli
pli_name_000X.tim
pli_name_000X.cmp
∗.bc
∗.xyn
∗_crs.pli
mdu_name_map.nc
mdu_name_his.nc
mdu_name.dia

mdu-file
Unstructured grid (network) file
Sample file (for spatial fields)
Landboundary file (polyline file format)
Thin dam file (polyline file format)
Fixed weir file (polyline file format with z values)
Partitioning polygon file (polyline file format)
External forcings file
Boundary condition location file (polyline file format)
Timeseries boundary data file at point #X
Astronomic/harmonical component boundary data file at point #X
BC-format boundary data file with polyline and point labels in file
Observation station file
Observation cross-sections file
Output map file
Output his file
Output diagnostics (log) file

T

description

DR
AF

4.4

file pattern

Setting up a D-Flow FM model

This chapter describes how to set up a D-Flow FM model in an empty Delta Shell project.
When you open the GUI, an empty project is automatically created. Starting from scratch,
you have to create an empty D-Flow FM model in a Delta Shell project:

 In the ribbon menu items, go to Home and click on New Model. The Select model ...
window appears (Figure 4.1). Click on D-Flow FM model and click OK. Alternatively, you
can also double click on D-Flow FM model to open it directly.
 Or use the right mouse button on the name of your project (project1 by default). In the
context menu that appears, select Add and click New Model. Again, the Select model ...
window appears allowing you to add an empty D-Flow FM model.

Figure 4.1: The Select model ... window

32 of 412

Deltares

All about the modelling process

In the Project window, an empty model has appeared (Water Flow FM Model (1) by default).
Click the plus sign (+) before the name of the model to expand all model attributes in the
Project window: General, Area, Grid, Bed Level, Time Frame, Processes, Initial Conditions,
Boundary Conditions, Physical Parameters, Sources and Sinks, Numerical Parameters, Output Parameters and Output. In the following paragraphs, all model attributes are treated
separately.
4.4.1

General

DR
AF

T

When you double click on General in the Project window, tabulated input fields appear underneath the central map (Figure 4.2). The general tab contains general model information such
as the model grid (will be moved to domain in later release), the number of vertical layers and
vertical model, the model coordinate system and the angle of latitude.

Figure 4.2: Overview of general tab

4.4.1.1

Vertical layer specification

When you click on the blue striped icon next to the vertical layers text box (depth layers), the
Edit depth layers window appears (Figure 4.3). This window allows you to choose the type of
layering and the corresponding number of layers. The drop down menu contains two distinct
layering types:
1 Single
2 Z
3 Sigma (β -functionality)

Note: Currently, only the Single and Sigma type layering are presented.

Deltares

33 of 412

T

D-Flow Flexible Mesh, User Manual

DR
AF

Figure 4.3: Vertical layer specification window (σ -model is β -functionality)

The recommended type of vertical layering differs depending on the model application and the
processes that you are interested in. Layers in the σ -model increase or decrease in thickness
as the water depth in the model increases or decreases. The relative thickness distribution
of the different layers however remains fixed. Layers in the Z -model have a fixed thickness,
which does not change as the water depth in the model varies. If the water depth drops below
the cumulative thickness of all z -layers, layer(s) will fall dry. When Single is chosen, the model
contains only 1 vertical layer. (An extensive description of σ - and z -type layering is found in
section 7.3).
If your model contains more than 1 layer, the thickness distribution of the vertical layers can be
specified. In Delta Shell, user can specify the number of layers and then automatically obtain
uniformly distributed layer thicknesses (The total percentage is 100 %). As shown in Figure
Figure 4.3, setting 10 layers results in 10 % thickness distribution for each layer. Specifying
non-uniformly distributed layer thickness is β -functionality and can be done through the MDU
file.
4.4.1.2

Model coordinate system

A very important property of your model is the coordinate system in which it is specified.
Within the interface, there is a clear distinction between the coordinate system of your model
and all of its attributes and the coordinate system of the central map and all of its items. Both
coordinate systems can be set independent from each other. Keep in mind, that the coordinate
system of your model is saved and used when you run your model. Only coordinate systems
supported by the computational core are supported.
The model coordinate system can be set using the globe icon next to the Coordinate system
text box. After clicking this button, the coordinate system wizard is opened (Figure 4.4). This
wizard allows you to choose one of many possible coordinate systems and apply it to your
model. You can use the search bar to browse the various coordinate systems (searching
possible by name and EPSG code). If your model is specified in a certain coordinate system
already, it is possible to convert the model coordinate system using the same button. After
clicking OK, all model attributes are converted to the system of choice. Note that you have to

34 of 412

Deltares

All about the modelling process

DR
AF

T

close and re-open all map views for the changes to take effect in these views.

Figure 4.4: Coordinate system wizard

The map coordinate system applies to all items in the map Project window. To change the map
coordinate system, navigate the menu ribbons to Map and click on Map coordinate system.
Alternatively, right mouse click on map in the map Project window and select Change Map
Coordinate System. The coordinate system wizard appears, allowing you to set the map
coordinate system of your choice. When the original model coordinate system differs from the
selected map coordinate system, all map items are automatically converted to the specified
map coordinate system.
4.4.1.3

Angle of latitude

For a Cartesian grid you have to specify the latitude of the model area; this is used to calculate
a fixed Coriolis force for the entire area. For a spherical grid the Coriolis force is calculated
from the latitude coordinates in the grid file and thus varies in the latitude direction. Typically,
you use spherical co-ordinates for large areas, such as a regional model. When a value of 0
is entered, the Coriolis force is not taken into account.
4.4.2

Area

The model area contains all geographical features, such as the observation points, structures
and land boundaries. These features can exist without a grid or outside the grid as they are not
based on grid coordinates but xy -coordinates. This means that the location of the model area
features remains the same when the grid is changed (for example by (de-)refining). When you
expand the model attribute Area in the Project window, a list of possible geographical features
is displayed (Figure 4.5).

Figure 4.5: Overview of geographical features

Figure 4.6 displays an overview of the map ribbon. The left red box indicates the FM Region

Deltares

35 of 412

D-Flow Flexible Mesh, User Manual

2D / 3D of the map ribbon. To add a geographical feature, click the corresponding item in this
box and use your mouse to indicate the location of the desired feature on the central map.
Importing and exporting of all model features is done via the context menu by using your right
mouse button on the different features. The red box on the right highlights the various editing
buttons available to edit the locations of the geographical features. The specifics for each
feature are discussed separately in the following sections.

Grid snapped features

All geographical features of your model that are described by x-, and y -coordinates have to
be interpolated to your computational grid when you run your model. The computational core
of D-Flow FM automatically assigns these features to the corresponding parts of your grid.
The graphical user interface allows you to inspect the interpolated locations of these features.

DR
AF

4.4.2.1

T

Figure 4.6: Overview of map ribbon. Left red box highlights FM Region 2D / 3D menu
containing icons used to add features. Right red box highlights Edit menu
which contains icons used to edit geographical features (move/add)

Figure 4.7: Example of expanded grid snapped features attribute in map tree

Figure 4.7 shows a part of the map tree, showing the Area2D and Grid-snapped features
attributes. The x- and y -locations of all spatial model features are shown within the Area2D
attribute. You can hide or show any of these attributes by means of clicking the check boxes
in front of the attributes. When you enable the Grid-snapped features, all items within the
Area2D attribute, as well as all boundaries are interpolated to their corresponding locations on
the computational grid. The interpolation is performed instantaneously by the computational
core of D-Flow FM, which enables you to directly inspect the numerical interpretation of all
features on the computational grid. Figure 4.8 shows an example of four observation points

36 of 412

Deltares

All about the modelling process

T

and one thin dam in the central map, showing both the x- and y -locations of these features
as well as their representation on the computational grid.

Figure 4.8: Example of grid snapped features displayed on the central map

Observation points

DR
AF

4.4.2.2

Observation points are used to monitor the time-dependent behaviour of one or all computed
quantities as a function of time at a specific location, i.e. water elevations, velocities, fluxes,
salinity, temperature and concentration of the constituents . Observation points represent an
Eulerian viewpoint at the results. (Note: Sediment transport is a β -functionality)
To add an observation point, click the corresponding icon from the FM Region 2D / 3D menu
in the map ribbon (Figure 4.6). By clicking in the central map, observation points are placed
in your model. Selected observation points (first click the Select icon from the “Tools” menu
in the map ribbon) can be deleted using backspace or directly from the attribute table (explained below). The grid snapped representation (Figure 4.9) is indicated by a line linking the
observation points to the closest cell center, indicating that output will be stored of this cell.
Importing and exporting of observation points is possible via the context menu of “Observation
points” in the Project window (right mouse button).

Figure 4.9: Geographical and grid snapped representation of an observation point

When you double click the Observation points attribute in the Project window, the observation
points tab is displayed underneath the central map (Figure 4.10). This tab shows an attribute
table with the names, x- and y -locations (in the model coordinate system) of the various
observation points within the model. When one of the entries is selected, the corresponding
observation point is highlighted in the central map.

Deltares

37 of 412

D-Flow Flexible Mesh, User Manual

Observation cross-sections

Cross-sections (Figure 4.11) are used to store the sum of computed fluxes (hydrodynamic),
flux rates (hydrodynamic), fluxes of matter (if existing) and transport rates of matter (if existing)
sequentially in time at a prescribed interval.

DR
AF

4.4.2.3

T

Figure 4.10: Attribute table with observation points

To add a cross section, click the corresponding icon from the FM Region 2D / 3D menu in
the map ribbon (Figure 4.6). By clicking in the central map, cross section points are added.
Note that a cross section consists of a minimum of two points, but an arbitrary amount of
intermediate points can be added. The last point is indicated by double clicking the left mouse
button. The distance in meters (independent of the local coordinate system) in between the
last point and the mouse pointer is indicated in pink; in case more than two points are used,
the cumulative length of the entire cross section is shown in black. Once highlighted in the
central map, a cross section is deleted with backspace or directly from the attribute table
described below. The positive direction through the cross section is indicated by a pink arrow.
The direction of this arrow is dependent on the order in which the cross section points are
drawn (to change the direction, flip the start and end points). Importing and exporting of
cross sections is possible via the context menu of “Observation cross-sections” in the Project
window (right mouse button).

Figure 4.11: Geographical and grid snapped representation of a cross section

Double clicking the Observation cross-sections attribute in the Project window enables the
Observation cross-sections tab in the central map view (Figure 4.12). Alternatively, you can
double click on any cross section in the map. The attribute table displayed in the tab contains
the names of the various cross sections of your model. When one of the entries is selected,
the corresponding cross section is highlighted in the central map. A cross section entry can
be deleted from the table via the context menu (right mouse button).

38 of 412

Deltares

All about the modelling process

Thin dams

Thin dams (Figure 4.13) are infinitely thin objects defined at the velocity points which prohibit
flow exchange between the two adjacent computational cells without reducing the total wet
surface and the volume of the model. The purpose of a thin dam is to represent small obstacles (e.g. breakwaters, dams) in the model which have sub-grid dimensions, but large enough
to influence the local flow pattern. A thin dam is assumed to have an infinite level in the model;
no water will ever overflow a thin dam.

DR
AF

4.4.2.4

T

Figure 4.12: Attribute table with observation cross sections

To add a thin dam, click the corresponding icon from the FM Region 2D / 3D menu in the map
ribbon (Figure 4.6). Adding, deleting, importing and exporting of a line feature such as a thin
dam is discussed in more detail in section 4.4.2.3 on cross sections.

Figure 4.13: Geographical and grid snapped representation of a thin dam

When you double click the Thin dams attribute in the Project window, the corresponding Thin
dams tab appears underneath the central map (Figure 4.14). Alternatively, you can also
double click on any thin dam in the central map. Within this tab, an attribute table is shown
which displays the names of all thin dams within your model. When one of the entries is
selected, the corresponding item is highlighted in the central map. A thin dam entry can be
deleted from the table via the context menu (right mouse button).

Deltares

39 of 412

D-Flow Flexible Mesh, User Manual

Fixed weirs

A fixed weir (Figure 4.15) has the same function as a thin dam (section 4.4.2.4). However,
unlike a thin dam, a fixed weir can be assigned both xy - and z -values. Furthermore, a fixed
weir can be assigned a crest length (a thin dam is infinitely thin). The z -values correspond
to the crest level of the fixed weir at the corresponding x- and y -locations; the level can vary
in space, but is constant in time (Figure 4.16). Consequently, a fixed weir can overflow if the
water level exceeds the crest level of the fixed weir. The level is specified with regard to the
same vertical reference level as all other model items with level specifications (e.g. bed level
values and initial water levels).

DR
AF

4.4.2.5

T

Figure 4.14: Attribute table with thin dams

Figure 4.15: Geographical and grid snapped representation of a fixed weir

Figure 4.16: Schematic representation of a fixed weir

To add a fixed weir, click the corresponding icon from the FM Region 2D / 3D menu in the
map ribbon (Figure 4.6). Adding, deleting, importing and exporting of a line feature such as a
fixed weir is discussed in more detail in section 4.4.2.3 on cross sections.
When you double click the Fixed weirs attribute in the Project window, the corresponding

40 of 412

Deltares

All about the modelling process

Fixed weirs tab appears underneath the central map (Figure 4.17). Alternatively, you can also
double click on any fixed weir in the central map. Within this tab, an attribute table is shown
which displays the names of all fixed weirs within your model. When one of the entries is
selected, the corresponding item is highlighted in the central map. A fixed weir entry can be
deleted from the table via the context menu (right mouse button).

T

Figure 4.17: Attribute table with fixed weirs







DR
AF

When you double click on a fixed weir in the central map, the fixed weir editor opens in a
separate view (Figure 4.18). On the right, a graphic representation (top view) of the fixed weir
is displayed. The support point that is selected in the table is highlighted by means of a blue
circle. On the left, a table is displayed showing the following properties of each support point
of the fixed weir under consideration:
X: x-location of the support point
Y: y -location of the support point
Crest level: level of fixed weir (spatially varying but fixed in time)
Crest length: length of the crest (instead of an infinitely thin crest)
Left ground level: ground level to the left of the crest; together with crest level determines
slope of crest on the left side
 Right ground level: ground level to the right of the crest; together with crest level determines slope of crest on the right side

Figure 4.18: Fixed weir editor

Deltares

41 of 412

D-Flow Flexible Mesh, User Manual

Land boundaries

T

A land boundary (Figure 4.19) encloses the main geographic features surrounding your model
and indicates the intersection of the water and land masses. When you set up your computational grid in RGFGRID, a land boundary determines the onshore extent of your model. When
you open RGFGRID to edit your grid, the land boundary is automatically transferred and displayed. For more details on grid generation, you are referred to the User Manual of RGFGRID
(RGFGRID UM, 2016).

Figure 4.19: Geographical representation of a land boundary

DR
AF

4.4.2.6

To add a land boundary, click the corresponding icon from the FM Region 2D / 3D menu in
the map ribbon (Figure 4.6). Adding, deleting, importing and exporting of a line feature such
as a land boundary is discussed in more detail in section 4.4.2.3 on cross sections.
When you double click the Land boundaries attribute in the Project window, the corresponding
land boundaries tab appears underneath the central map (Figure 4.20). Alternatively, you can
also double click on any land boundary in the central map. Within this tab, an attribute table is
shown which displays the names of all land boundaries within your model. When one of the
entries is selected, the corresponding item is highlighted in the central map. A land boundary
entry can be deleted from the table via the context menu (right mouse button).

Figure 4.20: Attribute table with land boundaries

42 of 412

Deltares

All about the modelling process

Dry points and dry areas
Dry points are grid cells centred around a water level point that are permanently dry during
a computation, irrespective of the local water depth and without changing the water depth as
seen from the wet points. Dry areas are the same, but provide an easy way of defining many
grid points as a single dry area at once.
Note that the flexibility of unstructured grids makes the use of dry points less necessary than
with structured grid models, such as Delft3D-FLOW. In the interior of unstructured grids, some
or more grid cells can easily be deleted during grid manipulation, e.g., in RGFGRID. Still, a
dry points file can be used to explicitly mark locations or regions inside the grid as dry cells.

T

Dry points in the GUI

DR
AF

4.4.2.7

Figure 4.21: Geographical and grid snapped representation of several dry points

To add a dry point, click the corresponding icon from the FM Region 2D / 3D menu in the map
ribbon (Figure 4.6). Adding, deleting, importing and exporting of a point feature such as a dry
point is discussed in more detail in section 4.4.2.2 on observation points. The grid snapped
representation of a dry point (Figure 4.21) is indicated by a line linking the dry point to the
closest cell center.
When you double click the “Dry points” attribute in the Project window, the corresponding
Dry points tab appears underneath the central map (Figure 4.22). Alternatively, you can also
double click on any dry point in the central map. Within this tab, an attribute table is shown
which displays the names of all dry points within your model. When one of the entries is
selected, the corresponding item is highlighted in the central map. A dry point entry can be
deleted from the table via the context menu (right mouse button).

Deltares

43 of 412

D-Flow Flexible Mesh, User Manual

Dry areas in the GUI

T

Figure 4.22: Attribute table with dry points

DR
AF

Dry areas (Figure 4.23), like dry points, indicate areas that permanently dry during a computation. Instead of adding many separate dry points, you can draw a polygon that encloses
all required computational cells. Only cells which centers are strictly inside the polygon are
taken into account. The grid snapped representation of the dry area clearly indicates which
cells are considered within the dry area.

Figure 4.23: Geographical and grid snapped representation of a dry area

When you double click the Dry areas attribute in the Project window, the corresponding Dry
areas tab appears underneath the central map (Figure 4.24). Alternatively, you can also
double click on any dry area in the central map. Within this tab, an attribute table is shown
which displays the names of all dry areas within your model. When one of the entries is
selected, the corresponding item is highlighted in the central map. A dry area entry can be
deleted from the table via the context menu (right mouse button).

44 of 412

Deltares

All about the modelling process

Dry points file input

T

Figure 4.24: Attribute table with dry areas

DR
AF

Dry points are defined by a sample file <∗.xyz>, dry areas are defined by a polygon file
<∗.pol>. Add the filename to the MDU as below:
[geometry]
# ...
DryPointsFile =  # Dry points file *.xyz, third column dummy z values,
# or polygon file *.pol.

The format of the sample file is defined in section B.3. The format of the polygon file is defined
in section B.2. All grid cells that contain a sample point are removed from the model grid, and
as a result do not appear in any of the output files. Alternatively, for a polygon file, all grid cells
whose mass center lies within the polygon will be removed from the model grid.
Finally, an optional flag can be set in the polygon file to invert the masking behavior of the polygon. That is: all points outside of the polygon will be marked as dry and therefore removed.
To realize this, the polygon block should have three columns, and the first point should have
a z -value of -1 in the third column.
4.4.2.8

Pumps

Pumps are a type of structures in D-Flow FM. Unlike the other structures, pumps can force the
flow only on one direction. This direction is determined by arrow in D-Flow FM. The direction
of pump can be reverted by mouse right-click and selecting "Reverse line(s)".
Like all other structures in D-Flow FM, the pump can be defined by a polygon. The input data
of the pumps can be given by selecting and editing the pump polygon (see Figure 4.25). Right
click on the pump polygon and selecting "Delete Selection" leads to deletion of the selected
pump. Double clicking the pump polygons (or right click the pump in the list and select "Open
view"), it opens a tab for editing the pump properties. The tab includes pump capacity. If the
pump capacity is time dependent, it can be given by time series data (Figure 4.25).

Deltares

45 of 412

D-Flow Flexible Mesh, User Manual

Figure 4.25: Polygon for pump (a) and adjustment of physical properties (b).

T

Right clicking the pumps attribute in the Project window opens a pop-down window on which
you can select to import or export pumps. The pumps can be imported as polyline by a
<∗.pli> file or by a structure file, and they can be exported as a <∗.pli> file, structure file, or
.

DR
AF

Double clicking the pumps attribute in the Project window opens the pumps tab underneath
the central map. The attribute table in this tab shows all pumps with their corresponding
properties. When one of the pumps is selected, the corresponding item is highlighted in the
central map. Double clicking any of the pumps in the central map opens the Structure Editor
as a new map view in which all parameters related to the pump can be set (Figure 4.26).

Figure 4.26: Selection of the pumps

4.4.2.9

Weirs

Unlike the fixed weir, weir (or adjustable weir) can be adjusted based on the user requirements. To set an adjustable weir in the computational domain, you can select the icon weir
from the toolbar, and draw a line by mouse. This line includes direction, which defines the
sign of total flux passing above the weir (positive flux in the direction of weir, otherwise negative). This direction can be inverted by mouse right-click and selecting Reverse line(s). By
double-click on the weir, you can add the geometrical and time-dependent parameters such
as Crest level, Crest width, Crest level time series and Lateral concentration coefficient (See
Figure 4.27).

46 of 412

Deltares

All about the modelling process

T

Figure 4.27: Polygon for adjustable weir (a) and adjustment of geometrical and temporal
conditions (b).

DR
AF

Moreover, the time series of the crest level can be set in the case the crest level is time
dependent. The time dependency diagram can be defined by the help of time series diagram
as shown in Figure 4.28. The time series can also be imported (and exported) from external
-file.

Figure 4.28: Time series for crest level.

The weirs can be deleted, imported and exported. By right clicking on the weir polygon, and
selecting "Delete Selection" from the pop-down window, you can delete the selected weir.
Right clicking the "Weirs" attribute in the Project window opens the "Weirs" tab opens the
options for import and export. You can import weirs as polygon (<∗.pli> file) or as a structure
by structure file. The weirs can also be exported to a polygon file, to a structure data file, or
by be the help of shapefile.
Double clicking the "Weirs" attribute in the Project window opens the "Weirs" tab underneath
the central map. The attribute table in this tab shows all weirs with their corresponding properties. When one of the weirs is selected, the corresponding item is highlighted in the central
map. Double clicking any of the weirs in the central map opens the Structure Editor as a new
map view in which all parameters related to the weir can be set (Figure 4.29).

Deltares

47 of 412

T

D-Flow Flexible Mesh, User Manual

4.4.2.10

Gates

DR
AF

Figure 4.29: Time series for crest level.

In D-Flow FM the gates can be imposed by polygon, and can be edited in a similar way as the
other structures (see Figure 4.30). Like the other structures, mentioned above, the gates can
be imported and exported by means of structure file or <∗.pli> file.
Figure 4.30 shows the edit tab of the gate properties. The gate can be opened horizontally,
as well as vertically.

Figure 4.30: Polygon for gate (a) and adjustment of geometrical and temporal conditions
(b).

48 of 412

Deltares

All about the modelling process

4.4.3

Computational grid
To set up your grid, click on the Edit grid button which opens the program RGFGRID. All
features of grid setup in RGFGRID are treated separately in RGFGRID UM (2016). If a land
boundary is present in your project, this is exported to RGFGRID automatically. Once you
have setup your grid in RGFGRID, click File →Save Project and close the program. The grid
will now be visible within the central map. Editing of the grid remains possible at any point in
time during the setup of your model by means of clicking the edit grid button. Any changes
you make are always saved after clicking File →Save Project and loaded back into the central
map.
Bed Level

T

When you double click on Bed level in the Project window or select Bed level from the dropdown box in the spatial editor section of the Map ribbon, the spatial editor is activated (Figure 4.31). This editor can be used to generate a bathymetry for your computational grid. How
to work with the spatial editor is described in Appendix F. Be aware that the bathymetry in
D-Flow FM is defined as the bed level (e.g. positive upward), implying that all bed levels below
the reference plane are negative. By default the bed levels are defined on the net nodes.

DR
AF

4.4.4

Note: Please note that, currently, other bed level definition types (e.g. BedlevTypes) are not
visually supported by the GUI. If you would like to switch the bed level defintions to another
type, you have to set the BedlevType in the Physical Parameters tab. However, the bed level
locations will not be updated accordingly in the central map.

Figure 4.31: Bed level activated in the spatial editor

Deltares

49 of 412

D-Flow Flexible Mesh, User Manual

Time frame

T

In the settings tab, in the sub-tab time frame (Figure 4.32), you can specify everything related
to the time frame in which your model will run.

DR
AF

4.4.5

Figure 4.32: Overview time frame tab

In general, the time frame is defined by a reference date and a start and stop time. The
time step size of your model is automatically limited (every time step) based on a Courant
condition. In more detail, you must define the following input data:
Max Courant nr

Reference date

Time zone

The maximum allowed Courant number, which is used to compute
the time step size from the CFL criterium. D-Flow FM uses an explicit advection scheme, therefore a value of 0.7 or lower is advised.
Remark:
 You should check the influence of the time step on your results
at least once.
The reference date and time of the simulation. It defines the (arbitrary) t = 0 point for all time-series as used in the simulation. In the
GUI, time-specifications are always absolute, but in the underlying
model input files, these are stored as time values relative to the reference date. Typically, input time-series files are specified in minutes
after this t = 0 point. See for an illustration Figure 4.33.
The time difference between local time and UTC.
The time zone is defined as the time difference (in hours) between
the local time (normally used as the time frame for D-Flow FM) and
Coordinated universal time (UTC). The local Time Zone is used for
for two processes:

 To determine the phases in local time of the tidal components
when tide generating forces are included in the simulation, see
section 7.10.
 To compare the local time of the simulation with the times at
which meteo input is specified, e.g., wind velocities and atmospheric pressure. These can be specified in a different time zone.
User time step

50 of 412

If the Time Zone = 0 then the simulation time frame will refer to UTC.
The interval that is highest in the hierarchy. It specifies the interval with which the meteorological forcings are updated. The Max.

Deltares

All about the modelling process

Stop Time

Start Time

ζ

Reference Date

Time

Figure 4.33: Relation between Reference Date and the simulation start and stop time
for astronomic- and harmonic-series as used in the simulation. Time-series
should cover the simulation time.

Max. time step

Initial time step

Start Time
Stop Time

4.4.6

T

DR
AF

Nodal update interval

time step cannot be larger than the User time step, and it will automatically be set back if it is. Also, the output intervals should be a
multiple of this User time step, see Appendix E. Finally the computational time steps will be fitted to end up exactly at each User time
step, such that proper equidistant output time series are produced.
When using astronomic boundary conditions, the nodal factors can
be updated with certain intervals, see section 7.10.
The Max. time step is the upper limit for the computational time
step. The automatic time step can not be switched off explicitly.
(If you want to enforce a fixed time step anyway, set the parameter Max. time step (s) to the desired step size, and the parameter
Max. Courant nr. to an arbitrary high value.)
the initial time step of the model; there is no data available yet during
the first time step to compute the time step automatically based on
a Courant condition. The computational time step then gradually
increases from Initial time step to the CFL-number limited time step
(assuming that Initial time step is relatively small).
The start date and time of the simulation.
The stop date and time of the simulation. Always make sure that the
model Stop Time is larger than the model Start Time to avoid errors
during your calculation.

Processes

In the processes tab (Figure 4.34) you can specify which processes you want to incorporate
into your model. You can choose whether or not to include tidal forcing, salinity, temperature
and sediment/morphology by means of check boxes. In addition, you can specify which Wave
model you want to use. Note that when ticking the sediment/morphology check box, two tabs
for setting sediment and morphology parameters appear.

Deltares

51 of 412

D-Flow Flexible Mesh, User Manual

Initial conditions

When expanding the initial conditions in the Project window, all quantities requiring an initial
state are shown (Figure 4.35). The number of quantities depends on the activated physical
processes in the ‘Processes’ tab (see section 4.4.6). The initial conditions for each quantity
can be specified as a uniform value or as a coverage (e.g. a spatially varying field).

DR
AF

4.4.7

T

Figure 4.34: Overview processes tab

The uniform values can edited in the ‘Initial Conditions’ tab, which opens upon double clicking
‘Initial Conditions’ in the Project window (Figure 4.36). In this tab you can also specify the
layer distribution for the initial condition specification in case of a 3 dimensional quantity (i.e.
salinity). Note: Please note that for 3 dimensional initial conditions currently only the option
‘top-bottom’ is supported.
In case of spatially varying initial conditions you can double click the quantity in the Project
window or select it from the dropdown box in the spatial editor section of the /emphSpecial
Operations ribbon (Figure 4.37). Then the spatial editor is activated, which you can use to edit
spatially varying fields. For more information on how to use the spatial editor you are referred
to Appendix F. In case of 3 dimensional initial conditions, you can select the layer from the
quantity dropdown box in the ‘Map’ ribbon (Figure 4.38).

Figure 4.35: Initial conditions in the Project window

52 of 412

Deltares

All about the modelling process

DR
AF

T

Figure 4.36: The ‘Initial Conditions’ tab where you can specify the uniform values and the
layer distributions of the active physical quantities.

Figure 4.37: Initial water levels activated in the spatial editor

Figure 4.38: Selecting 3 dimensional initial fields from the dropdown box in the ‘Map’
ribbon to edit them in the spatial editor

Instead of defining initial conditions from scratch you can also import fields from a previous
computation (using restart files). When you run a model using the Delta Shell GUI which is
writing restart files, the restart states will appear in the “Output” folder in the Project window
(Figure 4.39). For a description of the specification of restart files, please refer to paragraph

Deltares

53 of 412

D-Flow Flexible Mesh, User Manual

section 4.4.12. To use a restart file as initial conditions, apply the right mouse button and
select “Use as initial state”. The file will now appear under “Initial Conditions” in the Project
window (Figure 4.40). To activate the restart file utilize the right mouse button and select “Use
restart”. The file will no longer be grey, but is now highlighted in black. The model will now
restart from this file. Notice that the simulation still starts at the original User Start Time, rather
than the time of the restart file. (The restart file only provides initial conditions.)

T

Figure 4.39: Restart files in output states folder

4.4.8

DR
AF

Figure 4.40: Restart file in initial conditions attribute

Boundary conditions

Boundary conditions consist of a location specification (‘support points’) and a forcing for that
location.
Section 4.4.8.1 describes how support points can be specified in Delta Shell. The boundary
forcing can be specified in the boundary data editor.
Section 4.4.8.2 describes the functionality of the boundary data editor. Finally, section 4.4.8.4
describes how the user can get an overview of the boundary locations and forcing in the
attribute table.
4.4.8.1

Specification of boundary locations (support points)

In D-Flow FM the boundary locations are defined as ‘support points’ on a polyline (<∗.pli>).
The user can add a boundary polyline (<∗.pli>) in the central map by selecting the ‘Add
Boundary’ icon in ’FM Region 2D / 3D’ of the ‘Map’ ribbon (see Figure 4.41). The number of
individual mouse clicks determines the number of support points on the polyline. The polyline
is closed by a double click. Once the polyline is added it becomes visible in the Project
window under ‘Boundary Conditions’ (see Figure 4.42). The polyline can be edited by the
general edit operations in the ‘Map’ ribbon (i.e. add/delete/move individual geometry points
or the complete geometry, see Figure 4.43). The name of the polyline (or ‘boundary’) can be
edited in the Boundaries tab, which can be opened by double clicking ‘Boundaries’ in the ‘Map
Tree’ (see Figure 4.44).

54 of 412

Deltares

DR
AF

T

All about the modelling process

Figure 4.41: Adding a boundary support point on a polyline in the central map. By double
clicking on the polyline in the map, the boundary condition editor will open to
edit the forcing data on the polyline.

Deltares

55 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

Figure 4.42: Polyline added in Project window under ‘Boundary Conditions’. By double
clicking on the name of the polyline, the boundary condition editor will open
to edit the forcing data on the polyline.

Figure 4.43: Geometry edit options in Map ribbon

56 of 412

Deltares

T

All about the modelling process

4.4.8.2

DR
AF

Figure 4.44: Edit name of polyline/boundary in Boundaries tab

Boundary data editor (forcing)

The boundary condition editor can be opened either by double clicking on the boundary name
in the Project window (Figure 4.42) or by double clicking the boundary polyline in the map window (Figure 4.41). An overview of the boundary data editor is given in Figure 4.45. This editor
can be used to specify the boundary forcing for different quantities (i.e. water level, velocity,
discharge, salinity, etc.) corresponding to different processes (i.e. flow, salinity, temperature,
tracers). The user can select the processes and quantities in the upper left corner. In the
upper centre panel the user can select the forcing function for the selected quantity (i.e. time
series, harmonic components, astronomical components or Q-h relation). The upper right
corner contains a list of the support points on the polyline. The geometry view shows the
location of the selected support point on the polyline (<∗.pli>). In the middle panel are some
handy buttons to generate, import and export forcing data. In the lower left panel the user
can specify the boundary data for the selected support point. The lower right corner shows
the signal of the boundary data. The following sections describe the features of the boundary
data editor in more detail.

Deltares

57 of 412

T

D-Flow Flexible Mesh, User Manual

DR
AF

Figure 4.45: Overview of the boundary data editor

Process and quantity selection:

Currently, D-Flow FM supports the processes flow, salinity, temperature and tracers (Note:
tracers are not yet fully editable). The processes available in the boundary condition editor
depend on the selected processes in the processes tab (see section 4.4.6). After selecting
the process from the dropdown box the user can select one of the corresponding quantities, as illustrated in Figure 4.46. For the process flow the user can choose from five principal
quantities: water level, velocity, Riemann invariant, Neuman gradient and discharge. All quantities are specified per support point, except for discharges which are specified per polyline
(<∗.pli>). A support point can have multiple forcing quantities of the same type (i.e. water
level, velocity, Riemann, Neumann or discharge). These quantities are added up. This can be
relevant to add a surge level to an astronomical water level for example. Furthermore, the user
can apply normal and tangential velocities as ‘add on’ quantities. The following combinations
of quantities are allowed:







Water level + normal velocity
Water level + tangential velocity
Water level + normal velocity + tangential velocity
Velocity (= normal) + tangential velocity
Riemann + tangential velocity

58 of 412

Deltares

DR
AF

T

All about the modelling process

Figure 4.46: Process and quantity selection in the boundary data editor

Forcing function selection:

The user can select one of the following forcing functions:








Time series
Harmonic components
Harmonic components + correction
Astronomic components
Astronomic components + correction
Q-h relation (only for water levels)

The next section describes how data can be added for these types of forcing functions.
Add forcing data to a support point or polyline:

By default all support points on the polyline are deactivated. To add forcing data to a support
point the user first needs to activate it by pressing the green ‘add’-symbol in the list of support
points (see Figure 4.47). Consequently, the user can specify the forcing data in the lower left
panel based on the selected forcing function. Of which a preview is shown in the lower right
panel. Note: Please note that once a support point containing forcing data is made
inactive, all data on the support point is lost!
The user can choose from the forcing functions time series, harmonic components (+ correction), astronomic components (+ correction) and Q-h relation. Examples of the boundary data
specifications for these different forcing functions are given below. Note: Please note that
once the user changes the forcing function of a polyline, all data on the polyline is lost!

Deltares

59 of 412

D-Flow Flexible Mesh, User Manual

Time series

T

Figure 4.47: Activate a support point

DR
AF

The time format for time series is yyyy-mm-dd HH:MM:SS. There are multiple ways to specify
time series for the selected quantity:

 Specify the time series step by step in the table (Figure 4.48): the user can add or delete
rows with the “plus”- and “minus”-signs below the table.

Figure 4.48: Specification of time series in the boundary data editor (left panel)

 Generate time series using the ‘Generate time series’ button (Figure 4.49): the user can
specify start time, stop time and time step.

60 of 412

Deltares

T

All about the modelling process

DR
AF

Figure 4.49: Window for generating series of time points

 Import from csv using the ‘Csv import’ button: a wizard will open in which the user can
(1) select a csv-file (Figure 4.50), (2) specify how data should be parsed into columns
(Figure 4.51) and (3) how the values should be parsed and mapped into columns (Figure 4.52).

Deltares

61 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

Figure 4.50: Csv import wizard: csv file selection

62 of 412

Deltares

DR
AF

T

All about the modelling process

Figure 4.51: Clipboard/csv import wizard: specification of how data should be parsed into
columns

Deltares

63 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

Figure 4.52: Clipboard/csv import wizard: specification of how values should be parsed
and columns should be mapped

 Import from clipboard using the ‘Clipboard import’ button: a wizard will open in which the
user can specify (1) how data should be parsed into columns (Figure 4.51) and (2) how
the values should be parsed and mapped into columns (Figure 4.52).
 Import from Web Processing Service (WPS): with this service the user can download
boundary forcing data (for now only water level time series) for a selected support point
from an online database (TOPEX/Poseidon 7.2). Upon pressing the button ‘Import from
WPS ’ a window will pop up as depicted in Figure 4.53. Here, the user can specify the time
interval and time step for downloading the data. (Note: Please note that this service is
only available with an internet connection!)

64 of 412

Deltares

DR
AF

T

All about the modelling process

Figure 4.53: Window for entering input to download boundary data from WPS







 Import from attribute file <∗.bc>: with this button the user can import data from existing
boundary conditions <∗.bc> file. The user has three options for importing:
Overwrite where matching (replace): only overwrites the forcing data for matching
support points in the <∗.bc>-file and GUI input.
Overwrite where missing (extend): only overwrites the forcing data for matching support points in the <∗.bc>-file and in the GUI input that did not contain data.
Overwrite all: overwrites the forcing data for all support points in the GUI (meaning
that the forcing data for non-matching support points is emptied).

Deltares

65 of 412

D-Flow Flexible Mesh, User Manual

Harmonic components
The harmonic components are defined by a frequency, amplitude and phase (see Figure 4.54).
By default the forcing data viewer shows the harmonic component for the time frame specified
for the model simulation. The options to define the harmonic components are similar to the
options for time series:

 Specify components step by step: the user can add or delete rows with the “plus”- and
“minus”-signs below the table.

 Select (astronomical) components using the ‘Select components’ button (Figure 4.55): the

DR
AF







T

user can select astronomical components which will be transformed in the corresponding
frequencies.
 Import from csv using the ‘Csv import’ button: a wizard will open in which the user can
(1) select a csv-file, (2) specify how data should be parsed into columns and (3) how the
values should be parsed and mapped into columns.
 Import from clipboard using the ‘Clipboard import’ button: a wizard will open in which the
user can specify (1) how data should be parsed into columns and (2) how the values
should be parsed and mapped into columns.
 Import from attribute file <∗.bc>: with this button the user can import data from existing
boundary conditions <∗.bc> file. The user has three options for importing:
Overwrite where matching (replace): only overwrites the forcing data for matching
support points in the bc-file and GUI input.
Overwrite where missing (extend): only overwrites the forcing data for matching support points in the bc-file and in the GUI input that did not contain data.
Overwrite all: overwrites the forcing data for all support points in the GUI (meaning
that the forcing data for non-matching support points is emptied).

Figure 4.54: Specification of harmonic components in boundary data editor

66 of 412

Deltares

DR
AF

T

All about the modelling process

Figure 4.55: Selection of astronomical components from list (after pressing ‘select components’)

Astronomic components

Astronomical components are similar to harmonic components, with the exception that the
frequency is prescribed. Instead of specifying the frequency the user can select astronomical
components by name. Upon editing the component field in the table the user will get suggestions for components in a list (Figure 4.56). The most frequently used components (A0, Q1,
P1, O1, K1, N2, M2, S2, K2 and M4) are put on top of the list, the other components are listed
in alphabetic order. Instead of defining each component individually, the user can also make
a selection of components by pressing the button ‘select components’ (Figure 4.55).

Deltares

67 of 412

T

D-Flow Flexible Mesh, User Manual

DR
AF

Figure 4.56: Suggestions for astronomical components in list

Harmonic or astronomic components with corrections

For calibration purposes the user can combine harmonic or astronomic components with corrections. The corrections are defined in terms of an amplitude (multiplication) factor and a
phase difference (see Figure 4.57). This allows the user to keep track of both the original signal and the calibration coefficients. The effects of the corrections on the resulting signal are
directly visualized in the forcing data viewer. Note: Please note that the import functionality is not (yet) working properly for astronomic/harmonic boundary conditions with
corrections.

Figure 4.57: Editing harmonic/astronomic components and their corrections

Q-h relation (only for water level)

The user can force the boundary with a Q-h relationship, but only for the quantity water level.
This is a relationship between discharge and water level (see Figure 4.58). The relationship
can only be prescribed per polyline, not per support point. (Note: this functionality has not
been tested extensively yet)

68 of 412

Deltares

T

All about the modelling process

DR
AF

Figure 4.58: Specification of a Q-h relationship

Exporting boundary conditions

With the Export to files button the user can export all boundary forcing data for the given
polyline to a <∗.bc>-file.
4.4.8.2.1

3D boundary conditions

Note: The 3D-implementation is a β -functionality.

When the model is 3D (i.e. the number of layers is larger than 1), the user can specifiy 3
dimensional boundary conditions for relevant quantities such as velocity, salinity, temperature
and tracer concentration. The user can choose from vertically uniform or vertically varying
boundary conditions (Figure 4.59), where the latter are defined as a percentage from the bed.
In the boundary condition editor the layer view will appear (Figure 4.60). Here, the user can
specify the vertical positions of the boundary conditions and view their position relative to
the model layers. Please note that the number and position of vertical boundary conditions
does not necessarily have to match the number and/or the exact position of the model layers.
The computational core will interpolate the boundary forcing position to the number of model
layers.
In case of non-uniform boundary conditions over the vertical, the number of columns in the
boundary forcing data editor will increase correspondingly (see Figure 4.61). In this way the
user can specify the conditions for all vertical positions in the same table and view the resulting
signals in the forcing data viewer.

Figure 4.59: Selection of vertically uniform or varying boundary conditions in case of a
3D model

Deltares

69 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

Figure 4.60: Overview of the layer view component of the boudary conditions editor. In
the table the user can edit the vertical positions of the boundary conditions
as a percentage from the bed. In the view left of the table, the user can
see the vertical positions of the boundary conditions (indicated by number
corresponding to the table) relative to the model layers.

Figure 4.61: Specification of boundary forcing data (in this example for salinity) at 3 positions in the vertical

View boundary data

All boundary data of the same quantity on a support point can be (pre-)viewed in the boundary
data view in the lower-right panel. If multiple signals of the same quantity have been entered,
the viewer will show the active signal in red and the total signal of all datasets in grey (see
Figure 4.62). In the view the user can zoom-in by dragging a box from top-left to bottom-right
and zoom-out by dragging a box from bottom-right to top-left.

70 of 412

Deltares

All about the modelling process

T

Figure 4.62: Example of active and total signal for multiple water level data series on one
support point

4.4.8.3

DR
AF

To inspect multiple quantities at a support point at the same time (for example water level
and salinity) the user can use the combined boundary data viewer by pressing the button
‘combined BC view’. Note: This does not work properly yet.
Import/export boundary conditions from the Project window

Apart from import and export functionality per individual boundary polyline in the boundary condition editor, the GUI offers the opportunity to import and export boundary locations
(<∗.pli>) and forcing (<∗.bc>) on a higher level. Hereto, you have to click the right mouse
button on “Boundary Conditions” in the Project window and select “import” or “export” (Figure 4.63). Imports and exports on “Boundary Conditions” apply to all the boundary conditions
whereas import and exports on a boundary polyline apply only to that boundary condition.

Figure 4.63: Importing or exporting boundary features — both polylines <∗.pli> and forcing <∗.bc> — from the Project window using the right mouse button

Import and export polylines

Upon importing a <∗.pli>-file with the same filename and the same polyline name(s) as the
existing polyline names in the GUI, the existing polyline(s) will be replaced and all forcing data
thereon will be deleted. Upon importing a polyline(s) with a different name(s), the polyline(s)
will be added to the Project window without any forcing data on it/them. The user will be
asked to import the data “as is” or to perform a coordinate transformation before the import
(see Figure 4.64).
Alternatively, the user can exported created polylines to a <∗.pli>-file. Upon export the user
will be asked to export the data “as is” or to perform a coordinate transformation before the
export (see Figure 4.64).

Deltares

71 of 412

D-Flow Flexible Mesh, User Manual

Figure 4.64: Import or export a <∗.pli>-file as is or with coordinate transformation.

T

Import and export boundary forcing data

DR
AF

Similar to the polylines, you can import and export boundary forcing data from/to a <∗.bc>file. To import forcing data the existence of a polyline with at least one matching support
point is a prerequisite. Upon importing <∗.bc> data you can select which quantities and
forcing types from the <∗.bc>-file should be imported and with which overrwrite options (see
Figure 4.65). Similarly,you can export boundary forcing data. As an additional exporting
feature you can select whether you would like to export: 1) all forcing data into one file, 2) as
separate files per boundary, 3) as separate files per process or 4) as separate files per quantity
(see Figure 4.66).

Figure 4.65: Import or export a <∗.pli>-file as is or with coordinate transformation.

72 of 412

Deltares

DR
AF

T

All about the modelling process

Figure 4.66: Import or export a *.pli file as is or with coordinate transformation.

4.4.8.4

Overview of boundary conditions in attribute table (non-editable)
The attribute table of the boundary conditions gives an overview of all specified boundary
polylines and corresponding forcing (see Figure 4.67). This attribute table can be opened by
double clicking ‘Boundary Conditions’ from the project or map tree. Most of the features in
the attribute table are non-editable, except for the optional (multiplication) factor and offset per
quantity per polyline. With these settings you can integrally multiply all data on a polyline with
a factor and/or add an offset to it.

Figure 4.67: Overview of all boundary conditions in attribute table

Deltares

73 of 412

D-Flow Flexible Mesh, User Manual

4.4.9

Physical parameters
The physical parameters attribute is used to set all physical parameters of your model. When
it is expanded in the Project window, it shows three attributes; roughness, viscosity and wind.

4.4.9.1

Constants

T

Figure 4.68: The physical parameters in the Project window

4.4.9.2

DR
AF

In the Physical Parameters tab, under Constants, the user can adjust the value of Gravity
[m/s2 ] and Default water density [kg/m3 ].
Roughness

Bed roughness can be specified as a uniform value or as a coverage (e.g. a spatially varying
field). The uniform values as well as the roughness formulation (i.e. Chézy, Manning, WhiteColeBrook or Z0 ) can be edited in the ‘Physical Parameters’ tab, which opens upon double
clicking ‘Roughness’ in the Project window (Figure 4.69). Note: The latter is not yet working. In this tab you can also specify the linear friction coefficient, linear friction Umod, wall
behaviour (free slip or partial slip) and wall ks for partial slip.
In case of spatially varying bed roughness you can double click the quantity in the Project
window or select it from the dropdown box in the Spatial Operations ribbon (Figure 4.70).
Then the spatial editor is activated, which you can use to edit spatially varying fields. For
more information on how to use the spatial editor you are referred to Appendix F.

Figure 4.69: The section of the ‘Physical Parameters’ tab where you can specify roughness related parameters and formulations.

74 of 412

Deltares

T

All about the modelling process

4.4.9.3

DR
AF

Figure 4.70: Roughness activated in the spatial editor to create/edit a spatially varying
field

Viscosity

The eddy viscosity can be specified as a uniform value or as a coverage (e.g. a spatially
varying field). In the ‘Physical parameters’ tab you can specify the uniform values for the
horizontal and vertical (in case of 3D simulations) eddy viscosity and diffusivity (Figure 4.71).
In case of spatially varying viscosity you can double click the quantity in the Project window or
select it from the dropdown box in the Spatial Operations ribbon (Figure 4.72). Then the spatial
editor is activated, which you can use to edit spatially varying fields. For more information on
how to use the spatial editor you are referred to Appendix F.

Figure 4.71: The section of the‘Physical Parameters’ tab where you can specify (uniform)
values for the horizontal and vertical eddy viscosity and diffusivity.

Deltares

75 of 412

T

D-Flow Flexible Mesh, User Manual

4.4.9.4

Wind

DR
AF

Figure 4.72: Viscosity activated in the spatial editor to create/edit a spatially varying field

All relevant parameters, described in chapter 11 can be adjusted in the following sub-tab.

Figure 4.73: Overview of parameters in sub-tab Wind

4.4.9.5

Heat Flux model
The Heat flux model, described in chapter 10, needs only specification of which model to use.
See the drop-down selection in Figure 4.34.

76 of 412

Deltares

All about the modelling process

4.4.9.6

Tidal forces
The Tide generating forces, described in section 7.10, can be enabled in the Processes tab,
see Figure 4.34.
Sources and sinks
Sources and sinks (or: intake/outfall facilities) can be used to add/extract a discharge to/from
the model or to redistribute water and constituents (such as temperature and salinity) within
the model. Sources and sinks consists of a location (defined by a <∗.pli>-file) and time series
describing the discharges (defined by a <∗.tim>-file). All the hydrodynamical considerations
behind sources and sinks are discussed in section 7.8.

T

Sources and sinks locations
Sources and sinks can be added to the model using the corresponding icon from the Map
ribbon (Figure 4.74). When the sources/sinks icon is active you can add them as polyline
elements in the central map using the left mouse button. Each polyline element is closed by
double clicking the left mouse button.

DR
AF

4.4.10

Note: Please note that the length of the ployline elements is not taken into account in the
handling of sources and sinks (e.g. it is modeled as an instant redistribution of water and
constituents without delays and friction losses).
Polyline elements starting outside the model domain and going inward are sources and,
vice versa, polyline elements starting inside the model domain and going outward are sinks.
Polyline elements starting and ending within the model are intake/outfall type of discharges.
The drawing direction determines the direction of the discharge indicated by an arrow (Figure 4.75). In case of a source the direction of the last polyline element determines the direction
of flow momentum into the model.
Note: The ‘reverse’ line option — to switch the discharge direction without having to redraw
the source/sink — is not implemented.

Figure 4.74: Activate the sources and sinks editing icon in the Map ribbon

Deltares

77 of 412

T

D-Flow Flexible Mesh, User Manual

DR
AF

Figure 4.75: Add sources and sinks in the central map using the ‘Sources and sinks’ icon.

Sources and sinks time series

After drawing the sources/sinks locations in the central map, they appear under ‘Sources and
sinks’ in the Project window (Figure 4.76). Either by double clicking the sources/sinks in the
Project window or the line element in the central map, you can open the sources and sinks
editor (Figure 4.77). In this editor you can specify the discharge time series as well as the
corresponding constituents (for example salinity and temperature, depending on the active
physical processes). The time series of water discharges are always defined as absolute
values. For the time series of constituents the following applies:

 For sources the constituent time series are absolute values
 For sinks the constituent time series are determined by the modeled values
 For sources and sinks (intake/outfall relationships) the constituent time series are the excess values (e.g. on top of the modeled values)

Figure 4.76: Sources and sinks appearing in the Project window

78 of 412

Deltares

T

All about the modelling process

4.4.11

DR
AF

Figure 4.77: Specifying time series for sources and sinks in the sources and sinks editor

Numerical parameters

In the numerical parameters tab, all numerical parameters related to your computation can be
set. The parameters that can be set are described in Table 4.1.
4.4.12

Output parameters

Model runs can produce various types of output files. The Map window shows the two mostused types: map output and his(tory) output (Figure 4.78).

Figure 4.78: Output parameters tab

The history file contains output on specific locations: time series data on observation points
(section 4.4.2.2), cross-sections (section 4.4.2.3) and structures (Sections 4.4.2.8 – 4.4.2.10).
The map file contains flow quantities on the entire grid at specified time intervals, and can later
be used for 2D and 3D visualizations of entire flow fields. The map file can typically turn out
much larger than the history file, and it is therefore advised to use larger time intervals for map
files than for his files.
Additionally, three more types of output can be requested: restart files, WAQ output, and
timing statistics. Restart files are a special type of map file that can later be used as initial

Deltares

79 of 412

D-Flow Flexible Mesh, User Manual

Table 4.1: Overview and description of numerical parameters

Wave velocity fraction

Advection type

DR
AF

Water depth limiter type

Description
The size of the time step, ∆t, is computed by the
computational kernel automatically, each time step
by means of the maximum tolerable Courant number. By default, this value is 0.7.
The wave velocity fraction is related to stability of
the computation. By using this fraction, the velocity
of the flow is enlarged with the wave velocity times
this fraction. The value of this fraction is 0.1 by default.
This key depicts the ID of the advection scheme. By
default this value is 33.
The limiter type for waterdepth in continuity equation: 0 means no limiter (default), 1 is the minmod method, 2 the Van Leer method, 3 the Koren
method and 4 the monotone central method.
The limiter type for the cell center advection velocity: 0 means no limiter, 1 the minmod method, 2 the
Van Leer method, 3 the Koren method and 4 the
monotone central method (default).
The limiter type for salinity transport: 0 means
no limiter, 1 the minmod method, 2 the Van Leer
method, 3 the Koren method and 4 the monotone
central method (default).
Specification of the Poisson equation type solver
for the pressure: 1 = sobekGS_OMP, 2 =
sobekGS_OMPthreadsafe, 3 = sobekGS, 4 =
sobekGS + Saadilud (default), 5 = parallel/global
Saad, 6 = parallel/Petsc, 7 = parallel/GS.
The maximum degree in the Gauss elimination, part
of the pressure solver. This key has the value 6 by
default.
Or: fixed weir scheme. 0: none, 1: compact stencil,
2: whole tile lifted, full subgrid weir + factor.
Or: fixed weir contraction. This is the fixed weir flow
width contraction factor, being the flow width = flow
width times the fixed weir contraction.
Fourier smoothing time on waterlevel boundaries
(s).
Default 0; Set to 1 for linearizing d(Hu)/dx; link to
AdvecType.
Apply droplosses only if local bed slope is larger
than this specific value.
Compromise in explicit/implicit time integration.
Specifies the way of the upstream discharge boundary: 0 is original hu on qbnd, 1 is downwind hs on
qbnd

T

Parameter
Max Courant number

Advection velocity limiter type

Salinity transport limiter type

Solver type

Max degree in Gaussian elimination

Thin dike scheme

Thin dike contraction

Boundary smoothing time
Linear continuity
Threshold for drop losses

Theta of time integration
Downwind cell H on Q boundaries

80 of 412

Deltares

All about the modelling process

states in other runs. Restart files contain several additional flow quantities and are written
at specified intervals into one file per each restart time. Typically, one selects a large restart
interval in order not to waste disk space. WAQ output files are written by D-Flow FM and are
intended to be used as input files to subsequent D-Water Quality runs. More details on water
quality modelling can be found in chapter 17. Timing statistics can be produced both in the
diagnostics file (via Statistics output interval, for viewing basic simulation progress), and in
a separate detailed timings file (via Timing statistics output interval, for detailed performance
analysis).

DR
AF

T

When double clicking the output parameters tab in the Project window, the output parameters
sub-tab of the settings tab is highlighted in the central map. All parameters related to the output of your model run are specified here (Figure 4.79). The most common output parameters
to set are the parameters related to the water quality files, history files, map files and restart
files.

Figure 4.79: Overview output parameters tab

For each of the three files (water quality, history, map and restart) the input parameters are
specified in the same manner (Figure 4.79). Taking his output as an example: when Write
His File is checked, the output of history file is enabled. His Output Interval determines the
interval at which the output data is stored in the file; the smaller the interval, the more detailed
the output and the larger the file. By default, history output is written from the start until the
end of the simulation. Optionally, output can be restricted to a certain time window: to specify
different output start and/or stop times, check the box next to Specify His Output Start Time
and/or Specify His Output Stop Time and enter the desired times next to the parameters His
Output Start Time and His Output Stop Time.
When Write Snapped Features is activated, then shape files with snapped data will be generated for all quantities, such as fixed weirs and thin dams. For example, for fixed weirs a
crest height is specified at both end of a fixed weir polyline. In between linear interpolation is
applied, which can be checked via these shape files.
Below, the various output options are described in greater detail. There is a special requirement on the output parameters for His and Restart files that the Output Interval, Output Start
Time and Output Stop Time must be integer multiples of User Time Step. Optionally, the

Deltares

81 of 412

D-Flow Flexible Mesh, User Manual

interval ( Output Stop Time−Output Start Time) should be an integer multiple of User Time
Step.

Enable detailed mass balance time series output in the his file.
Enable time series output across general structures, pumps, weirs
and gates in the his file.

Time interval for map field time series.
Restrict map output to a specified time window.

File containing specific time values at which to produce additional
map output snapshots. It the value is not integer, it is firstly set to the
least integer larger than or equal to this value. If the computational
time does not hit the specified time value, the output snapshot is
chosen to be at the time closest to the specified time value.
Several optionals for enabling/disabling certain quantities output in
the map file.

DR
AF

Write map file
Map Output Interval
Map Output Start/Stop
time
Specific Map Output
Times

Time interval for history time series.
Restrict history output to a specified time window.

T

Write his file
His Output Interval
His Output Start/Stop
time
Write mass balance
totals
Write (misc.) structure
parameters

Write water levels, etc.

Write restart file
Restart interval
Rst Output Start/Stop
time

Time interval for restart files.
Restrict restart output to a specified time window.

Other output options
WAQ Output Interval

Time interval for D-Water Quality files in ,
etc.
Simulation statistics
Interval for simulation progress output (on standard out and diagnosoutput interval
tics file).
Timing statistics output Interval for detailed timings output into 
interval
for expert performance analysis.
Example

One example of input and output parameters (in seconds) is given in Table 4.2. Table 4.3
shows the time (after Reference Date in seconds) when output files are generated. We explain
this example as follows.

 The history ile has output interval 18 seconds. No parameters are specified for His Output
Start Time and His Output Stop Time, which means that they are automatically set equal
to Start Time and Stop Time of the simulation, respectively.
 The Map Output Interval is 6 seconds, and Map Output Start Time is 15 seconds. Since
the Map Output Stop Time is not given, it is set to equal to Stop Time. Moreover, we hope
to have output at time given in Specified Map Output as 30.5 and 42.1 seconds. These
two values are firstly set to 31 and 43 seconds, respectively, in the simulation. Then there
will be output snapshots if the computational time hit these two integers. Otherwise, as
in this example, the output snapshots will be provided when the computational time hits

82 of 412

Deltares

All about the modelling process

the time that is greater and the closest to these integers, i.e. at 31.2 and 43.2 (as seen in
Table 4.3).
 Three parameters are set for the output of the Rst files: the interval, start and stop time.
Input parameters
Reference Date 2007-11-19 00:00:00
User Time Step 00:00:00.3
Start Time
2007-11-19 00:00:03
Stop Time
2007-11-19 00:00:51

Output parameters
His Output Interval
00:00:18
Map Output Interval
00:00:06
Map Output Start Time 2007-11-19 00:00:15
Specific Map Output
30.5, 42.1
Rst Output Interval
00:00:09
Rst Output Start Time
2007-11-19 00:00:12
Rst Output Stop Time
2007-11-19 00:00:45

His file
Map file
Restart file

T

Table 4.2: Input and output parameters of the example

3, 21, 39, 51
3, 15, 21, 27, 31.2, 33, 39, 43.2, 45, 51
3, 12, 21, 30, 39, 45

4.4.13

DR
AF

Table 4.3: Time (after Reference Date in seconds) of output files

Miscellaneous

Within the miscellaneous sub-tab, various parameters in relation to waves and equatorial
settings can be adjusted. Table 4.4 gives an overview and description of these parameters.
Table 4.4: Overview and description miscellaneous parameters

Parameter

Description

Time step type
Turbulence model
Turbulence advection
Water level threshold

Leave at default.
See chapter 9.
Leave at default.
Max allowed water level difference between old and new time
step in any cell. Run will abort if exceeded. (0 means disabled)
Max allowed velocity difference between old and new time step
in any cell. Run will abort if exceeded. (0 means disabled)
Flooding threshold at velocity points. Used in wetting and drying.

Velocity threshold
Dry cell threshold

4.4.14

Sediment

If you have activated the process sediment/morphology in the Processes tab (section 4.4.6),
the tab Sediment appears. In this tab, you can add, delete and modify parameters and settings
that are related to individual sediment fractions. In order to add and define a sediment fraction,
the following steps can be taken:
1
2
3
4
5
6

Create and name a sediment fraction.
If needed, adjust the reference density for hindered settling calculations.
Select the type of fraction (either Sand, Mud or Bed-load).
Specify the parameters associated with the selected type of fraction.
Select a transport formula to be used with the sediment fraction.
Specify the parameters associated with the selected transport formula.

Deltares

83 of 412

D-Flow Flexible Mesh, User Manual

You can repeat these steps in case you want to incorporate multiple fractions within your
model.

T

After selection of the Sediment tab and adding a new sediment fraction, the window given by
(Figure 4.80) is shown.

DR
AF

Figure 4.80: Overview of the Sediment tab, showing a sediment of type ‘sand’.

A sediment fraction can be deleted by first selecting the fraction you wish to remove, and then
clicking the Remove Fraction button.
Below, an overview of keywords that are associated to different types of sediment is provided
Parameter

Lower
limit

Upper
limit

Default

Unit

Type
of
sediment

Reference density hindered settling

100

10000

1600

kg/m3

Uniform for
all fractions

Initial sediment layer at bed

0

∞

0

m

Sand,
mud and
bed-load

Specific density

100

4000

2650

kg/m3

Sand,
mud and
bed-load

Dry bed density

0

10000

1600

kg/m3

Sand

0

10000

500

kg/m3

Mud

Initial concentration

0

Inf

0

kg/m3

Sand and
mud

Median sediment diameter D50

0.000063

0.002

0.0002

m

Sand

Salinity for saline settling velocity

0

391

0

ppt

Mud

Settling velocity fresh water

0

1

0.00025

m/s

Mud

(continued on next page)

84 of 412

Deltares

All about the modelling process

Table 4.4 – continued from previous page
Parameter

Lower
limit

Upper
limit

Default

Unit

Type
of
sediment

Settling velocity saline water

0

1

0.00025

m/s

Mud

Critical shear stress erosion

0

100

0.5

N/m2

Mud

Critical shear stress sedimentation

0

1000

1000

N/m2

Mud

DR
AF

Specific density

In high concentration mixtures, the settling velocity of a single particle is reduced due to the presence of other particles. In order to
account for this hindered settling effect Richardson and Zaki (1954)
are followed. The reference density is a parameter in their formulation. See section 18.1.4.
For sediment transport the Eckart relation is extended to include the
density effect of sediment fractions in the fluid mixture, see section 18.1.3. The specific density of each sediment fraction is part
of this formulation.
The thickness of the sediment above the fixed layer is calculated
by dividing the mass of sediment available at the bed by the user
specified dry bed density.
Option to specify the initial concentration of the sediment fraction,
can be specified as uniform or spatially varying.
The settling velocity of a non-cohesive (“sand”) sediment fraction is
computed following the method of Van Rijn (1993). The formulation
used depends on the diameter of the sediment in suspension: See
section 18.3.1
The settling velocity of the cohesive sediment, note that this is specified in m/s
If the bed shear stress is smaller than the critical stress, no erosion takes place. If the bed shear stress is larger than the flux is
calculated following Partheniades-Krone, see section 18.2.3, can be
specified as uniform or spatially varying.
If the bed shear stress is larger than the critical stress, no sedimentation takes place. If the bed shear stress is smaller than the flux is
calculated following Partheniades-Krone, see section 18.2.3, can be
specified as uniform or spatially varying.
Erosion parameter M in the formulation of Partheniades-Krone, see
section 18.2.3.
The initial sediment layer thickness at the bed in metre, can be specified as uniform or spatially varying.

T

Reference density for
hindered settling

Dry bed density

Initial concentration
Median sediment
diameter (D50 )

Settling velocity

Critical bed shear
stress for erosion

Critical bed shear
stress for
sedimentation

Sediment erosion rate
Initial sediment layer
thickness at bed

Remark:
 When adding multiple sediment fractions with an initial sediment layer thickness, the
layers are completely mixed by default. E.g. a uniform layer of 4 m present for one
sediment fraction, and a uniform layer of 6 m for another fraction, results in an initial
sediment layer of 10 m, in which 40 % and 60 % of the respective sediment fractions is
present. If you wish to have the model behave differently, options for bed stratigraphy
are available, refer to section 18.6.4.

Deltares

85 of 412

D-Flow Flexible Mesh, User Manual

Spatially varying variables
As indicated above, some variables can be defined as spatially varying. Note that when
activating a variable as spatially varying, the selected variable is added to the list of spatially
varying variables in the spatial editor. In Appendix F, a detailed description on how to work
with this spatial editor is provided. Note that you can no longer specify a uniform value for a
variable that is selected as spatially varying.
Morphology

T

If you have activated the process sediment/morphology in the Processes tab (section 4.4.6),
the tab Morphology appears. In this tab, you can modify parameters and settings that are
related to individual sediment fractions. After selection of the Morphology tab, the window
given by (Figure 4.81) is shown.

DR
AF

4.4.15

Figure 4.81: Default view of the Morphology tab.

With the feedback of bottom changes to the hydrodynamic computation you can execute a
full morphodynamic computation. You can also include the influence of waves by running this
version of D-Flow FM in combination with the D-Waves module. See section 18.6 for details.
General

Update bathymetry
during FLOW
simulation

If you want to take into account the feedback of bottom changes on
the hydrodynamics, tick off this option.
Remark:
 The use of this update option only affects the updating of the
depth values (at ζ and velocity points) used by flow calculations
at subsequent time-steps; the quantity of sediment available at
the bed will still be updated, regardless of the state of this flag.

Include effect of
You can include or neglect the effect of sediment on the fluid density
sediment on fluid
by setting this option accordingly.
density
For coarser non-cohesive material you can specify that, at all open inflow boundaries, the flow
should enter carrying all “sand” or “mud” sediment fractions at their equilibrium concentration
profiles. This means that the sediment load entering through the boundaries will be nearperfectly adapted to the local flow conditions, and very little accretion or erosion should be
experienced near the model boundaries.
Equilibrium sand
Tick off to use this option. When not activated the inflow concenconcentration profile at
inflow boundary
86 of 412

Deltares

All about the modelling process

trations specified in Data Group Boundaries → Transport conditions
will be used.
One of the complications inherent in carrying out morphological projections on the basis of
hydrodynamic flows is that morphological developments take place on a time scale several
times longer than typical flow changes (for example, tidal flows change significantly in a period
of hours, whereas the morphology of a coastline will usually take weeks, months, or years to
change significantly). One technique for approaching this problem is to use a Morphological
time scale factor whereby the speed of the changes in the morphology is scaled up to a rate
that it begins to have a significant impact on the hydrodynamic flows.

T

Morphological scale
The above can be achieved by specifying a non-unity value.
factor
The implementation of the Morphological time scale factor is achieved by simply multiplying
the erosion and deposition fluxes from the bed to the flow and vice-versa by this scale factor, at
each computational time-step. This allows accelerated bed-level changes to be incorporated
dynamically into the hydrodynamic flow calculations.

DR
AF

Frequently, a hydrodynamic simulation will take some time to stabilise after transitioning from
the initial conditions to the (dynamic) boundary conditions. It is likely that during this stabilisation period the patterns of erosion and accretion that take place do not accurately reflect the
true morphological development and should be ignored.
Spin-up interval before Specify a time interval (in minutes after the start time) after which the
morphological changes morphological bottom updating will begin. During this time interval all
other calculations will proceed as normal (sediment will be available
for suspension for example) however the effect of the sediment fluxes
on the available bottom sediments will not be taken into account.
Minimum depth for
In the case of erosion near dry points a threshold depth for computsediment calculation
ing sediment transport can be used, see section 18.6.2.
Sediment transport parameters

The following parameters are only relevant for non-cohesive sediments.
van Rijn’s reference
level factor

For non-cohesive sediment (e.g. sand), we follow the method of Van
Rijn (1993) for the combined effect of waves and currents, see section 18.3. The reference height formulation contains a proportionality
factor called van Rijn’s reference level factor.

Because of the more complex, partly explicit — partly implicit, erosive flux terms used for
“sand” type sediments it is not possible to use the simple source limitation technique used for
cohesive sediments. Instead, you must specify a Threshold sediment thickness.
Threshold sediment
thickness

At each time-step the thickness of the bottom sediments is calculated. If the remaining sediment thickness is less than the userspecified threshold and erosive conditions are expected then the
source and sink sediment flux terms, see Eq. ((18.25)), are reduced
in the following manner:
Estimated ripple height In case of waves, the wave related roughness is related to the estifactor
mated ripple height, see section 18.3.3.

Deltares

87 of 412

D-Flow Flexible Mesh, User Manual

Multiplication (calibration) factors
The following parameters are only relevant for non-cohesive sediments.
In the case of erosion near a dry beach or bank, the standard scheme will not allow erosion
of the adjacent cells, even when a steep scour hole would develop right next to the beach.
Therefore a scheme has been implemented, where for each wet cell, if there are dry points
adjacent to it; the erosion volume is distributed over the wet cell and the adjacent dry cells.
Factor for erosion of
adjacent dry cells

The distribution is governed by a user-specified factor for erosion
of adjacent dry cells, which determines the fraction of the erosion
to assign (evenly) to the adjacent cells; if this factor equals zero,
the standard scheme is used; if this factor equals 1, all erosion that
would occur in the wet cell is assigned to the adjacent dry cells.
The reference concentration is calculated in accordance with Van
Rijn et al. (2000), see section 18.3.3.

T

Current-related
reference
concentration factor
Only Van Rijn (1993) and Van Rijn et al. (2004) compute explicitly a wave-related transport
component.

DR
AF

Stotal = BED · Sbedload current + BEDW · Sbedload waves + SUSW · Ssuspended waves (4.1)

dDP S
= Stotal out − Stotal in + SUS · (Entrainment − Deposition)
dt

(4.2)

where Sbedload current , Sbedload waves , Ssuspended waves , Entrainment, and Deposition depend on
the sediment transport formula used. In most cases it holds Sbedload waves = 0 and Ssuspended waves =
0.
Current-related transport vector magnitude factor : —
Wave-related suspended transport factor : The wave-related suspended sediment transport is modelled using an approximation method proposed by Van Rijn (2001), see section 18.5.1.
Wave-related bedload transport factor : —

88 of 412

Deltares

All about the modelling process

Domain:

Include sediment concentration on density

Default

Unit

yes or no

no

none

Update bathymetry during simulation

yes or no

yes

none

Update bed composition during simulation

yes or no

no

none

Neumann
boundaries
sand/mud influx

yes or no

yes

none

1.0

-

for

Morphological scale factor

0.0

Spin-up interval

0.0

Minimum depth for sediment
calculation

0.1

Threshold sediment thickness

Upper limit

10000.0

T

Lower limit

50.0

min

10.0

0.1

m

0.005

10.0

0.05

m

Van Rijn’s reference level

0.4

2.0

1.0

-

Estimated ripple height factor

1.0

5.0

2.0

-

Factor for erosion of adjacent
dry cells

0.0

1.0

0.0

-

Current-related reference concentration factor

0.0

100.0

1.0

-

Current-related transport vector magnitude factor

0.0

100.0

1.0

-

Wave-related
transport factor

suspended

0.0

100.0

1.0

-

Wave-related bedload transport factor

0.0

100.0

1.0

-

DR
AF

4.5

Parameter

Save project, MDU file and attribute files

To save your Delta Shell project, navigate the menu ribbons to File and click Save as. Choose
a location, specify a name and click Save. Your project will now be saved in a folder called
 and a  file is written. Within this folder you will find all
input ASCII input files of your model, output files of your model (if the model was run using
the GUI) and zip folders containing your restart files. Be aware that the output files are stored
within a separate folder in which the input files of your model are stored. The output folder on
the same level as the folder containing model input files is empty.
To open a project, navigate the menu ribbons to File and click Open. Select the <∗.dsproj>file of choice and click Open.
Importing model or data within a Delta Shell project can be achieved in two ways. Navigate
the menu ribbons to File and click Import. The import wizard appears, allowing you to select
what you want to import (Figure 4.82).

Deltares

89 of 412

D-Flow Flexible Mesh, User Manual

Figure 4.82: Model/data import wizard

T

Alternatively, you can also right mouse click on the name of your project in the Project window
and select Import.

DR
AF

Exporting your model can be achieved in the same fashion as importing your model. All model
input files will be written to the folder you select. Be aware that model files exported to a folder
in which other model files with the same names are present will be overwritten.

90 of 412

Deltares

5 Running a model
5.1

Running a simulation
After defining the input for the D-Flow FM hydrodynamic simulation, the computation can
be executed either via Delta Shell or using batch scripts. Via Delta Shell, the status of the
computation and possible messages are displayed in a separate window. When using a batch
script, all messages are written to the diagnostics file (section E.1) and you can continue
working in the current window. Not all functionality is available when using Delta Shell to start
a calculation. Use a batch script (see section 5.4) in the following cases:

T

1 Using MPI to run in parallel
2 Using some queueing mechanism on a cluster
3 Running some unattended simulations, while continuing to work in Delta Shell.
Note that currently we have two different names of the D-Flow FM executables, for Windows
dflowfm-cli.exe and for Linux dflowfm.

5.2.1

Parallel calculations using MPI

DR
AF

5.2

Introduction

This section describes parallel computing with D-Flow FM based on the Message Passing
Interface system (MPI). This can be run both on computing clusters with distributed memory
as well as shared memory machines with multiple processors and/or multiple CPU cores.
The goal of parallelization of D-Flow FM is twofold. We aim for much faster computations on
shared- or distributed-memory machines and the ability to model problems that do not fit on a
single machine. A less powerful, yet possibly attractive performance improvement is offered
by D-Flow FM’s OpenMP-based parallelization (section 5.5.1).
Technical backgrounds on the parallel algorithms in D-Flow FM are described in the Technical
Reference Manual D-Flow FM TRM (2015).
Workflow of a parallel run

A parallel run divides the work between multiple processes. To this end we partition the model
and let separate processes solve the submodels and generate partitioned output. Given a
whole model, the workflow is as follows:
1 partition the model (mesh and model definition file),
2 submit the parallel job to a queue on a computing cluster, and
3 visualize the results from partitioned output files.

Deltares

91 of 412

D-Flow Flexible Mesh, User Manual

Partitioning the model
In D-Flow FM a model is defined by the model definition file, the mesh file and external forcing/boundary condition files, et cetera. The latter are shared by all submodels and do not
need to be partitioned, they should only be available to all processes. So, partitioning the
model concerns partitioning of:

 the mesh. This is achieved through the graphical user interface or by a command line
option. Mesh files for every subdomain will be created;

 the model definition file. The partitioned model definition files will contain references to
the subdomain mesh, and all other information equals its sequential counterpart.

T

An efficient approach to partition both the mesh and MDU files is via the command line, using

> dflowfm --partition:ndomains=n:icgsolver=i 

This command reads the name of the mesh file from mdu-file, and generates n subdomain
mesh files by the METIS software package (See D-Flow FM TRM (2015) and references
mentioned therein). Then, it creates n subdomain MDU files where the parallel Krylov solver
icgsolver is set to i. Here, i can be 6, the PETSc solver(recommended for Linux), or, 7,
the parallel CG with MILU block preconditioning (recommended for Windows).

DR
AF

5.2.2

For example, to partition the MDU file , which specifies the mesh file as
, to eight subdomain files on a Windows machine, one can use:

> dflowfm --partition:ndomains=8:icgsolver=7 example.mdu

The mesh file is partitioned into eight subdomain mesh files, with names ,

j=0,1,...,7. In other words, they are:

example_0000_net.nc
example_0001_net.nc
example_0002_net.nc

example_0003_net.nc
example_0004_net.nc
example_0005_net.nc

example_0006_net.nc
example_0007_net.nc

Then, eight subdomain mdu-files are also created, with names  to
. The different items in, e.g.  with respect to
the original mdu-file are:

[geometry]
NetFile

= example_0000_net.nc

[numerics]
Icgsolver

= 7

92 of 412

Deltares

Running a model

If the user wants to manually partition the mesh instead of applying METIS, then he has to
provide a polygon file  which determines the mesh partition. In this situation,
following command can partition both the MDU and mesh files:

> dflowfm

More about the mesh partitioning

T

The mesh can be automatically partitioned with the METIS software package, or manually
by supplying polygons that define the subdomains. They both produce a cell coloring of
the unpartitioned mesh. In each subdomain, the cells are assigned the same color, and
augmented with ghost cells. These information are saved in the resulting partitioning mesh
file, e.g. , where _NNNN is a subdomain index.
Regarding partitioning manually with user-supplied partitioning polygons, the partitioning obeys
the following rules:

 if the polygons have a z -value specified, it is considered a subdomain number,
 if the polygons have no z -value specified, its order determines the corresponding subdo-

DR
AF

5.2.2.1

--partition:icgsolver=i  

main number,

 if a cell is not inside at least one polygon, it is assigned to subdomain 0,
 if a cell is inside only one polygon, it is assigned to the subdomain defined by that polygon,
 if a cell is inside more than one polygon, it is assigned to the subdomain with the highest
number.

In other words, the polygons may be overlapping and the largest subdomain number is taken
in the overlapping regions. If the polygons have no z -value, the polygon order determines the
corresponding subdomain number, i.e. the first polygon corresponds to subdomain 1 et cetera
and there is no polygon defining subdomain 0.
Both types of mesh partitioning are available through Delta Shell or on the command line.
Partitioning the mesh with METIS via Delta Shell

We will firstly focus on the METIS partitioner. Partitioning the mesh from within Delta Shell is
achieved by the following steps. In the Project window, select the model you want to run by
means of clicking on the desired model (Figure 6.1). A right-mouse click will open the context
menu, then select Export.... In the window Select Type of Data..., choose Partition exporter
and the partitioning dialog will appear (Figure 5.1).

Figure 5.1: Partioning exporter dialog

Deltares

93 of 412

D-Flow Flexible Mesh, User Manual

Enter the desired amount of subdomains, and typically leave the contiguous option switched
off and the solver type at its default. After pressing OK, a file dialog will appear. Enter the
name of the MDU file, without any trailing ’_000x’ partition numbers: these will be added
automatically.

DR
AF

T

Partitioning the mesh with the graphical user interface is achieved by the following steps:
You are prompted for Contiguous domains are not necessary for parallel computations in DFlow FM and often METIS produces contiguous subdomains without enforcing it. Still, some
users may want to explicitly enforce contiguous domains. If you want to do so, make sure
that your unpartitioned mesh is contiguous. Not being so may cause errors, Note that there
is no polygon defining subdomain 0. Parts of the mesh not confined by any polygon are
assumed to be in subdomain 0. In other words, there are at least N − 1 polygons defining
N subdomains. In that case, regenerate the cell colors/domain numbers again by selecting
Operations → Generate domain numbers (polygon or METIS). Note that you will not be asked
to specify the number of subdomains. The cell coloring/domain numbering is now based on
the (modified) polygons and not produced by the METIS partitioner. Manual partitioning with
user-specified polygons will be explained in the next section, The entered mesh filename is a
basename that will be used to derive the partitioning filenames, e.g.  will
produce:
Partitioning the mesh from the command line

Apart from using the graphical user interface, it is possible to perform the partitioning on the
command line. The two types of partitioning can be carried out via the following commands.
The command that uses METIS partitioner reads:

> dflowfm --partition:ndomains=n 

where ndomains=n specifies that n subdomains are to be generated. For example, partitioning  results in subdomain mesh files , j=0,1,...,n-1.
An advanced command, which enables more options, is:

> dflowfm --partition:ndomains=n[:method=0|1][:genpolygon=0|1][:contiguous=0|1]


where the partition method can be chosen via setting method=0, the Recursive Bisection
method (default), or method=1, the multilevel K-Way method. We refer to Karypis (2013) for
more details about these two methods. Option genpolygon specifies if the command generates a partition polygon file (genpolygon=1), or not (genpolygon=0, default). Option
contiguous enforces the contiguous partition when specifying both contiguous=1 and
method=1. (Only the K-Way method enables the contiguous partition.) It is not switched
on by default. Comparing to the previous command, this advanced command additionally
generates a partition polygon file  when genpolygon=1 is specified.
Note: Backwards compatibility: when using the legacy partitioning script generate_parallel_mdu.sh
make sure to include the non-default option genpolygon=1 in the above command, such
that the required polygon file is produced.

94 of 412

Deltares

Running a model

Note: When partition a mesh file, e.g. , by default a separate file
 is generated, which includes partition domain
information and cell information. One can switch off generating this file by adding in the MDU
file ->[output]-> Writepart_domain = 0.
To manually partition a mesh, a user-specified polygon file  has to be provided. The corresponding command reads:

> dflowfm --partition  

5.2.3

Partitioning the MDU file

T

This generates files the same as before.

DR
AF

Having partitioned the mesh, the model definition file needs to be partitioned, as every submodel requires its own definition file with references to

 the partitioned mesh file, e.g. ,
 an appropriate parallel Krylov solver, can be

6:
PETSc solver, recommended (for Linux), or
7:
parallel CG with MILU block preconditioning (for Windows),
 a unique snapshot directory,
 optionally, a partitioned restart file, and
 optionally, a partitioning polygon file, e.g. .
The generate_parallel_mdu.sh script partitions a sequential model definition file automatically:

> generate_parallel_mdu.sh   [partpol-file] 

with

mdu-file
nprocs
partpol-file
Icgsolver

sequential model definition file,
number of subdomains/parallel processes,
partitioning polygon file (optionally),
parallel Krylov solver, can be 6 or 7.

Note that the partitioned mesh filenames (and partitioned restart filenames) are derived from
the mesh filename (and the restart filename) specified in the sequential model definition file.
5.2.3.1

Remaining model input
A parallel run of a D-Flow FM model needs only partitioned <.mdu> and <_net.nc> files.
All other model input is the same as for a standalone run, e.g., meteo forcings, boundary conditions, observation stations and more. These are generally copied to the working directory
by the parallel job submission script.

Deltares

95 of 412

D-Flow Flexible Mesh, User Manual

5.2.4

Running a parallel job
To run a parallel job with D-Flow FM model on a cluster you have to prepare the submission
script. The submission script should be prepared with respect to the specific options that job
scheduler on your cluster requires.

#!/bin/bash
#$ -V
#$ -q test
#$ -cwd
#$ -N My_DflowFM_JOB
#$ -m bea
#$ -M my.email@provider.net

T

The simple example of the D-Flow FM submission script on the cluster with the Grid Engine:

export LD_LIBRARY_PATH=$DFLOWFM/lib:$LD_LIBRARY_PATH
export PATH=$DFLOWFM/bin:$PATH

DR
AF

mpiexec -np 4 dflowfm --autostartstop YOUR_MDU_FILE.mdu > out.txt 2> err.txt

In this simplify example above we submit the D-Flow FM simulation that was partitioned into
4 domains and is going to use only 1 node. The options used above are:
 -V
Specify that all environment variables active within the qsub utility be exported to
the context of the job.
 -q
Specify the queue ’test’ to be used for this job, if absent default queue is used.
 -cwd Execute the job from the current working directory.
 -N
Specify the name of the job.
 -m
Specifies which message type should be emailed (b=beginning of job, e=end of
job, a=abort of job.
 -M
Specifies the email address to send the notification.
In order to submit more complicated, e.g. multi-node simulations, additional options that are
scheduler depended have to be added.
5.2.5

Visualizing the results of a parallel run

The map and history output files (as introduced in section 4.4.12) deserve special attention in
parallel runs.
The history file — with time series for observation points, structures and more — is written
only by process #0, and all model-global data has already been aggregated into that single
file: .
The map file — with full-grid output of flow fields — is written for each domain separately as
. This saves communication overhead during the parallel run.
The partitioned map files contain duplicate points, since each file also contains the domain’s
ghost nodes. For postprocessing these map files, two options are now available:
1 Direct plotting of the set of all map files in Delft3D-QUICKPLOT: the partitioned file series
will be recognized automatically, and the partion results will be drawn on top of each other.
For water levels this gives good results.

96 of 412

Deltares

Running a model

2 Merging the partioned map files into a single global map file with the DFMOUTPUT tool.
The resulting map file can then be loaded again in Delft3D-QUICKPLOT and other postprocessing utilities.
5.2.5.1

Plotting all partitioned map files with Delft3D-QUICKPLOT

DR
AF

T

When opening one of the partitioned map files into Delft3D-QUICKPLOT, it will automatically
detect that the map file is part of a series. An additional select list Domain appears, see
Figure 5.2. Select either “all partitions”, or a partition of your choice, and proceed with the
plotting as normal (section 6.3).

Figure 5.2: Domain selector in Delft3D-QUICKPLOT for partitioned map files.

5.2.5.2

Merging multiple map files into one

The partitioned map files of a parallel model run can be merged into a single global map file
with the DFMOUTPUT tool. It cuts off ghost nodes, and concatenates all grid points, taking
care of correct global renumbering. Usage:

> dfmoutput mapmerge [--infile FILE1 [FILE2 FILE3...]] [--outfile DSTFILE]

where FILE1/2/3 are the input files, e.g., , . . . , 
and DSTFILE is an optional output file name (the default is ).
Remark:
 Since a restart file is a special type of map file, partitioned restart files can also be
merged using the above command.
The built-in help gives a list of more advanced options:

> dfmoutput mapmerge --help
Merge multiple map files from parallel run into one.
Optional switches:

Deltares

97 of 412

D-Flow Flexible Mesh, User Manual

--infile FILE1 [FILE2...], -i FILE1 [FILE2...]
default value
One or more input files.
--listfile LISTFILE, -F LISTFILE
Pass contents of LISTFILE as input files.
--outfile DSTFILE, -o DSTFILE
Write output to file DSTFILE.
Default: _merged_map.nc
--force, -f
default value .false.
Force overwriting of existing output file.
--help, -h
Print this help message
--version, -v
Print version

Running a scenario using Delta Shell

In the Project window, select the model you want to run by means of clicking the first attribute
of the desired model (Figure 6.1).

DR
AF

5.3

T

Examples:
dfmoutput mapmerge --infile model_0000_map.nc model_0001_map.nc

Figure 5.3: Selecting the model you want to run in the Project window

Starting the calculation can be achieved in two ways. You can navigate the menu ribbons; go
to “Home” and in the group Run click on the button “Run Current”. To run all models that are
opened in the Project window, click on “Run All” (Figure 5.4).

Figure 5.4: Group Run in Home ribbon

Alternatively, you can right mouse click the first attribute in the Project window of the model
you want to run. Next, click “Run Model” to start the calculation. When you select the first of
the model you want to run, the properties window (“View” “Properties”) shows several properties of the model you selected. If you set “ShowModelRunConsole” on true, the model run
console of the computational core will be showed during the calculation, providing you with
additional information during the model run (Figure 5.5).

98 of 412

Deltares

Running a model

T

Figure 5.5: Run console Delta Shell

5.4

DR
AF

When you cancel the run by clicking “Cancel all activities”, model results are stored up to the
point where you cancel the run.
Running a scenario using a batch script

Separate scripts are needed for Windows (with the extension <∗.bat>) and Linux (with the
extension <∗.sh>). See section 5.7 for the command-line arguments.
In this section we refer to the variable %DFLOWFM% for Windows and $DFLOWFM for Linux as
a variable that stores path to the directory that contains the dflowfm-cli package.
The easiest Windows script (assuming you have downloaded the Windows dflowfm-cli package, assuming you are in the directory of a configured test-case):

set PATH=%DFLOWFM%\bin;%PATH%
dflowfm-cli.exe --autostartstop YOUR_MDU_FILE.mdu

The easiest Linux script (assuming you have downloaded the Linux dflowfm-cli package, assuming you are in the directory of a configured test-case):

export LD_LIBRARY_PATH=$DFLOWFM/lib:$LD_LIBRARY_PATH
export PATH=$DFLOWFM/bin:$PATH
dflowfm --autostartstop YOUR_MDU_FILE.mdu

5.5

Run time
The actual run time of a model can vary considerably depending on a variety of factors such
as:

 The problem being solved, characterised by the number of active grid points, the number
of layers in the vertical or the number of processes taken into account.
 The length of the simulation in time and the time step being used.
 The hardware configuration that is used and the work load of the processor.

Deltares

99 of 412

D-Flow Flexible Mesh, User Manual

For this reason, only some general considerations are given to determine the run time of a
hydrodynamic simulation. On a PC or a workstation without separate I/O-processors the CPU
time is the sum of the processor time and the I/O time.
The processor time required for a simulation is primarily determined by:

 The model definition, i.e., the number of active grid points and the number and type of the
processes taken into account.
 The length of the simulated period in terms of the number of time steps executed.
The I/O time is determined by:

 The number of times the computed data are written to history, map, restart files and other
communication files for water quality or wave model couplings.

T

 The number of observation points, cross-sections and the number of output parameters.
The simulation performance is defined as the CPU time per grid point per time step per constituent:

where:
Dnt
Ndx

CPU time

DR
AF

simulation performance =

Dnt · Ndx

[system seconds]

is the number of time steps executed
is the number of flow nodes

The simulation performance is written to the diagnostic file at the end of the simulation.
5.5.1

Multi-core performance improvements by OpenMP

D-Flow FM has built-in support for multi-core parallellism using OpenMP1 . This speeds up
calculations by employing multiple processor cores in a single (shared-memory) computer,
e.g., a modern-day notebook. OpenMP-parallellism in D-Flow FM does not scale as well as
MPI-parallellism (section 5.2), but it comes for free (not any change to model input necessary)
and can give a welcome performance improvement (approximately double speed on an Intel
quadcore CPU). It is strongly advised to limit the number of OpenMP-threads to one less than
the number of physical cores in your machine, thus also ignoring any hyperthreading. An
example on Linux for an i7 quadcore CPU machine:

export OMP_NUM_THREADS=3
dflowfm --autostartstop YOUR_MDU_FILE.mdu

5.6

Files and file sizes
For estimating the required disk space the following files are important:

 history file
 map file
 restart file
1

http://www.openmp.org

100 of 412

Deltares

Running a model

5.6.1

History file
The size of the history file is determined by:

 The number of monitoring points (observation points + cross-sections): H1.
 The number of quantities stored: H2.
 The number of additional process parameters, such as salinity, temperature, constituents
and turbulence quantities, taken into account in the simulation: H3.

 The number of time the history data is written to the history file: H4.
You can estimate the size of a history file (in bytes) from the following equation:

As a first approximation you can use H2 = 8.
Example

T

size history file = H1 · (H2 + H3) · H4 · 8 bytes.

5.6.2

DR
AF

For a 2D simulation with density driven currents (salinity and temperature), a simulated period
of 12 hrs 30 min, a time integration step of 5 minutes, 30 monitoring points and each time
step being stored, the size of the history file will be of the order of 384 kBytes. For the same
model but now with 10 layers in the vertical the file size will increase to about 4 MBytes. These
estimates show that history files are rather small. Unless the number of monitoring points is
excessively large the history files are typically much smaller than the map output files.
Map file

The size of the map file is determined by:

 The size of the model, i.e. the number of grid cells multiplied by the number of layers (Ndxi
· Kmax): M1n, and the number of flow links (open grid cell edges) multiplied by the number
of layers (Lnx · Kmax): M1l.
 The number of quantities stored on grid cells and flow links: M2n, M2l, respectively.
 The number of process parameters taken into account, such as salinity, temperature,
constituents and turbulence quantities: M3.
 The number of time steps for which the map file is written: M4.

Remark:
 For a more refined estimate you should distinguish between parameters that depend
or not on the number of layers used (such as the water level). For a 3D simulation the
latter quantities can be neglected, for a 2D simulation they must be accounted for. As a
first estimate we double the number of quantities M2 in a 2D simulation.
As a first approximation you can use M2n = 5, M2l = 5 for a 3D simulation and M2n = 8, M2l
= 5 for a 2D simulation.
You can estimate the size of a map file (in bytes) from the following equation:
size map file =[M1n · (M2n + M3) + M1l · M2l] · M4 · 8 bytes.

Deltares

101 of 412

D-Flow Flexible Mesh , User Manual

Example
For a 2D simulation with 6800 grid cells and 13000 flow links, simulation results stored for
a period of 7 days, and the file is written with an interval of 60 minutes the size of the map
file will be about 161 MBytes. For larger models the map file can easily become excessively
large, as result the map file is less frequently written, for instance every 2 or 3 hours.
5.6.3

Restart file

T

A restart file is a special type of map file, where only one time snapshot per file is saved (i.e,
M4 = 1). No grid or flow geometry information is stored in a restart file, except for the flow
cell/link information (denoted by M5). Moreover, the restart files obtained after a parallel run
contain some necessary information about parallelization (denoted by M6). Similarly to the
equation of size map file above, one can write the estimating equation as follows:
size rst file = [M1n · (M2n + M3) + M1l · M2l + M5 + M6] · 8 bytes,
where M6 = 0 for a sequential run.
Command-line arguments

DR
AF

5.7

A complete model schematisation can be run from the command line using the D-Flow FM
Command Line Interface (CLI), dflowfm-cli.exe (dflowfm on Linux). A basic noninteractive run is started by:

> dflowfm-cli --autostartstop \emph{mdu\_name}.mdu

In the box below, a full list of command-line options and arguments is shown:

> dflowfm-cli --help
Usage: dflowfm-cli [OPTIONS] [FILE]...
Options:
--autostart MDUFILE
Auto-start the model run, and wait upon completion.
--autostartstop MDUFILE
Auto-start the model run, and exit upon completion.

--noautostart MDUFILE
Disable any AutoStart option in the MDU file (if any).
--partition:OPTS [POLFILE] NETFILE
Partitions the unstructured grid in NETFILE into multiple files.
POLFILE is an optional polygon file which defines the partitions.
Only used when ndomain in OPTS is undefined or 0.
OPTS is a colon-separated list opt1=val1:opt2=val2:...
ndomains = N
Number of partitions.
method
= [01] Partition method: Recursive Bisection(0), K-Way(1).
genpolygon= [01]
contiguous= [01]

102 of 412

Generate partition polygon(1) or not(0).
Enforce contiguous grid cells in each domain.
Only available when K-Way is enabled (method=1).

Deltares

Running a model

-t N, --threads N
Set maximum number of OpenMP threads.
N must be a positive integer.

--refine:OPTS NETFILE
Refine the unstructured grid in NETFILE from commandline.
OPTS is a colon-separated list opt1=val1:opt2=val2:...
hmin=VAL
dtmax=VAL
maxlevel=M
connect=[01]
directional=[01]
outsidecell=[01]

T

-q, --quiet
Minimal output: Only (fatal) errors are shown.
--verbose:[level_stdout[:level_dia]], e.g., --verbose:INFO:DEBUG
Set verbosity level of output on standard out and in diagnostics file.
where level is in: {DEBUG|INFO|WARNING|ERROR|FATAL}
Levels are optional, default is INFO on screen, DEBUG in dia file.

DR
AF

-h, --help
Display this help information and exit.
-v, --version
Output version information and exit.

5.8

Restart a simulation

D-Flow FM allows to restart a simulation, not from the original starting time, but from a userspecified time with all the information at that time. In other words, for a model which has a long
spinup time from tstart , instead of restarting from tstart , one can restart another simulation of
the same model from a later time trst , where tstart ≤ trst < tstop . And the results for times
trst ≤ t ≤ tstop are the same as in the original simulation run.
This can be achieved by following steps:

1 In order to obtain restart files <_rst.nc>, this needs to be enabled in the output parameters (see section 4.4.12 for more details about how to set output parameters).
2 Run the original model from tstart to tstop , resulting in restart files.
3 To restart the simulation from time trst , in the MDU file modify TStart to trst , and fill
in the name of corresponding restart file in RestartFile of the [restart]-section.
Moreover, place the corresponding restart file relative to the directory of this MDU file.
To restart a parallel simulation, one can use any of the following methods:
Method 1 On each subdomain use its own restart file.
Method 2 Merge all the subdomain restart files into a single global restart file (see section 5.2.5.2),
and then use it for all the subdomains. This means to put the name of this merged file as
RestartFile in all subdomain MDU files. This method is supported when restarting
with the same, or a different domain partitioning. Moreover, such a merged restart file can
also be used to restart a sequential run.
The above two methods require taking care of the name of the restart file in subdomain MDU
files. D-Flow FM automatically fills in the correct names, when partition an MDU file to subdomain MDU files (see section 5.2.2), in the following way:

Deltares

103 of 412

D-Flow Flexible Mesh, User Manual

For Method 1 When  is filled in RestartFile of the original MDU file, partition this MDU file gives subdomain MDU files with RestartFile as
 for each subdomain <000X>.
For Method 2 If the string word "merged" is contained in the name of RestartFile in the original
MDU file, then this file name is kept to all the subdomain MDU files after partitioning.
It is also possible to use a map file as a restart file, following the above approaches. Notice
that in this case, one needs to specify the RestartDateTime in MDU file as well. However,
we strongly recommend to use <_rst.nc> file instead of a map file.

Frequently asked questions

This chapter aims to help you with common questions that may arise while using D-Flow FM.
1 Question
My model does not run/crashes. What’s wrong?
Answer
The diagnostics file is the starting point for finding out what went wrong. See section E.1
for a detailed description of the contents of this file, and the order of model run output.
Globally, ask yourself the following questions:

DR
AF

5.9

T

D-Flow FM also supports restarting a 3D model simulation with σ -layers. Note: The 3Dimplementation is a beta functionality.

 Was the MDU file found?
 If yes, was the model successfully loaded? Common mistakes are missing boundary
or meteorological forcings file.

 If yes, was the time loop successfully started? Possible errors are non-writable output
files.

 If yes, does the dia file contain any messages from during the time loop? Possible
errors are solver convergence errors.

 If not, did the run end successfully?

2 Question
I get a warning that my network is non-orthogonal. Can I loosen the orthogonality treshold?
Answer
Unfortunately, no. Orthogonality is very important for accuracy: advised orthogonality values for your grid are around 0.01, preferrably lower. The current treshold is already very
high at a value of 0.5. Use RGFGRID to improve your grid orthogonality (and smoothness).

104 of 412

Deltares

6 Visualize results
6.1

Introduction
A model run will produce two types of output:
1 a graph or history (<∗.his>-file) for a specific quantity on a location
2 a map (<∗.map>-file) for a specific quantity
Both are stored in files within the project, as described in section 5.6.

Visualization with Delta Shell

When your model run has finished, a new folder called “Output” has appeared at the bottom
of the attributes of your model in the Map window. Inside this folder, all output quantities of
the his-, and map-files can be found, as well as a folder called “States”, in which you find
all restart files written during the model run. Output folders have also appeared in the Map
window; “Output (map)” and “Output (his)”. Both the results of your map and his files can be
viewed in the central map by means of enabling the desired quantities from the Map window
(Figure 6.1).

DR
AF

6.2

T

D-Flow FM provides basic visualization of the model and the model results. Advanced and
tailor-made visualization is possible by the export of the his- and/or map-files, and inspection
with dedicated visualization applications. Some are provided and described below.

Figure 6.1: Example of setting output (in)visible in the Map window

The time navigator can be used to slide through the different time steps in the output files.
If your model is relatively large, the drawing performance of the interface can be improved

Deltares

105 of 412

D-Flow Flexible Mesh, User Manual

dramatically by enabling QuadTree visualizations in the properties window of the layer you
want to visualize. To this end, select the layer you want to visualize in the ...
Visualization with Quickplot
The interface of the Delft3D-QUICKPLOT allows to open the NetCDF output files from a DFlow FM simulation. In the interface you can select data fields, make a selection of time
steps, stations or specify a preferred figure presentation options. After selection of a certain
options you can visualize your data by using the “Quick View” button. To add another plot to
an existing figure the “Add to Plot” button should be used.

T

When plotting the map output files from a D-Flow FM simulation, by default the presentation
type “markers” will be selected. To smoothly visualize your results it is recommended to
change presentation type into “polygons” and then select the option “Fill Polygons” (see the
example on the Figure 6.2).

DR
AF

6.3

Figure 6.2: Useful map visualization options in the Delft3D-QUICKPLOT

See the Delft3D-QUICKPLOT User Manual for full details and a description of the routines
and their use.

106 of 412

Deltares

Visualize results

6.4

Visualization with Muppet

DR
AF

T

The interface of the Muppet allows to “Add Dataset” from a NetCDF output file from a DFlow FM simulation. It is possible to create a timeseries for a selected variable in from the
history files. Additionally Muppet offers the option to visualize the map output files from a
D-Flow FM simulation (see Figure 6.3).

Figure 6.3: Example of the Muppet visualization of the D-Flow FM map output file

In the Muppet interface it is possible to specify figure settings, plot descriptions, labels and
many more.
6.5

Visualization with Matlab

In the OpenEarthTools you can find two example scripts that allow you to load and visualize
the D-Flow FM output. Note that in the Matlab scripts for the D-Flow FM the UGRID notation
is used.
The  script plots a D-Flow FM unstructured map and optionally the handles h
are returned. By modifying the script you can change the plotted variable, layout or the plot
style options.
The  script plots a D-Flow FM unstructured net, optionally the handles h are
returned. This script can visualize nodes, links and cell circumcenters of a network. By
modifying the script you can choose the preferred plotting settings and variables to plot (by
default nodes, edges and faces are plotted).
6.6

Visualization with Python
Currently there are no examples of Python scripts for the D-Flow FM output visualization in the
OpenEarthTools. However, if such a need arises it is possible to load netcdf Python libraries,
and create your own simple visualization of the variables present in the NetCDF output files.

Deltares

107 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

108 of 412

Deltares

7 Hydrodynamics
7.1

Introduction
Increasing awareness of environmental issues has focused the attention of scientists and engineers on the problem of predicting the flow and dispersion of contaminants in water systems.
Reliable information on water flow, waves, water quality, sediment transport and morphology
can be obtained from appropriate mathematical models. In general the first step in such modelling activities concerns the simulation of the flow itself. Whether the problem is related, for
example, to the stability of a hydraulic structure, to salt intrusion, to the dispersion of pollutants or to the transport of silt and sediment, flow simulations usually form the basis of the
investigations to be carried out.

DR
AF

T

The Delft3D Flexible Mesh Suite is the integrated modelling system of Deltares for the aquatic
environment. D-Flow Flexible Mesh, the flow module of this system, provides the hydrodynamic basis for other modules such as water quality, ecology, waves and morphology. For
steady and non-steady modelling of the far-field water quality and ecology, it is coupled with
the far-field water quality module D-Water Quality. For the interaction between waves and
currents the flow module may be coupled with the short-waves model D-Waves. To control
structures, the flow module is coupled to the D-Real Time Control module.
D-Flow FM is flexible by using an unstructured grid in the horizontal plane. In the vertical direction D-Flow FM offers two different vertical grid systems: a so-called σ co-ordinate system
(σ -model) introduced by Phillips (1957) for ocean models and the Cartesian z -co-ordinate
system (Z -model).
This section gives some background information on the conceptual model of the D-Flow FM
module. Most of the concepts and algorithms are applicable to both the σ -model and Z model.
Note: The 3D-implementation is a β -functionality.
7.2
7.2.1

General background

Range of applications of D-Flow FM

The hydrodynamic module D-Flow FM simulates two-dimensional (2DH, depth-averaged) or
three-dimensional (3D) unsteady flow and transport phenomena resulting from tidal and/or
meteorological forcing, including the effect of density differences due to a non-uniform temperature and salinity distribution (density-driven flow). The flow model can be used to predict
the flow in shallow seas, coastal areas, estuaries, lagoons, rivers and lakes. It aims to model
flow phenomena of which the horizontal length and time scales are significantly larger than
the vertical scales.
If the fluid is vertically homogeneous, a depth-averaged approach is appropriate. D-Flow FM
is able to run in two-dimensional mode (one computational layer), which corresponds to solving the depth-averaged equations. Examples in which the two-dimensional, depth-averaged
flow equations can be applied are tidal waves, storm surges, tsunamis, harbor oscillations
(seiches) and transport of pollutants in vertically well-mixed flow regimes.
Three-dimensional modelling is of particular interest in transport problems where the horizontal flow field shows significant variation in the vertical direction. This variation may be
generated by wind forcing, bed stress, Coriolis force, bed topography or density differences.
Examples are dispersion of waste or cooling water in lakes and coastal areas, upwelling and

Deltares

109 of 412

D-Flow Flexible Mesh, User Manual

downwelling of nutrients, salt intrusion in estuaries, fresh water river discharges in bays and
thermal stratification in lakes and seas.
Physical processes
The numerical hydrodynamic modelling system D-Flow FM solves the unsteady shallow water
equations in two (depth-averaged) or in three dimensions. The system of equations consists
of the horizontal equations of motion, the continuity equation, and the transport equations
for conservative constituents. The equations are formulated in orthogonal curvilinear coordinates or in spherical co-ordinates on the globe. In D-Flow FM models with structured grid
are considered as a simplified form of an unstructured grid. In Cartesian co-ordinates, the
free surface level and bathymetry are related to a flat horizontal plane of reference, whereas
in spherical co-ordinates the reference plane follows the Earth curvature.

T

The flow is forced by tide at the open boundaries, wind stress at the free surface, pressure
gradients due to free surface gradients (barotropic) or density gradients (baroclinic). Source
and sink terms are included in the equations to model the discharge and withdrawal of water.
The D-Flow FM model includes mathematical formulations that take into account the following
physical phenomena:
























DR
AF

7.2.2

Free surface gradients (barotropic effects).
The effect of the Earth rotation (Coriolis force).
Water with variable density (equation of state).
Horizontal density gradients in the pressure (baroclinic effects).
Turbulence induced mass and momentum fluxes (turbulence closure models).
Transport of salt, heat and other conservative constituents.
Tidal forcing at the open boundaries.
Space and time varying wind shear-stress at the water surface.
Space varying shear-stress at the bed.
Space and time varying atmospheric pressure on the water surface.
Time varying sources and sinks (e.g. river discharges).
Drying and flooding of tidal flats.
Heat exchange through the free surface.
Evaporation and precipitation.
Tide generating forces.
Effect of secondary flow on depth-averaged momentum equations.
Lateral shear-stress at wall.
Vertical exchange of momentum due to internal waves.
Influence of waves on the bed shear-stress (2D and 3D).
Wave induced stresses (radiation stress) and mass fluxes.
Flow through hydraulic structures.
Wind driven flows including tropical cyclone winds.

110 of 412

Deltares

Hydrodynamics

Assumptions underlying D-Flow FM
In D-Flow FM the 2D (depth-averaged) or 3D non-linear shallow water equations are solved.
These equations are derived from the three dimensional Navier-Stokes equations for incompressible free surface flow. The following assumptions and approximations are applied:

 In the σ co-ordinate system the depth is assumed to be much smaller than the horizontal




















T



length scale. For such a small aspect ratio the shallow water assumption is valid, which
means that the vertical momentum equation is reduced to the hydrostatic pressure relation. Thus, vertical accelerations are assumed to be small compared to the gravitational
acceleration and are therefore not taken into account.
The effect of variable density is only taken into account in the pressure term (Boussinesq
approximation).
In the σ co-ordinate system, the immediate effect of buoyancy on the vertical flow is
not considered. In D-Flow FM vertical density differences are taken into account in the
horizontal pressure gradients and in the vertical turbulent exchange coefficients. So the
application of D-Flow FM is restricted to mid-field and far-field dispersion simulations of
discharged water.
For a dynamic online coupling between morphological changes and flow the 2D sediment
and morphology feature is available.
In a Cartesian frame of reference, the effect of the Earth curvature is not taken into account. Furthermore, the Coriolis parameter is assumed to be uniform unless specifically
specified otherwise.
In spherical co-ordinates the inertial frequency depends on the latitude.
At the bed a slip boundary condition is assumed, a quadratic bed stress formulation is
applied.
The formulation for the enhanced bed shear-stress due to the combination of waves and
currents is based on a 2D flow field, generated from the velocity near the bed using a
logarithmic approximation.
The equations of D-Flow FM are capable of resolving the turbulent scales (large eddy
simulation), but usually the hydrodynamic grids are too coarse to resolve the fluctuations.
Therefore, the basic equations are Reynolds-averaged introducing so-called Reynolds
stresses. These stresses are related to the Reynolds-averaged flow quantities by a turbulence closure model.
In D-Flow FM the 3D turbulent eddies are bounded by the water depth. Their contribution
to the vertical exchange of horizontal momentum and mass is modelled through a vertical
eddy viscosity and eddy diffusivity coefficient (eddy viscosity concept). The coefficients
are assumed to be proportional to a velocity scale and a length scale. The coefficients
may be specified (constant) or computed by means of an algebraic, k -τ or k -ε turbulence
model, where k is the turbulent kinetic energy, τ is the turbulent time scale and ε is the
dissipation rate of turbulent kinetic energy.
In agreement with the aspect ratio for shallow water flow, the production of turbulence is
based on the vertical (and not the horizontal) gradients of the horizontal flow. In case
of small-scale flow (partial slip along closed boundaries), the horizontal gradients are included in the production term.
The boundary conditions for the turbulent kinetic energy and energy dissipation at the free
surface and bed assume a logarithmic law of the wall (local equilibrium).
The eddy viscosity is an-isotropic. The horizontal eddy viscosity and diffusivity coefficients
should combine both the effect of the 3D turbulent eddies and the horizontal motions that
cannot be resolved by the horizontal grid. The horizontal eddy viscosity is generally much
larger than the vertical eddy viscosity.
For large-scale flow simulations, the tangential shear-stress at lateral closed boundaries
can be neglected (free slip). In case of small-scale flow partial slip is applied along closed
boundaries.
For large-scale flow simulations, the horizontal viscosity terms are reduced to a bi-harmonic

DR
AF

7.2.3

Deltares

111 of 412

D-Flow Flexible Mesh, User Manual







7.3

T



DR
AF



operator along co-ordinate lines. In case of small-scale flow the complete Reynold’s stress
tensor is computed. The shear-stress at the side walls is calculated using a logarithmic
law of the wall.
In the σ co-ordinate system, D-Flow FM solves the so-called long wave equation.
The pressure is hydrostatic and the model is not capable of resolving the scales of short
waves. Therefore, the basic equations are averaged in analogy with turbulence introducing
so called radiation stresses. These stresses are related to the wave quantities of Delft3DWAVE.
It is assumed that a velocity point is set dry when the actual water depth is below half of a
user-defined threshold. If the point is set dry, then the velocity at that point is set to zero.
The velocity point is set wet again when the local water depth is above the threshold. The
hysteresis between drying and flooding is introduced to prevent drying and flooding in two
consecutive time steps.
The drying and flooding procedure leads to a discontinuous movement of the closed
boundaries at tidal flats.
A continuity cell is set dry when all surrounding velocity points at the grid cell faces are
dry or when the actual water depth at the cell centre is below zero (negative volume).
The flux of matter through a closed wall and through the bed is zero.
Without specification of a temperature model, the heat exchange through the free surface
is zero. The heat loss through the bed is always zero.
If the total heat flux through the water surface is computed using a temperature excess
model the exchange coefficient is a function of temperature and wind speed and is determined according to Sweers (1976). The natural background temperature is assumed
constant in space and may vary in time. In the more advanced heat flux formulation the
fluxes due to solar radiation, atmospheric and back radiation, convection, and heat loss
due to evaporation are modeled separately.
The effect of precipitation on the water temperature is accounted for.

Hydrodynamic processes

D-Flow FM solves the Navier Stokes equations for an incompressible fluid, under the shallow water and the Boussinesq assumptions. In the vertical momentum equation the vertical
accelerations are neglected, which leads to the hydrostatic pressure equation. In 3D models
the vertical velocities are computed from the continuity equation. The set of partial differential
equations in combination with an appropriate set of initial and boundary conditions is solved
on an ustructured finite volume grid.
In the horizontal direction D-Flow FM uses orthogonal unstructured grids. Two coordinate
references are supported:
1 Cartesian co-ordinates
2 Spherical co-ordinates

The boundaries of a river, an estuary or a coastal sea are in general curved and are not
smoothly represented on a structured grid. The boundary becomes irregular and may introduce significant discretization errors. To reduce these errors unstructured grids are used. The
unstructured grids also allow local grid refinement in areas with large horizontal gradients.
In the vertical direction D-Flow FM offers two different vertical grid systems: the σ coordinate
system (σ -model) and the Cartesian z -co-ordinate system (Z-model). In the σ model, the
vertical grid consists of layers bounded by two σ planes, which are not strictly horizontal
but follow the bed topography and the free surface. Because the σ -model is boundary fitted
both to the bed and to the moving free surface, a smooth representation of the topography
is obtained. The number of layers over the entire horizontal computational area is constant,

112 of 412

Deltares

Hydrodynamics

T

irrespective of the local water depth. The distribution of the relative layer thickness is usually
non-uniform. This allows for more resolution in the zones of interest such as the near surface
area (important for e.g. wind-driven flows, heat exchange with the atmosphere) and the near
bed area (sediment transport). Please note that in D-Flow FM, unlike Delft3D, the σ coordinate
is equal to zero on the bed is 1 on the water surface.

Figure 7.1: Example of σ -model (left) and Z-model (right).

7.3.1

DR
AF

Although the σ -grid is boundary fitted (in the vertical), it will not always have enough resolution around the pycnocline. The co-ordinate lines intersect the density interfaces that may
give significant errors in the approximation of strictly horizontal density gradients (Leendertse,
1990; Stelling and Van Kester, 1994). Therefore, Z-model was introduced in D-Flow FM for 3D
simulations of weakly forced stratified water systems. The Z-model has horizontal co-ordinate
lines that are (nearly) parallel with density interfaces (isopycnals) in regions with steep bed
slopes. This is important to reduce artificial mixing of scalar properties such as salinity and
temperature. The Z-model is not boundary-fitted in the vertical. The bed (and free surface) is
usually not a co-ordinate line and is represented as a staircase (zig-zag boundary).
Topological conventions

A computational cell in a D-Flow FM grid (sometimes referred to as a ’network’) consists of
corner nodes and edges connecting the corner nodes. Such a grid cell should contain at least
three corner nodes and at most six corner nodes. The following topological conventions are
used:

 netnodes: corners of a cell (triangles, quadrangles, ...),
 netlinks: edges of a cell, connecting netnodes,
 flownodes: the cell circumcentre, in case of triangles the exact intersection of the three
perpendicular bisectors and hence also the centre of the circumscribing circle,

 flowlinks: a line segment connecting two flownodes.

Deltares

113 of 412

D-Flow Flexible Mesh, User Manual

1. Net (domain discretization)
net node

(1..NUMK)

net link (1D)

(1..NUML1D)

net link (2D)

(NUML1D+1..NUML)

netcell/flow node (2D)

(1..NDX2D=NUMP)

netcell/flow node (1D)

(NDX2D+1..NDXI)

boundary flow node

(NDXI+1..NDX)

2. Flow data (1D+2D)

pressure points: 2D flow node circumcenter/1D flow node
1D
2D
1D
2D

internal
internal
open bnd
open bnd

(1..LNX1D)

T

flow link

(LNX1D..LNXI)

(LNXI+1..LNX1DBND)
(LNX1DBND+1..LNX)

DR
AF

Figure 7.2: Flexible mesh topology

This mesh topology is illustrated in Figure 7.2. The ’center’ of a cell can be defined in multiple
ways. To illustrate this, two conventional cell center definitions for a triangle are highlighted in
Figure 7.3. The two displayed cell centers have different properties:
1 the circumcenter is the location within the triangle which is the center point of a circle
that intersects the triangle at each corner node of the triangle; as a consequence, the
orthogonal projection of the center point to each face of the triangle divides each face into
two exactly equidistant pieces,
2 the mass center (or centroid) is the center of gravity; as a consequence, a line through a
corner node and the mass center divides a face into two exactly equidistant pieces under
an angle not necessarily equal to 90◦ .

114 of 412

Deltares

DR
AF

T

Hydrodynamics

Figure 7.3: Two conventional definitions of the cell center of a triangle: the circumcenter
and the mass center.

D-Flow FM utilizes the circumcenter as the basis of the definition of the elementary flow variables ’water level’ and ’flow velocity’. The water level is defined at the circumcenter, whereas
the face normal flow velocity is defined at the orthogonal projection of the circumcenter onto
the cell face, i.e., the midpoint of the cell face.
Important properties of the mesh are the orthogonality and smoothness. The orthogonality
is defined as the cosine of the angle ϕ between a flowlink and a netlink. Ideally 0, angle
ϕ = 90◦ . The smoothness of a mesh is defined as the ratio of the areas of two adjacent
cells. Ideally 1, the areas of the cells are equal to each other. A nearly ideal setup is shown
in Figure 7.4.

Figure 7.4: Perfect orthogonality and nearly perfect smoothness along the edge connecting two triangles. Black lines/dots are network links/nodes, blue lines/dots are
flow links/nodes.

It is quite easy (and therefore dangerous) to generate meshes that violate the orthogonality

Deltares

115 of 412

D-Flow Flexible Mesh, User Manual

and smoothness requirements. In Figure 7.5, two different setups of two gridcells are shown
with different mesh properties.
The left picture of Figure 7.5 shows how orthogonality can be detoriated by skewing the right
triangle with respect to the left triangle. While having the same area (perfect smoothness),
the mutually oblique orientation results in poor orthogonality. In this particular case, the centre
of the circumscribing circle is in principle located outside the right triangle. Such a triangle is
denoted as an ’open’ triangle, which is bad for computations.

DR
AF

T

The opposite is shown in the right picture of Figure 7.5 in which the right triangle has strongly
been elongated, disturbing the smoothness property. However, the orthogonality is nearly
perfect. Nonetheless, both meshes need to be improved to assure accurate model results.

(a) Perfect smoothness, but poor orthogonality.

(b) Perfect orthogonality, but poor smoothness

Figure 7.5: Poor mesh properties due to violating either the smoothness or the orthogonality at the edge connecting two triangles. Black lines/dots are network
links/nodes, blue lines/dots are flow links/nodes.

7.3.2

Conservation of mass and momentum

In this section, we will present in detail the governing equations for mass and momentum conservation. These equations are indicated by a continuity equation and momentum equations.
7.3.2.1

Continuity equation

D-Flow FM solves the depth-averaged continuity equation, derived by integration the continuity equation, for incompressible fluids (∇ • u = 0) over the total depth, taken into account the
kinematic boundary conditions at water surface and bed level, and is given by:

∂h ∂U h ∂V h
+
+
=Q
(7.1)
∂t
∂x
∂y
with U and V the depth averaged velocities. Q is representing the contributions per unit area
due to the discharge or withdrawal of water, precipitation and evaporation:

Z

h

(qin − qout ) dz + P − E

Q=

(7.2)

0

with qin and qout the local sources and sinks of water per unit of volume [1/s], respectively, P
the non-local source term of precipitation and E non-local sink term due to evaporation. We
remark that the intake of, for example, a power plant is a withdrawal of water and should be
modelled as a sink. At the free surface there may be a source due to precipitation or a sink
due to evaporation.

116 of 412

Deltares

Hydrodynamics

7.3.2.2

Momentum equations in horizontal direction
The momentum equations in x- and y -direction are given by:

∂u
∂u
∂u
∂u
1 ∂P
∂
+u
+v
+w
− fv = −
+ Fx +
∂t
∂x
∂y
∂z
ρ0 ∂x
∂z



∂u
νV
+ Mx
∂z

∂v
∂v
∂v
∂v
1 ∂P
∂
+u
+v
+w
+ fu = −
+ Fy +
∂t
∂x
∂y
∂z
ρ0 ∂y
∂z



∂v
νV
∂z

(7.3)


+ My

(7.4)

Where νV is the vertical eddy viscosity coefficient. Density variations are neglected, except
in the baroclinic pressure terms, ∂P/∂x and ∂P/∂y represent the pressure gradients.

T

The forces Fx and Fy in the momentum equations represent the unbalance of horizontal
Reynolds stresses.

Mx and My represent the contributions due to external sources or sinks of momentum (external forces by hydraulic structures, discharge or withdrawal of water, wave stresses, etc.).

7.3.2.3

DR
AF

The effects of surface waves on the flow as modelled in D-Flow FM are described in section 15.2.
Vertical velocities

The vertical velocity w in the adapting σ co-ordinate system is computed from the continuity
equation:

∂h ∂uh ∂vh ∂w
+
+
+
= h (qin − qout )
∂t
∂x
∂y
∂z

(7.5)

At the surface the effect of precipitation and evaporation is taken into account. The vertical
velocity w is defined at the iso σ -surfaces. w is the vertical velocity relative to the moving
σ -plane. It may be interpreted as the velocity associated with up- or downwelling motions.
7.3.3

The hydrostatic pressure assumption

Under the shallow water assumption, the vertical momentum equation is reduced to a hydrostatic pressure equation. Vertical accelerations due to buoyancy effects and due to sudden
variations in the bed topography are not taken into account. So:

∂P
= −ρgh
∂z

(7.6)

For water of constant density and taking into account the atmospheric pressure, it includes
gradients of the free surface level, called barotropic pressure gradients. The atmospheric
pressure is included in the system for storm surge simulations. The atmospheric pressure
gradients dominate the external forcing at peak winds during storm events. Space and time
varying wind and pressure fields are especially important when simulating storm surges.
In case of a non-uniform density the pressure gradients includes not only barotropic pressure
gradient, but also vertical pressure gradient, the so called baroclinic pressure gradient. The
baroclinic pressure gradient is the result of variable distribution of density and temperature in
the vertical direction.
In the horizontal gradient a vertical derivative is introduced by the σ co-ordinate transformation. In estuaries and coastal seas the vertical grid may deteriorate strongly in case of steep

Deltares

117 of 412

D-Flow Flexible Mesh, User Manual

bed slopes. In order to avoid artificial flow the numerical approximation of the baroclinic pressure terms requires a special numerical approach. The treatment of D-Flow FM to avoid the
artificial mixing due to σ co-ordinates are discussed in section 7.5, see also Stelling and Van
Kester (1994).
7.3.4

The Coriolis force

DR
AF

T

The Coriolis parameter f depends on the geographic latitude φ and the angular speed of
rotation of the earth, Ω (f = 2Ω sin φ). For a grid the user should specify the space varying
Coriolis parameter, using a suitable projection. This can be done by selecting Coordinate
System in RGFGRID, and selection of the option for Spherical Coordinate. The parameters
for translation and rotation can be given as shown in Figure 7.6.

Figure 7.6: Input for map projection for specifying Coriolis parameter on the grid.

7.3.5

Diffusion of momentum

The forces Fx and Fy in the horizontal momentum equations represent the unbalance of
horizontal Reynolds stresses. The Reynolds stresses are modelled using the eddy viscosity
concept, (for details e.g. Rodi (1984)). This concept expresses the Reynolds stress component as the product between a flow as well as grid-dependent eddy viscosity coefficient and
the corresponding components of the mean rate-of-deformation tensor. The meaning and the
order of the eddy viscosity coefficients differ for 2D and 3D, for different horizontal and vertical
turbulence length scales and fine or coarse grids. In general the eddy viscosity is a function
of space and time.
For 3D shallow water flow the stress tensor is an-isotropic. The horizontal eddy viscosity
coefficient, νH , is much larger than the vertical eddy viscosity νV (νH  νV ). The horizontal
viscosity coefficient may be a superposition of three parts:
1 a part due to "sub-grid scale turbulence",
2 a part due to "3D-turbulence" see Uittenbogaard et al. (1992) and
3 a part due to dispersion for depth-averaged simulations.
In simulations with the depth-averaged momentum and transport equations, the redistribution
of momentum and matter due to the vertical variation of the horizontal velocity is denoted
as dispersion. In 2D simulations this dispersion is not simulated as the vertical profile of the
horizontal velocity is not resolved. Then this dispersive effect may be modelled as the product
of a viscosity coefficient and a velocity gradient. The dispersion term may be estimated by the
Elder formulation.

118 of 412

Deltares

Hydrodynamics

If the vertical profile of the horizontal velocity is not close to a logarithmic profile (e.g. due to
stratification or due to forcing by wind) then a 3D-model for the transport of matter is recommended.
The horizontal eddy viscosity is mostly associated with the contribution of horizontal turbulent
motions and forcing that are not resolved by the horizontal grid ("sub-grid scale turbulence") or
by (a priori) the Reynolds-averaged shallow-water equations. in 3D, in the vertical direction,
νV is referred to as the three-dimensional turbulence and in it is computed following a 3Dturbulence closure model.

T

Therefore, in addition to all turbulence closure models in D-Flow FM a constant (space and
time) background mixing coefficient may be specified by the user, which is a background
value for the vertical eddy viscosity in the momentum Equation (7.3) and Equation (7.4) consequently.

DR
AF

The horizontal and vertical eddy viscosities can be set by user defined value under Physical
Parameters shown in Figure 7.7.

Figure 7.7: Input parameters for horizontal and vertical eddy viscosities.

7.3.6

Conveyance in 2D

Bed friction often plays a major role in the discharge capacity and expected maximum water
levels of channels and gullies. If we model a trapezoidal channel with sloping sidewalls on a
grid with 6 grid cells across the width of the channel, a typical cross section using the standard
bed representation with uniform depth appears per cell (Figure 7.8a). In D-Flow FM, we allow
for representation of a locally sloping bed as shown in Figure 7.8b.

Figure 7.8: Bed representation with uniform depth levels (a), and locally sloping bed (b).

The most left and the most right cell are not yet wet in the uniform bed representation. In
the sloping bed representation, these outer cells are partly wet, yielding a more accurate
description of the total wet cross sectional area. The user can select whether to apply this

Deltares

119 of 412

D-Flow Flexible Mesh, User Manual

more accurate description or not. This can only be done only in combination with a net-node
based bathymetry description, i.e. using the keyword Ibedlevtype = 3 in the .mdu file.
For the bed friction in 2D models, one implicitly assumes a fully developed vertical velocity
profile, using a logarithmic function of the water depth for the White-Colebrook bed friction
formulation, or a one-sixth power function of the water depth for the Manning formulation. In a
sloping cell, the local water depth is varying over the width of the cell. In the deeper part flow
velocities will be higher than in the shallower part. Bed stresses will vary over the width of a
cell with water depth and with the velocity. Integrating the stresses over the width of a cell one
can derive the resulting total stress.

T

The bed friction term is not only a function of the normal velocity component in the direction
of the flow link itself, but also depends on the tangential velocity component and with that on
the total velocity. For each of the four components water depth, normal velocity, total velocity
and Chézy parameter, we assume a linear variation over the width (Figure 7.9).

DR
AF

If we have in the .mdu file Conveyance2D = 3, the 2D analytic conveyance description
using these four linearly varying components is applied. This option shows best grid convergence behaviour. Good grid convergence implies that the converged answer can be achieved
on a coarser grid, thus saving computational costs.
If one sets Conveyance2D = 2, the tangential velocity component is assumed zero. This
method is only applicable on curvilinear grids that are aligned with the flow direction.
If one sets Conveyance2D = 1, both the normal and tangential velocity component are
assumed constant over the width. Effectively one obtains the so called ’lumped’ bed friction
approach, with hydraulic radius R = A/P , A being the wet cross sectional area and P the
wet perimeter. This method works equally well as methods 2 and 1, provided that there is
sufficient resolution of a gully in the grid. It is found that when a gully is resolved by more than
about 10 or 12 cells, it provides almost identical answers as method 2, while saving some
10 % computational overhead compared to method 2.
Setting Conveyance2D = -1, the hydraulic radius is based on a uniform bed level at the
velocity point taken as the average bed level of the two surrounding net nodes (depth points
in WAQUA terms). This option is identical to the combination of WAQUA option dpuopt =
mean i.c.m. dpsopt = max.
Setting Conveyance2D = 0, the hydraulic radius is based on a uniform bed level at the
velocity point taken as the average bed level of the two surrounding water level points. This
option is not advisable because cell bed levels are taken as the minimum value of the bed
levels of attached link. So a min-max operator is invoked, which is not suitable for accuracy.
7.4

Hydrodynamics boundary conditions
In section 4.4.8, the boundary conditions are discussed from the viewpoint of the user interface. In the user interface, the user can specify the locations at which particular boundary
conditions are to be imposed. Using section 4.4.8 as a backdrop, the present section discusses the underlying files and fileformats and the way these are interpreted by the computational kernel. Three types of boundary conditions are discussed in this section, namely open
boundaries (in section 7.4.1), vertical boundaries (in section 7.4.2) and closed boundaries (in
section 7.4.3).

120 of 412

Deltares

T

Hydrodynamics

Figure 7.9: A shematic view of the linear variation over the width for calculating the flow
parameters.

Open boundary conditions

DR
AF

7.4.1

The proper prescription of an open boundary condition along a certain (part of the) rim of the
grid can be achieved by considering four elements of the model:
1 a polyline file (extension .pli), containing the locations at which the boundary conditions
should be imposed,
2 a boundary conditions file (extension .bc), containing the key physical information, such
the time dependent information of the quantity under consideration and the physical nature
of the quantity itself,
3 an external forcing file (extension .ext), in which the connection is laid between the
polyline file and the boundary conditons file,
4 the prescription of the single external forcing file, containing the connection between location and physical information, in the master definition file (extension .mdu).
These four elements are subsequently discussed in the following.
7.4.1.1

The location of support points

The flow engine needs the specification of support points for the boundary conditions (also
see section 4.4.8.1). By default, these support points are a means to construct a series of
virtual cell centers along the boundary rim of the grid. Figure 7.10 provides an image of this
concept.

Deltares

121 of 412

D-Flow Flexible Mesh, User Manual

xL(j)
bj

dj

DR
AF

T

xR(j)

Figure 7.10: Virtual boundary ’cells’ near the shaded boundary; xLj is the virtual ’cell’
center near boundary face j ; xR(j) is the inner-cell center; bj is the point on
face j that is nearest to the inner-cell center

The support points are stored as one single polyline per boundary condition, marking the rim
along which the boundary conditions should hold. The polyline should be drawn in the vicinity
of the rim. The user can specify the size of this ‘vinicity’ by means of the MDU-file keyword
OpenBoundaryTolerance. The keyword specifies the search tolerance factor between
the boundary polyline and the grid cells. The unit of this keyword is the cell size unit (i.e., not
metres). By default, this value is 3, which loosely means that in the vinicity of 3∆x of the grid
rim is searched of a boundary condition polyline.
The actual location of a specific boundary location point can be computed in three different
ways, dependent on the user’s choice for the keyword izbndpos in the MDU-file:
1 izbndpos = 0: construction of the boundary condition point by means of orthogonal
mirroring of the closest cell center,
2 izbndpos = 1: construction of the boundary condition point as the orthogonal projection of the closest cell center onto the grid rim,
3 izbndpos = 2: construction of the boundary condition point as the actual location of
the support points spanning the polyline.
Only the option izbndpos = 0 is discussed; the other two options are not yet fully operational. The mirroring of the closest cell center is conducted as follows. First, the orthogonal
distance from the boundary cell center to the actual rim of the grid is computed: dj in Figure 7.10. Second, the cell center of the outside virtual cell is defined at a distance dj outside
of the grid. However,√
the flat area of the cell, say A , at the rim can give rise to an adaptation
1
of this distance. If 2 A > dj , then the center of the virtual cell is located at the a distance
1
2

√
A away from the grid.

122 of 412

Deltares

Hydrodynamics

Physical information
In the bc-file, multiple types of boundary conditions can be prescribed. In this section, the
boundary conditions for the flow motion are briefly reflected on.
Water level
A water level signal is applied at the cell center of the virtual cell outside the grid (ghost cells
or mirror cells). Water levels can be imposed as a timeseries or as a harmonic signal. In
case of a harmonic signal, the period of the signal can be given as an astronomic component
acronym.

[forcing]
Name
Function
Time-interpolation
Quantity
Unit
Quantity
Unit
[two-column data]

=
=
=
=
=
=
=

T

If a timeseries is applied to a the first support point of a polyline named arbitraryname,
prescribed in some polyline file, then the header of the bc-file is:

arbitraryname_0001
timeseries
linear
time
minutes since YYYY-MM-DD
waterlevelbnd
m

DR
AF

7.4.1.2

The data is to be inserted as a two-column array containing the time (in minutes) and the
water level itself (in meters w.r.t. the reference level). In case of harmonic components, the
header of the bc-file is:

[forcing]
Name
Function
Quantity
Unit
Quantity
Unit
Quantity
Unit
[three-column data]

=
=
=
=
=
=
=
=

arbitraryname_0001
harmonic
harmonic component
minutes
waterlevelbnd amplitude
m
waterlevelbnd phase
degrees

The data is to be inserted as a three-column array containing the period (in minutes), the
amplitude (in meters) and the phase (in degrees). If the period is T minutes, the amplitude is
A meters and the phase is ϕ degrees, then the signal that is applied reads

h(t) = B + A cos(2πt/T − ϕ).

(7.7)

The parameter B can be prescribed by an additional signal with a period specified equal to
0 minutes. As an example, the data series:

0.0 0.5 0.0
745.0 2.0 0.0

Deltares

123 of 412

D-Flow Flexible Mesh, User Manual

represents the signal h(t) = 0.5 + 2.0 cos(2πt/745), with the time t in minutes.
Discharge
A discharge boundary condition is applied at the face-center of the virtual boundary cell. For
this, the face-normal velocity is used in combination with the face-center water depth. The
face-based water depth in the evaluation of the flow area can optionally be set to a downwind
approximation (for an inflowing discharge boundary) with the option jbasqbnddownwindhs
= 1 (default value).
Discharges can be imposed as a timeseries or as a harmonic signal. In case of a harmonic
signal, the period of the signal can be given as an astronomic component acronym.

=
=
=
=
=
=
=

arbitraryname_0001
timeseries
linear
time
minutes since YYYY-MM-DD
dischargebnd
m3/s

DR
AF

[forcing]
Name
Function
Time-interpolation
Quantity
Unit
Quantity
Unit
[two-column data]

T

If a timeseries is applied to a the first support point of a polyline named arbitraryname,
prescribed in some polyline file, then the header of the bc-file is:

The data is to be inserted as a two-column array containing the time (in minutes) and the
water level itself (in meters w.r.t. the reference level). In case of harmonic components, the
header of the bc-file is:

[forcing]
Name
Function
Quantity
Unit
Quantity
Unit
Quantity
Unit
[three-column data]

=
=
=
=
=
=
=
=

arbitraryname_0001
harmonic
harmonic component
minutes
dischargebnd amplitude
m3/s
dischargebnd phase
degrees

The data is to be inserted as a three-column array containing the period (in minutes), the
amplitude (in cubic meters per second) and the phase (in degrees).
Velocity
A velocity boundary condition is applied at the face-center of the virtual boundary cell. Values
provided are interpreted as face-normal velocities. Velocities can be imposed as a timeseries
or as a harmonic signal. In case of a harmonic signal, the period of the signal can be given
as an astronomic component acronym.

124 of 412

Deltares

Hydrodynamics

If a timeseries is applied to a the first support point of a polyline named arbitraryname,
prescribed in some polyline file, then the header of the bc-file is:

=
=
=
=
=
=
=

arbitraryname_0001
timeseries
linear
time
minutes since YYYY-MM-DD
velocitybnd
m/s

T

[forcing]
Name
Function
Time-interpolation
Quantity
Unit
Quantity
Unit
[two-column data]

DR
AF

The data is to be inserted as a two-column array containing the time (in minutes) and the
water level itself (in meters w.r.t. the reference level). In case of harmonic components, the
header of the bc-file is:

[forcing]
Name
Function
Quantity
Unit
Quantity
Unit
Quantity
Unit
[three-column data]

=
=
=
=
=
=
=
=

arbitraryname_0001
harmonic
harmonic component
minutes
velocitybnd amplitude
m/s
velocitybnd phase
degrees

The data is to be inserted as a three-column array containing the period (in minutes), the
amplitude (in meters per second) and the phase (in degrees).
Water level gradient

Besides the option to prescribe actual water levels as a boundary condition, D-Flow FM facilitates the prescription of water level gradients. Such a Neumann-type boundary condition for
the water level can be assigned through the keyword neumannbnd. The value of the water
level gradient is applied at the face-center.
Water level gradients can be imposed as a timeseries or as a harmonic signal. In case of a
harmonic signal, the period of the signal can be given as an astronomic component acronym.
If a timeseries is applied to a the first support point of a polyline named arbitraryname,
prescribed in some polyline file, then the header of the bc-file is:

[forcing]
Name
Function
Time-interpolation
Quantity
Unit
Quantity

Deltares

=
=
=
=
=
=

arbitraryname_0001
timeseries
linear
time
minutes since YYYY-MM-DD
neumannbnd

125 of 412

D-Flow Flexible Mesh , User Manual

Unit
[two-column data]

= -

The data is to be inserted as a two-column array containing the time (in minutes) and the
water level itself (in meters w.r.t. the reference level). In case of harmonic components, the
header of the bc-file is:

arbitraryname_0001
harmonic
harmonic component
minutes
neumannbnd amplitude
neumannbnd phase
degrees

T

=
=
=
=
=
=
=
=

DR
AF

[forcing]
Name
Function
Quantity
Unit
Quantity
Unit
Quantity
Unit
[three-column data]

The data is to be inserted as a three-column array containing the period (in minutes), the
amplitude (in meters per second) and the phase (in degrees). The water level gradient is
interpreted positive in the outward-normal direction.
Riemann invariant

At a Riemann boundary we do not allow any outgoing perturbation with respect to some
reference boundary state to reflect back from the boundary. This is achieved by prescribing
the incoming Riemann invariant. Using
√ the convention of a positive inward normal at the
boundary, this can be put as ub + 2 gHb , with ub the velocity at the boundary and Hb the
total water depth at the boundary. In this expression, we take the boundary values ub and Hb
as the reference boundary state. While applying Riemann boundaries, directional effects are
disregarded.
Using linearization and the assumption of a flow field that is initially at rest, the Riemann
boundary is rewritten such that is takes the form:

s

ζ = 2ζb −

H
u − ζ0
g

(7.8)

with ζ the surface level elevation, H the total water depth, g the gravitational acceleration, u
the velocity (positive inward) and ζ0 the initial surface level elevation. Instead of prescribing
a combination of the velocity and the water level, we prefer to prescribe only the water level
at the boundary, i.e. ζb . The value for ζb is supposed to be provided by the user (as well as,
obviously, the initial surface level elevation ζ0 ).
A water level for Riemann boundary can be imposed as a timeseries or as a harmonic signal. In case of a harmonic signal, the period of the signal can be given as an astronomic
component acronym. If a timeseries is applied to a the first support point of a polyline named
arbitraryname, prescribed in some polyline file, then the header of the bc-file is:

[forcing]
Name

126 of 412

= arbitraryname_0001

Deltares

Hydrodynamics

Function
Time-interpolation
Quantity
Unit
Quantity
Unit
[two-column data]

=
=
=
=
=
=

timeseries
linear
time
minutes since YYYY-MM-DD
riemannbnd
m

=
=
=
=
=
=
=
=

arbitraryname_0001
harmonic
harmonic component
minutes
riemannbnd amplitude
m
riemannbnd phase
degrees

DR
AF

[forcing]
Name
Function
Quantity
Unit
Quantity
Unit
Quantity
Unit
[three-column data]

T

The data is to be inserted as a two-column array containing the time (in minutes) and the
water level for Riemann boundary (in meters). In case of harmonic components, the header
of the bc-file is:

The data is to be inserted as a three-column array containing the period (in minutes), the
amplitude (in meters per second) and the phase (in degrees).
Suppose, as an example, that we have:






a flow domain with a bathymetry at a bed level equal to 0 m w.r.t. the reference level,
an initial water level equal to 10 m w.r.t. the reference level,
a local initial disturbance of the initial water level,
and an initial flow field at rest,

and that we aim to prevent reflections at the boundary. In that case, it follows from Equation (7.8) that ζb = 10 m w.r.t. the reference level is to be prescribed. Remark that this
application only holds for small disturbances of ζ from ζb .
Discharge-water level dependency

If a relation between the discharge and the local water level is known on beforehand, then
this relation can be provided to the flow model as a table by means of the keyword qhtable.
This table, provides the water level ζ as a function of the computed discharge Q.
If a Qh-table is applied to a the first support point of a polyline named arbitraryname,
prescribed in some polyline file, then the header of the bc-file is:

[forcing]
Name
Function
Quantity
Unit
Quantity

Deltares

=
=
=
=
=

arbitraryname_0001
qhtable
qhbnd discharge
m3/s
qhbnd waterlevel

127 of 412

D-Flow Flexible Mesh , User Manual

Unit
[two-column data]

= m

The data is to be inserted as a two-column array containing the discharge (in cubic meters
per second) and the water level (in meters w.r.t. the reference level).

Example

Recalling the four elementary actions from the beginning of section 7.4.1, the administration
in files can be illustrated by means of an example. Suppose, we have a channel that is
geometrically modelled by means of the grid shown in Figure 7.11. The domain is 10000 m
long and 500 m wide. The bottom left corner coincides with the origin of the geometrical frame
of reference.

DR
AF

7.4.1.3

T

The user is able to apply a weighting parameter to compromise between the water level computed by the Qh-relation and the water level computed at the previous time step level. This
parameter is accessible as the keyword Qhrelax in the MDU-file. By default, this parameter
is 0.01. As a consequence, the newly computed water level consists of the Qh-relation result
for 1 % and for 99 % of the previous time step water level.

Figure 7.11: Delta-Shell view of a simple channel covered by a straightforward Cartesian
grid. Boundary conditions are prescribed at the left hand side and the right
hand size of the domain.

The domain shown in Figure 7.11 contains two boundaries: on the left hand, a discharge
boundary condition is present to present flow entering the domain, on the right hand, a water
level boundary condition is set. Having two boundaries, we have two polyline files, in this
example: left.pli and right.pli.
The contents of left.pli are:

boundaryleft
2
2
-80
-50
-80
550

whereas the contents of right.pli are:

boundaryright
2
2

128 of 412

Deltares

Hydrodynamics

10250
10250

-50
550

Notice that both polyline files contain the name of the polyline, namely boundaryleft
and boundaryright, respectively. In this example, both the polylines contain two support
points. For each of these support points, timeseries can be prescribed. In this example,
we restrict ourselves to homogeneous boundary conditions. This means that we have to
prescribe physical information for the first support points, i.e. for boundaryleft_0001
and boundaryright_0001.

boundaryleft_0001
timeseries
linear
time
minutes since 2001-01-01
dischargebnd
m3/s

DR
AF

[forcing]
Name
=
Function
=
Time-interpolation =
Quantity
=
Unit
=
Quantity
=
Unit
=
0.000000
2500.0
120.000000
3000.0
240.000000
2500.0
360.000000
2000.0
480.000000
2500.0
600.000000
3000.0
720.000000
2500.0
840.000000
2000.0
960.000000
2500.0
1080.000000
3000.0
1200.000000
2500.0
1320.000000
2000.0
1440.000000
2500.0

T

The physical information should be provided in the bc-file. In this example, we use the following bc-file:

[forcing]
Name
Function
Time-interpolation
Quantity
Unit
Quantity
Unit
0.000000
2.50
1440.000000
2.50

=
=
=
=
=
=
=

boundaryright_0001
timeseries
linear
time
minutes since 2001-01-01
waterlevelbnd
m

This file couples the timeseries for the discharge to the support point named boundaryleft_0001.
Likewise, the water level boundary, being constant in time, is coupled to the support point
named boundaryright_0001.
The final specification of the boundary conditions is wrapped up in the external forcing file,
with extension .ext. In this file, the connection is laid between the quantity of the boundary condition, the name of the polyline file (in which the name of the polyline itself is given)
and the forcing file (in which the physical information is provided). In our example, the file
simplechannel.ext has the following contents:

Deltares

129 of 412

D-Flow Flexible Mesh, User Manual

[boundary]
quantity
= dischargebnd
locationfile = left.pli
forcingfile = simplechannel.bc
[boundary]
quantity
= waterlevelbnd
locationfile = right.pli
forcingfile = simplechannel.bc

=
= simplechannel.ext

DR
AF

[external forcing]
ExtForceFile
ExtForceFileNew

T

The final step is to let the model know that the external forcings file simplechannel.ext
is the one that should be used. This is to be achieved in the MDU-file:

Notice that the name is specified at the keyword ExtForceFileNew. The other keyword,
ExtForceFile, should be kept empty, unless deprecated .tim-files and/or .cmp-files are
used to prescribe the physical information for the boundaries.
7.4.1.4

Miscellaneous

In the previous sections, the most essential information on the application of boundary conditions is described. Some remaining aspects are discussed in this section.
Artificial boundary layers

Advection terms at the offshore boundary may generate an artificial boundary layer along the
boundary. The advection terms containing normal gradients have to be switched off. This is
done by utilizing the keyword jacstbnd in the MDU-file. By default this keyword jacstbnd
= 0, keeping the functionality inactive. The keyword can be set to jacstbnd = 1 to do
otherwise.
Smoothing parameter boundary conditions

The solution of the shallow water equations is uniquely determined by a set of initial and
boundary conditions. The boundary conditions represent the external forcing and determine
the steady state solution. The deviation between the initial condition and the steady state
solution generates a transient (mass spring system analogy).
In D-Flow FM, the initial conditions for the water level and velocities are obtained from:

 The results of a previous run (warm start).
 User-prescribed (space varying or uniform) input fields (cold start).
The initial values are usually inconsistent with the boundary conditions at the start time of the
simulation. This will generate a transient solution consisting of waves with eigen frequencies
of the model domain. These waves may be reflected at the boundaries and generate a standing wave system. The waves should be dissipated completely by bottom friction and viscosity

130 of 412

Deltares

Hydrodynamics

terms or leave the domain through the open boundaries. The damping of the transient solution
determines the spin-up time of the numerical model.
To reduce the amplitude of the transient wave and the spin-up time of a model, D-Flow FM has
an option to switch on the boundary forcing gradually by use of a smoothing period (parameter
Tsmo ). With Fi (t) the initial value at the boundary, Fb (t) the boundary condition signal and
Fbsmo (t) the boundary conditiona fter smoothing, the boundary forcing is given by:

Fbsmo (t) = αFi (t) + (1 − α)Fb (t),

(7.9)

with:

α=

Tsmo − t
Tsmo

(7.10)

T

if t < Tsmo . In case t ≥ Tsmo , then the smoothing parameter is set to zero: α = 0.

DR
AF

Smoothing is possible both for a warm and a cold start. If the initial conditions are consistent
with the boundary conditions at the start time of the simulation then the smoothing time should
be set to zero.
Secondary boundary conditions

In section 7.4.1.2, several types of boundary conditions are discussed. In addition, two
types of boundary conditions can be applied on top of the canonical types: normal velocities and tangential velocities. The associated keyword are normalvelocitybnd and
tangentialvelocitybnd, respectively.
7.4.2

Vertical boundary conditions

Vertical boundary conditions close the system of shallow water equations at the bed level and
the free surface level. Please refer to the Delft3D-FLOW User Manual, Section 9.4.1.1.
7.4.3

Shear-stresses at closed boundaries

A closed boundary is situated at the transition between land and water. At a closed boundary,
two boundary conditions have to be prescribed. One boundary condition has to do with the
flow normal to the boundary and the other one with the shear-stress along the boundary.
A closed sidewalls is always considered as impermeable. For the shear stress along the
boundary, the possible conditions to be prescribed are free-slip (zero tangential shear-stress),
partial-slip and full-slip.
For large-scale simulations, the influence of the shear-stresses along closed boundaries can
be neglected. Free slip is then applied for all closed boundaries. For simulations of smallscale
flow (e.g. laboratory scale), the influence of the side walls on the flow may no longer be
neglected. This option has been implemented for closed boundaries and dry points but not for
thin dams. The reason is that the shear stress at a thin dam is dependent on the side (double
valued).
Along the side walls, the tangential shear stress is calculated based on a logarithmic law of
the wal. The friction velocity u∗ is determined by the logarithmic law for a rough wall, with side
wall roughness y0 and the velocity in the first grid point near the side wall. Let ∆ys be the
grid size normal to the sidwall, then:



u∗
∆ys
| u sidewall | =
ln 1 +
κ
2y0
→

Deltares

(7.11)

131 of 412

D-Flow Flexible Mesh, User Manual

The choice for the way tangial shear stress are computed can be inserted through the key
irov in the MDU-file (under [physics]):

 the case irov = 0 treats the side walls as free-slip walls (default),
 the case irov = 1 treats the side walls as partial-slip walls,
 the case irov = 2 treats the side walls as no-slip walls.
If the choice for partial-slip walls is made, then a specific wall roughness value should be prescribed in the MDU-file. For this, the keyword wall_ks should be used (under [physics]
in the MDU-file). The computational engine interpretes this value as Nikuradse roughness ks .
The value for y0 is computed as y0 = ks /30.
Artificial mixing due to sigma-coordinates

T

The σ -transformation is boundary-fitted in the vertical. The bottom boundary and free surface
are represented smoothly. The water column is divided into the same number of layers independent of the water depth. In a σ -model, the vertical resolution increases automatically in
shallow areas.
For steep bottom slopes combined with vertical stratification, σ -transformed grids introduce
numerical problems for the accurate approximation of horizontal gradients both in the baroclinic pressure term and in the horizontal diffusion term. Due to truncation errors artificial
vertical mixing and artificial flow may occur, Leendertse (1990) and Stelling and Van Kester
(1994). This artificial vertical transport is sometimes called "creep".

DR
AF

7.5

Let zb be the position of the bed and H the total water depth. If we consider the transformation
from Cartesian co-ordinates to σ co-ordinates, defined by:

x = x∗ , y = y ∗ , σ =

z − zb
(H = ζ − zb )
H

(7.12)

as result σ = 0 at the bed level and σ = 1 at the free surface. The horizontal pressure
gradient reads:

∂p
∂p∗ ∂x∗ ∂p∗ ∂σ
∂p∗
1
=
+
=
−
∗
∗
∂x
∂x ∂x
∂σ ∂x
∂x
H



∂zb
∂H
+σ
∂x
∂x



∂p∗
.
∂σ

(7.13)

In case of vertical stratification near steep bottom slopes, small pressure gradients at the
left-hand side may be the sum of relatively large terms with opposite sign at the right-hand
side.
Small truncation errors in the approximation of both terms result in a relatively large error in
the pressure gradient.
This artificial forcing produces artificial flow.
The truncation errors depend on the grid sizes ∆x and ∆z .
Observations of this kind has led to the notion of "hydrostatic consistency", see also Figure 7.12. In the notation used by Haney (1991) this consistency relation is given by:

∂σ
σ ∂H
<
H ∂x
∂x

132 of 412

(7.14)

Deltares

Hydrodynamics

T

Figure 7.12: Example of a hydrostatic consistent and inconsistent grid; (a) Hδσ >
∂H
σ ∂H
∂x δx, (b) Hδσ < σ ∂x δx

From this equation, it can be seen that by increasing the number of σ -levels the consistency
condition will eventually be violated.

DR
AF

Similarly, for the horizontal diffusion term, the transformation from Cartesian co-ordinates to
σ co-ordinates leads to various cross derivatives. For example, the transformation of a simple
second order derivative leads to:

∂ 2 c∗
∂ 2c
=
+
∂x2
∂x∗2



∂σ
∂x

2

∂σ
∂ 2 c∗
∂ 2 σ ∂c∗
∂ 2 c∗
+2
−
+
−
−
∂σ 2
∂x ∂x∗ ∂σ ∂x2
∂σ

(7.15)

For such a combination of terms it is difficult to find a numerical approximation that is stable
and positive, see Huang and Spaulding (1996). Near steep bottom slopes or near tidal flats
where the total depth becomes very small, truncations errors in the approximation of the
horizontal diffusive fluxes in σ -co-ordinates are likely to become very large, similar to the
horizontal pressure gradient.

Figure 7.13: Finite Volume for diffusive fluxes and pressure gradients

Deltares

133 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

Figure 7.14: Left and right approximation of a strict horizontal gradient

In D-Flow FM the stress tensor is redefined in the σ co-ordinate system assuming that the
horizontal length scale is much larger than the water depth (Blumberg and Mellor, 1985) and
that the flow is of boundary-layer type. The horizontal gradients are taken along σ -planes.
This approach guarantees a positive definite operator, also on the numerical grid (Beckers
et al., 1998).
If the same approach is used for the horizontal diffusion operator in the transport equation:

∂ 2 c∗
∂ 2c
≈
∂x2
∂x∗ 2

(7.16)

Horizontal diffusion will lead to vertical transport of matter through vertical stratification interfaces (pycnocline) which is nonphysical. A more accurate, strict horizontal discretization is
needed.
In D-Flow FM an option is available that minimises artificial vertical diffusion and artificial flow
due to truncation errors. A method has been implemented which gives a consistent, stable and
monotonic approximation of both the horizontal pressure gradient and the horizontal diffusion
term, even when the hydrostatic consistency condition equation is not fulfilled. This "anticreep" option is based upon a Finite Volume approach; see Figure 7.13. The horizontal
diffusive fluxes and baroclinic pressure gradients are approximated in Cartesian co-ordinates
by defining rectangular finite volumes around the σ -co-ordinate grid points. Since these boxes
are not nicely connected to each other, see Figure 7.14, an interpolation in z co-ordinates is
required to compute the fluxes at the interfaces.
Since the centres of the finite volumes on the left-hand side and right-hand side of a vertical
interval are not at the same vertical level, a z -interpolation of the scalar concentration c is
needed to compute strictly horizontal derivatives. The values obtained from this interpolation
are indicated by c∗1 and c∗2 respectively in Figure 7.14. (Stelling and Van Kester, 1994) apply

134 of 412

Deltares

Hydrodynamics

a non-linear filter to combine the two consistent approximations of the horizontal gradient,

s1 = (c∗2 − c1 ) /∆x and s2 = (c2 − c∗1 ) /∆x
If s1 × s2 < 0 Then
∆c
=0
∆x
Else
∆c
∆x

(7.17)

= sign (s1 ) × min (|s1 | , |s2 |)

Endif
If an interval has only grid boxes at one side, the derivative is directly set to zero. The horizontal fluxes are summed for each control volume to compute the diffusive transport. The
integration of the horizontal diffusion term is explicit with time step limitation:



1
1
+
2
∆x
∆y 2


(7.18)

T

1
∆t ≤
DH

The derivatives are used in the integral for the baroclinic pressure force in the momentum
equation:

Z

ζ

g

∂ρ (x, s)
ds
∂x

DR
AF

1
Px (x, z) =
ρ0

z

(7.19)

Originally, this approach was implemented in Delft3D-FLOW. Slørdal (1997) stated that the
above approximation may sometimes produce errors of the same sign which leads to a systematic underestimation of the baroclinic pressure term. This underestimation can be ascribed
to the non-linear filter, which selects the minimum of the two gradients under consideration.
This limiter is fully analogous to the min-mod limiter used for the construction of monotone
advection schemes (Hirsch, 1990). Since the same approximation of the horizontal gradient
is used for the horizontal diffusion flux, it is important to ensure that the difference operator
is positive definite in order to get physically realistic solutions. The maximum and minimum
of a variable being transported by diffusion do not increase or decrease (min-max principle).
By taking the minimum of the gradients, Stelling and Van Kester (1994) show that, the minmax principle is fulfilled. Beckers et al. (1998) show that any nine-point consistent linear discretization of the horizontal diffusion on the σ -grid does not fulfil the min-max principle. From
numerical tests Slørdal (1997) concluded that the underestimation is reduced by increasing
the vertical resolution, but is sometimes enhanced by increasing the horizontal resolution.
Let s4 be a consistent approximation of the horizontal gradient s4 = (s1 + s2 )/2. Slørdal
(1997) suggested to take s4 as approximation of the horizontal gradient. He calls his approach
the "modified Stelling and Van Kester scheme". It is equivalent to linear interpolation at a
certain z -level before taking the gradient. It is more accurate than taking the minimum of
the absolute value of the two slopes s1 and s2 but it does not fulfil the min-max principle
for the diffusion operator. It may introduce wiggles and a small persistent artificial vertical
diffusion (except for linear vertical density distributions). Due to the related artificial mixing,
stratification may disappear entirely for long term simulations, unless the flow is dominated by
the open boundary conditions.
By introducing an additional approximation of the horizontal gradient in the filter algorithm
defined by s3 = (c2 − c1 )/∆x, the stringent conditions of the minimum operator can be relaxed somewhat. The drawback of underestimation of the baroclinic pressure force reported
by Slørdal (1997) can be minimised without loosing that the method fulfils the min-max principle. This third gradient s3 , which is consistent for min(|s1 | , |s2 |) < s3 < max(|s1 | , |s2 |),
has point-to-point transfer properties and therefore leads to a positive scheme for sufficiently
small time steps. The following non-linear approach presently available in D-Flow FM is both

Deltares

135 of 412

D-Flow Flexible Mesh, User Manual

consistent and assures the min-max principle:

If s1 × s2 < 0 Then
∆c
∆x

=0

Elseif |s4 | < |s3 | Then
∆c
∆x

= s4
Elseif min (|s1 | , |s2 |) < |s3 | < max (|s1 | , |s2 |) Then
∆c
= s3
∆x

(7.20)

Else
∆c
∆x

= sign (s1 ) min (|s1 | , |s2 |)

Endif

T

The method requires a binary search to find the indices of neighbouring grid boxes, which is
time consuming. The increase in computation time is about 30 %.

7.6

DR
AF

If the streamlines are strictly horizontal, transport of matter discretised on a σ co-ordinate
grid may still generate some numerical vertical diffusion by the discretisation of the advection
terms.
Secondary flow

The flow in a river bend is basically three-dimensional. The velocity has a component in the
plane perpendicular to the river axis. This component is directed to the inner bend near the
riverbed and directed to the outer bend near the water surface, see Figure 7.15.

u

v

τbs

+s

δ

τb

τbn

+r

M

Figure 7.15: Vertical profile secondary flow (v ) in river bend and direction bed stress

This so-called "secondary flow" (spiral motion) is of importance for the calculation of changes
of the riverbed in morphological models and the dispersion of matter. In a 3D model the
secondary flow is resolved on the vertical grid, but in 2D depth-averaged simulations the
secondary flow has to be determined indirectly using a secondary flow model. It strongly
varies over the vertical but its magnitude is small compared to the characteristic horizontal
flow velocity.

136 of 412

Deltares

Hydrodynamics

7.6.1

Definition
The secondary flow will be defined here as the velocity component v (σ) normal to the depthaveraged main flow. The spiral motion intensity of the secondary flow I is a measure for the
magnitude of this velocity component along the vertical:

Z

1

|v (σ)| dσ

I=

(7.21)

0

A vertical distribution for a river bend is given in Figure 7.15. The spiral motion intensity I
leads to a deviation of the direction of the bed shear stress from the direction of the depthaveraged flow and thus affects the bedload transport direction. This effect can be taken into
account in morphological simulations.


α
|u| I
τbr = −2ρα2 1 −
2

T

The component of the bed shear stress normal to the depth-averaged flow direction τbr reads:

(7.22)

DR
AF

where α is defined in Equation (7.33) and |u| is the magnitude of the depth-averaged velocity.
To take into account the effect of the secondary flow on the depth-averaged flow, the depthaveraged shallow water equations have to be extended with:

 An additional advection-diffusion equation to account for the generation and adaptation of
the spiral motion intensity.

 Additional terms in the momentum equations to account for the horizontal effective shear
stresses originating from the secondary flow.
7.6.2

Depth-averaged continuity equation

The depth-averaged continuity equation is given by:

∂h ∂hu ∂hv
+
+
=Q
∂t
∂x
∂y

(7.23)

where u and v indicate the depth-averaged velocities along Cartesian axis.
7.6.3

Momentum equations in horizontal direction

The momentum equations in x- and y -direction are given by:

√
∂u
∂u
∂u
1
gu u2 + v 2
+u
+v
− f u = − Px −
+ Fx + Fsx + Mx
2
∂t
∂x
∂y
ρ0
C2D
h

(7.24)

√
∂v
∂v
∂v
1
gv u2 + v 2
+u
+v
+ f v = − Pv −
+ Fy + Fsy + My
2
∂t
∂x
∂y
ρ0
C2D
h

(7.25)

The fourth term in the right-hand side represents the effect of the secondary flow on the depthaveraged velocities (shear stresses by depth-averaging the non-linear acceleration terms).

Deltares

137 of 412

D-Flow Flexible Mesh, User Manual

Effect of secondary flow on depth-averaged momentum equations
To account for the effect of the secondary flow on the depth-averaged flow, the momentum
equations have to be extended with additional shear stresses. To close the equations these
stresses are coupled to parameters of the depth-averaged flow field. The main flow is assumed to have a logarithmic velocity profile and the secondary flow originates from a multiplication of a universal function with the spiral motion intensity, see Kalkwijk and Booij (1986).
Depth averaging of the 3D equations leads to correction terms in the depth-averaged momentum equations for the effect of spiral motion:

Fsy

(7.26)
(7.27)

T

Fsx



1 ∂hTxx ∂hTxy
+
=
h
∂x
∂y


1 ∂hTxy ∂hTyy
+
=
h
∂x
∂y

with the shear-stresses, resulting from the secondary flow, modelled as:

Txy
and:

Txx = −2βuv
= Tyx = β(u2 − v 2 )
Tyy = 2βuv

DR
AF

7.6.4

h
Rs∗

∗
β = βc 5α − 15.6α2 + 37.5α3
β = β∗

βc ∈ [0, 1], correction coefficient specified by you,
√
g
1
<
α=
κC2D
2

(7.28)
(7.29)
(7.30)

(7.31)
(7.32)

(7.33)

with Rs∗ the effective radius of curvature of a 2D streamline to be derived from the intensity of
the spiral motion and κ the Von Kármán constant. The spiral motion intensity is computed by
Equation (7.34). The limitation on α, Equation (7.33), is set to ensure that the length scale La
in Equation (7.41) is always positive. For βc = 0, the depth-averaged flow is not influenced
by the secondary flow.
Remark:

 Equation (7.33) effectively means a lower limit on C2D .

138 of 412

Deltares

Hydrodynamics

7.6.5

The depth averaged transport equation for the spiral motion intensity
The variation of the spiral motion intensity I in space and time, is described by a depthaveraged advection-diffusion equation:

∂hI ∂uhI ∂vhI
∂
+
+
=h
∂t
∂x
∂y
∂x





∂I
∂
∂I
DH
+h
DH
+ hS
∂x
∂x
∂y

(7.34)

with:

I − Ie
Ta
Ie = Ibe − Ice
h
|u|
Ibe =
Rs
h
Ice = f
√2
|u| = u2 + v 2
La
Ta =
|u|
(1 − 2α) h
La =
2κ2 α
S=−

(7.35)
(7.36)

DR
AF

T

(7.37)
(7.38)
(7.39)
(7.40)
(7.41)

and Rs the radius of curvature of the stream-line defined by:

us
∂ur
=−
Rs
∂s

(7.42)

with us and ur the components along and perpendicular to the streamline. The effective
radius of curvature to be used for the evaluation of the coefficient β , Equation (7.32), reads:

Rs∗ =

h |u|
I

(7.43)

To guarantee stability the effective radius of curvature is bounded by the following empirical
relation:

Rs∗ ≥ 10h

(7.44)

The above formulas account for two sources of secondary flow:

 The centrifugal force in case of curved streamlines, Ibe .
 The effect of the Coriolis force, Ice .
7.7

Drying and flooding
Estuaries and coastal embayments contain large, shallow, and relatively flat areas separated
and interleaved by deeper channels and creeks. When water levels are high, the entire area
is covered by water. But as tide falls, the shallow areas are exposed, and ultimately the flow
is confined only to the deeper channels. The dry tidal flats may occupy a substantial fraction
of the total surface area. The accurate reproduction of covering or uncovering of the tidal flats
is an important feature of numerical flow models based on the shallow water equations.
Many rivers have compound channels, consisting of a main channel that always carries flow
(the summer bed) and one or two flood plains which only convey flow during extreme river

Deltares

139 of 412

D-Flow Flexible Mesh, User Manual

discharges (the winter bed). The summer bed is surrounded by low dykes, which could be
overtopped if the river discharge increases. The winter-bed is surrounded by much higher
dykes, which are designed to protect the polders against water levels due extreme river discharges. The flooding of the flood plains increases the drainage capacity of the river and
reduces the local water level gradients.

T

In a numerical model, the process of drying and flooding is represented by removing grid
points from the flow domain that become dry when the tide falls and by adding grid points
that become wet when the tide rises. Drying and flooding is constrained to follow the sides of
grid cells. In this section, we specify the algorithms which have been used to determine the
moment when a grid cell (water level point) or cell boundary (velocity point) becomes dry or
wet. Drying and flooding gives a discontinuous movement of the closed boundaries and may
generate small oscillations in water levels and velocities. The oscillations introduced by the
drying and flooding algorithm are small if the grid sizes are small and the bottom has smooth
gradients.

7.7.1

DR
AF

Essential elements of the wetting and drying algorithm are the definition of the water level, the
definition of the bed level and the criteria for setting a velocity and/or water level point wet or
dry. In the following subsections, these three items will be discussed.
Definitions

In section 7.3.1, the locations of the primary flow variables (water level and flow velocity) have
been described. Through Figure 7.3 it has been clarified that the water level is computed at the
location of the circumcenter (cell center), whereas the face normal flow velocity is computed
at the midpoint of each cell face (face center).
For the computation of these two primary variables, the level of the bed must be known both
at the cell center and at the face center. The user can specify the way these values are interpreted from the available bathymetry by means of the MDU-file keywords bedlevtyp and
conveyance2D. For a proper understanding of the possibilities of D-Flow FM, Figure 7.16
is provided with a three-dimensional representation of two adjacent triangular cells.

140 of 412

Deltares

DR
AF

T

Hydrodynamics

Figure 7.16: Definition of the water levels, the bed levels and the velocities in case of two
adjacent triangular cells.

To the keyword bedlevtyp, the values 1, 2, 3, 4, 5 and 6 can be assigned. For the keyword
conveyance2D, the values -1, 0, 1, 2 and 3 are available.
The most common case is the definition of the bed levels at the corner nodes of the cell and
a choice for the keyword bedlevtyp = 3. Depending on the choice for conveyance2D,
the face center bed levels and cell center bed levels are computed.
7.7.1.1

Piecewise constant approach for the bed level

In principle, the bed levels are considered as piecewise constant in space. This approach
is followed if conveyance2D < 1. The keyword bedlevtyp can be used in combination
with the piecewise constant approach as highlighted in the table below. Note that the bed level
is defined with respect to the reference level (not to be confused with a water depth given as
a positive value downwards). With conveyance2D < 1, we have:

Deltares

141 of 412

D-Flow Flexible Mesh, User Manual

Cell center bed level

Face center bed level

bedlevtyp 1

user specified

the highest cell center bed
level considering the two
cells next to the face

bedlevtyp 2

the lowest face center bed
level considering all the
faces of the cell

user specified

bedlevtyp 3

the lowest face center bed
level considering all the
faces of the cell

the mean corner bed level
considering the two corner
nodes the face is connecting

bedlevtyp 4

the lowest face center bed
level considering all the
faces of the cell

the minimum corner bed
level considering the two
corner nodes the face is
connecting

bedlevtyp 5

the lowest face center bed
level considering all the
faces of the cell

the maximum corner bed
level considering the two
corner nodes the face is
connecting

bedlevtyp 6

the mean corner bed level
considering all the corners of
the cell

the highest cell center bed
level considering the two
cells next to the face

T

Value

DR
AF

Keyword

The former Delft3D-FLOW version, running on curvilinear meshes, has utilized the piecewise
constant approach for bed levels as well. The treatment of the bed level itself is, however,
different from D-Flow FM. In Delft3D, the user can distinctly specify the treatment type for
the cell center bed level and the face center bed level. In D-Flow FM, the choice for the one
implies the choice for the other. A strict, exact match of settings for which Delft3D-FLOW and
D-Flow FM treat the bed similarly, is not facilitated. Hence, the user himself should take care
in comparing the Delft3D-FLOW results and D-Flow FM results when it comes to the bed level
treatment settings.
7.7.1.2

Piecewise linear approach for the bed levels

A piecewise linear bed level approach can be chosen for through setting conveyance2D
≥ 1. In this case, only the approach for bedlevtyp equal to 3, 4 and 5 is affected. With
conveyance2D ≥ 1, we have:
Keyword

Value

bedlevtyp 3, 4, 5

Cell center bed level

Face center bed level

the lowest corner node bed
level considering all the
nodes of the cell

linearly varying from the bed
level at the one corner node
to the bed level at the other
corner node

Notice that the choice for either bedlevtyp equal to 3, 4 or 5 does not imply different
bed level treatment approaches. For the case conveyance2D ≥ 1, the bed is assumed
linearly varying within a face only to compute the wet cross-sectional area of the vertical fase;

142 of 412

Deltares

Hydrodynamics

it should, however, be remarked that for the computation of the water column volume in a cell,
this linear variation of the bed is not taken into account.
7.7.1.3

Hybrid bed level approach

Specification in Delta Shell

The specification of the treatment of the bed level locations can be achieved through the tab
fields ‘Numerical Parameters’ and ‘Physical Parameters’.

DR
AF

7.7.2

T

In addition to the previously described bed level treatment approaches, D-Flow FM facilitates
a hybrid approach for the computation of the cell center bed level by means of the keywords
blminabove and blmeanbelow. In this approach, the cell center bed level is computed
as the mean of the associated face center bed levels, be it only below the user specified level
blmeanbelow. For levels above the user specified level blminabove, the minimum value
of the associated face center bed levels is used. In between these two user specified levels,
the bed levels are constructed by means of a linear interpolation between the two approaches’
results.

Figure 7.17: Specification of the conveyance option in Delta Shell.

The tab field ‘Numerical Parameters’ contains the choice for the conveyance options: see
Figure 7.17).

Figure 7.18: Specification of the bed level treatment type in Delta Shell.

The tab field ‘Physical Parameters’ contains the choice for the Bed level locations. Five options
are facilitated: bedlevtyp numbers 1 up to 5; the option 6 is not facilitated in the user
interface.

Deltares

143 of 412

D-Flow Flexible Mesh, User Manual

T

Figure 7.19: Specification of the hybrid bed options (with keywords blminabove and
blmeanbelow).

By means of the tab field ‘Miscellaneous’, the hybrid options with the keywords blminabove
and blmeanbelow can be enabled.
Intakes, outfalls and coupled intake-outfalls

DR
AF

7.8

Many engineering studies concern the design of intakes and outfalls. For instance, studies
about positioning of waste water diffusers or coupled intake-outfall design for cooling water
at power plants. Intakes and outfalls can be modeled using sinks and sources. A source is
a point in the model where a discharge Q in [m3 /s] is prescribed by a time series ASCII file
(section D.2.1) with at least two and maximum four columns.
1 When salinity and temperature are not used in the computation:
Model expects two columns, where the first column is the time in minutes, the second is
the discharge in [m3 /s].
2 When either salinity or temperature is used in the computation:
Model expects three columns, where the first column is the time in minutes, the second is
the discharge in [m3 /s], the third column contains either the salinity in [ppt] or the temperature in [◦ C]. Note that third column can be either salinity or temperature depending which
constituent is used in the model and which is not.
3 When salinity and temperature are present in the model:
Model expects four columns, where the first column is the time in minutes, the second
is the discharge in [m3 /s], the third column contains the salinity in [ppt] and the fourth
contains the temperature in [◦ C].
The location of the source or sink is specified in a polyline file (section B.2), containing a
polyline with either multiple points or just one point. If two or more points are specified, a
coupled source sink pair is made, the first point is the FROM (or sink) point, the last point is
the TO (or source) point. Three variants may occur:
1 Sink point side lies inside a grid cell A, source point also lies inside a grid cell B (A may
equal B, but that is rarely useful): water is extracted from cell A and transported to B.
2 Sink point lies outside of the grid, source point lies in a grid cell B: water is discharged into
B, a bit like an inflow discharge boundary condition.
3 Sink side lies inside a grid cell A, source side lies outside of the grid: water is extracted
from A, a bit like an outflow discharge boundary condition.
Specifying a negative discharge value effectively interchanges the role of the source and sink
points. If only one point is in the <∗.pli> file, it is assumed to be a source point. Specifying a
negative discharge turns the source into a sink.

144 of 412

Deltares

Hydrodynamics

For 3D computations, the polyline file should have a third column with z -values. It is good
practice to change the <∗.pli> file into a <∗.pliz> file. The z -values are used to determine
in which vertical grid cell the source and/or sink lie. The layer number can vary in time in
sigma models.
In the case of a coupled pair of sink source points (variant 1), the third and fourth column with
the salinity and temperature specification are interpreted as delta salinity and delta temperature. So the values at the source point become the values at the sink point plus the specified
delta values.

T

The sources and sinks are specified in the <∗.ext> file in a way similar to the boundary
conditions:

DR
AF

QUANTITY=discharge_salinity_temperature_sorsin
FILENAME=chan1_westeast.pli # A file ’chan1_westeast.tim’, with same basename
# as the polyline should be present
FILETYPE=9
METHOD =1
OPERAND =O
AREA
=1.5

The specified area in the last line of this file determines (together with the specified discharge)
the amount of momentum uQ that is released at the source point. This is currently only
implemented in advection scheme 33 (cf. D-Flow FM TRM (2015) on Momentum advection).
Omitting this line or specifying a zero area switches off the release of momentum at the source
point. The direction of the discharged momentum is in direction of the last two points of the
polyline. So a one point polyline is momentumless. Both in 2D and 3D, the momentum can
only be directed in horizontal direction.
Sources and sinks are treated explicity in the numerical scheme. This implies that the actual discharged or extracted amounts of water are limited by the velocity Courant condition
Q∆t/V < 1. Not doing so could lead to severe timestep restrictions. Consider for instance
a specified extraction in case the extraction point has fallen dry. In that case, a real pump
would not be able to extract water and the specified extraction is more likely an input error
than an actual description of a physically feasible situation. So, we limit the specified discharges to the local velocity Courant restriction. By specifying observation cross-sections
(section 4.4.2.3), one can compare prescribed discharges to the discharges that were actually realised in the model. In case of large differences, the discharge should probably be
distributed over a larger number of gridcells, or the extraction channel that feeds the extraction
point should be dredged.
When outfalls are adjacent to a closed model boundary, one might consider specifying a discharge boundary instead of a point source. These are treated more implicitly in the numerical
scheme and are preferable for that reason.
When modelling freshwater inflow from a river into a sea, the vertical distribution of the discharge that one should specify depends on the amount of detail available for modelling the
saline water - fresh water interface. If the river is modeled with sufficient detail, and the river
is well mixed at the upstream model boundary, the mixing process can be part of the modelling and the river can be discharged over the whole vertical. If the mixing process cannot be
resolved in the model, for instance if the river is modeled as a point discharge adjacent to a
closed boundary, make sure that the whole river is discharged into the top layer or in the top

Deltares

145 of 412

D-Flow Flexible Mesh, User Manual

layers, depending on the estimated thickness of the fresh water plume at the discharge cell.
If one would have distributed the river discharge over the whole vertical, the size of the fresh
water plume would be underestimated because of too much mixing at the river discharge cell.
For example input files see example directories:

f17_sources_sinks/c010_sourcesink_2D/
f17_sources_sinks/c020_sourcesink_3D/
Equations of state for the density
The density of water ρ is a function of salinity (s) and temperature (t).

Eckart formulation

T

In D-Flow FM we copied the implementation from Delft3D of the formulation derived by Eckart
(1958) that is based on a limited number of measurements dating from 1910 (only two salinities at 5 temperatures). In the original equation the pressure is present, but at low pressures
the effect on density can be neglected.

DR
AF

7.9

The Eckart formulation is given by (Eckart, 1958):
Range: 0 < T < 40 ◦ C, 0 < s < 40 ppt

ρ=
where:

1 000P0
,
λ + α 0 P0

λ = 1 779.5 + 11.25T − 0.074 5T 2 − (3.80 + 0.01T ) s,
α0 = 0.698 0,
P0 = 5 890 + 38T − 0.375T 2 + 3s.

(7.45)

(7.46)
(7.47)
(7.48)

with the salinity s in [ppt] and the water temperature T in [◦ C].

The keyword that selects the equation of state in the mdu file is called Idensform. The influence of salinity and or temperature on water motion through the baroclinic pressure can be
switched off by setting Idensform=0

146 of 412

Deltares

Hydrodynamics

UNESCO formulation
The UNESCO formulation is given by (UNESCO, 1981a):
Range: 0 < T < 40 ◦ C, 0.5 < s < 43 ppt

ρ = ρ0 + As + Bs3/2 + Cs2

(7.49)

where

ρ0 = 999.842 594 + 6.793 952 × 10−2 T − 9.095 290 × 10−3 T 2 +
+ 1.001 685 × 10−4 T 3 − 1.120 083 × 10−6 T 4 + 6.536 332 × 10−9 T 5
(7.50)

T

A = 8.244 93 × 10−1 − 4.089 9 × 10−3 T + 7.643 8 × 10−5 T 2 +
− 8.246 7 × 10−7 T 3 + 5.387 5 × 10−9 T 4
B = −5.724 66 × 10−3 + 1.022 7 × 10−4 T − 1.654 6 × 10−6 T 2
C = 4.831 4 × 10−4

(7.51)
(7.52)
(7.53)

DR
AF

with the salinity s in [ppt] and the water temperature T in [◦ C].
Note: The UNESCO formulation is set as default.

Remarks:
 Equation (7.51) is known as the International Equation of State for Seawater (EOS80)
and is based on 467 data points. The standard error of the equation is 3.6 × 10−3
kg/m3 (Millero and Poisson, 1981).
 The Practical Salinity Scale (UNESCO, 1981b, Par. 3.2) and the International Equation
of State are meant for use in all oceanic waters. However, these equations should be
used with caution in waters that have a chemical composition different from standard
seawater. In such waters, densities derived with the methods based on practical salinity
measurements and the International Equation of State may deviate measurably from
the true densities. However, in water masses different in composition from standard
seawater the differences in densities derived by the new equations involve only very
small errors.
Recommendation

The UNESCO formulae serve as an international standard. Further, the UNESCO formulae
show the correct temperature of 4 degrees Celsius where fresh water has its maximum density. The latter is of importance for thermal stratification in deep lakes in moderate climate
zones. Therefore we recommend the application of the UNESCO formulae and to select the
Eckart formulation only for consistence with previous projects in which it has been used. At
this moment the default is UNESCO.
Nevertheless, the UNESCO formulae have their limitations as they are based on the general
properties of seawater mixed with fresh water. Particularly in cases where marginal density
differences play a role, typically lakes, a variable mineral content of the water may create density differences not detected by just temperature and salinity. For such dedicated cases, you
are warranted to check the accuracy of the UNESCO formulae against experimental densityrelations derived from the (lake) water. In case of deviations or other constituents determining
the water density, we then recommend to contact the Helpdesk for further assistance such as
the implementation of a more dedicated density formulation.

Deltares

147 of 412

D-Flow Flexible Mesh, User Manual

Tide generating forces
Numerical models of tidal motion in coastal seas generally do not account for the direct local
influence of the tide generating forces. The amount of water mass in these models is relatively
small and the effect of these forces on the flow can be neglected. In that case, tidal motion
can often be reproduced with sufficient accuracy just by prescribing the tidal forcing along
open model boundaries.

T

In models covering larger seas or oceans, the contribution of the gravitational forces on the
water motion increases considerably and can no longer be neglected. In a global model, open
boundaries are absent and the tidal motion can only be induced by including tide generating
forces. Because tidal forces only play a significant role in the larger models, and because the
exact position of each computational point on earth must be known, we have implemented
these forces only in combination with spherical coordinates. By default, tide generating forces
is switched on in spherical models. You can switch it off by setting in the mdu file: Tidalforcing=0
The tide generating forces originate from the Newtonian gravitational forces of the terrestrial
system (Sun, Moon and Earth) on the water mass. The equilibrium tide is the tide that would
result from the gravitational forces if a solid earth would be completely covered by an ocean
of about 21.5 km deep, such that the wave propagation speed would match the speed of the
celestial forces over the ocean surface. The interacting frequencies that result can be grouped
as diurnal, semi diurnal and long periodic. The total number of tide generating frequencies that
is evaluated in the computation is a tradeoff between required accuracy and computational
cost. Per default, we use a set of 60 frequencies, similar to TRIWAQ.

DR
AF

7.10

A smaller set of 11 main frequencies as used in Delft3D can also be selected by setting in the
MDU file :

Doodsonstart = 57.555
Doodsonstop = 275.555
Doodsoneps
=
0.030

The full set of 484 components can be selected by specifying:

Doodsonstart = 55.565
Doodsonstop = 375.575
Doodsoneps
=
0.000

For the set of 60 components these numbers are:

Doodsonstart = 55.565
Doodsonstop = 375.575
Doodsoneps
=
0.030

The earth itself is deformed by the celestial forces, this is called the solid earth tide. An
estimate of this influence is based on the work of Love (1927), is included in the total tide
generating potential.

148 of 412

Deltares

Hydrodynamics

We have gratefully applied the Fortran subroutines written by E.J.O. Schrama. Details on the
implementation of tide generating forces can be found in his lecture notes Schrama (2007).
In order to save computation cost, the tidal potential is not computed for each computational
point, but on a grid with a resolution of 1 degree in both the South-North and West-East
direction.

DR
AF

T

The tidal and surge motions of the seas and ocean also deform the earth , which is called
tidal loading. Next to that, the water at some point is attracted by all moving water elsewhere
on the globe. This is called self attraction. The combined influence of these two processes is
implemented in a beta version.

Deltares

149 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

150 of 412

Deltares

8 Transport of matter
Introduction
In D-Flow FM, transport is formulated as

Z

d

Z
c dV +

dt
V (t)

Z
c(u − v) • n dS =

∂V (t)

Z
(K∇c) • n dS +

∂V (t)

s dV,

(8.1)

V (t)

∂hc
+ ∇ • (huc) = ∇ • (hκ∇c) + hs,
∂t

T

where V (t) is a three-dimensional control volume, c is a concentration, u the flow velocity
field, v the velocity of the (vertically) moving control volume, K is a diagonal matrix K =
diag(κ, κ, κz ) with diffusion coefficients and s a source term. For two-dimensional (depthaveraged) flow, we obtain
(8.2)

where h is the water depth. In case of three-dimensional (layer-averaged) flow, with ∆z a
layer thickness from z0 (x, y, t) to z1 (x, y, t), we obtain

DR
AF

8.1

∂∆z c
+ ∇ • (∆z uc) + [ωz1 c]z=z1 − [ωz0 c]z=z0 = ∇ • (∆z κ∇c)+
∂t 



∂c
∂c
•
•
− κ∇z1 ∇c
− κz
− κ∇z0 ∇c
+ ∆z s,
κz
∂z
∂z
z=z1
z=z0
T

where by u and ∇ still the horizontal components are meant, i.e. u = (u, v)



∂ ∂
,
∂x ∂y

(8.3)
and ∇ =

T

and κz is the vertical diffusion coefficient. Furthermore ωz0 and ωz1 are the

velocity component normal and relative to the moving z = z0 and z = z1 layer interfaces
respectively. Note that taking c = 1 yields

ω z1 +

∂z0
∂z1
= ωz0 − ∇ • (∆zu) +
,
∂t
∂t

(8.4)

which, combined with a zero-flux condition at the bed, recursively defines ωz0 and ωz1 for all
layers.
We apply Equation (8.2) and Equation (8.3) to transport of







salinity,
temperature,
suspended sediment,
tracers,
other, intentionally not mentioned,

and ultimately to the water itself (the continuity equation) to obtain the relative layer interface
velocities as expressed by Equation (8.4).
In the following we will highlight various physical and numerical settings in D-Flow FM. First
and foremost, it is important to understand that there are two numerical implementations
available, that differ slightly. These are selected with the keyword transportmethod in
the mdu-file:
transportmethod = 0

Deltares

151 of 412

D-Flow Flexible Mesh, User Manual

or
transportmethod = 1

# default.

The difference mainly concerns the treatment of vertical advection as explained in the next
section. Note that tracers are only available with transportmethod ’1’.
8.2

Some words about suspended sediment transport
In D-Flow FM two sediment models are available.

T

The first is a genuine D-Flow FM implementation, while the second is adopted from Delft3DSED and is only available in combination with transportmethod ’1’.
For a description of the latter, see chapter 18 in this manual.

8.3

DR
AF

We will not discuss the specifics of either of the two sediment models further and confine
ourselves to mentioning the relevant settings that concern suspended sediment transport of
the one of chapter 18.
Transport processes

Looking at the equations that govern transport of matter, we can identify three processes,
namely advection, diffusion and sources/sinks. The next sections will describe the relevant
user settings.
8.3.1

Advection

Advection of matter is expressed by the term ∇
two-dimensional modelling.

•

(huc) in Equation (8.2) in the case of

In three dimensions, we make a distinction between horizontal advection ∇ • (∆z uc) and
vertical advection [ωz1 c]z=z1 −[ωz0 c]z=z0 in Equation (8.3). A higher-order numerical approximation of these terms can be obtained by setting their "limiter type" to an appropriate value.
Setting the limiter type to "0" reduces the numerical approximation to a low-order upwind
method (i.e. severe limiting).
Although not restricted to the advection of salinity only, the choices for all matter are set with
keyword limtypsa in the mdu-file, for example
[numerics]
limtypsa = 0

# first-order upwind, or

or
[numerics]
limtypsa = 4

# MC limiter

For transportmethod=1, only the monotonized central (MC) limiter is available and used
when limtypsa>0, for example 1 or 2 or 6, but not -1. For transportmethod=0 other
limiters are available as well and the MC limiter is selected by setting limtypsa to ’4’, which
is its default value. We will not discuss the non-default limiters.

152 of 412

Deltares

Transport of matter

In three-dimensional modelling horizontal advection is similarly as in two dimension, but now
vertical advection can be selected with the keyword Vertadvtypsal in the mdu-file, i.e.
[numerics]
Vertadvtypsal = 0

# no vertical advection

or
[numerics]
Vertadvtypsal = 5

# default

Diffusion

Diffusion of matter is expressed by the term ∇ • (hκ∇c) for two-dimensional modelling and
a similar and additional terms in three dimensions, see Equation (8.3).
Clearly, we have horizontal diffusivity κ and vertical diffusivity κz . The horizontal diffusivity κ
is a summation of

 the molecular diffusivity κl , only for transportmethod=1. We use the following values:

κl =





1
ν,
700 l
1
ν
,
6.7 l


 0νl ,
0νl ,

salt,
temperature,
sediment,
tracers,

(8.5)

where νl = 10−6 m2 /s is the kinematic viscosity,
 a background diffusivity, user-specified as



8.3.2

DR
AF

T

The various combinations of transportmethod and Vertadvtypsal have the following meaning:
transport method
Vertadv0
1
typsal
space
time
space
time
0
none
none 
none 
none
st
1
1 order upwind
forward Euler salt and temper- 

salt and temature: central, 

2
central
forward Euler 
perature:
θ3
1st order upwind
θ-method
other:
highermethod,
other:



4
central
θ-method 

order limited up- 
forward Euler
5 neg. stratification
θ-method
wind
or water depth <
chkadvd: 1st order upwind, otherwise: central
6
as 5
as 5 temperature: cen- temperature:
θtral, other: higher- method,
other:
order limited up- forward Euler
wind
For the limited higher-order upwind discretization the MC limiter is used if transportmethod=1
if limtypsa>0, regardless of its specific value, and 1st -order upwind if limtypsa=0.

spatially varying values by horizontaleddydiffusivitycoefficient in the
ext-file, or

Deltares

153 of 412



D-Flow Flexible Mesh, User Manual

a uniform value Dicouv in the mdu-file,

in that order of precedence, and

 a contribution from turbulent transport expressed as νt /σt , where νt is the eddy viscosity
coefficient and σt is the turbulent Prandtl-Schmidt number for which the following values
are used:



 0.7,
0.7,
σt =

 1.0,
1.0,

salt,
temperature,
sediment,
tracers.

(8.6)

Horizontal diffusion is turned off when Dicouv=0.

DR
AF

T

The user has to be aware of the following. The explicit nature of the horizontal diffusion terms
in the time-integration method imposes a condition on the time step for numerical stability.
Recall that we have a similar condition due to explicit horizontal advection. Although we
always decrease the time step to satisfy the advection-related time step criterion, we do not
do so for diffusion. Instead, diffusion is limited such that our time step is restricted by advection
only, or by a user-specified maximum time step if it is smaller. For further details, consult DFlow FM TRM (2015).
Be aware that the modelled diffusion may be be smaller than anticipated. However, the actual effective diffusion encountered may be (much) larger than anticipated due to numerical
diffusion of the advection scheme.
Not considering suspended sediment, and similar to the horizontal diffusivity, the vertical diffusivity κz is a summation of

 the molecular diffusivity κl (for both transport methods), see Equation (8.5), not added for
transport method ’1’ if Dicoww=0,

 a background vertical diffusivity, user-specified as a uniform value Dicoww in the mdu-file,
and

 a contribution from turbulent transport, similar to its horizontal counterpart, but with the
horizontal viscosity coefficient now replaced by the vertical (eddy) viscosity coefficient.
Time integration is performed with a method that does not impose an additional constraint on
the time step. Unlike horizontal diffusion which is limited to ensure numerical stability while
maintaining the time-step size, vertical diffusion is not limited.
Vertical diffusion is turned off when, again not considering suspended sediment:

 for transport method ’0’: Dicoww=0 or Vertadvtypsal=1 or Vertadvtypsal=2,
 for both transport methods: the water depth is smaller than a threshold 10−2 m.
For the vertical diffusivity of suspended sediment, see chapter 18.
8.3.3

Sources and sinks
Sources and sinks may be provided by an entry in the ext-file as follows:
quantity=discharge_salinity_temperature_sorsin

This simultaneously prescribes sources and sinks of

154 of 412

Deltares

Transport of matter

 water volume itself (i.e. discharge),
 salinity, and
 temperature.
See section 7.8 for more details.
8.3.4

Forester filter

8.4

Transport boundary and initial conditions

T

The central vertical advection schemes of transport method ’0’ may cause nonphysical oscillations, or wiggles, especially near regions of large gradients. The user has the option to
suppress salt and temperature wiggles with a filter inspired by the so-called Forester filter.
This filter also penalizes physically unstable stratification. The maximum number of iterations
in the filter is controlled with keywords Maxitverticalforestersal for salt (default
100) and Maxitverticalforestertem for temperature (default 0, i.e. no filtering). Note
that the filter is unavailable when using transport method ’1’.

Open boundary conditions

At "horizontal" open boundaries the following boundary conditions are applied:

 salt, temperature and tracers:
 

8.4.1

DR
AF

The equations that govern transport of matter are complemented with boundary and initial
conditions. We make the distinction between "horizontal" boundaries, that are either "open"
or "closed", and vertical boundaries, only relevant for three-dimensional modelling.

inflow: user-specified Dirichlet condition,
outflow: homogeneous Neumann condition,

 suspended sediment: see chapter 18.

The user-specified Dirichlet conditions are supplied in the usual manner through the ext-file,
i.e.
quantity=salinitybnd

for salt and

quantity=temperaturebnd

for temperature. Boundaries conditions for multiple tracers may be defined by appending their
name to the tracerbnd keyword, for example
quantity=tracerbndMY_FIRST_TRACER

and
quantity=tracerbndMY_SECOND_TRACER

Deltares

155 of 412

D-Flow Flexible Mesh, User Manual

8.4.2

Closed boundary conditions
At "horizontal" closed boundaries zero-flux conditions are applied.

8.4.3

Vertical boundary conditions
At the "vertical" boundaries, i.e. at the bed and at the water surface, zero-flux conditions are
applied, except for temperature that is, see chapter 10 for further details on that matter.

8.4.4

Thatcher-Harleman boundary conditions

DR
AF

T

Consider (a part of) an open boundary where the flow reverts from outflowing to inflowing.
According to section 8.4.1, at that very moment a Dirichlet condition becomes effective and
a user-specified boundary value is prescribed. This value does in general not reflect the true
condition at the boundary and causes a discontinuous temporal behaviour. The so-called
Thatcher-Harleman boundary condition is intended to regularize this behaviour. The actual
value applied at the boundary is smoothly transformed from the last value under outflow conditions to the user-specified value under inflow conditions within a user-specified return time.
This return time is prescribed with the keyword return_time in the “new style” external
forcings file for boundary condition, for example
[boundary]
quantity
locationfile
forcingfile
return_time

=
=
=
=

salinitybnd
tfl_01.pli
tfl.bc
250

See section B.5 for more details on this format. Note that the Thatcher-Harleman boundary
conditions are only available currently for two-dimensional modelling.
8.4.5

Initial conditions

We will only consider intitial conditions for salinity, temperature and tracers. For initial sediment
concentrations, see chapter 18.
Initial conditions are specified in three possible ways, namely

 a horizontally spatially varying field in the usual way through the ext-file,
 a vertical profile in three dimensions, horizontally uniformly distributed, for salinity and
temperature only in the ext-file, and

 uniform values for salinity and temperature in the mdu-file.
In the ext-file we have
quantity

= initialsalinity

for the intial salinity, and
quantity

= initialsalinitytop

for the initial salinity in the top layer in case of three-dimensional modelling. When specified,
the initial salinity field is linearly distributed from the "initialsalinity" in the lowest layer to the

156 of 412

Deltares

Transport of matter

"initialsalinitytop" in the top layer. When not specified, the initial salinity field is vertically
uniformly distributed.
The initial temperature field is prescribed with
quantity

= initialtemperature

which in three dimensions is vertically uniformly distributed.

DR
AF

QUANTITY=initialverticalsalinityprofile
FILENAME=inisal.pol
FILETYPE=10
METHOD=4
OPERAND=O

T

A horizontally uniformly distributed vertical profile of salinity and temperature can be prescribed with initialverticalsalinityprofile and initialverticaltemperatureprofile
respectively, for example for salinity

The polygon file contains (z , salinity) value pairs, where z is the vertical coordinate in meters.
For example for linearly varying salinity from 30 to 20 ppt from −10 to 0 m:
L1
2 2
-10 30
0 20

The initial field of an arbitrary number of tracers are prescribed in the same way, except for
the user-specified tracername that is added to the keyword initialtracer, similar to the
tracer boundary conditions, for example
quantity=initialtracerMY_FIRST_TRACER

and

quantity=initialtracerMY_SECOND_TRACER

Default values for salinity and temperature are defined in the mdu-file with Initialsalinity
and Initialtemperature respectively.

Deltares

157 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

158 of 412

Deltares

9 Turbulence
Note: The 3D-implementation is a β -functionality.
D-Flow FM solves the Navier-Stokes equations for an incompressible fluid. Usually the grid
(horizontal and/or vertical) is too coarse and the time step too large to resolve the turbulent
scales of motion. The turbulent processes are “sub-grid”. The primitive variables are spaceand time-averaged quantities. Filtering the equations leads to the need for appropriate closure
assumptions.

T

For 3D shallow water flow the stress and diffusion tensor are an-isotropic. The horizontal eddy
viscosity coefficient νH and eddy diffusivity coefficient DH are much larger than the vertical
coefficients νV and DV , i.e. νH  νV and DH  DV . The horizontal coefficients are
assumed to be a superposition of three parts:
1 a part due to molecular viscosity.
2 a part due to “2D-turbulence”,
3 a part due to “3D-turbulence” see Uittenbogaard et al. (1992) and

DR
AF

The 2D part is associated with the contribution of horizontal motions and forcings that cannot
be resolved (“sub-grid scale turbulence”) by the horizontal grid (Reynolds averaged or eddy
resolving computations). The 3D part is referred to as the three-dimensional turbulence and
is computed following one of the turbulence closure models, described in this section. For
2D depth-averaged simulations, the horizontal eddy viscosity and eddy diffusivity coefficient
should also contain a contribution due to the vertical variation of the horizontal flow (Taylor
shear dispersion).
back
back
and eddy diffusivity coefficient DH
The background horizontal viscosity coefficient νH
(constant or space-varying) can be specified in the Delta Shell GUI and D-Flow FM’s MDU
file. In Delft3D-FLOW a sub-grid scale model, HLES for 2D-turbulence is implemented. (see
Delft3D-FLOW User Manual). In D-Flow FM we have not yet achieved this, but we implemented a simple horizontal model, the so called Smagorinsky model, so that we can at least
cope with possibly very large grid size variations.

The horizontal eddy coefficients are typically an order of magnitude larger than the vertical
coefficients determined by the turbulence closure model.
In D-Flow FM, two two-equation turbulence closure models have been implemented to determine the vertical eddy viscosity (νV ) and vertical eddy diffusivity (DV ):
1 k -ε turbulence closure model.
2 k -τ turbulence closure model(in β -version).

The k -τ model is a mathematical variant of the k -ε model. Both models solve equations for
production, dissipation and transport of turbulent kinetic energy k . In the k -ε model the dissipation rate of turbulent kinetic energy ε, is modeled, whereas in the k -τ model the dissipation
timescale τ is modeled.
Both models are based on the so-called eddy viscosity concept of Kolmogorov (1942) and
Prandtl (1945).
A brief description of each of these turbulence closure model will be given further on in this
section, for more details we refer to Uittenbogaard et al. (1992). The k -ε model has been
used in tidal simulations by Baumert and Radach (1992) and Davies and Gerritsen (1994), for

Deltares

159 of 412

D-Flow Flexible Mesh, User Manual

stratified flow of a river plume by Postma et al. (1999) and for the evolution of a thermocline
by Burchard and Baumert (1995).
For strongly stratified flows it is important to introduce suitably chosen constant ambient (background) mixing coefficients, because the mixing coefficients computed by turbulence models
with shear production only, reduce to zero. In the latter situation the vertical layers are completely de-coupled (frictionless). Disturbances are hardly damped and also the erosion of the
vertical stratification is reduced to molecular diffusion.

Eddy diffusivity

T

Based on our experience with highly stratified flows we suggest applying an ambient or background vertical eddy viscosity in the order of 10−4 m2 /s for the vertical exchange of momentum. This value corresponds with field measurements in the Rotterdam Waterway, The
Netherlands.

The vertical eddy diffusivity is a scaled form of the eddy viscosity according to:

ν3D
.
σc

(9.1)

DR
AF

D3D =

Parameter σc is the Prandtl-Schmidt number. Its numerical value depends on the substance
c.
In Delft3D-FLOW the following settings of σc are used:

 In all cases, regardless the turbulence closure model, σc = 0.7 for the transport of heat,
salinity, and tracer concentrations. For suspended sediment concentrations in online sediment transport computations, σc = 1.0.
 For the transport of turbulent kinetic energy k in the k -L model and k -ε model σc = 1.0,
and for the transport of turbulent kinetic energy dissipation ε in the k -ε model σc = 1.3.
In the mathematical formulation, the fluxes are instantaneously influenced by changes in the
vertical gradients of velocity and density. A physical adjustment time of the turbulence to the
variations of the vertical gradients, is not taken into account. The fluxes are not a monotone
function of the gradients. For the transport equation of heat, for small temperature gradients
the heat flux increases when the temperature gradient increases but for large temperature
gradients the heat flux decreases because the vertical eddy diffusivity is damped. For large
values of the density gradients and small values of the velocity gradients, the vertical diffusion
equation becomes mathematically ill-posed Barenblatt et al. (1993), and the computed vertical
profiles may become discontinuous (stepwise). The number of “steps” is dependent on the
vertical grid.
The numerical scheme for the vertical advection of heat and salt (central differences) may
introduce small vertical oscillations. This computational noise may enhance the turbulent
mixing. D-Flow FM has a vertical filtering technique to remove this noise and to reduce the
undesirable mixing. For more details, see section 8.3.4.
In strongly-stratified flows, the turbulent eddy viscosity at the interface reduces to zero and
the vertical mixing reduces to molecular diffusion. To account for the vertical mixing induced
by shearing and breaking of short and random internal gravity waves, we suggest to apply an
ambient eddy diffusivity in the order of 10−4 to 10−5 m2 /s dependent on the Prandtl-Schmidt
number. In Delft3D-FLOW for stable stratified flows, the minimal eddy diffusivity may be based
on the Ozmidov length scale Loz , specified by you and the Brunt-Väisälä frequency of internal

160 of 412

Deltares

Turbulence

waves:

s
DV = max D3D , 0.2L2oz

g ∂ρ
−
ρ ∂z

!
.

(9.2)

This feature is still to be implemented in D-Flow FM
For a detailed description of the turbulence closure models of Delft3D-FLOW we refer to Rodi
(1984) and Uittenbogaard et al. (1992).

k -ε turbulence model

T

In the k -ε turbulence model, transport equations must be solved for both the turbulent kinetic
energy k and for the energy dissipation ε. The mixing length L is then determined from ε and
k according to:

√
k k
L = cD
.
ε

(9.3)

DR
AF

9.1

In the transport equations, the following two assumptions are made:

 The production, buoyancy, and dissipation terms are the dominating terms.
 The horizontal length scales are larger than the vertical ones (shallow water, boundary
layer type of flows).

Because of the first assumption, the conservation of the turbulent quantities is less important
and the transport equation is implemented in a non-conservation form.
The transport equations for k and ε are non-linearly coupled by means of their eddy diffusivity
Dk , Dε and the dissipation terms. The transport equations for k and ε are given by:

∂k
∂k
ω ∂k
∂k
+u
+v
+
=
∂t
∂x
∂y ζ − zb ∂σ


1
∂
∂k
+
Dk
+ Pk + Pkw + Bk − ε, (9.4)
∂σ
(ζ − zb )2 ∂σ
∂ε
∂ε
ω ∂ε
∂ε
+u
+v
+
=
∂t
∂x
∂y ζ − zb ∂σ


1
∂
∂ε
ε2
D
+
P
+
P
+
B
−
c
. (9.5)
ε
ε
εw
ε
2ε
∂σ
k
(ζ − zb )2 ∂σ

with

Dk =

νmol ν3D
+
σmol
σk

and

Dε =

ν3D
σε

(9.6)

In the production term Pk of turbulent kinetic energy, the horizontal gradients of the horizontal
velocity and all the gradients of the vertical velocities are neglected. The production term is
given by:

1
Pk = ν3D
(ζ − zb )2
Deltares

"

∂u
∂σ

2


+

∂v
∂σ

2 #
.

(9.7)

161 of 412

D-Flow Flexible Mesh, User Manual

For small-scale applications (e.g. simulation of laboratory flume), you can switch on a more
extended production term Pk of turbulent kinetic energy (option “partial slip”, rough side wall)
given by:

"
Pk = 2ν3D

2  2 )#
∂u
∂v
+
+
∂σ
∂σ
" 

2  2 #
2
∂u
1 ∂u ∂v
∂v
+ 2ν3D
+
. (9.8)
+
+
∂x
2 ∂y ∂x
∂y

1
2 (ζ − zb )2

(

T

In this expression, ν3D is the vertical eddy viscosity, prescribed by Equation (9.16). In Equation (9.7) and Equation (9.8) it has been assumed that the gradients of the vertical velocity w
can be neglected with respect to the gradients of the horizontal velocity components u and v .
The horizontal and vertical (σ -grid) curvature of the grid has also been neglected.

DR
AF

The turbulent energy production due to wave action is given by Pkw , but has not been implemented yet in D-Flow FM: Wave forcing in 3D models is being prepared for an upcoming
release.
Near the closed walls the normal derivative of the tangential velocity is determined with the
law of the wall:

∂u
u∗
=
.
∂y
κy

(9.9)

In stratified flows, turbulent kinetic energy is converted into potential energy. This is represented by a buoyancy flux Bk defined by:

Bk =

ν3D g ∂ρ
ρσρ h ∂σ

(9.10)

with the Prandtl-Schmidt number σρ = 0.7 for salinity and temperature and σρ = 1.0 for
suspended sediments.
The production term Pε and the buoyancy flux Bε are defined by:

ε
Pε = c1ε Pk ,
k
ε
Bε = c1ε (1 − c3ε ) Bk ,
k

(9.11)
(9.12)

with L prescribed by Equation (9.3) and the calibration constants by (Rodi, 1984):

c1ε = 1.44,
c2ε = 1.92,

0.0
c3ε =
1.0

(9.13)
(9.14)
unstable stratification
stable stratification

(9.15)

In D-Flow FM in the ε-equation for stable stratification the buoyancy flux is switched off, so
c3ε = 1.0 and for unstable stratification the buoyancy flux is switched on c3ε = 0.0.

162 of 412

Deltares

Turbulence

The energy production and energy dissipation due to waves, the terms Pkw and Pεw in Equation (9.4) and Equation (9.5), have not been implemented yet in D-Flow FM: Wave forcing in
3D models is being prepared for an upcoming release.
The coefficients of the 3D k -ε turbulence closure model as implemented in D-Flow FM are
not the same as in the depth-averaged k -ε turbulence closure model (Rodi, 1984), therefore
for depth-averaged simulations, the k -ε turbulence closure model is not available for you.
The vertical eddy viscosity ν3D is determined by:

√
k2
ν3D = c0µ L k = cµ ,
ε

(9.16)

cµ = cD c0µ .

(9.17)

T

with:

DR
AF

To solve the transport equation, boundary conditions must be specified. A local equilibrium of
production and dissipation of kinetic energy is assumed at the bed which leads to the following
Dirichlet boundary condition:

u2
k|σ=−1 = √∗b .
cµ

(9.18)

The friction velocity u∗b at the bed is determined from the magnitude of the velocity in the
grid point nearest to the bed, under the assumption of a logarithmic velocity profile. The bed
roughness (roughness length) may be enhanced by the presence of wind generated short
crested waves.
In case of wind forcing, a similar Dirichlet boundary condition is prescribed for the turbulent
kinetic energy k at the free surface:

u2
k|σ=0 = √∗s .
cµ

(9.19)

In the absence of wind, the turbulent kinetic energy k at the surface is set to zero.
At open boundaries, the turbulent energy k is computed using the equation for k without horizontal advection. For a logarithmic velocity profile this will approximately lead to the following
linear distribution based on the shear-stress at the bed and at the free surface:

 


1
z − zb
2
2 z − zb
k (z) = √
u
1−
+ u∗s
.
cµ ∗b
ζ − zb
ζ − zb

(9.20)

For ε the bed boundary condition reads:

∂ε
(εb+1 − εb )
=
=
∂z
∆zb
κ

u3∗
∆zb
2

+ 9z0

2

(9.21)

The k -ε turbulence model was successfully applied for the simulation of stratified flow in the
Hong Kong waters (Postma et al., 1999) and verified for the seasonal evolution of the thermocline (Burchard and Baumert, 1995).

Deltares

163 of 412

D-Flow Flexible Mesh, User Manual

k -τ turbulence model
The k -τ turbulence model is derived by Speziale et al. (1992) as a transformation of the
ε-equation of the k -ε turbulence model where the variable τ models a typical time-scale of
turbulent eddies.
The k -τ turbulence model used in D-Flow FM deviates from the equation of Speziale et al.
(1992) at a few points, to derive their k -τ model they used a different version of the k -ε model
and the most important difference is that they do not include buoyancy in their model.
The transport equations for k and τ used in D-Flow FM read (see for a derivation Dijkstra
(2014)):

T

∂k
∂k
∂k
ω ∂k
+u
+v
+
=
∂t
∂x
∂y ζ − zb ∂σ


∂
∂k
1
Dk
+ Pk + Pkw + Bk − kτ, (9.22)
∂σ
(ζ − zb )2 ∂σ
∂τ
∂τ
ω ∂τ
∂τ
+u
+v
+
=
∂t
∂x
∂y ζ − zb ∂σ






1
∂
∂τ
2
∂τ ∂k
2 ∂τ ∂τ
τ ∂
1
1
∂k
Dτ
+ Dτ
− Dτ
−
−
∂σ
k ∂σ ∂σ τ
∂σ ∂σ k ∂σ
σε σk
∂σ
(ζ − zb )2 ∂σ
τ
τ
− (cε1 − 1)Pk − (cε3 − 1)Bk + cε2 − 1 (9.23)
k
k
with

DR
AF

9.2

Dk =

164 of 412

νmol ν3D
+
σmol
σk

and

Dτ =

ν3D
.
στ

(9.24)

Deltares

10 Heat transport
This chapter is an almost integral copy of the Delft3D-FLOW manual. The difference is that in
Delft3D-FLOW five heat flux models are implemented, whereas in D-Flow FM only two models
are implemented. These are the most complete heat flux model, the so called Composite heat
flux model (i.e. the Ocean heat flux model nr 5 in Delft3D-FLOW) and the most simple model,
the Excess temperature model (model nr 3 in Delft3D-FLOW). In D-Flow FM, the parameter
that sets the temperature model is called Temperaturemodel in the mdu-file. We kept the
numbering of Delft3D. When specifying Temperaturemodel=1, the temperature is taken
into account in the transport solver and in the equation of state, but heat fluxes though the
water surface are not taken into account. This may be useful when mixing is the primary factor
that determines the temperature distribution.

DR
AF

T

The heat radiation emitted by the sun reaches the earth in the form of electromagnetic waves
with wavelengths in the range of 0.15 to 4 µm. In the atmosphere the radiation undergoes
scattering, reflection and absorption by air, cloud, dust and particles. On average neither the
atmosphere nor the earth accumulates heat, which implies that the absorbed heat is emitted
back again. The wavelengths of these emitted radiations are longer (between 4 and 50 µm)
due to the lower prevailing temperature in the atmosphere and on Earth. Schematically the
radiation process, along with the heat flux mechanisms at the water surface, is shown in
Figure 10.1.

Figure 10.1: Overview of the heat exchange mechanisms at the surface

Legend for Figure 10.1:

Qsc
Qco
Qsr
Qs
Qsn
Deltares

radiation (flux) for clear sky condition in [J/m2 s]
heat loss due to convection (sensible) in [J/m2 s]
reflected solar radiation in [J/m2 s]
solar radiation (short wave radiation) in [J/m2 s]
net incident solar radiation (short wave), = Qs − Qsr

165 of 412

D-Flow Flexible Mesh, User Manual

atmospheric radiation (long wave radiation) in [J/m2 s]
net incident atmospheric radiation (long wave)
reflected atmospheric radiation in [J/m2 s]
back radiation (long wave radiation) in [J/m2 s]
heat loss due to evaporation (latent) in [J/m2 s]

Qa
Qan
Qar
Qbr
Qev

In D-Flow FM the heat exchange at the free surface is modeled by taking into account the separate effects of solar (short wave) and atmospheric (long wave) radiation, and heat loss due to
back radiation, evaporation and convection. The heat losses due to evaporation and convection are functions of the wind speed. In absence of wind, these terms become zero. However,
since water vapor is lighter than air, water may be cooled by evaporation and convection even
in a no wind situation. The terms are called Qevfree and Qcofree respectively.

T

Excess temperature model - heat flux model 3

DR
AF

In the Excess temperature model the heat exchange flux at the air-water interface is computed
based upon the prescribed background air temperature, the computed water temperature of
the top layer and the prescribed wind speed. This relatively simple model is sometimes used
in intake–outfall design studies. It can be applied when the temperature mixing process itself
is more relevant than the actual heat loss through the air water interface. The applied heat
exchange coefficient is mainly a function of the windspeed and water surface temperature.
The excess temperature model 3 is based on Sweers (1976), the heat exchange flux is represented by a bulk exchange formula:

Qtot = −λ (Ts − Tback ) ,

(10.1)

with Ts the water temperature at the free surface and Tback the natural background temperature, both in ◦ C.
The heat exchange coefficient λ is a function of the surface temperature Ts and the wind
speed U10 . It is derived by linearization of the exchange fluxes for back radiation, evaporation
and convection. The following relation was derived by Sweers (1976):


λ = 4.48 + 0.049Ts + f (U10 ) 1.12 + 0.018Ts + 0.00158Ts2 .

(10.2)

Composite - heat flux model 5

The heat flux model 5 following Gill (1982) and Lane (1989) was calibrated for the North Sea
and successfully applied for great lakes.
In the Composite heat flux model, the relative humidity in [%], air temperature in [◦ C] and
cloudiness in [%] are prescribed.
These quantities may be either uniform or specially varying. In the external forcingsfile one
may have:

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

166 of 412

=humidity_airtemperature_cloudiness
=meteo.hac
=6
=3
=O

Deltares

Heat transport

For example input files see example directories:

f20_heat_flux/**/
The effective back radiation and the heat losses due to evaporation and convection are computed by the model. Additionally, when air and water densities and/or temperatures are such
that free convection occurs, free convection of latent and sensible heat is computed by the
model.
Normally, solar radiation is computed based upon time of day, position on earth and cloudiness. However, if solar radiation was measured, it can also be prescribed (in [W/m2 ]), e.g.:

T

=humidity_airtemperature_cloudiness_solarradiation
=meteo.hacs
=6
=3
=O

DR
AF

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

In both heat flux models, the wind forcing may be uniform or spatially varying.
If wind is uniform, the wind speed and direction are prescribed, wind speed is in m/s, and
direction follows nautical convention: 0 means wind coming from North, 90 means wind is
coming from East. In the external forcings file specify, e.g.:

QUANTITY=windxy
FILENAME=zeg99-10.wnd
FILETYPE=2
METHOD=1
OPERAND=O

If wind is spatially varying, the air pressure is also prescribed:

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=airpressure_windx_windy
=CSM_2015.apwxwy
=6
=3
=O

Air pressure is in [Pa], wind x- and y -components are given [m/s].
For the physical background of the heat exchange at the air-water interface and the definitions,
we refer to Sweers (1976) for the Excess temperature model (Temperaturemodel=3), and to
Gill (1982) and Lane (1989) for the Ocean heat flux model (Temperaturemodel=5).

Deltares

167 of 412

D-Flow Flexible Mesh, User Manual

10.1

Heat balance
The total heat flux through the free surface reads:

Qtot = Qsn + Qan − Qbr − Qev − Qco − Qevf ree − Qcof ree ,

(10.3)

with:
net incident solar radiation (short wave)
net incident atmospheric radiation (long wave)
back radiation (long wave)
evaporative heat flux (latent heat)
convective heat flux (sensible heat)
evaporative heat flux (free convection latent heat)
convective heat flux (free convection sensible heat).

T

Qsn
Qan
Qbr
Qev
Qco
Qevf ree
Qcof ree

The subscript n refers to a net contribution. Each of the heat fluxes in Equation (10.3) will be
discussed in detail.
The change in temperature in the top layer Ts [◦ C] is given by:

DR
AF

Qtot
∂Ts
,
=
∂t
ρw cp ∆zs

(10.4)

where Qtot [J/m2 s] is the total heat flux through the air-water surface, cp (= 3930 J kg−1 K) is
the specific heat capacity of sea water, ρw is the specific density of water [kg/m3 ] and ∆zs
[m] is the thickness of the top layer. As in Delft3D-FLOW, the heat exchange at the bed is
assumed to be zero. This may lead to over-prediction of the water temperature in shallow
areas. Also the effect of precipitation on the water temperature is not taken into account.
Remarks:
 The temperature T is by default expressed in ◦ C. However, in some formulas the absolute temperature T̄ in K is used. They are related by:

T̄ = T + 273.15.

(10.5)

 In Equation (10.4) the total incoming heat flux is absorbed with exponential decay as a
function of depth. See the parameter Secchi-depth in the mdu-file.
10.2

Solar radiation

The short-wave radiation emitted by the sun that reaches the earth surface under a clear sky
condition can be evaluated by means of:

 Applying Stefan-Boltzmann’s law for radiation from a black-body:
Q = σ T̄ 4

(10.6)

with σ = Stefan-Boltzmann’s constant = 5.67 × 10−8 J/(m2 s K4 ) and T̄ the (absolute)
temperature in K.

 Direct measurements.
Not all of the radiation is absorbed at the water surface. A part is transmitted to deeper water.
Short waves can penetrate over a distance of 3 to 30 meters, depending on the clarity of the
water, while the relatively longer waves are absorbed at the surface. Therefore, it is convenient
to separate the incoming solar insolation into two portions:

168 of 412

Deltares

Heat transport

1 βQsn , the longer wave portion, which is absorbed at the surface and
2 (1 − β) Qsn , the remainder part, which is absorbed in deeper water.
The absorption of heat in the water column is an exponential function of the distance H from
the water surface:

Z

H

(1 − β) Qsn =

e−γz dz ⇒

(10.7)

0

Qsn (h) =

γe−γh
(1 − β)Qsn ,
1 − e−γH

(10.8)

with:
part of Qsn absorbed at the water surface which is a function of the wavelength.
The default value of β in D-Flow FM is 0.06.
extinction coefficient (measured) in m−1 , also related to the so-called Secchidepth γ = H 1.7
Secchi
distance to the water surface in meters.
total water depth.

T

β
γ

DR
AF

h
H

The incoming energy flux at the water surface depends on the angle (declination) between
the incoming radiation and the Earth’s surface. This declination depends on the geographical
position on the Earth and the local time. The Earth axis is not perpendicular to the line
connecting the Sun with Earth. This tilting (angle δ ) varies with the time of the year and it
leads to a seasonal variation of the radiation flux. At June 21, the declination is maximal,
23.5 degrees. Of course, by the rotation of the Earth the solar radiation also varies during the
day. Near twelve o’clock local time, the sun elevation above the horizon is maximal. For an
overview of the angles used to determine the solar elevation angle γ , see Figure 10.2.
The temporal and latitude-dependent solar elevation angle γ is estimated by:



sin (γ) = sin (δ) sin

with:

δ=

πφ
180





− cos (δ) cos

23.5π
cos(ω0 t − 2.95),
180

πφ
180



cos (ω1 t)

(10.9)

(10.10)

where ω0 is the frequency of the annual variation and ω1 the frequency of the diurnal variation;
φ is the latitude.
The incoming short-wave solar radiation through a clear sky at ground level Qsc is about 0.76
of the flux incident at the top of the atmosphere (Gill, 1982):


0.76S sin(γ),
Qsc =
0.0,

sin(γ) ≥ 0,
sin(γ) < 0.

(10.11)

The solar constant S = 1 368 J/(m2 s) or W/m2 . This is the average energy flux at the mean
radius of the Earth.
A part of the radiation that reaches the water surface is reflected. The fraction reflected or
scattered (surface albedo) is dependent on latitude and season. Cloud cover will reduce the
magnitude of the radiation flux that reaches the sea surface. The cloudiness is expressed by

Deltares

169 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

Figure 10.2: Co-ordinate system position Sun
δ : declination; θ: latitude; ωt: angular speed

a cloud cover fraction Fc , the fraction of the sky covered by clouds. The correction factor for
cloud cover is an empirical formula. The absorption of solar radiation is calculated (Gill, 1982)
as the product of the net downward flux of short wave-radiation in cloudless conditions and
factors correcting for reflection and cloud cover:

Qsn = Qs − Qsr = (1 − α) Qsc (1.0 − 0.4Fc − 0.38Fc2 ),
with:

Qsn
Qs
Qsr
Qsc
α
Fc
10.3

(10.12)

net heat radiation (flux) from the Sun
solar radiation (short wave radiation) in [J/m2 s]
reflected solar radiation in [J/m2 s]
radiation (flux) for clear sky condition
albedo (reflection) coefficient (=0.06)
fraction of sky covered by clouds (user-defined input)

Atmospheric radiation (long wave radiation)

Atmospheric radiation is primarily due to emission of absorbed solar radiation by water vapour,
carbon dioxide and ozone in the atmosphere. The emission spectrum of the atmosphere is
highly irregular. The amount of atmospheric radiation that reaches the earth is determined by
applying the Stefan-Boltzmann’s law that includes the emissivity coefficient of the atmosphere
ε. Taking into account the effect of reflection by the surface and reflection and absorption by
clouds, the relation for the net atmospheric radiation Qan reads (Octavio et al., 1977):

Qan = (1 − r) εσ T̄a4 g (Fc ) ,

(10.13)

where T̄a is the air temperature (in K) and the reflection coefficient r = 0.03. The emissivity
factor of the atmosphere ε may depend both on vapour pressure and air temperature. The
emissivity of the atmosphere varies between 0.7 for clear sky and low temperature and 1.0.
The presence of clouds increases the atmospheric radiation. This is expressed in the cloud
function g (Fc ).

170 of 412

Deltares

Heat transport

with Ta the air temperature (in ◦ C). The cloud function g (Fc ) in Equation (10.13) is given by:

g (Fc ) = 1.0 + 0.17Fc2 .2 − 9

(10.14)

The linearisation of Equation (10.13) is carried out around Ta = 15 ◦ C.
Remark:
 The atmospheric radiation is part of the total long-wave radiation flux, the so-called
effective back radiation, see section 10.5.
10.4

Back radiation (long wave radiation)

Qbr = (1 − r) εσ T̄s4 ,

T

Water radiates as a near black body, so the heat radiated back by the water can be described
by Stefan-Boltzmann’s law of radiation, corrected by an emissivity factor ε = 0.985 of water
(Sweers, 1976; Octavio et al., 1977) and the reflection coefficient for the air-water interface
r = 0.03:
(10.15)

10.5

DR
AF

with T̄s the (absolute) water surface temperature in K.
Effective back radiation

The total net long wave radiation flux is computed. This is called the effective back radiation:

Qeb = Qbr − Qan .

(10.16)

The atmospheric radiation depends on the vapour pressure ea , see section 10.6, the air temperature Ta and the cloud cover Fc . The back radiation depends on the surface temperature
Ts .
The effective back radiation Qeb is computed following:


√
Qeb = εσ T̄s4 (0.39 − 0.05 ea ) 1.0 − 0.6Fc2 ,

(10.17)

with the actual vapour pressure ea given by Equation (10.22).
10.6

Evaporative heat flux

Evaporation is an exchange process that takes place at the interface between water and air
and depends on the conditions both in the water near the surface and the air above it. The
evaporation depends on meteorological factors (wind-driven convection) and vapour pressures.
Forced convection of latent heat
The latent heat flux due to forced convection for the ocean heat flux model reads:

Qev,forced = LV ρa f (U10 ) {qs (Ts ) − qa (Ta )} ,

(10.18)

with qs and qa the specific humidity of respectively saturated air and remote air (10 m above
water level):

0.62es
,
Patm − 0.38es
0.62ea
qa (Ta ) =
.
Patm − 0.38ea
qs (Ts ) =

Deltares

(10.19)
(10.20)

171 of 412

D-Flow Flexible Mesh, User Manual

The saturated and remote vapour pressures es and ea are given by:

es = 10

0.7859+0.03477Ts
1.0+0.00412Ts

ea = rhum 10

,

0.7859+0.03477Ta
1.0+0.00412Ta

(10.21)

.

(10.22)

With Lv the latent heat of vaporisation in J/kg water:

Lv = 2.5 106 − 2.3 103 Ts .

(10.23)

The wind function in Equation (10.18) is defined as:

f (U10 ) = ce U10 ,

T

(10.24)

DR
AF

Without the influence of free convection, the Dalton number ce in the Composite heat flux
model was calibrated for the North Sea to be ce = 0.0015. This value should be close to the
Cd coefficient that is used in the computation of wind stresses. The exchange coefficients of
latent heat and momentum transfer are closely related. Specifying a negative Dalton number
in the mdu file forces the use of the specified Cd coefficient, thus taking into account the
specified dependency between windspeed and the Cd coefficient.
Here rhum is the relative humidity in [-].

Remarks:
 The relative humidity rhum is specified in the input files in percentages.
 When the computed E is negative, it is replaced by zero, assuming that it is caused by
modelling misfit and not by the actual physical process of water condensation out of the
air into the water. The same applies to the part associated with free convection.
For the excess temperature model, the wind speed function f (U10 ) following Sweers (1976)
is used:



f (U10 ) = (3.5 + 2.0U10 )

5.0 × 106
Sarea

0.05

,

(10.25)

where Sarea is the exposed water surface in m2 , defined in the input and fixed for the whole
simulation. The coefficients calibrated by Sweers were based on the wind speed at 3 meter
above the free surface; the coefficients in Equation (10.25) are based on the wind speed 10
meter above the water level.
Free convection of latent heat
Loss of heat due to evaporation occurs not only by forced convection, wind driven, but also
by free convection. Free convection is driven by buoyant forces due to density differences
(by temperature and/or water vapour content) creating unstable conditions in the atmospheric
boundary layer. Evaporation due to free convection is important in circumstances where inverse temperature/density gradients are present and wind speeds are almost negligible so
that the amount of forced convection is small. Neglecting free convection in this situation will
lead to underestimating the heat loss. (Ryan et al., 1974) developed a correction to the wind
function, accounting for free convection. The derivation of evaporation by just free convection
is based on the analogy of heat and mass transfer.

172 of 412

Deltares

Heat transport

The latent heat flux due to free convection reads:

Qev,free = ks LV ρa (qs − qa ) ,

(10.26)

with the average air density:

ρa0 + ρa10
,
2

ρa =

(10.27)

and with the heat transfer coefficient defined as:
if ρa10 − ρa0 ≤ 0

(
0
ks =

cf r.conv

n

gα2
νair ρa

o1/3
(ρa10 − ρa0 )

if ρa10 − ρa0 > 0

(10.28)

T

where the coefficient of free convection cf r.conv was calibrated to be 0.14, see (Ryan et al.,
1974). The viscosity of air νair is assumed to have the constant value 16.0 × 10−6 m2 /s. The
molecular diffusivity of air α m2 /s is defined as

νair
,
(10.29)
σ
with σ = 0.7 (for air) the Prandtl number. In Equation (10.26), the saturated air density is
α=

given by:

+

100es
Rvap

DR
AF

100Patm −100es
Rdry

ρa0 =

Ts + 273.15

,

(10.30)

the remote air density (10 m above the water level):

ρa10 =

100Patm −100ea
Rdry

+

100ea
Rvap

Tair + 273.15

,

(10.31)

where Rdry is the gas constant for dry air: 287.05 J/(kg K) and Rvap is the gas constant for
water vapour: 461.495 J/(kg K). The specific humidity of respectively saturated air and remote
air (10 m above the water level), qs and qa are given by Equation (10.19) and Equation (10.20).
The saturated and remote vapour pressure es and ea are defined in Equation (10.21) and
Equation (10.22).
The total heat flux due to evaporation then results from adding the forced convection of latent
heat in Equation (10.18) and the free convection of latent heat in Equation (10.26):

Qev = Qev,forced + Qev,free .

10.7

(10.32)

Convective heat flux

In the Ocean heat flux model, the convective heat flux is split into two parts, just as the evaporative heat flux. The convective heat flux is divided into a contribution by forced convection
and a contribution by free convection.
Forced convection of sensible heat
The sensible heat flux due to forced convection is computed by:

Qco,forced = ρa cp g (U10 ) (Ts − Ta ) ,

(10.33)

with cp the specific heat of air. It is considered constant and taken to be 1 004.0 J/(kg K). The
wind-speed function g (U10 ) is defined following Gill (1982):

g (U10 ) = cH U10 ,

(10.34)

with cH the so-called Stanton number. Without the influence of free convection, the Stanton
number was calibrated for the North Sea to be cH = 0.00145.

Deltares

173 of 412

D-Flow Flexible Mesh, User Manual

Free convection of sensible heat

Qco,free = ks ρa cp (Ts − Ta ) ,

(10.35)

with the heat transfer coefficient ks given by Equation (10.28).
The total heat flux due to convection then results from adding the forced convection of sensible
heat in Equation (10.33) and the free convection of sensible heat in Equation (10.35):

Qco = Qco,forced + Qco,free .

DR
AF

T

(10.36)

174 of 412

Deltares

11 Wind
Various external influences can exert a force on the flow field. One of these influences is the
wind. The force exerted by the wind is coupled to the flow equations as a shear stress. The
magnitude is determined by the following widely used quadratic expression:
2
|τ s | = ρa Cd U10

(11.1)

where:

ρa
U10
Cd

the density of air.
the wind speed 10 meter above the free surface (time and space dependent).
the wind drag coefficient, dependent on U10 .

11.1

DR
AF

T

In order to specify the wind shear stress, a drag coefficient is required as well as the wind
field in terms of velocity magnitude and wind direction. In this chapter, the backgrounds
are provided of how wind fields should be imposed, in addition to section 4.4.9.4. Relevant
definitions are addressed in section 11.1, whereas supported file formats are addressed in
section 11.2.
Definitions

When imposing wind conditions, two definitions are respected: a definition for the wind direction (see section 11.1.1) and a definition regarding the drag coefficient (see section 11.1.2).
11.1.1

Nautical convention

The wind direction is defined according to the nautical definition, i.e. relative to true North and
positive measured clockwise. In Figure 11.1 the wind direction is about +60 degrees, i.e. an
East-North-East wind.

Figure 11.1: Nautical conventions for the wind.

11.1.2

Drag coefficient
The dependency of the drag coefficient on the wind speed should be specified by the user.
The user can choose between the following concepts:

Deltares

175 of 412

D-Flow Flexible Mesh, User Manual






a constant drag coefficient,
a dependency according to Smith and Banke (1975),
a dependency according to Charnock (1955),
a dependency according to Hwang (2005a) and Hwang (2005b).

The specification of the type of wind drag formulation should be accomplished in the MDUfile. For this purpose, the keyword ICdtyp can be utilized. For this keyword ICdtyp, five
options could be demanded for:

ICdtyp
ICdtyp
ICdtyp
ICdtyp
ICdtyp

=
=
=
=
=

1 – constant drag coefficient,
2 – linearly varying drag coefficient (cf. Smith and Banke (1975)),
3 – piecewise linearly varying drag coefficient (cf. Smith and Banke (1975)),
4 – Charnock (1955) formulation (no breakpoints),
5 – Hwang (2005a) and Hwang (2005b) formulation (no breakpoints).

T







DR
AF

If a Smith & Banke type dependency is chosen for, the additional entries Cdbreakpoints
and Windspeedbreakpoints come into play. In the following sections, the specification
of either of these options are depicted.
Smith & Banke type formulation

When specifying a Smith & Banke type dependency, the definition as sketched in Figure 11.2
should be kept in mind.

Figure 11.2: Prescription of the dependency of the wind drag coefficient Cd on the wind
speed is achieved by means of at least 1 point, with a maximum of 3 points.

From this sketch, it can be seen that the wind drag is considered as dependent on the wind
speed in a piecewise linear way. The options, that are facilitated in this respect, are:

 define one set of coordinates (breakpoint A), specifying a constant drag coefficient, valid
for all wind speeds,

 define two sets of coordinates (breakpoints A and B), specifying a linearly varying dependency for one range of wind speeds,
 define three sets of coordinates (breakpoints A, B and C), specifying a piecewise linear
dependency for two ranges of wind speeds.
Remark that for the latter two options, the drag coefficient is taken constant for wind speeds

176 of 412

Deltares

Wind

lower/higher than the lowest/highest specified wind speed, with a drag coefficient equal to the
drag coefficient associated with the lowest/highest specified lowest/highest wind speed. In
case of three breakpoints, the expression reads:

 A
Cd ,



A

 U10 − U10


,
CdA + CdB − CdA
A
B
−
U
U
10
10
Cd (U10 ) =
B


B
C
B U10 − U10

C
+
C
−
C
,

d
d
d

B
C

− U10
U10

 C
Cd ,

A
U10 ≤ U10
,
B
A
,
≤ U10 ≤ U10
U10

(11.2)
B
C
U10
≤ U10 ≤ U10
,
C
U10
≤ U10 ,

DR
AF

T

By means of the entries Cdbreakpoints and Windspeedbreakpoints, the coordinates of the breakpoints (see Figure 11.2) can be specified. Typical values associated
with the Smith and Banke (1975) formulation are Cd = 6.3 × 10−4 for U = 0 m/s and
Cd = 7.23 × 10−3 for U = 100 m/s. In this case, the entries in the MDU-file should be
specified as follows:

[wind]
ICdtyp
Cdbreakpoints
Windspeedbreakpoints

=
=
=

2
0.00063
0.00723
0.00000 100.00000

Charnock formulation

The Charnock formulation (see Charnock (1955)) is based on the assumption of a fully developed turbulent boundary layer of the wind flow over the water surface. The associated wind
speed profile follows a logithmic shape. In the Charnock formulation, the wind speed is considered at 10 meters above the free water surface, hence yielding the following expression:

U10
1
= ln
u∗
κ



z10
z0



(11.3)

with κ the Von Kármán constant, z10 the distance to the water surface (equal to 10 m), u∗ the
friction velocity and U10 the wind speed at 10 m above the water surface. The drag coefficient
Cd is defined as:

Cd =

u2∗
.
2
U10

(11.4)

Charnock (1955) has proposed to represent the friction of the water surface as z0 according
to:

b u2∗
z0 =
,
g

(11.5)

with g the gravitation acceleration and b a specific constant. Charnock (1955) has proposed
b = 0.012. The value of the constant b can be specified in the MDU-file by the user by means
of one single value for Cdbreakpoints. Since the above relation yields an implicit relation
for u∗ , the system is solved for iteratively. The user should be aware of interpretation of the
specified wind field as the wind field at 10 m above the water surface. See paragraph 11.2.4
for a space and time varying Charnock coefficient b.

Deltares

177 of 412

D-Flow Flexible Mesh, User Manual

Hwang formulation
The dynamic roughness could also be related to the steady state wave conditions of the flow
field under consideration. The connection of the wave parameters with the drag coefficient
as elaborated by Hwang (2005a) is available within D-Flow FM through ICdtyp = 5, given
a wave field. The Hwang-formulation interpretes the user defined wind speed as the wind
speed at 10 m above the water surface.
The drag coefficient is computed as:



1
ln
Cd =
κ



kp z10
kp z0

−2
(11.6)

DR
AF



−0.5
kp z0 = π exp −κCλ/2

T

with z10 = 10 m, κ the Von Kármán constant. With wavelength scaling, kp z0 is the natural
expression of the dimensionless roughness, where kp is the wave number of the spectral
peak, computed on the basis of the actual water depth and the provided peak period Tp as
wave field. Further following Hwang (2005a),
(11.7)

in which Cλ/2 is the drag coefficient at half the wavelength above surface. This parameter
Cλ/2 is computed as:



Cλ/2 = A10

ωp U10
g

a10

(11.8)

in which A10 = 1.289 × 10−3 , a10 = 0.815, U10 the wind speed at 10 m above the water
surface and ωp the wave peak frequency (ωp = 2π/Tp ). Thus, the drag coefficient Cd is
defined.
11.2

File formats

The wind field should be provided by means of an ascii-type file. This file should contain the
grid on which the wind field is defined as well as the wind velocity vector(s).
D-Flow FM currently supports four types of wind field prescriptions, i.e. four grid types on
which the wind field can be given. This wind grid does not need to be the same as the
computational grid. The grid options to provide the wind data on are:
1 the computational grid — in this case, no specific wind grid is provided. The provided wind
field is considered to be uniform over the entire model area. The wind field can be time
dependent.
2 an equidistant grid — in this case, a wind field can be prescribed that varies both in space
and in time. A Cartesian arcinfo-type grid should be provided on which the wind field is
defined.
3 a curvilinear grid — this case is conceptually similar to the previous type (the equidistant
grid) in the sense that a wind field can be imposed that both varies in space and time.
However, a separate file should be provided in which a curvilinear grid is defined (a classic
<∗.grd>-type file as known from Delft3D) on which the wind field is defined.
4 a spiderweb grid — this type of wind specification is specially devoted to cyclone winds
and is only available in combination with computational grids that are of spherical type.
In this case, a cyclone wind field is given on a polar grid with the center (’eye’) of the
cyclone being the origin of the polar coordinate system. The location of this eye and the
associated wind field usually varies in time.

178 of 412

Deltares

Wind

Each of these filetypes can be assigned through the entry in the external forcings file (the
<∗.ext>-file) named FILETYPE. In this chapter, the various types of wind field specifications
are highlighted subsequently. Each of the options is illustrated by means of an example.
11.2.1

Defined on the computational grid
In D-Flow FM, the specification of the wind on the computational grid is equivalent to the
specification of a uniform wind, since no separate wind grid is provided to the model. The
specification of a uniform wind field can be done in two ways:

These two types are treated below separately.

Specification of uniform wind through velocity components

DR
AF

11.2.1.1

T

1 componentwise: as velocity in the longitudinal x-direction [m/s] and in the latitudal y direction [m/s] — the associated FILETYPE in the external forcings file is depicted as
uniform, which has FILETYPE=1.
2 by magnitude [m/s] and direction [degN] (see Figure 11.1) — the associated FILETYPE
in the external forcings file is depicted as unimagdir, which has FILETYPE=2.

Since no particular wind grid is used, only timeseries for the x-component and the y -component of the wind need to be specified. The specification of these timeseries can be done
separately (one single file for the x-component and one single file for the y -component) or
jointly (one single file containing the x-component and the y -component of the wind).
Uniform wind should be provided as an <∗.wnd>-file containing either 2 colums (in case
of separate specification of the x-component and y -component of the wind) or 3 columns (in
case of joint specification of the velocity components). In either case, the first column contains
the time in minutes with respect to the overall reference time.
Example

As an example, a uniform wind field is applied to a certain model. The uniform wind is provided
in a file named windxdirydir.wnd. The contents of this wind file are:

0.00000
60.00000

10.00000
-10.00000

10.00000
-10.00000

The first column denotes the time in minutes with respect to the reference date (specified in
the mdu-file). The second column denotes the wind velocity in x-direction, whereas the third
column denotes the wind velocity in y -direction; both wind components are provided in one
single file.
The connection with the flow model itself is laid through the external forcings file. The actual
specification of the wind is in this case:

QUANTITY =windxy
FILENAME =windxdirydir.wnd
FILETYPE =1

Deltares

179 of 412

D-Flow Flexible Mesh, User Manual

METHOD
OPERAND

=1
=O

Since the two components are given in one single file, the QUANTITY is set to windxy. If
two separate files would have been provided, the QUANTITY would have been set to windx
and windy over two separate datablocks in the external forcings file.
11.2.1.2

Specification of uniform wind through magnitude and direction
Instead of specifying the separate components of the wind field, the uniform wind vector can
also be prescribed through its magnitude and direction (see Figure 11.1).

T

This kind of specification should be done by means of one single file, containing three columns,
representing the time (in minutes with respect to the reference date), the velocity magnitude
[m/s], not necessarily positive, and the direction (nautical convention).

DR
AF

Example

As an example, the previous uniform wind case is reformulated as a case with magnitude
and direction of the wind field prescribed. The unimagdir wind is provided in a file named
. The contents of this file are:

0.00000
60.00000

14.14213562373095
-14.14213562373095

225.00000
225.00000

The first column denotes the time in minutes with respect to the reference date (specified in
the mdu-file). The second column denotes the wind velocity magnitude, whereas the third
column denotes the wind direction. Note that there is a clear difference between the above
case and a case in which the magnitude is kept positive (14.1421 m/s) and the direction varies
(and hence rotates!) from 225 degN to 45 degN.
The connection with the flow model itself is laid through the external forcings file. The actual
specification of the wind is in this case:

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

11.2.2

=windxy
=windinput.wnd
=2
=1
=O

Defined on an equidistant grid
The vector components of the velocity vectors can also be specified on a distinct grid, either of
equidistant type or of curvilinear type. In both cases, the characteristics of the grid should be
provided. In case of an equidistant grid, the grid is specified in arcinfo-style. That means, the
constant grid sizes ∆x and ∆y should be specified such that a grid is spanned with respect
to the location of the lower left corner of the grid (either the center of the lower left cel or the
lower left corner of the lower left cell).

180 of 412

Deltares

Wind

Example
As an example, a grid with ∆x = ∆y = 100 m is spanned, based on the center of the
lower left cell, located at x = y = 60 m with respect to the origin. The input data for the xcomponent and the y -component should be specified separately, in two distinct files. The input
of the x-component data should be given in an <∗.amu>-type file, such as 
as an example:

DR
AF

T

### START OF HEADER
### This file is created by Deltares
### Additional commments
FileVersion
=
1.03
filetype
=
meteo_on_equidistant_grid
NODATA_value
=
-9999.0
n_cols
=
5
n_rows
=
4
grid_unit
=
m
x_llcenter
=
60
y_llcenter
=
60
dx
=
110
dy
=
110
n_quantity
=
1
quantity1
=
x_wind
unit1
=
m s-1
### END OF HEADER
TIME = 0 hours since 2006-01-01 00:00:00 +00:00
10 10 10 10 10
10 10 10 10 10
10 10 10 10 10
10 10 10 10 10
TIME = 1 hours since 2006-01-01 00:00:00 +00:00
-10 -10 -10 -10 -10
-10 -10 -10 -10 -10
-10 -10 -10 -10 -10
-10 -10 -10 -10 -10

For the y -component data, a similar file (e.g. ) should be provided. In addition, the pressure could be specified in a similar file (e.g. ). Note that
x_llcorner and y_llcorner, instead of x_llcenter and y_llcenter, are also
supported.
Wind on an equidistant grid has been provided a filetype specification as FILETYPE=4. The
connection with the flow model itself is laid through the external forcings file. The actual
specification of the wind is in this case:

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=windx
=windxdir.amu
=4
=2
=O

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=windy
=windydir.amv
=4
=2
=O

Deltares

181 of 412

D-Flow Flexible Mesh , User Manual

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

Defined on a curvilinear grid

Example

T

In analogy with the wind specification on an equidistant grid, the wind can be specified on a
curvilinear grid. This curvilinear grid should be provided as a classic <∗.grd>-file as known
from Delft3D. A difference with the equidistant grid wind is the necessity to compile all data
blocks (i.e. pressure, x-component and y -component) in one single file. This file should have
the extension <∗.apwxwy>. The sequence of this datablock is: 1) pressure, 2) x-velocity
component, 3) y -velocity component.

As an example, a curvilinear grid named  is present, providing the underlying
coordinates of the wind data field. The input data, comprising the atmospheric pressure,
the x-velocity component and the y -velocity component, are given in one single file (as is
compulsory). The contents of the example -file is:

DR
AF

11.2.3

=atmosphericpressure
=pressure.amp
=4
=2
=O

### START OF HEADER
### This file is created by Deltares
### Additional commments
FileVersion
=
1.03
filetype
=
meteo_on_curvilinear_grid
NODATA_value
=
-9999.0
grid_file
=
meteo.grd
first_data_value =
grid_llcorner
data_row
=
grid_row
n_quantity
=
3
quantity1
=
apwxwy
unit1
=
Pa
### END OF HEADER
TIME = 0.0 hours since 2006-01-01 00:00:00 +00:00
101325 101325 101325 101325 101325
101325 101325 101325 101325 101325
101325 101325 101325 101325 101325
101325 101325 101325 101325 101325
10 10 10 10 10
10 10 10 10 10
10 10 10 10 10
10 10 10 10 10
10 10 10 10 10
10 10 10 10 10
10 10 10 10 10
10 10 10 10 10
TIME = 1.0 hours since 2006-01-01 00:00:00 +00:00
101325 101325 101325 101325 101325
101325 101325 101325 101325 101325
101325 101325 101325 101325 101325
101325 101325 101325 101325 101325
-10 -10 -10 -10 -10
-10 -10 -10 -10 -10
-10 -10 -10 -10 -10
-10 -10 -10 -10 -10
-10 -10 -10 -10 -10
-10 -10 -10 -10 -10

182 of 412

Deltares

Wind

-10 -10 -10 -10 -10
-10 -10 -10 -10 -10

Note that grid_llcenter, instead of grid_llcorner, is also supported. On the contrary, grid_column is not supported instead of grid_row.

=airpressure_windx_windy
=meteo.apwxwy
=6
=3
=O

DR
AF

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

T

Wind on a curvilinear grid has been provided a filetype specification as FILETYPE=6. The
connection with the flow model itself is laid through the external forcings file. The actual
specification of the wind is in this case:

Notice that METHOD=3 is chosen for wind on a curvilinear grid, instead of METHOD=2 in case
of wind on an equidistant grid.
11.2.4

Space and time varying Charnock coefficients

The value for the Charnock coefficient b in Eq. ((11.5)) can be a constant given in the MDUfile, but also be given as a space and time varying field.
For a space and time varying Charnock coefficient, the user should provide a NetCDF-file
with meteorological forcing, including Charnock coefficients, and use the file specification
FILETYPE=11.
The specification is in this case:

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

Deltares

=airpressure_windx_windy_charnock
=meteo.nc
=11
=3
=O

183 of 412

D-Flow Flexible Mesh, User Manual

Defined on a spiderweb grid

T

Cyclone winds can be imposed by means of a ‘spiderweb’-like polar grid. The origin typically coincides with the cyclone eye and can move in time. Spiderwebs can only be used in
combination with a spherical computational grid. The origin of the spiderweb should be given
as longitude (for xeye ) and latitude (for yeye ). The number of rows (discretisation in radial
direction) and the number of columns (discretisation in angular direction) should be given, as
well as the radius of the grid (in meters). The definition of the spiderweb grid is illustrated in
Figure 11.3.

DR
AF

11.2.5

Figure 11.3: Grid definition of the spiderweb grid for cyclone winds.

The files containing the spiderweb data and metadata have the extension <∗.spw>. They
consist of a global header containing properties that are not varying in time, followed by blocks
of data for subsequent time levels. Each of these data blocks is headed by a set of properties
for the corresponding time level. A detailed description of the spiderweb file format can be
found in section B.12.3.
Through the specified unit for atmospheric pressure in the file, it can be specified whether the
values should be interpreted as mbar (=hPa), instead of Pa, which is the default. Specifying
the spiderweb merge fraction β in spw_merge_frac allows for linear fading of wind speed
and pressure drop towards the outer rim. For a spiderweb with radius R, the weigth assigned
to the spiderweb wind and pressure at a radius r is given by (R − r)/βR for r between
(1 − β)R and R. The weight equals unity within the inner circle and zero beyond the outer
rim.

184 of 412

Deltares

Wind

Example
As an example, a spiderweb grid named  is present, providing the underlying coordinates of the wind data field. The input data, comprising the atmospheric pressure
drops, the wind velocity magnitudes (in [m/s]) and the wind directions (in [degN]), are given in
one single file (as is compulsory). The contents of the example -file is:

DR
AF

T

### Spiders web derived from TRACK file: gonu.trk
### This file is created by Deltares
### All text on a line behind the first # is parsed as commentary
### Additional commments
FileVersion
= 1.03
filetype
= meteo_on_spiderweb_grid
### Spiders web derived from TRACK file: gonu.trk
### This file is created by Deltares
### All text on a line behind the first # is parsed as commentary
### Additional commments
NODATA_value
= -1001
n_cols
= 4
n_rows
= 4
spw_radius
= 600000.0
spw_merge_frac
= 0.75
spw_rad_unit
= m
### END OF HEADER
TIME
= 340000.00
minutes since 2005-01-01 00:00:00 +00:00
x_spw_eye
= 265.00
y_spw_eye
=
33.00
p_drop_spw_eye
= 7000.000
5.000000 5.000000 5.000000 5.000000
10.000000 10.000000 10.000000 10.000000
15.000000 15.000000 15.000000 15.000000
20.000000 20.000000 20.000000 20.000000
270.00
0.00
90.00
180.00
270.00
0.00
90.00
180.00
270.00
0.00
90.00
180.00
270.00
0.00
90.00
180.00
4000.00
4000.00
4000.00
4000.00
3000.00
3000.00
3000.00
3000.00
2000.00
2000.00
2000.00
2000.00
1000.00
1000.00
1000.00
1000.00
TIME
= 380000.00
minutes since 2005-01-01 00:00:00 +00:00
x_spw_eye
= 275.00
y_spw_eye
=
18.00
p_drop_spw_eye
= 8000.000
5.000000 5.000000 5.000000 5.000000
10.000000 10.000000 10.000000 10.000000
15.000000 15.000000 15.000000 15.000000
20.000000 20.000000 20.000000 20.000000
270.00
0.00
90.00
180.00
270.00
0.00
90.00
180.00
270.00
0.00
90.00
180.00
270.00
0.00
90.00
180.00
4000.00
4000.00
4000.00
4000.00
3000.00
3000.00
3000.00
3000.00
2000.00
2000.00
2000.00
2000.00
1000.00
1000.00
1000.00
1000.00

Wind on a spiderweb grid has been provided a filetype specification as FILETYPE=5. The
connection with the flow model itself is laid through the external forcings file. The actual
specification of the wind is in this case:

Deltares

185 of 412

D-Flow Flexible Mesh , User Manual

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=airpressure_windx_windy
=spwsimple.spw
=5
=1
=O

Notice that METHOD=1 is chosen for wind on a spiderweb grid, instead of METHOD=2 in case
of wind on an equidistant grid and METHOD=3 in case of wind on a curvilinear grid.

=windxy
=spwsimple.spw
=5
=1
=O

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=airpressure
=spwsimple.spw
=5
=1
=O

DR
AF

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

T

Alternatively, the spiderweb wind and pressure can be specified in the external forcings file as
separate quantities referring to the same file (or specify one and omit the other):

(NB. There is a slight difference between both specifications regarding their effect on the flow.
The first approach requires an additional interpolation of wind on the velocity points, which in
some cases of coarse computational grids and small scale wind could introduce smoothing.)
11.2.6

Combination of several wind specifications

The combination of the various wind specification types can only be achieved if the QUANTITY
of the winds to be combined is the same, for instance QUANTITY=windx. The option
OPERAND=+ can be used to add a wind field to an existing wind field.
Example

If the uniform wind is to be combined with a wind specified on an equidistant grid, then the
wind field could be assigned in the external forcings file as follows:

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=windx
=windxdir.wnd
=1
=1
=O

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=windy
=windydir.wnd
=1
=1
=O

186 of 412

Deltares

Wind

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=windx
=windxdir.amu
=4
=2
=+

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=windy
=windydir.amv
=4
=2
=+

DR
AF

QUANTITY=windxy
FILENAME=uni.tim
FILETYPE=2
METHOD=1
OPERAND=O

T

The same is possible for e.g. a uniform wind and two spiderweb cyclones:

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=windxy
=spwsimple.spw
=5
=1
=+

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=windxy
=spwsimple2.spw
=5
=1
=+

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=atmosphericpressure
=spwsimple.spw
=5
=1
=+

QUANTITY
FILENAME
FILETYPE
METHOD
OPERAND

=atmosphericpressure
=spwsimple2.spw
=5
=1
=+

In the above example, the wind is first prescribed as a spatially uniform time-varying field,
onto which the spiderweb winds are added Note that the uniform wind has the ‘O’ operand,
which means that it overrides rather than adds. However, since the default wind is zero, one
might just as well have used the ‘+’ operand. If the spiderweb merge fraction is specified
in the spiderweb file, a gradual transition between the spiderweb wind and the background
wind is applied using the linearly varying weight as described above. The same is done for
atmospheric pressure, if specified except that pressure is added to, whereas wind is averaged
with the background values. Without any input, the background atmospheric pressure is set
to PavBnd in the section [wind] in the MDU-file, if present and zero otherwise.

Deltares

187 of 412

D-Flow Flexible Mesh, User Manual

Masking of points in the wind grid from interpolation (‘land-sea mask’)
A mask can be supplied by the user to prevent selected points in the wind grid from contributing to the wind interpolation on velocity points, e.g. to exclude land points. This feature was
included to conform to SIMONA and therefore implemented in the same way.
For each individual grid point for which to interpolate from the wind grid:

 Masked wind points are excluded from the interpolation.
 The total of the weight factors for the remaining wind points is determined.
 If this total falls below 1E-03, the mask is ignored and the original bilinear weights are
used.

 Otherwise, the weights for the remaining wind points are normalised again.

Specification and format of the mask file

T

The effect of the mask, when applied as a land-sea mask, is that for velocity points close
to shore the interpolated wind is no longer influenced by the wind over land (which would
otherwise yield a zone of points with reduced wind near the shore).

DR
AF

11.3

The name of the mask file, if any, is specified in the <.ext> file, labelled SOURCEMASK,
directly following the FILENAME specification, e.g.:

QUANTITY
FILENAME
SOURCEMASK
FILETYPE
METHOD
OPERAND

=windxy
=meteo.wxwy
=meteo_mask.asc
=6
=3
=O

The mask file itself has the same layout as the wind file, though the number of required header
fields is reduced, e.g.:

FileVersion
.
.

=

1.03

unit1
### END
1
1
1
1

=

Pa

OF HEADER
1
1
1
1
1
1
1
0

1
0
0
0

1
0
0
0

The lines in the header are ignored. The number of columns and rows in the matrix of ones
and zeros should match those of a block (for a single variable and a single timestep) in the
meteo files. Zeros signify the position of rejected points (and ones those of the accepted
points) in the wind grid.

188 of 412

Deltares

12 Hydraulic structures
12.1

Introduction
Obstacles in the flow may generate sudden transitions from flow contraction to flow expansion.
The grid resolution is often low compared to the gradients of the water level, the velocity
and the bathymetry. The hydrostatic pressure assumption may locally be invalid. Examples
of these obstacles in civil engineering are: gates, barriers, dams, groynes and weirs. The
obstacles generate energy losses and may change the direction of the flow.

T

The forces due to obstacles in the flow which are not resolved (sub-grid) on the horizontal grid,
should be parameterised. The obstacles are denoted in D-Flow FM as hydraulic structures.
In the numerical model the hydraulic structures should be located at velocity points of the
grid. The direction of the forces should be specified at input. To model the force on the flow
generated by a hydraulic structure, a quadratic energy or linear loss term is added to the
momentum equation.

12.2

DR
AF

Note: Structure definitions can be made in Delta Shell, and will then be saved into a structures <∗.ini>-file (section B.11).
Structures

The user can insert the hydraulic structures by the means of polygons on the grid. By selecting the required structure and drawing a polygon on the computational grid, the location of
structure can be defined (see Figure 12.1). The supported structures in D-Flow FM are







Fixed Weirs
(Adjustable) weirs
Gates
Pumps
Thin dams

In practice, the word ’barrier’ is often used for structures. However, in D-Flow FM such structures are modelled as a gate or a weir in combination with a so-called Control Group (D-Real
Time Control model).

Figure 12.1: Selection of structures (and other items) in the toolbar.

Deltares

189 of 412

D-Flow Flexible Mesh, User Manual

12.2.1

Fixed weirs
In D-Flow FM, a fixed weir is a fixed non-movable construction generating energy losses due
to constriction of the flow. They are commonly used to model sudden changes in depth (roads,
summer dikes) and groynes in numerical simulations of rivers. Such structures are applied
to keep the river in its bed for navigation purposes. Others are built, for instance, to protect
an area behind a tidal weir from salt intrusion. Upstream of a weir the flow is accelerated
due to contraction and downstream the flow is decelerated due to expansion. The expansion
introduces an important energy loss due to turbulence. The energy loss is dependent on the
shape of the weir and its crest level.
Weirs are located in D-Flow FM on the velocity points of the computational grids. For a
description of the input of weirs, we refer you to section 4.4.2.9.

12.2.2

DR
AF

T

In D-Flow FM, two different approaches are applied to simulate the energy losses by fixed
weirs. First of all, a numerical approach has been implemented. Then, a special discretization
of the advective terms around the fixed weir is applied. For a detailed description we refer to
D-Flow FM TRM (2015, section 6.7.1–6.7.4). Next to the numerical approach, there is an
emperical approach. Based on measurements in flume laboratories empirical formulae can
be derived in order to match the measurements as accurately as possible. In this empirical
approach, the energy loss due to a weir is described by the loss of energy height ([m]). The
energy loss in the direction perpendicular to the weir is denoted as ∆E . This energy loss is
added as an opposing force in the momentum equation by adding a term −g∆E/∆x to the
right hand side of the momentum equation, resulting in a jump in the water levels by ∆E at
the location of the weir. For the computation fo the energy loss ∆E two options are availabe
in D-Flow FM, namely the so-called ’Tabellenboek’ and ’Villemonte’ approaches. The two
corresponding empirical formulas have been taken from the Simona software suite. For a
detailed description of both formulas we refer to D-Flow FM TRM (2015, section 6.7.5–6.7.6).
In this empirical approach the discretization of the advective terms does not change, unlike
the numerical approach in D-Flow FM for modelling fixed weirs.
(adjustable) Weirs

Unlike the fixed weir (with fixed crest level), an adjustable weir has geometric parameters that
can be adjusted in time. The controllable weirs, which are called weirs or gates in D-Flow FM,
are weirs which can be controlled with a predefined time series or get controlled based on
the water level or other conditions. Two type of weirs are possible in D-Flow FM, namely a
so-called simple weir and a general structure. In case of a simple weir only a crest level and
a contraction coefficient can be specified, which is shown in Figure 12.2.

Figure 12.2: Input for simple weir

190 of 412

Deltares

Hydraulic structures

DR
AF

T

The general structure gives more freedom in defining the dimensions and the geometry of
the hydraulic structure. The geometrical shape is given in Figure 12.3 and Figure 12.4. The
discharge through a general structure is computed on basis of upstream and downstream
energy levels.

Figure 12.3: General structure, side view

Figure 12.4: General structure, top view

In the GUI of D-Flow FM the coefficients of a general structure can be set as shown in Figure 12.5. Flow across the general structure can be of the following types: drowned weir flow,
free weir flow, drowned gate flow, and free gate flow, depending on the dimensions of the
structure and the flow conditions. Whether or not the gate is in the flow or above the flow
yields either submerged or free flow. Furthermore, the flow can be either subcritical or critical. Both for incoming flow ("Flow") which represents flood and for outgoing flow ("Reverse")
which represents ebb, contraction coefficients can be specified. This can be seen as tuning
parameters for the user.
In Figure 12.5 the geometric parameters of a weir can be specified. The five values for the
width (Upstream 1, Upstream 2, Crest, Downstream 1 and Downstream 2) coincide with the
five width parameters in Figure 12.4, which are W1 , Wsdl , Ws , Wsdr and W2 , respectively.
Similarly, the five values for the level correspond with Zb1 , Zbsl , Zbs , Zbsr and Zb2 in Figure 12.3.

Deltares

191 of 412

D-Flow Flexible Mesh, User Manual

T

Figure 12.5: Input for a general structure

DR
AF

The structure parameters for a (adjustable) weir can be defined via the  file:

type
= weir
id
= weir02
polylinefile
= weir02.pli
crest_level
= weir02_crest_level.tim
lat_cont_coeff = 1

12.2.3

Gates

Constructions which partially block the horizontal flow can be modelled as so-called "gates".
Its horizontal and vertical position can be specified. Upstream of the gate the flow is accelerated due to contraction and downstream the flow is decelerated due to expansion. A
gate may include two type of openings, namely, in horizontal and in vertical directions. In
two-dimensional simulations, the vertical effect is parameterized by a quadratic energy loss
term.
The horizontal effect are mimicked by setting the velocities of the computational faces (at position of the gate) to zero. This generates structure of the horizontal flow around the gate which
is more realistic. There is no transport of salt or sediment through the blocked computational
faces of a gate. The width of a gate is assumed to be zero, so it has no influence on the water
volume.
In D-Flow FM the gates can be imposed by polygons, and can be edited in a similar way as
the other structures. For more details on gates in Delta Shell, we refer you to section 4.4.2.10.
In Figure 12.6 the geometric parameters of a gate are shown.

192 of 412

Deltares

Hydraulic structures

T

Figure 12.6: Input for a gate

DR
AF

The structure of the input file for the gates is as follows:

type
id
polylinefile
lower_edge_level
opening_width
sill_level
door_height
horizontal_opening_direction

12.2.4

=
=
=
=
=
=
=
=

gate
gate01
gate01.pli
15
gate01_opening_width.tim
7
5
symmetric

Pumps

Pumps are another type of structures in D-Flow FM. Unlike the other structures, a pump can
force the flow only on one direction. However, pumps can be defined by polygons, like all
other structures in D-Flow FM.
The pump includes specific capacity, and pumps the water by its capacity, as long as the
water level is sufficient. In the case, the water level is lower than a required value, pump will
not pump any flow, despite of their capacity. The structure of the input file for the pumps is as
follows:

type
id
polylinefile
capacity
start_level_delivery_side
stop_level_delivery_side
start_level_suction_side
stop_level_suction_side
reduction_factor_no_levels

Deltares

=
=
=
=
=
=
=
=
=

pump
pump01
pump01.pli
pump01_capacity.tim
0
0
3
2
0

193 of 412

D-Flow Flexible Mesh, User Manual

Thin dams

T

Thin dams are similar to fixed weirs. The only difference between the thin dams and fixed
weirs are in their crest levels. Thin dams, in principle, include infinitely high crest levels and
hence, they do not allow water flux. Similar to the other structures, the thin dams can be
selected from the toolbar and drawn by a polygon. D-Flow FM adjusts the polygon to the
nearest velocity points. The input data for a thin dam is identical to those for fixed-weir, except
for the crest level.

DR
AF

12.2.5

194 of 412

Deltares

13 Bedforms and vegetation

13.1

Bedform heights

T

The terrain and vegetation exert shear stresses on the passing flow. The magnitude of the
shear stress of the bed is often characterised by means of roughness coefficient of type
Chézy, Manning or White-Colebrook. Within the main stream flow the shear stresses are
largely determined by the local conditions of the alluvial bed (bed composition and bedform
characteristics). In other areas, such the floodplains of rivers and in the intertidal areas of
estuaries, the flow resistance is determined by a combination of vegetation and an alluvial
bedforms or even a non-alluvial bed. To accurately represent such conditions in the numerical
model, D-Flow FM has been extended with a vegetation model. Another related feature known
from Delft3D-FLOW is the bedform roughness predictors; these are not available in D-Flow FM
yet. These types of flow resistance may be resolved in a 2D numerical model using the
trachytope approach (see section 13.2).

13.2

DR
AF

The dune height and Van Rijn (2007) bedform roughness predictors, known from Delft3DFLOW, are not available yet in D-Flow FM. They will be in an upcoming release.
Trachytopes

This functionality allows you to specify the bed roughness and flow resistance on a sub-grid
level by defining and using various land use or roughness/resistance classes, further referred
to as trachytopes after the Greek word τραχύτ ης for roughness. The input parameters and
files to use the trachytopes functionality are described in section B.6.
At every time step (or less frequent as requested by the user) the trachytopes are converted
into a representative bed roughness C , k or n and optional linear flow resistance coefficient
λ per velocity point with index j .

1
M = − λj uj |uj |
2

(13.1)

To save computational time the user may choose to update the computed bed roughness and
resistance coefficients less frequently than every time step. See section B.6 for a description
of the keywords and input files associated with this feature.
The following two sections describe the various classes of trachytopes distinguished and the
way in which they are combined, respectively.
13.2.1

Trachytope classes

Three base classes of trachytopes are distinguished: area classes, line classes and point
classes. The area classes (type range 51–200) basically cover the whole area, therefore,
they are generally the dominant roughness factor. The line classes (type range 201–250)
may be used to represent hedges and similar flow resistance elements; it will add anisotropy
to the roughness field. The point class (type range 251–300) represents a set of point flow
resistance elements. The next six sections provide an overview of the various trachytope
formulae implemented.
Special classes (1–50)
In addition to the three base classes two special trachytope classes have been defined: a flood
protected area and a composite trachytope class. The first class represents a sub-grid area

Deltares

195 of 412

D-Flow Flexible Mesh, User Manual

that is protected from flooding and thus does not contribute to the bed roughness; however,
the effect on the flow resistance should be taken into account. The second class can be used
to make derived trachytope classes that are a combination of two other trachytopes: an area
fraction α of trachytope type T1 and an area fraction β (often equal to 1 − α) of trachytope
type T2 .
FormNr

Name

Formula

Special classes (1–50)
flood protected area

area fraction shows up as fb in Eqs. (13.53)
and (13.56)

2

composite trachytope

fraction α of type T1 and fraction β (generally
β = 1 − α) of type T2

T

1

Area trachytope classes (51–200)

DR
AF

The class of area trachytopes is subdivided into three types: simple (51–100), alluvial (101–
150) and vegetation (151–200). Four simple area trachytopes have been implemented representing the four standard roughness types of flow module.
FormNr

Name

Formula

51
52
53
54

White-Colebrook value
Chézy value
Manning value
z0 value

k
C √
C = 6 h/n
k = 30z0

Six alluvial trachytopes have been implemented.
FormNr

Name

Formula

101
102
103
104
105
106

simplified Van Rijn
power relation
Van Rijn (1984c)
Struiksma
bedforms quadratic
bedforms linear

Equation (13.2)
Equation (13.3)
Equations (13.4) to (13.12)
Equations (13.13) to (13.16)
Equation (13.17)
Equation (13.18)

The first alluvial roughness formula is a simplified version of the Van Rijn (1984c) alluvial
roughness predictor

h
i
−0.3
k = Ah0.7 1 − e−Bh

(13.2)

it is obtained from Equation (13.4) by noting that hb ∝ h0.7 and Lb ∝ h and ignoring the
grain related roughness. The parameters A and B can be calibrated by the user. The second
formula implemented is a straightforward general power law

C = AhB

196 of 412

(13.3)

Deltares

Bedforms and vegetation

where A and B are calibration coefficients. The Van Rijn (1984c) alluvial roughness predictor
reads

k = k90 + 1.1hb 1 − e−25hb /Lb



(13.4)

where the bedform height hb and length Lb are given by


hb = 0.11h

D50
h

0.3


1 − e−T /2 (25 − T )

Lb = 7.3h

(13.5)
(13.6)

T =

u0 2∗ − u2∗,cr
u2∗,cr

where u0 ∗ is the bed shear velocity given by
2

DR
AF

2
u0 ∗ = gu2 /Cg,90

T

where h is the local water depth and the transport stage parameter T is given by
(13.7)

(13.8)

where

Cg,90 = 18 10 log(12h/k90 ) and k90 = 3D90

(13.9)

and u∗,cr is the critical bed shear velocity according Shields given by

u2∗,cr = g∆D50 θc

given


0.24/D∗



 0.14D∗−0.64
0.04D∗−0.10
θc =

0.29


 0.013D∗
0.055

if D∗ ≤ 4
if 4 < D∗ ≤ 10
if 10 < D∗ ≤ 20
if 20 < D∗ ≤ 150
if 150 < D∗

(13.10)

(13.11)

where



D∗ = D50

g∆
ν2

1/3

(13.12)

This predictor does not contain any calibration coefficients but requires D50 and D90 data
from the morphology module. It does not include the advective and relaxation behaviour that
is available by explicitly simulating the dune height as described in section 13.1 combined with
trachytope number 106.
The second alluvial roughness predictor proposed by (Struiksma, pers. comm.) allows for a
lot of adjustments, it reads

1
1
1
= (1 − ξ) 2 + ξ 2
2
C
C90
Cmin

(13.13)

C90 = A1 10 log(A2 h/D90 )

(13.14)

where

Deltares

197 of 412

D-Flow Flexible Mesh, User Manual

and
2
− θc θg
max(0, θg − θc ) θm
ξ=
θm − θc
(θm − θc )θg

(13.15)

which varies from 0 at θg ≤ θc to 1 at θg = θm where

θg =

u2
2
∆D50
C90

(13.16)

and A1 , A2 , θc , θm , Cmin are coefficients that the user needs to specify. This formula requires
also D50 and D90 data from the morphology module. The fifth formula is based on Van Rijn
(2007) and reads

T

q
h
2
2 + k2
k = min( ks,r
s,mr + ks,d , )
2

(13.17)

DR
AF

It uses the roughness heights of ripples kr , mega-ripples kmr and dunes kd . These formulae
depend on sediment properties D50 and D90 data which may be either specified as part of
the roughness type or obtained from the morphology module. The sixth formula is similar, but
uses a linear addition

h
k = min(ks,r + ks,mr + ks,d , )
2

(13.18)

Four vegetation based area trachytopes have been implemented. Two formulae (referred to
as ‘Barneveld’) are based on the work by Klopstra et al. (1996, 1997) and two on the work by
Baptist (2005).
FormNr

Name

Formula

151
152
153
154

Barneveld 1
Barneveld 2
Baptist 1
Baptist 2

Eqs. (13.19) – (13.28), CD = 1.65
Eqs. (13.19) – (13.25), (13.29) – (13.31)
Eqs. (13.32) and (13.33)
Eqs. (13.34), (13.36) and (13.37)

The formula by Klopstra et al. (1997) reads







1 
C = 3/2
h 






√2
2A

q

p
√
2
2
h
2A
v
C3 e
+ uv0 − C3 + uv0 +
√

√
√
( C3 ehv 2A +u2v0 −uv0 )( C3 +u2v0 +uv0 )
u
v0
√
√
ln √ h √2A 2
+
2A
( C3 e v
+uv0 +uv0 )( C3 +u2v0 −uv0 )
√



 

g(h−(hv −a))
h−(hv −a)
a
(h
−
(h
−
a))
ln
−
a
ln
−
(h
−
h
)
v
v
κ
z0
z0
(13.19)

where

A=

C3 =

198 of 412

nCD
2α
2g(h − hv )
√
√
α 2A(ehv 2A + e−hv 2A )
√

(13.20)

(13.21)

Deltares















Bedforms and vegetation

1+

q
1+

a=

4E12 κ2 (h−hv )
g

(13.22)

2E12 κ2
g

and

z0 = ae−F

(13.23)

where
√
√
2AC3 ehv 2A
E1 = q
√
2 C3 ehv 2A + u2v0

DR
AF

q
√
κ C3 ehv 2A + u2v0
F = p
g(h − (hv − a))

T

and

(13.24)

(13.25)

Here, h is the water depth, hv is the vegetation height, and n = mD where m is the number
of stems per square metre and D is the stem diameter. For the first implementation the
parameter α in Equation (13.21) is given by

p
α = max(0.001, 0.01 hhv )

and the velocity within the vegetation is approximated by uv0

u2v0 =

√

(13.26)

i where

2g
CD n

(13.27)

and i is the water level gradient. For emerged vegetation the first implementation reads

1
CD nh
=
2
C
2g

(13.28)

The second implementation of Klopstra et al. (1996) is based on a modification by Van Velzen
et al. (2003); it is identical except for the following modifications to Eqs. (13.26) – (13.28). The
main difference between the two implementations is the inclusion of the roughness Cb of the
bed itself (without vegetation). The parameter α in Equation (13.21) is now given by

α = 0.0227h0.7
v

(13.29)

and the velocity within the vegetation is approximated by uv0

u2v0 =

hv
+

CD hv n
2g

1
Cb2

√
i where
(13.30)

and i is the water level gradient. For emerged vegetation the second implementation reads

1
CD nh
1
=
+
C2
2g
Cb2
Deltares

(13.31)

199 of 412

D-Flow Flexible Mesh, User Manual

For large values of Cb the latter two equations simplify to the corresponding equations of the
first implementation. The first implementation requires vegetation height hv and density n
as input parameters (the drag coefficient CD is equal to 1.65); for second implementation
you’ll also need to specify the drag coefficient CD and the alluvial bed roughness kb (Cb in
Equation (13.31) is computed as 18 10 log(12h/kb )).
The first implementation of the roughness predictor by Baptist (Baptist, 2005) reads for the
case of submerged vegetation

C=q

1
1
Cb2

+

CD nhv
2g

√
g
h
ln( )
+
κ
hv

(13.32)

1
1
Cb2

+

CD nh
2g

DR
AF

C=q

T

where n is the vegetation density (n = mD where m is the number of stems per square
metre and D is the stem diameter). The second term goes to zero at the transition from
submerged to emerged vegetation. At that transition the formula changes into the formula for
non-submerged vegetation which reads
(13.33)

which is identical to the non-submerged case of the second implementation of the work by
Klopstra et al. (1996) (see Equation (13.31)).
The drawback of the three vegetation based formulations above is that they parameterize the
flow resistance by means of the bed roughness. Consequently, the presence of vegetation
will lead to a higher bed roughness and thus to a higher bed shear stress and larger sediment
transport rates in case of morphological computations. Therefore, we have included a − λ2 u2
term in the momentum equation where λ represents the flow resistance of the vegetation. For
the case of non-submerged vegetation h < hv the flow resistance and bed roughness are
strictly separated

C = Cb

and

λ = CD n

(13.34)

In the case of submerged vegetation h > hv the two terms can’t be split in an equally clean
manner. However, we can split the terms such that the bed shear stress computed using
the depth averaged velocity u and the net bed roughness C equals the bed shear stress
computed using the velocity uv within the vegetation layer and the real bed roughness Cb .

u2v
u2
=
C2
Cb2

(13.35)

With this additional requirement we can rewrite Equation (13.32) as

√
C = Cb +

s

g
h
CD nhv Cb2
ln( ) 1 +
κ
hv
2g

(13.36)

and

λ = CD n

hv Cb2
h C2

(13.37)

which simplify to Equation (13.34) for h = hv . Both formulae by Baptist require vegetation
height hv , density n, drag coefficient CD and alluvial bed roughness Cb as input parameters.

200 of 412

Deltares

Bedforms and vegetation

Linear trachytope classes (201–250)
Two formulae have been implemented for linear trachytopes such as hedges or bridge piers.
FormNr

Name

Formula

201
202

hedges 1
hedges 2

Eqs. (13.38) to (13.40)
Eqs. (13.41) to (13.43)

The first implementation reads

1
h Lhedge 1 − µ2
=
C2
2g Wcell Lcell µ2

(13.38)

DR
AF

T

where Lhedge is the projected length of the hedge, Wcell and Lcell are the width and length
of the grid cell. The ratio Lhedge /Wcell may be interpreted as the number of hedges that the
flow encounters per unit width. The second ratio is thus the inverse of the average distance
between these hedges within the grid cell. The last term may be loosely referred to as the
drag of the hedge, which is determined by the hedge pass factor µ given by



µ = 1 + 0.175n


h
−2
hv

(13.39)

if the hedge extends above the water level (hv > h) and is given by



µ = 1 − 0.175n

h
hv



(13.40)

if the hedge is fully submerged (h > hv ) where n is a dimensionless hedge density. The
second implementation reads

CD nLhedge h
1
=
2
C
2gLcell Wcell

(13.41)

or equivalently

s

C=

2gLcell Wcell
hLhedge

r



1

CD n

(13.42)

for non-submerged conditions and

s

C=



2gLcell Wcell  hv
hLhedge
h

r

1

CD n

v
u
u
+ m0 t



1



h−hv 2
h
 
h−hv 2
− h

(13.43)

for submerged conditions. We recognize the same ratio Lcell Wcell /Lhedge that represents
the average distance between hedges. Equation (13.41) can be directly compared to similar
equations for area trachytopes (Equation (13.28)), point trachytopes (Equation (13.44)). Note
that the formula for computing the loss coefficient for a bridge explicitly includes the reduction
in the flow area and the resulting increase in the effective flow velocity, whereas the above
mentioned trachytope formulae don’t.

Deltares

201 of 412

D-Flow Flexible Mesh, User Manual

Point trachytope classes: various (251–300)
One formula for point trachytopes has been implemented. It may be used to represent groups
of individual trees or on a smaller scale plants.
FormNr

Name

Formula

251

trees

Eqn. (13.44)

The implemented formula reads

s
C=

2g
CD n min(hv , h)

(13.44)

13.2.2

DR
AF

T

where n = mD with m the number of trees per unit area and D the characteristic tree
diameter, hv is the vegetation height and h is the local water depth. The formula is identical
to Equation (13.33) except for the fact that the point trachytope formula has no bed roughness
and area associated with it. The generalization of Equation (13.44) to the submerged case
(h > hv ) lacks the extra term in Equation (13.32).
Averaging and accumulation of trachytopes

Point and linear roughnesses are accumulated by summing the inverse of the squared Chézy
values Ci .

X 1
1
=
2
2
Cpnt
Cpnt,i
i
X 1
1
=
2
2
Clin
Clin,i
i

(13.45)

(13.46)

The area roughnesses are accumulated weighted by the surface area fraction fi . These
roughnesses are accumulated as White-Colebrook roughness values and as Chézy values;
for the latter values both the linear sum (“parallel”) and the sum of inverse of squared values
(“serial”) are computed. Roughness values are converted into each other as needed based
on the local water depth.

karea =

X

fi ki

(13.47)

i

1

=

X

Carea,p =

X

2
Carea,s

i

fi

1
Ci2

fi C i

(13.48)
(13.49)

i

For the fraction of the grid cell area for which no roughness class is specified the default
roughness is used.
The flow resistance coefficients are also accumulated proportionally to the surface area fraction fi associated with the trachytope considered. For the fraction of the grid cell area for
which no flow resistance is specified, obviously none is used.

λ=

X

f i λi

(13.50)

i

202 of 412

Deltares

Bedforms and vegetation

The final effective bed roughness of the grid cell may be computed by either one of the following two methods.
Method 1
The total mean roughness is computed by summing the White-Colebrook values for the areas
and line and point resistance features.

km = karea + klin + kpnt

(13.51)

DR
AF

fb = max(min(0.843, fb ), 0.014)

p 
Ctotal = Cm 1.12 − 0.25fb − 0.99 fb

T

where klin = 12h10−Clin /18 and kpnt = 12h10−Cpnt /18 . The effect of the water free
area fraction fb is taken into account by means of the following empirical relation in which
Cm = 18 10 log(12h/km ) is the mean Chézy value corresponding to the total mean WhiteColebrook roughness value obtained from Equation (13.51).
(13.52)
(13.53)

The resulting Ctotal value is used in the computation. This method together with trachytope
classes 1, 51, 101, 151 and 201 corresponds to the NIKURADSE option of the WAQUA/TRIWAQ flow solver.
Method 2

The total roughness is computed by first averaging over the serial and parallel averages of the
Chézy values according

Carea = αs Carea,s + (1 − αs )Carea,p

(13.54)

where αs = 0.6 by default. Subsequenty the effect of the water free area fraction fb is
taken into account by means of the following empirical relation (identical to Equation (13.53)
of method 1).

fb = max(min(0.843, fb ), 0.014)

p 
Carea,corr =Carea 1.12 − 0.25fb − 0.99 fb

(13.55)
(13.56)

Finally the Chézy value representing the total bed roughness is computed by accumulating
the inverses of the squared Chézy values.

1

2
Ctotal

=

1

2
Carea,corr

+

1
1
+ 2
2
Clin
Cpnt

(13.57)

The resulting Ctotal value is used in the computation. This method together with trachytope
classes 1, 51, 52, 53, 101, 152, 202 and 251 corresponds to the ROUGHCOMBINATION
option of the WAQUA/TRIWAQ flow solver.
13.3

(Rigid) three-dimensional vegetation model
The (rigid) 3D Vegetation model (Winterwerp and Uittenbogaard (1997)), as known from
Delft3D-FLOW, is not available yet in D-Flow FM.

Deltares

203 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

204 of 412

Deltares

14 Calibration factor
The current chapter explains the effect of the calibration factor. The calibration factor is multiplier of the roughness. The calibration factor may be constant, discharge- or water-leveldependent. By assigning different areas to different calibration classes, each region can be
independently calibrated. Calibration roughness definitions can also be combined by assigning multiple field definitions and a weighting for each gridcell edge (net link). This approach
allows thus both abrupt and gradual transitions and the modeller can control how the calibration factor is going to be used. The approach is similar to the roughness and link definitions
used in the trachytopes module for alluivial- and bedform-roughness (see chapter 13).
The calibration factor is defined by means of two files (see section B.8):

 Calibration factor definition file (CLD-file). This file defines the calibration factor (e.g. con-

T

stant, water-level- or discharge dependent).
 Calibration factor area file (CLL-file). This file associates calibration factor defintions with
the edges of the model grid and include a relative weighting.

DR
AF

The resulting weighted calibration factor is multiplied by the roughness type as expressed by
the UnifFrictCoef keyword in the [physics] section in the .mdu file (see Appendix A).
This implies that the effect of the calibration will be different depending on the definition of
UnifFrictCoef. For example, if the UnifFrictCoef=0 (i.e. Chézy) a local calibration
factor of 0.5 will imply an increase of the bed shear stress, whereas if UnifFrictCoef=2
(i.e. White-Colebrook) a reduction of the bed shear stress may be expected. A background
calibration factor equal to one is applied if the sum of the weights at a single link is lower than
one.
The calibration factor approach cannot be combined with multiple roughness types as specified through the external forcing file. This will lead to an error. Such a spatial variation in the
roughness can be achieved by defining these areas through the trachytopes module.
It is good to be aware of the following known differences with the trachytopes module:

 The weighting of the calibration factors is done for all entries in the calibration area defintion file. Averaging for the trachytopes area file is only done for the last sequence of
trachytope area defintions at one and the same location.
 When a calibration factor definition is imposed at a location outside of the grid, and this
calibration factor definition depends on a water level station or cross-section which is also
outside of the domain, the model crashes, however the trachytopes module allows this.

Deltares

205 of 412

DR
AF

T

D-Flow Flexible Mesh, User Manual

206 of 412

Deltares

15 Coupling with D-Waves (SWAN)
This chapter is on the coupling of hydrodynamics and waves. Full documentation on D-Waves
is available in its own User Manual; this chapter is limited to the details of running coupled
flow-wave models, and the physical interaction processes between the two of them.
Getting started
The Delta Shell framework implements the concept of an Integrated model in order to couple
different models, such as: hydrodynamics coupled with the controlling of structures, waves,
morphology and/or water quality.

T

Two types of coupling are distinguished: offline and online coupling. In case of an Integrated
model with offline coupling, the entire hydrodynamic simulation is done first, i.e., separately
from the second simulation. The file-based hydrodynamic output serves as input for the second simulation. As such, the hydrodynamic flow drives the controlling of structures or the
simulation of waves or water quality. In this case there is no feedback on the hydrodynamic
simulation. For many applications, this is good practice.
An online coupling, on the other hand, exchanges data every time after computing a specified
time interval. This tight coupling allows for direct feedback of the various processes on one
another. This is crucial for controlling structures.

DR
AF

15.1

Note: Offline is also referred to as sequential coupling and online as parallel coupling.
With respect to waves, offline and online results into:

1 offline: First, a separate D-Waves computation is executed, resulting in a communication
file (com-file) containing wave data. Then a D-Flow FM computation is executed, using
the wave data from the com-file.
2 online: D-Flow FM computations are alternated with D-Waves calculations. D-Flow FM
writes flow data to the com-file, D-Waves uses this flow data for the wave calculation and
writes wave data to the com-file. D-Flow FM uses the updated wave data.
Both modes are started by executing DIMR with a  file as argument. This
file prescribes the mode and when the D-Flow FM computation should be paused to perform
a D-Waves calculation. From within the working directory, the following run-scripts in the
installation directory can be called:

 On Windows:

 On Linux:

 On Windows, a computation with D-Flow FM in parallel using MPI:

 On Linux, submitting a job on the Deltares cluster (sequential and parallel):

This script can be used for clusters outside Deltares too, but system specific modifications
will be needed.
See the DIMR documentation for more information.

Deltares

207 of 412

D-Flow Flexible Mesh, User Manual

15.1.1

Input D-Flow FM
Optionally add the following lines to the .mdu file:

[numerics]
Epshu

= 0.05 # Input for threshold water depth for wet and dry cells

[waves]
Wavemodelnr

= 3

Rouwav
Gammax

= FR84
= 0.5 # Maximum wave height/water depth ratio

# Wave model nr, 0=no, 1=fetch/depth limited hurdlestive,
2=youngverhagen, 3 = D-Waves, 4=wave group forcing

T

[output]
EulerVelocities = 1
# 0 (default): GLM, 1: Euler.
Only relevant when using waves

Description:

Rouwav

EulerVelocities

Epshu

Gammax

15.1.2

Key switch to enable wave modelling. Use “3” for wave data from
D-Waves (online or offline) and passing hydrodynamic data to DWaves (online only). A file will be generated automatically named
<”runid”_com.nc> to exchange data.
Necessary to include bed shear-stress enhancement by waves. See
also Delft3D-FLOW manual.
Optional flag to write Eulerian velocities to the D-Flow FM map file.
Currently, only Eulerian values will be written for the cell centre velocity x-component and y-component (parameters ucx and ucy). Check
that the ”long_name” contains the word ”Eulerian”.
Optionally overwrite the default value of “1.0e-4”. Depending on your
model, the default value of Epshu in combination with modelling
waves may lead to huge local velocities near (almost) dry points.
This will result in very small time steps. Increasing Epshu might be
a reasonable workaround.
Optionally overwrite the default value of “1.0”. Depending on your
model, the default value of Gammax may lead to huge local velocities in shallow water. Decreasing Gammax might be a reasonable
workaround.

DR
AF

Wavemodelnr

Input D-Waves

Optionally add the following lines to the .mdw file:

[Output]
MapWriteNetCDF
COMFile
NetCDFSinglePrecision
locationFile
writeTable

=
=
=
=
=

true
../fm/dflowfmoutput/fff_com.nc
false
../fm/loo_obs.xyn
true

Description:

208 of 412

Deltares

Coupling with D-Waves (SWAN)

Default value “false”, resulting in no output written in NetCDF format. The coupling with D-Flow FM is only implemented for NetCDF
format, so this flag must be set to “true” when being coupled with
D-Flow FM.
COMFile
Necessary reference to the file being used to communicate data to
and from D-Flow FM. The name must exactly match with the name
of the com-file being generated by D-Flow FM.
NetCDFSinglePrecision Optional flag to write data in single precision instead of double
precision. Default value is “false”. Might be useful to decrease the
size of the com-file or to compare with a Delft3D-FLOW computation.
locationFile
Optional reference to observation points in D-Flow FM. When in
combination with the “writeTable” flag, D-Waves will produce a history file in NetCDF format for these observation points.
writeTable
Optional flag to force SWAN to produce an output file in table format
for each set of locations specified in a locationFile. Default value is
“false”.
Input dimr

Both D-Flow FM and D-Waves are used as dynamic libraries (DLL’s on Windows, so’s on
Linux). DIMR is a small executable steering both dynamic libraries. Its input file, usually
called “dimr_config.xml”, looks like this:

DR
AF

15.1.3

T

MapWriteNetCDF




1.00
Deltares, Coupling team
2015-05-20T07:56:32+01


















dflowfm
0 1 2
DFM_COMM_DFMWORLD
fm
weirtimeseries.mdu


wave
0
wave


Deltares

209 of 412

D-Flow Flexible Mesh, User Manual

weir.mdw


RTCTools_BMI
0
rtc

.


DR
AF

T


myNameDFlowFM
myNameRTC

observations/Upstream/water_level
input_ObservationPoint01_water_level



myNameRTC
myNameDFlowFM

output_weir_crest_level
weirs/weir01/crest_level




Description:


Specifies the workflow of the deltaresHydro executable. It indicates which components are started in which order. If the data transfer is to be arranged by
the main program dimr, then a coupler should be included. The main  block is a sequential block; this means that each component is initialized,
time stepped, and finalized before the next component starts. For each component/coupler listed inside the  block there will be a corresponding
component/ coupler specification block defined below.
 Within a  tag the components are started concurrently (if the mpi process ids listed per component don’t overlap) or executed synchronously in sequence (first all initialize, then time stepping, and to conclude all finalization
calls). The order of the components is retained.

A  block contains exactly one  component, defining the start
and end time of the simulation. This is the component inside the  block
with the smallest time step and can be denoted as the ”master-component”. All
other components must be defined with a  and can be denoted as
a ”slave-component”.
 A  should be used if a component (possibly including couplers)
should only be executed at a subset of simulation time steps.

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 436
Page Mode                       : UseOutlines
Author                          : Deltares
Title                           : D-Flow Flexible Mesh User Manual
Subject                         : 
Creator                         : LaTeX with hyperref package
Producer                        : pdfTeX-1.40.18
Keywords                        : Deltares, User, Manual, D-Flow, Flexible, Mesh
Create Date                     : 2018:04:18 05:49:18+02:00
Modify Date                     : 2018:04:18 05:49:18+02:00
Trapped                         : False
PTEX Fullbanner                 : This is MiKTeX-pdfTeX 2.9.6588 (1.40.18)
EXIF Metadata provided by EXIF.tools

Navigation menu