intro story D-Flow FM


D-Flow Flexible Mesh

D-Flow Flexible Mesh (D-Flow FM) is the new software engine for hydrodynamical simulations on unstructured grids in 1D-2D-3D. Together with the familiar curvilinear meshes from Delft3D 4, the unstructured grid can consist of triangles, pentagons (etc.) and 1D channel networks, all in one single mesh. It combines proven technology from the hydrodynamic engines of Delft3D 4 and SOBEK 2 and adds flexible administration, resulting in:

  • Easier 1D-2D-3D model coupling, intuitive setup of boundary conditions and meteorological forcings (amongst others).
  • More flexible 2D gridding in delta regions, river junctions, harbours, intertidal flats and more.
  • High performance by smart use of multicore architectures, and grid computing clusters.
An overview of the current developments can be found here.
The D-Flow FM - team would be delighted if you would participate in discussions on the generation of meshes, the specification of boundary conditions, the running of computations, and all kinds of other relevant topics. Feel free to share your smart questions and/or brilliant solutions! 


We have launched a new website (still under construction so expect continuous improvements) and a new forum dedicated to Delft3D Flexible Mesh.

Please follow this link to the new forum: 

Post your questions, issues, suggestions, difficulties related to our Delft3D Flexible Mesh Suite on the new forum.





Sub groups
D-Flow Flexible Mesh
Cohesive sediments & muddy systems


Message Boards

Guidance on application of time and space varying 2D spectra in Delft3DWave

Kit Stokes, modified 2 Years ago.

Guidance on application of time and space varying 2D spectra in Delft3DWave

Youngling Posts: 9 Join Date: 11/8/16 Recent Posts
Hi all,

I am trying to apply some 2D spectra from a large scale WWIII model output to force various points around my regional model boundary in Delft3D Wave. I have time series of the 2D spectra at various locations around my grid boundary, and I would like to force the boundary using time and space varying 2D spectra.

I have scoured the Delft3D Wave manual and these forums for more guidance on how to achieve this, but unfortunately the instructions in the manual for this are extremely vague. I understand the format of the 2D spectra files themselves (from page 166 of the manual), and have generated these prior to the model run in Matlab. The problem is that the format of the boundary section of the MDW for time and space varying 2D spectral input is not explained at all in this section of the manual, and only some minor clues are given on page 148 of the manual.

The approach I have taken so far is to use 'condspecatdist' in the boundary section of the MDW, and have applied a different .bnd file containing the 2D spectra for each location around each side of the model grid. I initially tried to use only 4 .bnd files, one for each side of the model grid, with multiple locations along that side of the grid, and multiple time points, specified in each .bnd file, but the GUI threw an error suggesting that a .bnd file was required for every location at which condspecatdist is called. I am now trying that approach, and the GUI now seems happy with my boundary definitions, however, the model doesn't run, and the wave simulation window simply opens briefly then closes without even generating a swan diag file to determine what went wrong.

Here is what I have in my MDW file for each side of the model grid:

Name = N
Definition = grid-coordinates
StartCoordM = 0
EndCoordM = 153
StartCoordN = 240
EndCoordN = 240
SpectrumSpec = from file
CondSpecAtDist = 3.1822905e+00
CondSpecAtDist = 2.9763252e+00
CondSpecAtDist = 2.7255306e+00
CondSpecAtDist = 2.3940395e+00
CondSpecAtDist = 2.0624621e+00
CondSpecAtDist = 1.8114876e+00
Spectrum = 171205_000000_2DSpec_North_1.bnd
Spectrum = 171205_000000_2DSpec_North_2.bnd
Spectrum = 171205_000000_2DSpec_North_3.bnd
Spectrum = 171205_000000_2DSpec_North_4.bnd
Spectrum = 171205_000000_2DSpec_North_5.bnd
Spectrum = 171205_000000_2DSpec_North_6.bnd

Can someone who has managed to apply time and space varying 1D or 2D spectra please give me an example of the bnd files and MDW files they used to get the model to run successfully please?

The files I am trying to use can be found at:

Thanks in advance!
Kit Stokes, modified 2 Years ago.

RE: Guidance on application of time and space varying 2D spectra in Delft3D

Youngling Posts: 9 Join Date: 11/8/16 Recent Posts
I forgot to mention, this is actually a coupled wave-flow model run, as can be seen from the input files at the link above.

Here is the message I now get when running the coupled model; it seems the problem is actually one of communication between wave and flow:

Simultaneous FLOW and WAVE computation
Starting simultaneous FLOW and WAVE computation ...
- Delft3D
- Deltares, Delft3D-WAVE Version, Dec 12 2016, 20:13:47
- Open source
*** MESSAGE: Delft3D-WAVE runs online with Delft3D-FLOW
Domain 1 is using depth averaged flow velocity.
SWAN_INPUT: Meteofiles specified in group General used for domain 1
Done reading input
Waiting for initialisation from FLOW
Starting Delft3D-FLOW computation ...
Deltares, FLOW2D3D Version, Dec 12 2016, 20:23:28
flow2d3d.dll entry Flow2D3D::Run

