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

RE: Delft 3D installation on Linux

LL
LI LI, modified 6 Years ago.

Delft 3D installation on Linux

Youngling Posts: 17 Join Date: 2/7/14 Recent Posts
Dear All,

I am a new user of Delft 3D, and I want to install Delft 3D in Linux system, my computer is Ubuntu 12.04.04, 32-bit, is that ok? Because I am confused that should DELFT installed in 32-bit system or 64-bit system.

Thank you very much.

Melody
Adri Mourits, modified 6 Years ago.

RE: Delft 3D installation on Linux (Answer)

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

The current Delft3D version does not compile on Linux in 32-bit mode, only in 64-bit mode.

Regards,

Adri
LL
LI LI, modified 6 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 17 Join Date: 2/7/14 Recent Posts
Dear Adri,

Thank you very much.

I have listened the webinar and got answer from other user of Delft 3D, they said I could try on 32-bit, but when I compiling , ther version is 3476. I got the the error like this,

Using GNU compilers in /usr/bin
Current settings:
export ACLOCAL=""
export AUTOMAKE=""
export AUTOHEADER=""
export AUTOCONF=""
export AUTORECONF_FLAGS=""
export LIBTOOLIZE=""
export LDFLAGS=""
export LDFLAGSMT_ADDITIONAL=" "
export LD_LIBRARY_PATH=""
export MPIFC="/opt/mpich2-1.4.1-gcc-4.6.2/bin/mpif90"
export MPI_INCLUDE="/opt/mpich2-1.4.1-gcc-4.6.2/include"
export MPILIBS_ADDITIONAL="-L/opt/mpich2-1.4.1-gcc-4.6.2/lib -lfmpich -lmpich -lmpl"
export PKG_CONFIG_PATH=""
export PATH="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/lili/anuga-viewer/bin"

20140314.121131 :: Running ./autogen.sh --verbose &> logs/autogen.log
20140314.121150 :: Running CFLAGS='-O2 ' CXXFLAGS='-O2 ' FFLAGS='-O2 ' FCFLAGS='-O2 ' ./configure --prefix=/home/lili/Documents/delft3webinar/src &> logs/configure.log
20140314.121212 :: Running make ds-install &> logs/make.log
20140314.121212 :: Make fails!


I don't know why, Thank you very much if you could give me some clues.

Cheers,
LI
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Dear all,
I am having problem in compiling Delft3D under ubuntu 12.10
In particular it fails to go through the make phase and the make.log file states the following:

Making install in third_party_open
make[1]: Entering directory `/data/opt/Delft3D/delft3d_repository/src/third_party_open'
Making install in version_number
make[2]: Entering directory `/data/opt/Delft3D/delft3d_repository/src/third_party_open/version_number'
Making install in packages
make[3]: Entering directory `/data/opt/Delft3D/delft3d_repository/src/third_party_open/version_number/packages'
Making install in version_number
make[4]: Entering directory `/data/opt/Delft3D/delft3d_repository/src/third_party_open/version_number/packages/version_number'
Making install in src
make[5]: Entering directory `/data/opt/Delft3D/delft3d_repository/src/third_party_open/version_number/packages/version_number/src'
Makefile:715: warning: overriding commands for target `clean-local'
Makefile:710: warning: ignoring old commands for target `clean-local'
/data/opt/mpich2/mpich2-install/bin/mpif90 -I../../../../../utils_lgpl/precision/packages/precision/src -DWITH_DELFTONLINE -O2 -threads -fpp -recursive -reentrancy threaded -traceback -c -o version_number.o version_number.f90
gfortran: error: unrecognized command line option ‘-threads’
gfortran: error: unrecognized command line option ‘-fpp’
gfortran: error: unrecognized command line option ‘-recursive’
gfortran: error: unrecognized command line option ‘-reentrancy’
gfortran: error: threaded: No such file or directory
gfortran: error: unrecognized command line option ‘-traceback’
make[5]: *** [version_number.o] Error 1
make[5]: Leaving directory `/data/opt/Delft3D/delft3d_repository/src/third_party_open/version_number/packages/version_number/src'
make[4]: *** [install-recursive] Error 1
make[4]: Leaving directory `/data/opt/Delft3D/delft3d_repository/src/third_party_open/version_number/packages/version_number'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory `/data/opt/Delft3D/delft3d_repository/src/third_party_open/version_number/packages'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/data/opt/Delft3D/delft3d_repository/src/third_party_open/version_number'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/data/opt/Delft3D/delft3d_repository/src/third_party_open'
make: *** [install-recursive] Error 1

