Get Started Delft3D FM Suite

Get Started Delft3D FM Suite

Go directly to: download instructions (21-3-2023).

 

Registration (free of charge)

On this site, hoover above "LOGIN" in the top right corner. Select "REGISTER".

 

Delft3D FM Graphical User Interface (GUI) (free of charge)

When you are signed in (top right corner of the page), you will see the text titled "Pre-compiled Delft3D FM GUI package available on request" below, containing information on how to request a GUI package (SOON AVAILABLE: June 2024).

 

Kernels

There are three ways to obtain/use the Delft3D FM kernels:

  1. Use binaries, precompiled by Deltares
    If you want the Delft3D software and GUI as package, you might be interested in obtaining a Delft3D Service Package. The overview of the Delft3D Software Service Packages can be found here. Please contact our Deltares software services team for a quote or more information.
     
  2. Singularity container
    With a Delft3D Service Package in place, we will be happy to invite you to join our Delft3D FM Beta testing programme and obtain a Singularity container. The Delft3D FM Singularity container allows you to run Delft3D FM on any HPC clusters in a simple, portable, and reproducible way.
     
  3. Source code (free of charge)
    Go to the Source Code section below and follow the steps as indicated to download, compile and run the source code.
     

Open Source - Delft3D FM

Delft3D FM is fully open source (GNU AGPL). However, as (1) the 1D-2D-3D architecture is still subject to change and (2) we have to focus our limited resources, we are NOT promoting this actively.

At this moment 447 people, in 49 countries worldwide, are actively involved in the software development of the Delft3D FM Suite. The support of this limited group is something we can handle, but supporting the current 35.000+ members is not.

 

In more detail, we would like to emphasize that:

  • Delft3D FM is available under GNU AGPL 
  • we are continuously improving the source code, to be ready for the worldwide open source release 
  • the source code can be shared with everybody, but we are not actively building a worldwide Delft3D FM open source community yet 
  • we do offer support on (a) beta functionality and on (b) source code to a selected group of Partners in Development 
  • we aim at actively promoting Delft3D FM in open source in 2024.

 

More details can be obtained by joining our Delft3D FM Beta testing program. Please send your request to software@deltares.nl

Source code Delft3D FM

Source code Delft3D FM

 

The Delft3D source code is stored and maintained using GitLab

GitLab is being used since March 1, 2023.

Subversion (SVN) was used until March 1, 2023. It's still available; all instructions below related to SVN still work.

 

Code organization

The source code of the kernels of the following modules are all in one repository:

  • D-Flow FM
  • D-Water Quality (DELWAQ)
  • D-Waves (SWAN (Deltares version, since revision 69818))

 

Steps needed to use the Delft3D source code

1. Prerequisites - required software

2. Download the source code

3. Compile the source code

4. Run a calculation

 

1. Prerequisites - required software

After registration you will have access to the Subversion server, managing the open source code. Before downloading the code (step 2), you need to install a set of tools to be able to compile the code. The tools needed depend on your operating system. 

