intro story D-Flow FM


D-Flow Flexible Mesh

D-Flow Flexible Mesh (D-Flow FM) is the new software engine for hydrodynamical simulations on unstructured grids in 1D-2D-3D. Together with the familiar curvilinear meshes from Delft3D 4, the unstructured grid can consist of triangles, pentagons (etc.) and 1D channel networks, all in one single mesh. It combines proven technology from the hydrodynamic engines of Delft3D 4 and SOBEK 2 and adds flexible administration, resulting in:

  • Easier 1D-2D-3D model coupling, intuitive setup of boundary conditions and meteorological forcings (amongst others).
  • More flexible 2D gridding in delta regions, river junctions, harbours, intertidal flats and more.
  • High performance by smart use of multicore architectures, and grid computing clusters.
An overview of the current developments can be found here.
The D-Flow FM - team would be delighted if you would participate in discussions on the generation of meshes, the specification of boundary conditions, the running of computations, and all kinds of other relevant topics. Feel free to share your smart questions and/or brilliant solutions! 


We have launched a new website (still under construction so expect continuous improvements) and a new forum dedicated to Delft3D Flexible Mesh.

Please follow this link to the new forum: 

Post your questions, issues, suggestions, difficulties related to our Delft3D Flexible Mesh Suite on the new forum.





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


Message Boards

Problems compiling Delft3D Revision 61494 on Ubuntu 16.04

James Michael Kramer, modified 2 Years ago.

Problems compiling Delft3D Revision 61494 on Ubuntu 16.04

Youngling Posts: 2 Join Date: 8/22/18 Recent Posts

Hi Folks,

I am trying to compile the Delft3d - Revision 61494 software on Ubuntu16.04.  I am trying to follow the instructions as per the Ubuntu 16.04 README in Revision 61494:Trunk/src.  I listed the text from README file below..


I follow the instructions as per the README. 

Everything proceeds well

  1.  I installed all of the required software using apt
  2. However, I think that there are some text errors in the README regarding teh declarations for the environment variables to path locations.
    1. I was able to install Zlib
    2. The path variable declarations in the routines for HDF5 and Netcdf seem incorrect:

For example, the statement

export HDF5_DIR="/home/abc/Downloads/libraries/hdf5-${v}"


I assume that I should change



HDF5_Dir=”/home/my user name/….”?


I did do this for both HDF5 and the netcdf portions of the declaration

  1. The environment variable declaration for netcdf has another questionable portion of text at the very end.
    1. export NETCDF4_DIR="/home/abc/Downloads/libraries/netcdf_4.4


I assume that I should change

export NETCDF4_DIR=”…./libraries/netcdf_4.4


export NETCDF4_DIR=”…./libraries/netcdf-${v}”?


I made all of the assumed corrections above and followed the compilation instructions for compiling zlib, HDF5, and netcdf-4.


However, I am running into errors trying to compile netcdf so I am not sure about the corrections that I made.


Any help would be appreciated.  I have been working on this for several days.  Does anyone know of additional compilation instructions that may help?


I cannot compile netcdf properly to create a /bin.


Thanks in advance for your response.




>>>>>>>>>>>>>>>  Ubuntu 16.04 README


Delft3d - Revision 61494: /trunk/src


Please check the following sites for additional information:

General information:

FAQ                :

Compile forum      :

Copyright (C)  Stichting Deltares, 2011-2017.


Compiling on Ubuntu.16.04LT Linux


0) Make sure you have a good internet connection.


1) prepare the compiling environment. In your home directory, type in:


      sudo apt-get update

      sudo apt-get upgrade


      sudo apt-get install subversion


      sudo apt-get install autoconf

      sudo apt-get install libtool

      sudo apt-get install flex

      sudo apt-get install g++ 


      sudo apt-get install gfortran

      sudo apt-get install libstdc++6

      sudo apt-get install byacc



      sudo apt-get install libexpat1-dev


      sudo apt-get install uuid-dev

      sudo apt-get install ruby

      sudo apt-get install gedit



      svn co delft3dtrunk


      cd ~/delft3dtrunk/src