It does seem that there is some error with gfortran, but I dont understand which kind of error is it.
Any idea?

Giovanni
Adri Mourits, modified 5 Years ago.

RE: Delft 3D installation on Linux (Answer)

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

Please check the prerequisites. Is your gfortran compiler new enough?

Regards,

Adri
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Hi,
yes, I have the 4.7.2 installed
I compiled mpich2 with ifort flags
Should I compile again mpi as well?

Giovanni
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
A problem could be that when I check if mpich2 is correctly installed and I give the test:
which mpicc
which mpiexec
it seems it does not point to the directory where I installed mpich2
How could I set them? I followed the guide for the mpich2 installation and it succeded
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
I set up the correct path, but the system is still giving me the same problem
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Dear Adri,
I checked out which version of ifort I am using right now and I realized that I have the ifort v 13.0.1 version. Going through the build.sh file I realized that the building procedure is done up to ifort v 12 and to up to the 13. This could be reason why I can not get the compilation succeding?

Regards

Giovanni
Adri Mourits, modified 5 Years ago.

RE: Delft 3D installation on Linux (Answer)

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

If you intent to use the ifort compiler, then you still have a problem related to paths to the tools you want to use, because the error messages are related to the gfort compiler.

You must use both the C-compiler and the Fortran-compiler from the same vendor (so both from Gnu or both from Intel)!

Please have a look at the "build.sh" script. It defines environment parameters (mainly PATH) to get it compiling on our system. If you go through that script with a text editor and change all the paths to match your local system and then use it to compile (check src/README), you should make some progress.

Regards,

Adri
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Hi,
I did what you suggested (compiling ifort and icc from the same vendor) but I still got the same error... Any idea?

G
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Hi Adri,
I installed ifort and icc from Intel. I compiled mpich2 with ifort and icc compilers as the standard compilers. Then I run the ./configure command in src directory with the following flags:

./configure --prefix=/data/opt/Delft3D/installation CC=/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/bin/intel64/icc CXX=/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/bin/intel64/icpc FC=/data/opt/intel/composer_xe_2013.1.117/bin/intel64/ifort F77=/data/opt/intel/composer_xe_2013.1.117/bin/intel64/ifort MPICXX=/data/opt/mpich2-install/bin//mpicxx MPIFC=/data/opt/mpich2-install/bin//mpif90
FCLIBS=' -L/data/opt/intel/composer_xe_2013.1.117/compiler/lib/intel64 -L/data/opt/intel/composer_xe_2013.1.117/mkl/lib/intel64 -L/lib/x86_64-linux-gnu/ -L/lib/../lib64 -L/lib/../lib/ -L/usr/lib/x86_64-linux-gnu/ -L/usr/lib/../lib/ -L/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/compiler/lib/intel64 -L/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/mkl/lib/intel64 -L/lib64 -L/lib/ -L/usr/lib -L/usr/lib/i386-linux-gnu -lifport -lifcoremt -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl' FLIBS=' -L/data/opt/intel/composer_xe_2013.1.117/compiler/lib/intel64 -L/data/opt/intel/composer_xe_2013.1.117/mkl/lib/intel64 -L/lib/x86_64-linux-gnu/ -L/lib/../lib64 -L/lib/../lib/ -L/usr/lib/x86_64-linux-gnu/ -L/usr/lib/../lib/ L/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/compiler/lib/intel64 -L/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/mkl/lib/intel64 -L/lib64 -L/lib/ -L/usr/lib -L/usr/lib/i386-linux-gnu -lifport -lifcoremt -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl' LIBS=' -lrt -lexpat -lstdc++ -lmpi_f77'

