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

Vegetation decomposition

Ines do Vale, modified 5 Years ago.

Vegetation decomposition


I am trying to simulate the decomposition of vegetation in the margins of a river while the reservoir ir filling up. However, the decomposition of the vegetation does not seem to be happening. Which means, there zero concentration of POCX and DOC although the vegetation is decreasing. The oxygen concentration, for example, does not change during the flooding of the margins. I performed the following test: Instead of inserting an initial condition with a concentration of vegetation as a scalar field, I inserted POC1, POC2, POC3 and POC5 as a scalar field in the place of vegetation, so the vegetation is already dead and it is decomposing at the beginning of the simulation. The results showed the expected consequences.

Although the vegetation has a mortality coefficient associated, it does not lead to an increase in the POCX concentration. Is there a parameter that may be missing here?

Thank you,

Anonymous Anonymous, modified 5 Years ago.

RE: Vegetation decomposition

Jedi Master Posts: 333 Join Date: 7/30/20 Recent Posts
Hi Ines,

It's been a while since you posted this, but maybe this can still be of some use:

The VBMortXX processes compute mortality fluxes. These fluxes are then used as input by the VBXX_Mrt3W processes which compute the to actual POX fluxes.

Do you have both process families activated? If so, uploading your *.lsp file might help to spot what is else missing in your configuration.


Carlos Eduardo Inouye, modified 5 Years ago.

RE: Vegetation decomposition

Youngling Posts: 1 Join Date: 10/6/15 Recent Posts
Hi Christophe,

I'm supporting Inês in the same project, and I attached here the *.lsp file.

Tamara Rodríguez, modified 5 Years ago.

RE: Vegetation decomposition

Youngling Posts: 2 Join Date: 3/28/12 Recent Posts
Hi Christophe,

I am also trying to simulate the decomposition of vegetation in a reservoir, but POCX and DOC concentrations are not modified by this process. After reading this post, I've checked my *.lsp file and the VBMortXX processes and VBXX_Mrt3W processes are activated. However, this error is obtained when I try to run the simulation: "ERROR: NaN in RHS of segment: 1". This error does not occur if I deactivate the VBXX_Mrt3W processes.

Thank you in advance and regards,

P.S. I've simulated my case with a newer version of the model and this warning appears:

Input for [VB01_Mrt3W ] Vegetation module mortality 3D flux water
WARNING : activated process can NOT be switched on
Not found:[botsegVB01 ] bottom segment pointer
Michel Jeuken, modified 5 Years ago.

RE: Vegetation decomposition

Jedi Knight Posts: 154 Join Date: 1/21/13 Recent Posts
Hi all,

There are various questions with respect to the vegetation module, and there are several things I can tell you about it.

First of all please keep in mind that the vegetation module that is currently available in the standard version of Delwaq is more of a 'terrestrial' vegetation module to model vegetation that gets submerged when a new water reservoir is created. A real aquatic vegetation module is under development, and almost ready for integration in the standard version of Delwaq.

Both the 'terrestrial' and aquatic vegetation module make use of the so called 'layered sediment' so model storage of nutrients and organic materials in the sediment in additional sediment segments, This is done to model uptake of nutrients by the roots, and decay of root material, and addition to the organic matter pools in the sediment, The setup of a layered sediment is not yet supported by the user interface, and is described in a separate D-Water Quality Sediment Water User Manual (and will require manipulation of the inp-file). You can finde tha manual in this list: http://oss.deltares.nl/web/delft3d/manuals

Without the layered sediment only interaction with the water column is modeled. Fluxes to the sediment (based on F4VB0x and F5VB0x) are lost to the system, and will cause the model not to have a closed mass balance.

The stat of the biomass of vegetation is stored in the lowest water compartment, just above the sediment, But vegetation interacts with multiple layers. This accounted for by an automatically created table that specifies for between each segment where the vegetation biomass resides that can interact with it for uptake and decay. The implementation lead to problems when the model ran in parallel, and was also implemented in three processes. Therefor the determination of this table was moved to the central VBStatus0x process. This was fixed in the trunk on September 10th, 2015 in revision 5411.

I also noticed that some of the process are a bit difficult to reach in the PLCT. This is because the growth and mortality processes of vegetation calculate a single fluxes for vegetation, that are then distributed over the various layers by other processes. VB0x_Upt3D can be found with the dissovled nutriens (NH4/PO4), and VB0x_Mrt3W and VB0x_Mrt3S can be found under the organic materials, It is there that you could specify that you would like to use botvegVB0x from VBStatus0x.

I must admit that currently it is not very easy to use the vegetation module...