2) In your home directory, go to Downloads and make a directory, e.g. libraries for installation all the libraries. type in:

      cd ~/Downloads

      mkdir libraries

      cd libraries

3) Download the libraries codes and compile them.




      # Install zlib



      tar -xf zlib-${v}.tar.gz && cd zlib-${v}

      ./configure --prefix=/usr/local

      #sudo make check install

      sudo make install

      cd ..



      # Install HDF5



      tar -xf hdf5-${v}.tar.gz && cd hdf5-${v}

      echo "# HDF5 libraries for Delft3D"

      export HDF5_DIR="/home/abc/Downloads/libraries/hdf5-${v}"

      ./configure --enable-shared --enable-hl --prefix=$HDF5_DIR

      make -j 2 # 2 for number of procs to be used

      sudo make install

      cd ..


      # Install Netcdf



      tar -xf netcdf-${v}.tar.gz && cd netcdf-${v}

      echo "# NETCDF4 libraries for Delft3D"

      export NETCDF4_DIR="/home/abc/Downloads/libraries/netcdf_4.4"

      CPPFLAGS=-I$HDF5_DIR/include LDFLAGS=-L$HDF5_DIR/lib ./configure --enable-netcdf-4 --enable-shared --enable-dap --prefix=$NETCDF4_DIR

      # make check


      sudo make install

      cd ..



      export PATH=$PATH:$NETCDF4_DIR/bin


      export PKG_CONFIG_PATH=$NETCDF4_DIR/lib/pkgconfig:$PKG_CONFIG_PATH



      # Install Netcdf-fortran



      tar -xf netcdf-fortran-${v}.tar.gz && cd netcdf-fortran-${v}


      # make check


      sudo make install

      cd ..



      # Install mpi



      tar -xzf mpich-${v}.tar.gz

      cd mpich-${v}

      export MPICH2_3_2_DIR="/home/abc/Downloads/libraries/mpich-${v}"

      ./configure --prefix=$MPICH2_3_2_DIR


      sudo make install

      cd ..


      export PATH=$PATH:$MPICH2_3_2_DIR/bin


      export PKG_CONFIG_PATH=$MPICH2_3_2_DIR/lib/pkgconfig:$PKG_CONFIG_PATH


4) Go back to ~/delft3dtrunk/src, build DELFT3D source code,

Check in file ./ that all references to libraries, include files, etc.  match with the paths on your system, and then type in, for example:

      ./ -gnu -64bits


5) After finishing the compiling, there must be a bin directory in ~/delft3dtrunk. You probably have to copy some mpi libraries to the bin directory.

      cp ~/Downloads/libraries/mpich-3.2/lib/* ~/delft3dtrunk/bin/lnx64/flow2d3d/bin

      cp ~/Downloads/libraries/mpich-3.2/bin/* ~/delft3dtrunk/bin/lnx64/flow2d3d/bin

      cd ~/delft3dtrunk/bin/lnx64/flow2d3d/bin

      chmod a+x *


Then it should work!



Running examples without GUI


In directory "examples\01_standard":

- Execute script ""


  - Depending on your system settings, you might need to change the script ""

  - Execute script ""



1) In step 3, you can get the version of libraries of netcdf, netcdf-fortran, mpich2 by changing the v variable .

2) In step 3, if it complains " The install directory can't be the same with the build or src directory", you may have to adjust the directory name and the path accordingly.




24 NOV 2016


Adri Mourits, modified 2 Years ago.

RE: Problems compiling Delft3D Revision 61494 on Ubuntu 16.04

Yoda Posts: 1221 Join Date: 1/3/11 Recent Posts

Hi Jay,

Yes, your assumptions are correct; sorry for the confusion.

Does the manual of NetCDF help you further?

Try using NetCDF without HDF5 support, see the prerequisites; that will make the compilation a lot easier.