Finally I run the make command but I still get the same error about gfortran...

Makefile:785: warning: ignoring old commands for target `clean-local'
/data/opt/mpich2-install/bin/mpif90 -I../../../../../utils_lgpl/precision/packages/precision/src -DWITH_DELFTONLINE -O2 -threads -fpp -recursive -reentrancy threaded -traceback -c -o version_number.o version_number.f90
gfortran: error: threaded: No such file or directory
gfortran: error: unrecognized command line option ‘-threads’
gfortran: error: unrecognized command line option ‘-fpp’
gfortran: error: unrecognized command line option ‘-recursive’
gfortran: error: unrecognized command line option ‘-reentrancy’
gfortran: error: unrecognized command line option ‘-traceback’

It seems like it still refer to gcc somewhere. Do you have any idea what I am missing??

Giovanni
Adri Mourits, modified 5 Years ago.

RE: Delft 3D installation on Linux

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

Did you execute:
. /data/opt/intel/composer_xe_2013.1.117/bin/ifortvars.sh intel64
before doing anything? (see build.sh about line 160)

Do you see anything strange when comparing your configure output with "...\src\logs\configure_intel11.1.log"?

Regards,

Adri
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Hi Adri,
I recompiled everything with ifort, icc, icpc from the same distribution. I compiled mpich2 with ifort and icc

I configured the compiling procedure with the following flags
./configure --prefix=/data/opt/Delft3D/installation CC=/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/bin/intel64/icc CXX=/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/bin/intel64/icpc FC=/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/bin/intel64/ifort MPICXX=/data/opt/mpich2-install/bin/mpicxx MPIFC=/data/opt/mpich2-install/bin/mpif90 FCLIBS=' -L/lib/x86_64-linux-gnu/ -L/lib/../lib64 -L/lib/../lib/ -L/usr/lib/x86_64-linux-gnu/ -L/usr/lib/../lib/ -L/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/compiler/lib/intel64 -L/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/mkl/lib/intel64 -L/lib64 -L/lib/ -L/usr/lib -L/usr/lib/i386-linux-gnu -lifport -lifcoremt -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl' FLIBS=' -L/lib/x86_64-linux-gnu/ -L/lib/../lib64 -L/lib/../lib/ -L/usr/lib/x86_64-linux-gnu/ -L/usr/lib/../lib/ L/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/compiler/lib/intel64 -L/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/mkl/lib/intel64 -L/lib64 -L/lib/ -L/usr/lib -L/usr/lib/i386-linux-gnu -lifport -lifcoremt -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl' LIBS=' -lrt -lexpat -lstdc++'


but when I give the build.sh -intel12 -64bit

I get this error

icpc: command line warning #10006: ignoring unknown option '-threads'
ld: /data/opt/mpich2-install/lib/libmpich.a(allreduce.o): relocation R_X86_64_32S against `MPID_Op_direct' can not be used when making a shared object; recompile with -fPIC
/data/opt/mpich2-install/lib/libmpich.a: error adding symbols: Bad value
make[7]: *** [libflow2d3d.la] Error 1
make[7]: Leaving directory `/data/Data/Temp/Delft3D/delft3d_repository/src/engines_gpl/flow2d3d/packages/flow2d3d/src'
make[6]: *** [install-recursive] Error 1
make[6]: Leaving directory `/data/Data/Temp/Delft3D/delft3d_repository/src/engines_gpl/flow2d3d/packages/flow2d3d/src'
make[5]: *** [install] Error 2
make[5]: Leaving directory `/data/Data/Temp/Delft3D/delft3d_repository/src/engines_gpl/flow2d3d/packages/flow2d3d/src'
make[4]: *** [install-recursive] Error 1
make[4]: Leaving directory `/data/Data/Temp/Delft3D/delft3d_repository/src/engines_gpl/flow2d3d/packages/flow2d3d'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory `/data/Data/Temp/Delft3D/delft3d_repository/src/engines_gpl/flow2d3d/packages'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/data/Data/Temp/Delft3D/delft3d_repository/src/engines_gpl/flow2d3d'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/data/Data/Temp/Delft3D/delft3d_repository/src/engines_gpl'
make: *** [install-recursive] Error 1


