Home_intro

intro story DELWAQ

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.

** PLEASE TAG YOUR POST! **

 

 

Sub groups
D-Flow Flexible Mesh
DELWAQ

Cohesive sediments & muddy systems

 


Message Boards

Delft3D4 compilation with VS2019 and OneAPI on Windows 10 - netcdf issues

ES
Ewan Sloan, modified 2 Months ago.

Delft3D4 compilation with VS2019 and OneAPI on Windows 10 - netcdf issues

Youngling Posts: 2 Join Date: 12/18/20 Recent Posts
Edit 27/1/2021:

I managed to download Intel Parallel Studio 2019 (update 5), and that seems to have resolved all the issues with netcdf. Seems that netcdf just doesn't get on well with OneAPI. I'm still encountering a single error but that seems unrelated to the issues I've had here so will post about that elsewhere if I can't solve it.

Hello all,

I'm new to Delft3D and am trying to compile version 4 revision delft3d4/65936 on Windows 10. As per the subject line, I'm using Visual Studio 2019 and the version of the Intel Fortran Compiler available through OneAPI.

Currently I'm generating around 450 errors on compilation, all of which seem to be related to netcdf. I think (though I'm far from certain) that most of these errors are following on from an initial issue causing module_netcdf_nc_data.f90 to abort compilation. From the compile log:

1>D:\Compile_Test\Source_Code_Repository2\src\third_party_open\netcdf\netcdf-fortran-4.4.4\fortran\module_netcdf_nc_data.F90(94): error #6401: The attributes of this name conflict with those made accessible by a USE statement.   [C_PTRDIFF_T]”

This causes a "Compilation aborted (code 1)" error to occur for this module. The error refers to the following section of code:

! Define processor/compiler dependent parameters for ptrdiff_t, signed char,! and short types. Note prtdiff_t was not defined in the FORTRAN 2003! standard as an interoperable type in ISO_C_BINDING but was added as part of! the recent TS29113 Technical Specification "Futher Interoperability with C" ! passed in 2012. For now we will make our own using C_INT32_T or C_INT64_T! but allow users to use the default definition for compilers that support ! TS29113 (like gfortran 4.8). Default will be C_INTPTR_T
#ifndef HAVE_TS29113_SUPPORT
#if (SIZEOF_PTRDIFF_T == 4)
Integer, Parameter :: C_PTRDIFF_T = C_INT32_T
#elif (SIZEOF_PTRDIFF_T == 8)
Integer, Parameter :: C_PTRDIFF_T = C_INT64_T
#else
Integer, Parameter :: C_PTRDIFF_T = C_INTPTR_T
#endif
#endif

The bold/underlined line is the one referred to by the error.

My coding knowledge is very limited so I don't know how to fix this. Any suggestions would be greatly appreciated.

As an aside, I've tried to find legacy versions of Parallel Studio XE to try to use alongside older versions of Visual Studio, but it doesn't seem possible to get hold of these since things were ported over to OneAPI instead.