Migration status

  • Home Page: Activity map.

intro story DELWAQ


DELWAQ is the engine of the D-Water Quality and D-Ecology programmes of the Delft3D suite. It is based on a rich library from which relevant substances and processes can be selected to quickly put water and sediment quality models together.

The processes library covers many aspects of water quality and ecology, from basic tracers, dissolved oxygen, nutrients, organic matter, inorganic suspended matter, heavy metals, bacteria and organic micro-pollutants, to complex algae and macrophyte dynamics. High performance solvers enable the simulation of long periods, often required to capture the full cycles of the processes being modelled.

The finite volume approach underlying DELWAQ allows it to be coupled to both the structured grid hydrodynamics of the current Delft3D-FLOW engine and the upcoming D-Flow Flexible Mesh engine (1D-2D-3D) of the Delft3D Flexible Mesh Suite (or even other models such as TELEMAC).

'DELWAQ in open source' is our invitation to all leading experts to collaborate in further development and research in the field of water quality, ecology and morphology using Delft3D. Feel free to post your DELWAQ related questions or comments in this dedicated forum space. If you are new to DELWAQ, the tutorial (in the user manual) is a good place to start. A list of DELWAQ related publications is available here.




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 1 Year ago.

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

Youngling Posts: 8 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 1 Year ago.

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

Youngling Posts: 8 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 1 Year ago.

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

Youngling Posts: 8 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 1 Year ago.

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

Youngling Posts: 8 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.