Part I - Initialisation Time Dep. Data module...
runid : 171205_000000_EK_WGS84_15_degree_ROTATED_SWUK_1km
Part II - Creating intermediate files...
Part III - Initialisation of the Execution module...
Part IV - Reading complete MD-file...
Part V - Initialisation & checking input...
Part VI - Initialisation & checking second part...
Part VII - Initialisation output...
*** MESSAGE: Connected to the following 1 FLOW domain(s):
Initialising grids and grid mappings

Coordinate System: Spherical

Part VIII - Start Simulation...

Time to finish 0s, 0.0% completed, time steps left 11520
Waiting for communication with Delft3D-FLOW ...
* Start of Delft3D-WAVE ...
Start loop over SWAN grids, time = 0.000
Allocate input fields
Allocate and read SWAN depth
Get flow fields, domain 1 :
*** ERROR: Unable to read water level from file com-171205_000000_EK_WGS84_15_degree_
Kit Stokes, modified 2 Years ago.

RE: Guidance on application of time and space varying 2D spectra in Delft3D

Youngling Posts: 9 Join Date: 11/8/16 Recent Posts
The coupling problem above was eventually solved by shortening the file name of the MDW and MDF files, as they were pretty long and were causing the com file name to be longer than Delft3D will permit. This was only discovered through trial and error, but once the filenames were shortened the coupled model, with 2D spectral wave input now seems to run.
Kit Stokes, modified 2 Years ago.

RE: Guidance on application of time and space varying 2D spectra in Delft3D

Youngling Posts: 9 Join Date: 11/8/16 Recent Posts
For anyone who is struggling, as I did, to find information on running spatially and temporally varying 2D spectra in Delft3D wave, I eventually got the above model to run by using the following condspecatdist format in the boundary section of the MDW file. The information in the manual is, in my opinion, far too vague on this point. Anyway, hopefully this will help someone who is stuck at the same point I was.

For each boundary of your model specify the following in the MDW file:

Name = W
Definition = grid-coordinates
StartCoordM = 0
EndCoordM = 0
StartCoordN = 0
EndCoordN = 240
SpectrumSpec = from file
CondSpecAtDist = 2.1543720e+000
Spectrum = 171205_000000_2DSpec_West_1.bnd
CondSpecAtDist = 1.6874248e+000
Spectrum = 171205_000000_2DSpec_West_2.bnd
CondSpecAtDist = 1.3642066e+000
Spectrum = 171205_000000_2DSpec_West_3.bnd
CondSpecAtDist = 1.1038682e+000
Spectrum = 171205_000000_2DSpec_West_4.bnd
CondSpecAtDist = 7.8073001e-001
Spectrum = 171205_000000_2DSpec_West_5.bnd
CondSpecAtDist = 4.4866270e-001
Spectrum = 171205_000000_2DSpec_West_6.bnd
CondSpecAtDist = 1.9740060e-001
Spectrum = 171205_000000_2DSpec_West_7.bnd
CondSpecAtDist = 2.0242744e-008
Spectrum = 171205_000000_2DSpec_West_8.bnd

Where the .bnd filename points to the spectra file for each location along the boundary. In this case I have specified my distance ('condspecatdist') along the boundary in lat/lon distance, which seems to work, even with the boundary defined above in terms of M and N grid coordinates. Each of these files should have the spectral data for one location along the boundary, but in my case contains multiple time points. The format of the bnd files is exactly like that on page 166 of the wave manual, but I actually found that the ‘Swanuse’ manual has more info on the format of spectral input files for SWAN in Appendix D starting on page 122. Particularly if you want to run 2D spectra at mulitple time points.


Chloe Sarah Sarah Morris, modified 1 Month ago.

RE: Guidance on application of time and space varying 2D spectra in Delft3D

Youngling Posts: 5 Join Date: 1/15/19 Recent Posts
Hi Kit,I'm doing something similar to you I think - I have some wave spectral points from WW3 that I have converted into an .sp2 file and I'm trying to use them along the boundaries of a WAVE model that is couple to a FLOW model. 
Is the wave spectra you used here defined at single point locations and if so, where did you put the start and end points for the condspecatdist boundary method? Did you try using the following definitions and did this work for you - mind is giving the wave conditions as rays (see thread here).[Boundary]
   Name              = Boundary 1                                 
   Definition        = fromsp2file                                
   OverallSpecFile   = wavespec.bnd
Looks like I'm at a similar point to where you were here, so hoping you might have some insight!Thanks,Chloe