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

The never ending story with NETCDF - A guide for linux compilation

Giovanni Besio, modified 2 Years ago.

The never ending story with NETCDF - A guide for linux compilation

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Dear all,
due to the big problems I had compiling Delft with Netcdf in linux, and because I succeded in compiling everything in OpenSuse, I will share the setting so other people can use them.

First of all you should define the PATH and the LD_LIBRARY_PATH
They basically depend on where you installed the required software (ifort, icc, mpich, szip, zlib, hdf5, netcdf fortran, netcdf c)

export PATH=$PATH:/opt/intel/bin/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/lib/intel64/

export PATH=$PATH:/opt/mpich3.2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mpich3.2/lib64

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/zlib-1.2.11/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/szip-2.1.1/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/hdf5-1.10.1/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/netcdf_4.5.0_icc/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/netcdf_4.4.4_ifort/lib64

Then you need to set the variables to create the Makefile through the configure command. Again these setting are installation dependent:

export CC=/opt/intel/bin/icc
export CXX=/opt/intel/bin/icpc
export FC=/opt/intel/bin/ifort
export F77=/opt/intel/bin/ifort
export MPICXX=/opt/mpich3.2/bin/mpicxx
export MPIF77=/opt/mpich3.2/bin/mpif90
export MPIFC=/opt/mpich3.2/bin/mpif90
export FCLIBS='-L/opt/intel/lib/intel64 -L/opt/mpich3.2/lib64 -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl -lmpifort'
export FLIBS='-L/opt/intel/lib/intel64 -L/opt/mpich3.2/lib64 -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl'
export LIBS='-L/opt/mpich3.2/lib64 -L/opt/intel/lib/intel64 -lrt -lexpat -lstdc++ -limf -lsvml -lirng -lintlc -lmpich -lmpifort'
export FLIBS='L/opt/netcdf_4.4.4_ifort/lib -lnetcdff -L/opt/zlib-1.2.11/lib -L/opt/szip-2.1.1/lib64 -L/opt/hdf5-1.10.1/lib64 -L/opt/netcdf_4.5.0_icc/lib64 -lnetcdf -lnetcdf'
export NETCDF_CFLAGS='-I/opt/netcdf_4.4.4_ifort/include -I/opt/zlib-1.2.11/include -I/opt/szip-2.1.1/include -I/opt/hdf5-1.10.1/include -I/opt/netcdf_4.5.0_icc/include'
export NETCDF_FORTRAN_LIBS=' -L/opt/netcdf_4.4.4_ifort/lib -lnetcdff -L/opt/zlib-1.2.11/lib -L/opt/szip-2.1.1/lib64 -L/opt/hdf5-1.10.1/lib64'
export NETCDF_LIBS='-L/opt/netcdf_4.4.4_ifort/lib -lnetcdff -L/opt/zlib-1.2.11/lib -L/opt/szip-2.1.1/lib64 -L/opt/hdf5-1.10.1/lib64'

The most important variables to let the netcdf libraries work are NETCDF_FORTRAN_LIBS and NETCDF_LIBS

Finally you should proceed with the configure and make commands:

./configure --prefix=/opt/delft3D-t-7959-ifort/


make check

make install


Adri Mourits, modified 2 Years ago.

RE: The never ending story with NETCDF - A guide for linux compilation

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts
Hi Giovanni,

Thanks for sharing this.