Any hint?
Adri Mourits, modified 5 Years ago.

RE: Delft 3D installation on Linux (Answer)

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

You're getting close, hold on!

You have to recompile mpich with the flag -fPIC, see the FAQ.

Regards,

Adri
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Hi Adri,
the situation evolved...
So, I installed ifort icc and icpc from the same version, then I compiled mpich v 3.1.1 with the following configure
./configure --prefix=/data/opt/mpich-install/ CC=/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/bin/intel64/icc CXX=/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/bin/intel64/icpc FC=/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/bin/intel64/ifort F77=/data/opt/intel/composer_xe_2013_sp1.3.174/composer_xe_2013_sp1.3.174/bin/intel64/ifort CXXFLAGS=' -O2 -fPIC ' CFLAGS=' -O2 -fPIC ' FCFLAGS=' -O2 -fPIC ' FFLAGS=' -O2 -fPIC '

then I setted the configure for the compilation of Delft3D with:
./configure --prefix=/opt/Delft3D/linux_compiled CC=/opt/intel/composer_xe_2013_sp1.3.174/bin/intel64/icc CXX=/opt/intel/composer_xe_2013_sp1.3.174/bin/intel64/icpc FC=/opt/intel/composer_xe_2013_sp1.3.174/bin/intel64/ifort F77=/opt/intel/composer_xe_2013_sp1.3.174/bin/intel64/ifort MPICXX=/opt/mpich-install/bin/mpicxx MPIFC=/opt/mpich-install/bin/mpif90 FCLIBS='-L/opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64 -L/lib/../lib64 -L/lib/../lib/ -L/usr/lib/x86_64-linux-gnu/ -L/usr/lib/../lib/ -L/lib64 -L/lib/ -L/usr/lib -L/usr/lib/i386-linux-gnu -L/opt/mpich-install/lib -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl -lmpifort' FLIBS='-L/opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64 -L/lib/x86_64-linux-gnu/ -L/lib/../lib64 -L/lib/../lib/ -L/opt/mpich-install/lib -L/usr/lib/x86_64-linux-gnu/ -L/usr/lib/../lib/ -L/lib64 -L/lib/ -L/usr/lib -L/usr/lib/i386-linux-gnu -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl' LIBS=' -L/opt/mpich-install/lib -L/opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64 -lrt -lexpat -lstdc++ -limf -lsvml -lirng -lintlc -lmpich -lmpifort'

and adding shared libraries in order to have mpif77 working
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/composer_xe_2013_sp1.3.174/mkl/lib/intel64:/opt/mpich-install/lib

Finally I give the make command and I get this error, which seems a compilation error and not a setting error (I am using tag 3574):