Windows

  • TortoiseSVN
    Subversion client to communicate with the Subversion server. You are free to use other clients, but our documentation is based on TortoiseSVN. The plain Subversion client is also an option and works identical to the Subversion client on Linux.
     

  • CMake version 3.20.6 or higher
     

  • Microsoft Visual Studio 2019 or newer, including C++ compiler.
    Be sure that the following modules are installed in your VisualStudio (by default, they are not installed):

    - "Common Tools for Visual C++ 2015"
    - "Microsoft Foundation Classes for C++"
    - "Windows 10 SDK"
    - "Windows 8.1 SDK and UCRT SDK"
    - "Visual C++ MFC for x86 and x64"
    - "C++/CLI support"
    - "C++ Universal Windows Platform tools"
    - "Common tools for Intel compiler projects"

    To install them after VisualStudio has been installed:
    1. Windows Start
    2. Control Panel
    3. Programs (and Features)
    4. Right-click on "Microsoft VisualStudio 2019" and select "change" or "modify"
    5. A Window will pop-up in which you can select the specified modules and perform an update.
     

  • Intel Fortran compiler, version "OneAPI 21" or newer. Use a version that is newer than the Microsoft Visual Studio version, e.g. Microsoft Visual Studio 2019 with Intel Fortran compiler 21. Check that the Intel compiler is correctly plugged into Visual Studio: in Visual Studio, menu bar "Help" -> "About Microsft Visual Studio" -> "Installed products". The Intel compile should be in this list.
     

  • IntelMPI version "OneAPI 21" or newer.
     

  • IntelMKL version "OneAPI 21" or newer.
     

  • Optionally: Python (https://www.python.org/downloads) 3.8 or newer.
    Only needed when executing "build.bat" in interactive mode (without arguments). Then "prepare_sln.py" will be called.
     

Linux

OS distributions:

  • Use CentOS 7 or RedHat 7

  • Other distributions:
    Officially not supported. Usage of a Singularity container is strongly advised.

Linux required software:

  • Subversion client
    To communicate with the Subversion server.

  • CMake version 3.20.6 or higher

  • Intel C++ compiler, version "OneAPI 21" or higher.

  • expat-devel
    Expat is a library to develop XML applications)(use Package Manager

  • Intel Fortran compiler, version "OneAPI 21" or higher.

  • IntelMPI version "OneAPI 21" or newer.

  • IntelMKL version "OneAPI 21" or newer.

  • OpenSSL.

  • "readline-devel" (RedHat)

  • NetCDF: netcdf-c-4.6.1 or above, netcdf-fortran-4.4.5 or above, with hdf5 enabled

  • uuid-dev package

  • GDAL  (https://gdal.org/), version 2.4.0 or 3.0.4

  • METIS (http://glaros.dtc.umn.edu/gkhome/views/metis), version 5.1.0

  • PETSc (https://www.mcs.anl.gov/petsc/index.html), version 3.4.0, 3.5.2 or 3.9.3

  • PROJ (https://proj.org), version 5.2.0 or 6.3.1

  • Shapelib (http://shapelib.maptools.org/), version 1.4.1

Remarks

  • The named version numbers above refer to what we use at this moment. You are free to use other versions, but be aware that APIs might have been changed.

 

2. Download Source Code

There are 3 ways to download the source code:

  1. Download a zip-file
    Currently, a zip-file is available for the 2023.02 release (free of charge, MyDeltares account needed). Go to the download portal, add it to your cart, continue purchasing, finishing with "send request". You will receive an e-mail with a download link.
     
  2. Request for access to GitLab
    Currently, this is restricted to co-developers and Deltares employees. Please fill in the "Request for access to GitLab repository" form in order to get access.
     
  3. Subversion
    For source code up to March 1st, 2023. See instructions below.

    After registration you can access the Subversion repository. Use your internet browser to have a look at "https://svn.oss.deltares.nl". Login with your "screen name", not with your e-mail address. Repository "Delft3D" contains branches (isolated develop versions), tags (fully tested, stable versions) and the trunk (where all updates, merges and bug fixes happen). Choose a version you want to download. As a start, use the latest, stable, fully tested version from the tags, for example  (for the 2023.02 release) "https://svn.oss.deltares.nl/repos/delft3d/tags/delft3dfm/142431".

    Remark about the version numbering in "tags": Tag "142431" contains D-Flow FM, D-Water Quality and D-Waves. Since all these modules have their own version number, the name of the tag is simply the related revision number in the trunk. The log of the tag contains a full list of version numbers, for example, the log of tag "142431" reads:

    From OSS trunk revision 142431:
    D-Flow FM Version 1.2.177.142431
    D-WAQ     Version 5.10.00.142431
    D-Waves   Version 3.08.01.142431
    DIMR      Version 2.00.00.142431 
    Included in DIMRset 2.22.16.78016, 01 February 2023

    Using TortoiseSVN (Windows only)
    TortoiseSVN is a convenient SVN client for Windows that integrates with Windows Explorer.

    Go to Windows Explorer (hit WIN+E or right-click on the Start button and click Explore), and create a new folder in a location of your choice. You may want to name it something like "delft3d_repository."

    WARNING: Avoid using a directory name containing spaces.

    Right click on that folder and choose "SVN Checkout". Use The URL of your choice, for example "https://svn.oss.deltares.nl/repos/delft3d/tags/delft3dfm/141208". Click "Ok" to download this version of the source code.

    You will now be prompted for your username and password; these are the same as your credentials for the community environment.

    The download will start automatically.

    See the manual of TortoiseSVN for more information.

    Using Subversion (Linux and Windows)

    Choose a directory where you want the source code to be placed and execute the checkout command. Example (to put the source code in the newly created directory "delft3d_repository"):

    svn checkout https://svn.oss.deltares.nl/repos/delft3d/tags/delft3dfm/141208 delft3d_repository

    You will now be prompted for your username and password; these are the same as your credentials for the community environment.

    The download will start automatically.

    See the manual of Subversion for more information.

 

3. Compile the source code

See file "README.md" on the top level of the source code tree.

 

4. Run a calculation

Always start by running one of the examples inside the downloaded source code using the prepared run-script. If this works fine, the binaries were build correctly.

In the description below, the term "myCode" is used for the location/directory on your machine where you have chosen to download the source code.
The term "myDelft3D" is used for the location/directory on your machine where you have chosen to install the Delft3D setup containing the GUIs. The default value for "myDelft3D" is "c:\Program Files (x86)\Deltares\Delft3D FM Suite 202x.xx HMWQ (x.x.x.xxxxx)" on Windows and "/opt/delft3d" on Linux.

4.1 Running D-Flow FM, D-Waves and D-Water Quality using scripts (Windows and Linux)

Assumption on the compilation part:
The "build.bat"/"build.sh" script is used (on Windows/Linux respectively).


After compiling the source code:
Go to one of the sub-directories of "examples", inside the downloaded source code, e.g. "myCode/examples/12_dflowfm/test_data/e100_f02_c02-FriesianInlet_schematic_FM".
Windows: execute "run.bat".
Linux: execute "run.sh".
Testcase "myCode/examples/12_dflowfm/test_data/e02_f14_c040_westerscheldt" is a parallel calculation.
For your own testcase: copy and adapt both "dimr_config.xml" and "run.bat/.sh" into your testcase directory.

If the testcase does not run, the two most common problems are :

  1. The binaries are not build correctly.
    Windows: Does directory "myCode/build_all/x64/dflowfm/bin/" contain the binary "dflowfm.dll"? If not, something went wrong during compilation. Check the output window inside Visual Studio.
    Linux: Does directory "myCode/build_all/lnx64/lib/" contain the binary "libdflowfm.so"? If not, something went wrong during compilation. Check the log files in directory "myCode/build_all/".

  2. System and/or compiler specific libraries can not be found.
    Normally these libraries are found via some environment parameters (PATH and LD_LIBRARY_PATH). Problems may occur when porting binaries to a machine without development tools. Especially when FLOW runs online with WAVE, finding the correct compiler specific libraries is sensitive.
    All needed system/compiler specific libraries are copied into directory "myCode/build_all/x64/share/bin/" (Linux: "myCode/build_all/lnx64/lib/") during installation. Thus creating a set of binaries that can be distributed to other machines.
    Windows: Normally a message window appears to notify what library is missing.
    Linux: Use the ldd command to find out what library is missing.

     

4.2 Running D-Flow FM, D-Waves and D-Water Quality using the GUI menu

No description yet.