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: 
/web/delft3dfm/forum

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

=======================================================

** PLEASE TAG YOUR POST! **

 

 

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

 


Message Boards

Compilation on Linux: general remarks

Adri Mourits, modified 5 Years ago.

Compilation on Linux: general remarks

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

Read file "src/README" in the source code.
See also the description here.
See also the FAQ.

NetCDF
NetCDF usage is recently added. The related libraries must be compiled with exactly the same compiler as used for compiling Delft3D.
NetCDF is open source code. You have to download the proper binaries yourself or download the source code and compile it with the proper compiler(-version).
When NetCDF is prepared properly, Delft3D will use it via environment parameter NETCDFROOT. Please be sure that it has the correct value. Check script "src\build.sh" for example command lines (search for netcdf).

MPI
The related libraries must be compiled with exactly the same compiler as used for compiling Delft3D.
MPI is open source code. You have to download the proper binaries yourself or the code and compile it with the proper compiler(-version).
When MPI is prepared properly, Delft3D will use it via environment parameter MPILIBS_ADDITIONAL. Please be sure that it has the correct value. Check script "src\build.sh" for example command lines (search for mpich).

Regards,

Adri
UD
Udhaba Dora, modified 5 Years ago.

RE: Compilation on Linux: general remarks

Youngling Posts: 3 Join Date: 6/3/12 Recent Posts
Hi Adri,

In the prerequisite, the about of netcdf is explained only for Intel such as
12. NetCDF version 4.1.3 for Intel Fortran 11.1, version 4.3.2 or above for Intel Fortran 14.0.3.


Is the netcdf link only for Intel Fortran or that can be used for GNU Fortran also?

This query came due to existence of some error in connection of netcdf along with GNU Fortran during my installation of d3d (tags-4739) in Ubuntu.

Thank you.
AA
amaya alvarez, modified 5 Years ago.

RE: Compilation on Linux: netcdf

Youngling Posts: 4 Join Date: 10/28/12 Recent Posts
Hi
I have an error in make

Fatal Error: Can't open module file 'netcdf.mod' for reading at (1): No such file or directory
make[7]: *** [datagroups.lo] Error 1
make[7]: se sale del directorio «/home/aalvarez/delft3trunk/src/engines_gpl/flow2d3d/packages/data/src/basics»

I have revised src\build.sh and is configured as:

# netcdf
export NETCDFROOT=/p/delft3d/opt/netcdf-4.1.3mt/intel11.1
export PKG_CONFIG_PATH=/$NETCDFROOT/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDFROOT/lib

what I am suppose to do, should I change /p/delft3d/opt/netcdf-4.1.3mt/intel11.1 to one of my directories???



Thank you
Adri Mourits, modified 5 Years ago.

RE: Compilation on Linux: netcdf

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

See this post.

Regards,

Adri
DS
Detong Sun, modified 4 Years ago.

RE: Compilation on Linux: general remarks

Youngling Posts: 4 Join Date: 8/7/15 Recent Posts
Hi Adri,

I am trying to compile delft3d downloaded from the repository. I use ubuntu linux, able to run autogen. There is no complain running configure, but there is apparent error message in config.log (please see attached) and the make eventually fails. It appears there are some fatal errors as indicated in the log file (also see below for examples). Really don't know what's wrong. Would appreciate your or anybody help very much!

Best regards.

Detong

gcc version 4.9.2 (Ubuntu 4.9.2-10ubuntu13)
configure:3667: $? = 0
configure:3656: g++ -V >&5
g++: error: unrecognized command line option '-V'
g++: fatal error: no input files
compilation terminated.

configure:3667: $? = 4
configure:3656: g++ -qversion >&5
g++: error: unrecognized command line option '-qversion'
g++: fatal error: no input files
compilation terminated.

configure:4916: gcc -std=gnu99 -c -O2 conftest.c >&5
configure:4916: $? = 0
configure:4936: result: -std=gnu99
configure:4949: checking how to run the C preprocessor
configure:4980: gcc -std=gnu99 -E conftest.c
configure:4980: $? = 0
configure:4994: gcc -std=gnu99 -E conftest.c
conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
#include <ac_nonexistent.h>
^
compilation terminated.
configure:4994: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Delft3D"
| #define PACKAGE_TARNAME "delft3d"
| #define PACKAGE_VERSION "0.0"
| #define PACKAGE_STRING "Delft3D 0.0"
| #define PACKAGE_BUGREPORT "delft3d.support@deltares.nl"
| #define PACKAGE_URL ""
| #define PACKAGE "delft3d"
| #define VERSION "0.0"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
Adri Mourits, modified 4 Years ago.

RE: Compilation on Linux: general remarks

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

These error messages in config.log do not harm. Automake tests what flags the compilers accept by executing small test programs. Sometimes they succeed and sometimes they don't. Automake will use this information to guide the actual compilation.

That means you have to check the make output to find out what goes wrong. You can attach it to a post on this forum if you want others to have a look.

Regards,

Adri
DS
Detong Sun, modified 4 Years ago.

RE: Compilation on Linux: general remarks

Youngling Posts: 4 Join Date: 8/7/15 Recent Posts
Thanks Adri. I will post the make log file later. I am actually trying on both Linux and Windows, hoping at least one of them works. On Windows, it's 64 bit machine, I think I have all the prerequisites installed: Microsoft Visual Studio 2010 with C++ compiler, Intel Fortran 2016 and Python. But the build fails. Please see attached build output.

Really appreciate your help!

Detong
Adri Mourits, modified 4 Years ago.

RE: Compilation on Linux: general remarks

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

Looking at your (Windows) build_out.txt: Can you please try to use the latest tagged version, currently https://svn.oss.deltares.nl/repos/delft3d/tags/5425/
With this version, you start by executing a Python script that creates a sln file that fits to the tools you are using. See src/README for more details. If you then still have problems with compiling it, you can attach the build_out.txt again to a post on this forum.

Regards,

Adri
DS
Detong Sun, modified 4 Years ago.

RE: Compilation on Linux: general remarks

Youngling Posts: 4 Join Date: 8/7/15 Recent Posts
Here is the make log file for the Linux compilation.

Thanks!

Attachments:

Adri Mourits, modified 4 Years ago.

RE: Compilation on Linux: general remarks

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

Looking at your (Linux) make.log: It expects "/opt/mpich2-1.4.1-gcc-4.6.2/bin" to contain "mpif90". It seems that you used the "build.sh" script without changing paths to point to your local system.

Compilation on Linux is more complex than on Windows, because you have to download NetCDF and mpich2 yourself and compile it with exactly the same compiler as you use for Delft3D. Then when compiling Delft3D, you have to be sure that all references to needed packages are correct. See this page for more information and again file src/README.

Regards,

Adri