/bin/bash ../../../../../../libtool --tag=FC --mode=compile /opt/mpich-install/bin/mpif90 -DHAVE_CONFIG_H -I. -I../../../../../.. -I../../../../../../utils_lgpl/precision/packages/precision/src -I../../../../../../engines_gpl/waq/include -I../../../../../../engines_gpl/waq/packages/waq_utils_f/src/mod_timings -DWITH_DELFTONLINE -g -fpp -recursive -reentrancy threaded -traceback -c -o m_globcomm.lo m_globcomm.F90
libtool: compile: /opt/mpich-install/bin/mpif90 -DHAVE_CONFIG_H -I. -I../../../../../.. -I../../../../../../utils_lgpl/precision/packages/precision/src -I../../../../../../engines_gpl/waq/include -I../../../../../../engines_gpl/waq/packages/waq_utils_f/src/mod_timings -DWITH_DELFTONLINE -g -fpp -recursive -reentrancy threaded -traceback -c m_globcomm.F90 -fPIC -o .libs/m_globcomm.o
m_globcomm.F90(251): error #6401: The attributes of this name conflict with those made accessible by a USE statement. [MPI_OP]
integer :: mpi_op
-------------------^
m_globcomm.F90(328): error #6401: The attributes of this name conflict with those made accessible by a USE statement. [MPI_OP]
integer :: mpi_op
-------------------^
m_globcomm.F90(404): error #6401: The attributes of this name conflict with those made accessible by a USE statement. [MPI_OP]
integer :: mpi_op
-------------------^
m_globcomm.F90(484): error #6401: The attributes of this name conflict with those made accessible by a USE statement. [MPI_OP]
integer :: mpi_op, mpi_type
-------------------^
m_globcomm.F90(584): error #6401: The attributes of this name conflict with those made accessible by a USE statement. [MPI_OP]
integer :: mpi_op, mpi_type
-------------------^
m_globcomm.F90(684): error #6401: The attributes of this name conflict with those made accessible by a USE statement. [MPI_OP]
integer :: mpi_op, mpi_type
-------------------^
m_globcomm.F90(273): error #6478: A type-name must not be used as a variable. [MPI_OP]
mpi_op = MPI_UNDEFINED
---^
m_globcomm.F90(273): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands.
mpi_op = MPI_UNDEFINED
------------^
m_globcomm.F90(275): error #6478: A type-name must not be used as a variable. [MPI_OP]
mpi_op = MPI_SUM
------^
m_globcomm.F90(275): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands. [1476395011]
mpi_op = MPI_SUM
---------------^
m_globcomm.F90(277): error #6478: A type-name must not be used as a variable. [MPI_OP]
mpi_op = MPI_MAX
------^
m_globcomm.F90(277): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands. [1476395009]
mpi_op = MPI_MAX
---------------^
m_globcomm.F90(279): error #6478: A type-name must not be used as a variable. [MPI_OP]
mpi_op = MPI_MIN
------^
m_globcomm.F90(279): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands. [1476395010]
mpi_op = MPI_MIN
---------------^
m_globcomm.F90(282): error #6478: A type-name must not be used as a variable. [MPI_OP]
call mpi_allreduce(iarray, iarray, numval, MPI_INTEGER, mpi_op, &
-----------------------------------------------------------^
m_globcomm.F90(349): error #6478: A type-name must not be used as a variable. [MPI_OP]
mpi_op = MPI_UNDEFINED
---^
m_globcomm.F90(349): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands.
mpi_op = MPI_UNDEFINED
------------^
m_globcomm.F90(351): error #6478: A type-name must not be used as a variable. [MPI_OP]
mpi_op = MPI_SUM
------^
m_globcomm.F90(351): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands. [1476395011]
mpi_op = MPI_SUM
---------------^
m_globcomm.F90(353): error #6478: A type-name must not be used as a variable. [MPI_OP]
mpi_op = MPI_MAX
------^
m_globcomm.F90(353): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands. [1476395009]
mpi_op = MPI_MAX
---------------^
m_globcomm.F90(355): error #6478: A type-name must not be used as a variable. [MPI_OP]
mpi_op = MPI_MIN
------^
m_globcomm.F90(355): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands. [1476395010]
mpi_op = MPI_MIN
---------------^
m_globcomm.F90(358): error #6478: A type-name must not be used as a variable. [MPI_OP]
call mpi_allreduce(rarray, rarray, numval, MPI_REAL, mpi_op, &
--------------------------------------------------------^
m_globcomm.F90(426): error #6478: A type-name must not be used as a variable. [MPI_OP]
mpi_op = MPI_UNDEFINED
---^
m_globcomm.F90(426): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands.
mpi_op = MPI_UNDEFINED
------------^
m_globcomm.F90(428): error #6478: A type-name must not be used as a variable. [MPI_OP]
mpi_op = MPI_SUM
------^
m_globcomm.F90(428): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands. [1476395011]
mpi_op = MPI_SUM
---------------^
m_globcomm.F90(430): error #6478: A type-name must not be used as a variable. [MPI_OP]
mpi_op = MPI_MAX
------^
m_globcomm.F90(430): error #6303: The assignment operation or the binary expression operation is invalid for the data types of the two operands. [1476395009]
mpi_op = MPI_MAX
---------------^
/tmp/ifortGtfBCq.i90(1117): catastrophic error: Too many errors, exiting
compilation aborted for m_globcomm.F90 (code 1)
make[7]: *** [m_globcomm.lo] Error 1
make[7]: Leaving directory `/opt/sources/Delft3D/V_3574/src/engines_gpl/waq/packages/waq_utils_f/src/mod_couplib'
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory `/opt/sources/Delft3D/V_3574/src/engines_gpl/waq/packages/waq_utils_f/src'
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory `/opt/sources/Delft3D/V_3574/src/engines_gpl/waq/packages/waq_utils_f'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/opt/sources/Delft3D/V_3574/src/engines_gpl/waq/packages'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/opt/sources/Delft3D/V_3574/src/engines_gpl/waq'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/opt/sources/Delft3D/V_3574/src/engines_gpl'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/sources/Delft3D/V_3574/src'
make: *** [all] Error 2


Any hint?
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Last update: I tried to compile all the tags released by Delft3D and I got the same error for all these versions:
V_2869/
V_3008/
V_3058/
V_3185/
V_3426/
V_3574/

While the last tag which I was able to compile without error was the V_2703/


Regards

Giovanni
AM
Arjen Markus, modified 5 Years ago.

RE: Delft 3D installation on Linux

Jedi Knight Posts: 223 Join Date: 1/26/11 Recent Posts
I have had a look at these error messages - apparently there is a conflict between a variable (or parameter) defined in the mpi module of your MPI installation and a variable used within the Delft3D-WAQ code. I cannot find such a variable/parameter, however, in our MPI installation (mpich2, not sure what exact version).

Rather than messing about with MPI installations, you can try the following:

Replace the variable "mpi_op" by "oper" throughout the source file m_globcomm.f90. This ought to resolve the conflict (in this source file it is simply a local variable so its name does not matter to the rest of the code).

Regards,

Arjen
Michel Jeuken, modified 5 Years ago.

RE: Delft 3D installation on Linux (Answer)

Jedi Knight Posts: 156 Join Date: 1/21/13 Recent Posts
Hi Giovanni,

There is quite some trouble with MPI in WAQ for external users, so it is best to turn it off. The MPI implementation in WAQ is currently still in development, and won’t be finished soon. So there are two things you can do:

1) If you don’t want WAQ at all, exclude it from the build by removing the waq directory from the makefile.am in engines_gpl

2) If you do want WAQ, you can switch of MPI for WAQ, while still having it available for FLOW by changing the pre-processor definition HAVE_MPI in the files in /src/engines_gpl/waq/packages/waq_utils_f/src/mod_couplib/ into something else, for example HAVE_MPI_WAQ. This way all MPI stuff will be stripped from the WAQ code.

I just committed this solution to the trunk version of Delft3D (revision 3859), but this is not a tagged version. If you want to fix an older tagged version, please copy the attached files over the existing in /src/engines_gpl/waq/packages/waq_utils_f/src/mod_couplib/. It won't infulence the results (except MPI is not available in WAQ any more).

Without MPI there is still an other form parallelism available in WAQ, and that is the OpenMP implementation that can make use of multi-core processors. See also section 7.3.1.1 of the Input File Description manual to Delwaq.

Michel
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Ok, thanks, I will try to switch off the mpi for the WAQ. I will let you know how is it going

Giovanni
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Right now I am trying to compile tag_4306 and I am obtaining the following error:

make[6]: Entering directory `/opt/Delft3D/tags/tag_4306/src/utils_lgpl/esmfsm/packages/esmfsm_version_number/src'
/bin/sh ../../../../../libtool --tag=CC --mode=compile icc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../../.. -I../include -D_GNU_SOURCE -DSTR_LEN_AT_END -DWITH_DELFTONLINE -pthread -O2 -MT c2c.lo -MD -MP -MF .deps/c2c.Tpo -c -o c2c.lo c2c.c
libtool: compile: icc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../../.. -I../include -D_GNU_SOURCE -DSTR_LEN_AT_END -DWITH_DELFTONLINE -pthread -O2 -MT c2c.lo -MD -MP -MF .deps/c2c.Tpo -c c2c.c -fPIC -DPIC -o .libs/c2c.o
c2c.c(38): catastrophic error: cannot open source file "version_number.h"
#include "version_number.h"

In the directory there is a version.c file but not a version.h one. Do you have clue about what could be missing?
I am compiling on:
opensuse 3.11.10-21-desktop
ifort icc icpc mpicc mpif90 14.0.3 20140422
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Dear Michel,
I did as you suggested: I copied the files you provided me in /src/engines_gpl/waq/packages/waq_utils_f/src/mod_couplib/ for tag_2367 (I couldnt succeed in building the other ones...) and during the make command I get this error:

../../../../../engines_gpl/waq/packages/delwaq2_lib/src/.libs/libDelwaq2.a(m_couplib.o): In function `m_couplib_mp_couplib_stop_':
m_couplib.f90emoticon.text+0x24): undefined reference to `mpi_finalize_'

Do you have any hint waht is about?

gIovanni
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
A little update
I have been able to compile correctly tags 3574 4085 and 4168
While I got the following error for the following tags in the build.sh command:

tag_4289
No rule to make target openfl.F90, needed by openfl.lo. Stop.

tag_4306
Entering directory `/opt/Delft3D/tags/tag_4306/src/utils_lgpl/esmfsm/packages/esmfsm_version_number/src'
c2c.c(38): catastrophic error: cannot open source file "version_number.h"
#include "version_number.h"

If you eventually fix them could yo please give me a feedback?

Regards

giovanni
Adri Mourits, modified 5 Years ago.

RE: Delft 3D installation on Linux (Answer)

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

I updated tag_4289. That should compile now. I have no idea why this problem did not appear when I compiled it.

With respect to tag_4306: File "version_number.h" is created automatically during the compilation. The most common problem is related to source code not being downloaded with "svn checkout" but with "svn export". I don't have other suggestions; esmfsm_version_number is not changed recently. Please attach the full make log of a clean buid to a post on this forum when the problem is not solved.

Regards,

Adri
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Hi Adri,
tag_4289 is fixed and I have been able to compile it

tag_4306 is still failing to build (I gave the make clean command and then I had to configure with my machine variables, that already worked fine for tag_4289). Here what the log says:

...
Making install in src
make[5]: Entering directory `/opt/Delft3D/tags/tag_4306/src/utils_lgpl/esmfsm/packages/esmfsm_version_number/src'
rm -f ../include/version_number.h
../../../../../scripts_lgpl/linux/make_revision.sh ../../../../.. ../../.. ../include/version_number.ini ../include/version_number.h.svn ../include/version_number.h
USAGE : version_number.exe buildNumber <vnInputFile> <inputFile> <outputFile>
buildNumber : On the build server: buildNumber (=svn revision number)
Else: Subversion revisionNumber
<vnInputFile> : Name of the inifile containing the integers that form the v
ersion number
<inputFile> : Name of the file containing keywords to be replaced by the
actual version number
<outputFile> : Name of the file, identical to the inputFile with keywords
replaced
make install-am
make[6]: Entering directory `/opt/Delft3D/tags/tag_4306/src/utils_lgpl/esmfsm/packages/esmfsm_version_number/src'
/bin/sh ../../../../../libtool --tag=CC --mode=compile icc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../../.. -I../include -D_GNU_SOURCE -DSTR_LEN_AT_END -DWITH_DELFTONLINE -pthread -O2 -MT c2c.lo -MD -MP -MF .deps/c2c.Tpo -c -o c2c.lo c2c.c
libtool: compile: icc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../../.. -I../include -D_GNU_SOURCE -DSTR_LEN_AT_END -DWITH_DELFTONLINE -pthread -O2 -MT c2c.lo -MD -MP -MF .deps/c2c.Tpo -c c2c.c -fPIC -DPIC -o .libs/c2c.o
c2c.c(38): catastrophic error: cannot open source file "version_number.h"
#include "version_number.h"
^

compilation aborted for c2c.c (code 4)
make[6]: *** [c2c.lo] Errore 1
make[6]: Leaving directory `/opt/Delft3D/tags/tag_4306/src/utils_lgpl/esmfsm/packages/esmfsm_version_number/src'
make[5]: *** [install] Errore 2
make[5]: Leaving directory `/opt/Delft3D/tags/tag_4306/src/utils_lgpl/esmfsm/packages/esmfsm_version_number/src'
make[4]: *** [install-recursive] Errore 1
make[4]: Leaving directory `/opt/Delft3D/tags/tag_4306/src/utils_lgpl/esmfsm/packages/esmfsm_version_number'
make[3]: *** [install-recursive] Errore 1
make[3]: Leaving directory `/opt/Delft3D/tags/tag_4306/src/utils_lgpl/esmfsm/packages'
make[2]: *** [install-recursive] Errore 1
make[2]: Leaving directory `/opt/Delft3D/tags/tag_4306/src/utils_lgpl/esmfsm'
make[1]: *** [install-recursive] Errore 1
make[1]: Leaving directory `/opt/Delft3D/tags/tag_4306/src/utils_lgpl'
make: *** [install-recursive] Errore 1
Adri Mourits, modified 5 Years ago.

RE: Delft 3D installation on Linux (Answer)

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

That "USAGE...." output should not appear. I don't understand why tag_4306 goes wrong and tag_4289 goes ok. Did you already try to start all over again with an empty directory, freshly checking out tag_4306?

What happens if you, inside the command window, go to directory `/opt/Delft3D/tags/tag_4306/src/utils_lgpl/esmfsm/packages/esmfsm_version_number/src' and execute
../../../../../scripts_lgpl/linux/make_revision.sh ../../../../.. ../../.. ../include/version_number.ini ../include/version_number.h.svn ../include/version_number.h

just from the command prompt? Do you get the same error message or does file ../include/version_number.h appear?

What happens if you open, in a text editor, file "/opt/Delft3D/tags/tag_4306/src/scripts_lgpl/linux/make_revision.sh", go to line 65 ($VN_DIR/version_number.exe $BUILD_NUMBER $3 $4 $5) and add the following echo commands just above this statement:
echo "Calling version_number.exe with the following arguments:"
echo "   argument 1: $BUILD_NUMBER"
echo "   argument 2: $3"
echo "   argument 3: $4"
echo "   argument 4: $5"

and then try to compile again?

What happens if you, inside the command window, go to directory `/opt/Delft3D/tags/tag_4306/src/utils_lgpl/esmfsm/' and execute
svnversion .


This should give some more information about what goes wrong.

Regards,

Adri
Giovanni Besio, modified 5 Years ago.

RE: Delft 3D installation on Linux

Youngling Posts: 24 Join Date: 10/25/12 Recent Posts
Hi Adri,
I downloaded again tag_4306 and now it is compiling.
I have got no problem and did not get any error
Thanks for the help!

Giovanni

P.S. I will check the compilation for tag 4440 as well