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

make breaks using gcc ...

MS
emark stanton, modified 6 Years ago.

make breaks using gcc ...

Youngling Posts: 3 Join Date: 1/17/14 Recent Posts
Hi All,
I'm trying to install Delft3d for some of my research team but am encountering some issues, the source code seems to build ok and creates the configure script, compiles works ok also but then I encouter some errors when I run make, my sense is that i may not have the correct flags set but I'm not sure exactly.

Here is my current setup and summary

Installing onto CentOS 6.4 x86_64
using environemnt modules
Currently Loaded Modulefiles with teh following versions
1) mpich2-1.4.1-gcc4.6.2 3) libtool-2.4.2-gcc-4.6.2 5) mpc-1.0.1 7) gcc-4.6.2
2) autoconf-2.6.8-gcc-4.6.2 4) gmp-4.3.2 6) mpfr-3.1.2 8)automake-1.11.1-gcc4.6.2

mpich2 has been compiled with gcc-4.6.2
I'm using the build.sh and have edited it to reflect the correct locations of mpif90

Questions:
Has the source code been compiled on CentOS-6.4 or indeed and version of CentOS6...
Does anyone reconise the error


seems like the error is telling me that its expecting a different compiler to teh one that it found ?


Any help would be appreciated as I have been a long time trying to figure this out



BUILD.sh
if [ "$compiler" = 'gnu' ]; then
addpath PATH /mnt/opt/Centos6.4/mpich2-1.4.1-gcc4.6.2/bin
export MPI_INCLUDE=/mnt/opt/Centos6.4/mpich2-1.4.1-gcc4.6.2/include
export MPILIBS_ADDITIONAL="-L/mnt/opt/Centos6.4/mpich2-1.4.1-gcc4.6.2/lib -lfmpich -lmpich -lmpl"
# export MPILIBS_ADDITIONAL=" "
export MPIFC=/mnt/opt/Centos6.4/mpich2-1.4.1-gcc4.6.2/bin/mpif90

ERRORS

libtool: compile: /mnt/opt/Centos6.4/mpich2-1.4.1-gcc4.6.2/bin/mpif90 -DHAVE_CONFIG_H -I. -I../../../../../.. -I../../../../../../utils_lgpl/parallel_mpi/include -I../../../../../../utils_lgpl/deltares_common/packages/deltares_common/include -I../../../../../../engines_gpl/flow2d3d/packages/data/include -I../../../../../../utils_lgpl/precision/packages/precision/src -I../../../../../../engines_gpl/flow2d3d/packages/data/src/parallel_mpi -I../../../../../../engines_gpl/flow2d3d/packages/data/src/basics -I../../../../../../utils_lgpl/ec_module/packages/ec_module/src -I../../../../../../utils_lgpl/deltares_common/packages/deltares_common/src -DWITH_DELFTONLINE -DDFMPI -O2 -ffree-line-length-none -cpp -c initdfparall.F90 -fPIC -o .libs/initdfparall.o
initdfparall.F90:37.18:

use globaldata
1
Fatal Error: Wrong module version '6' (expected '0') for file 'globaldata.mod' opened at (1)
make[6]: *** [initdfparall.lo] Error 1
make[6]: Leaving directory `/mnt/opt/software_source/delft3d/mark/delft3d_repository/src/engines_gpl/flow2d3d/packages/data/src/parallel_mpi'
make[5]: *** [install-recursive] Error 1
make[5]: Leaving directory `/mnt/opt/software_source/delft3d/mark/delft3d_repository/src/engines_gpl/flow2d3d/packages/data/src'
make[4]: *** [install-recursive] Error 1
make[4]: Leaving directory `/mnt/opt/software_source/delft3d/mark/delft3d_repository/src/engines_gpl/flow2d3d/packages/data'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory `/mnt/opt/software_source/delft3d/mark/delft3d_repository/src/engines_gpl/flow2d3d/packages'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/mnt/opt/software_source/delft3d/mark/delft3d_repository/src/engines_gpl/flow2d3d'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/mnt/opt/software_source/delft3d/mark/delft3d_repository/src/engines_gpl'
make: *** [install-recursive] Error 1
Adri Mourits, modified 6 Years ago.

RE: make breaks using gcc ...

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

Your preparations look very decent.

What might cause the problem is that .mod-files are being used from a previous compilation trial. The safest way is to start with an empty directory and a clean checkout. Running the clean.sh script should also do, but is less safe.

If that doesn't help: please attach the full set of generated log files to a post on this forum.

Thanks.

Adri
MS
emark stanton, modified 6 Years ago.

RE: make breaks using gcc ...

Youngling Posts: 3 Join Date: 1/17/14 Recent Posts
Hi Adri,
thanks for the response, unfortunatly even checkign out a new copy has not made any difference

Attached are the logs as well as the build.sh file that I have modifed with my paths ...

Thank you for looking at the logs and let me know what you think

mark
Adri Mourits, modified 6 Years ago.

RE: make breaks using gcc ...

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

Nothing strange when comparing them with the saved logfiles.

The only thing that I can think of is that your mpif90 does not use exactly the same compiler as used to compile globaldata.f90: gfortran. If you execute:
/mnt/opt/Centos6.4/mpich2-1.4.1-gcc4.6.2/bin/mpif90 -echo

it should show some library/path settings for mpich and finally:
+ gfortran -I... -L... flags

Does your echo show "gfortran"? And if so: is it possible that the path changes before executing gfortran include a path that contains another gfortran?

Hope this helps.

Regards,

Adri
MS
emark stanton, modified 6 Years ago.

RE: make breaks using gcc ...

Youngling Posts: 3 Join Date: 1/17/14 Recent Posts
Hi Adri,
Thanks for the pointer after reviwing mpich2 it seems that it was compiled with f95, i ran mpich2version and mpif90 -echo, I recompiled exporting FC=grfortran and that fixed the issue.

This was my original output from mpichversion


mpich2version
MPICH2 Version:        1.4.1
MPICH2 Release date:    Wed Aug 24 14:40:04 CDT 2011
MPICH2 Device:        ch3:nemesis
MPICH2 configure:     --prefix=/mnt/opt/Centos6.4/mpich2-1.4.1-gcc4.6.2/
MPICH2 CC:     gcc    -O2
MPICH2 CXX:     c++   -O2
MPICH2 F77:     gfortran   -O2
MPICH2 FC:     f95   -O2



I have successfully bult delft3d and run nost of the tests and test cases

Thought it would be useful for others if I posted what I did, steps are below .. hope it helps someone else !!


Steps taken when compiling

I use enviornment modules to manage different versions of software, all installed from source
installed gcc-4.6.2
autoconf-2.6.8
automake-1.11.1
libtool-2.4.2
mpich2-1.4.1

autoconf, automake and libtool install straight forward with .configure, make, make install
below is the configure I used with mpich2

./configure prefix=/mnt/opt/Centos6.4/mpich2-1.4.1-gcc4.6.2  --with-pm=mpd --enable-shared --enable-sharedlibs=gcc --enable-lib-depend F77=gfortran FC=gfortran CC=gcc CXX=g++ FCFLAGS=-fPIC CFLAGS=-fPIC CCFLAGS=-fPIC CXXFLAGS=-fPIC 2>&1 | tee configure_mark.log && make && make install


updated the build.sh file to point to the correct gcc and mpich2 locations

installed dslft3d with build.sh

./build.sh -gnu -64bit -configure --prefix=/mnt/opt/Centos6.4/delft3d/