Coast / Estuary

Coastal systems are among the most dynamic physical systems on earth and are subject to a large variety of forces. The morphodynamic changes occurring to coastlines worldwide are of great interest and importance. These changes occur as a result of the erosion of sediments, its subsequent transport as bed load or suspended load, and eventual deposition. 
Estuaries are partly enclosed water bodies that have an open connection to the coast. Estuaries generally have one or more branching channels, intertidal mudflats and/or salt marshes. Intertidal areas are of high ecological importance and trap sediments (sands, silts, clays and organic matter).
Within the Delft3D modelling package a large variation of coastal and estuarine physical and chemical processes can be simulated. These include waves, tidal propagation, wind- or wave-induced water level setup, flow induced by salinity or temperature gradients, sand and mud transport, water quality and changing bathymetry (morphology). Delft3D can also be used operationally e.g. storm, surge and algal bloom forecasting. 
On this discussion page you can post questions, research discussions or just share your experience about modelling coastal and/or estuarine systems with Delft3D FM. 




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


« Back to

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

Combination View Flat View Tree View
Threads [ Previous | Next ]
Guidance on application of time and space varying 2D spectra in Delft3DWave
input spectra file directional spectra 2d spectra time series d3d wave 2d spectra
Answer (Unmark)
12/6/17 7:12 PM
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!
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_
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.
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.