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 error in 5.00.00.1241 and 5.00.04.1520

DS
Dirk Smit, modified 7 Years ago.

make error in 5.00.00.1241 and 5.00.04.1520

Youngling Posts: 21 Join Date: 6/18/13 Recent Posts
Hi,
i'm getting different make errors while compiling with these settings. The weird thing is, that i have a working copy on my machine, but the person who did this left the company...
The settings are made with a slightly modified build script from this site.

My Settings for 5.00.00.1241
./build_mue.sh -gnu -64bit
Using GNU compilers in /usr/bin
Current settings:
export ACLOCAL=""
export AUTOMAKE=""
export AUTOHEADER=""
export AUTOCONF=""
export AUTORECONF_FLAGS=""
export FCLIBS_ADDITIONAL=" "
export LIBTOOLIZE=""
export LDFLAGS=""
export LDFLAGSMT_ADDITIONAL=" "
export LD_LIBRARY_PATH="/opt/mpich2/1.4.1p1/gcc/lib::/opt/mvapich2/ifort-1.8a2/lib:/usr/lib64"
export MPIFC="/opt/mvapich2/ifort-1.8a2/bin/mpif90"
export MPI_INCLUDE="/opt/mvapich2/ifort-1.8a2/include"
export MPILIBS_ADDITIONAL="-L/opt/mvapich2/ifort-1.8a2/lib -lfmpich -lmpich -lmpl"
export PKG_CONFIG_PATH=""
export PATH="/opt/mvapich2/ifort-1.8a2/bin:/opt/mpich2/1.4.1p1/gcc/bin:/opt/netcdf-gcc/bin:/opt/netcdf-gcc/lib:/opt/netcdf-gcc/include:/opt/mpich2/1.4.1p1/gcc/bin:/opt/mpich2/1.4.1p1/gcc/lib:/opt/mpich2/1.4.1p1/gcc/include:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/ofed/bin:/opt/ofed/sbin:/opt/torque/bin:/home/smit/bin:/opt/torque/bin"

20130619.081015 :: Running ./autogen.sh &> logs/autogen.log
20130619.081052 :: Running CFLAGS='-O2 -fPIC -m64 ' CXXFLAGS='-O2 -fPIC -m64 ' FFLAGS='-O2 -fPIC -m64 ' FCFLAGS='-O2 -fPIC -m64 ' ./configure --prefix=/usr/local/src/d3d/5.00.00.1241-/src &> logs/configure.log
20130619.081128 :: Running make ds-install &> logs/make.log
20130619.081217 :: Make fails!


Settings for 5.00.04.1520
./build_mue.sh -gnu -64bit
Using GNU compilers in /usr/bin
Current settings:
export ACLOCAL=""
export AUTOMAKE=""
export AUTOHEADER=""
export AUTOCONF=""
export AUTORECONF_FLAGS=""
export FCLIBS_ADDITIONAL=" "
export LIBTOOLIZE=""
export LDFLAGS=""
export LDFLAGSMT_ADDITIONAL=" "
export LD_LIBRARY_PATH=":/opt/mvapich2/ifort-1.8a2/lib:/usr/lib64"
export MPIFC="/opt/mvapich2/ifort-1.8a2/bin/mpif90"
export MPI_INCLUDE="/opt/mvapich2/ifort-1.8a2/include"
export MPILIBS_ADDITIONAL="-L/opt/mvapich2/ifort-1.8a2/lib -lfmpich -lmpich -lmpl"
export PKG_CONFIG_PATH=""
export PATH="/opt/mvapich2/ifort-1.8a2/bin:/opt/netcdf-gcc/bin:/opt/netcdf-gcc/lib:/opt/netcdf-gcc/include:/opt/mpich2/1.4.1p1/gcc/bin:/opt/mpich2/1.4.1p1/gcc/lib:/opt/mpich2/1.4.1p1/gcc/include:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/ofed/bin:/opt/ofed/sbin:/opt/torque/bin:/home/smit/bin:/opt/torque/bin"

20130619.081723 :: Running ./autogen.sh &> logs/autogen.log
20130619.081759 :: Running CFLAGS='-O2 -fPIC -m64 ' CXXFLAGS='-O2 -fPIC -m64 ' FFLAGS='-O2 -fPIC -m64 ' FCFLAGS='-O2 -fPIC -m64 ' ./configure --prefix=/usr/local/src/d3d/5.00.04.1520/src &> logs/configure.log
20130619.081836 :: Running make ds-install &> logs/make.log
20130619.081924 :: Make fails!


Where is my error?
Adri Mourits, modified 7 Years ago.

RE: make error in 5.00.00.1241 and 5.00.04.1520 (Answer)

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

You are using "mvapich" instead of "mpich2". I don't have experience with mvapich. But with mpich2, it is very important that mpich2 is compiled with exactly the same compiler as used for the Delft3D source code.

The mpi libraries cause a lot of trouble during compiling. See for example this thread.

Today I added the full compile log to the trunk version. You can compare that with your log.

Regards,

Adri
DS
Dirk Smit, modified 7 Years ago.

RE: make error in 5.00.00.1241 and 5.00.04.1520

Youngling Posts: 21 Join Date: 6/18/13 Recent Posts
Hi Adri,

your tip worked. It was some kind of Path-mix-up - i think my predecessor was just in the act of switching from one version to the next when he stopped working on it...

Now i can playaround with it an get it to work with mvapich2 again...

Thanks,

Dirk


Update:
The Compiling with MVAPICH2 and GNU works flawless, but now the next step doesn't want wo work.
I try to compile using the INTEL12 compiler and am getting new errors.
Am i making my errors while compiling MVAPICH2 or delft3d?
These are my configuration settings vor MVAPICH2:
Configuring MVAPICH2 version 1.8a2 with  '--prefix=/opt/mvapich2/ifort-1.8a2' '--with-ib-libpath=/opt/ofed/lib64' '--with-ib-include=/opt/ofed/include' 'F77=ifort' 'FC=ifort' 'CC=icc' 'CXX=icpc' 'FCFLAGS=-fPIC' 'CFLAGS=-fPIC' 'CCFLAGS=-fPIC' 'CXXFLAGS=-fPIC'

my make.log from delft3d is attached.
TR
Tobias Rothhardt, modified 7 Years ago.

RE: make error in 5.00.00.1241 and 5.00.04.1520

Youngling Posts: 17 Join Date: 7/25/11 Recent Posts
Hi Dirk,
in your make.log I can see a lot of lines refering to gfortran as compiler. And a lot of errors about the unknown -threads flag, like I had too...

But your compiling flags for mvapich2 show that you compiled this using the intel compilers (ifort, icc, icpc). I guess for mvapich2 it is the same like for mpich2. The mpich and d3d needs to be compiled with the exact same compilers. I´m still struggling with this myself, but was successful compiling while using only gnu compilers.

Greetings
Toby
DS
Dirk Smit, modified 7 Years ago.

RE: make error in 5.00.00.1241 and 5.00.04.1520

Youngling Posts: 21 Join Date: 6/18/13 Recent Posts
Hi Toby,

the compiling with the GNU-Compiler works flawless (as far as i can see), but that switching to the INTEL12 compiler is giving me the problems.
I am still in the process of finding the right switches to compile d3d and/or mvapich2 with the last one.

Thanks for the heads up,

Dirk
DS
Dirk Smit, modified 7 Years ago.

RE: make error in 5.00.00.1241 and 5.00.04.1520

Youngling Posts: 21 Join Date: 6/18/13 Recent Posts
I still can't figure out, where i make my mistake in the build File
Perhaps one of you sees something i don't...

mpich2version:

[root@master bin]# pwd
/opt/mvapich2/ifort-1.8a2/bin
[root@master bin]# ./mpich2version
MPICH2 Version:         1.8a2
MPICH2 Release date:    Thu Feb  2 08:47:18 EST 2012
MPICH2 Device:          ch3:mrail
MPICH2 configure:       --prefix=/opt/mvapich2/ifort-1.8a2 --with-ib-libpath=/opt/ofed/lib64 --with-ib-include=/opt/ofed/include
MPICH2 CC:      gcc    -DNDEBUG -DNVALGRIND -O2
MPICH2 CXX:     c++   -DNDEBUG -DNVALGRIND -O2
MPICH2 F77:     gfortran   -O2 -L/opt/ofed/lib64
MPICH2 FC:      ifort   -O2


The error happens at the "make" stage.
Adri Mourits, modified 7 Years ago.

RE: make error in 5.00.00.1241 and 5.00.04.1520 (Answer)

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

You compiled the Delft3D code with the Gnu compilers (while you intend to compile everything with the Intel compiler, right?).

The make environment is improved since version 5.00.04.1520. I advice you to use the latest tagged version, currently https://svn.oss.deltares.nl/repos/delft3d/tags/2514. Please read the "src/README".

Other things you can try:
- Use the flags "'F77=ifort' 'FC=ifort' 'CC=icc' 'CXX=icpc'" also when configuring Delft3D (see the configure example line in "src/README").
- Remove/disable the Gnu compilers

Regards,

Adri
DS
Dirk Smit, modified 7 Years ago.

RE: make error in 5.00.00.1241 and 5.00.04.1520

Youngling Posts: 21 Join Date: 6/18/13 Recent Posts
I have at last acquired the actual Version, but now there are new errors...
Even when compiling with the same settings, as with the 5.00.04 version.
'Build.sh -gnu -64bit' has run successfull with the old Version.

New Version: error in autogen.log

Attachments:

Adri Mourits, modified 7 Years ago.

RE: make error in 5.00.00.1241 and 5.00.04.1520 (Answer)

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

After Googling: this seems to be a bug in Autoconf version 2.63. Can you upgrade to 2.68 which I'm sure that works?

Regards,

Adri
DS
Dirk Smit, modified 7 Years ago.

RE: make error in 5.00.00.1241 and 5.00.04.1520

Youngling Posts: 21 Join Date: 6/18/13 Recent Posts
Hi Adri,
a new Week with new errors...
After updating my autoconf i am getting this error:
libtool: compile:  gfortran -I../../../../../utils_lgpl/precision/packages/precision/src -I../../../../../engines_gpl/waq/include -I../../../../../engines_gpl/waq/packages/waq_kernel/src/waq_kernel -I../../../../../engines_gpl/waq/packages/waq_utils_f/src/mod_timings -I../../../../../engines_gpl/waq/packages/waq_utils_f/src/mod_couplib -I../../../../../engines_gpl/waq/packages/waq_utils_f/src/waq_utils -I../../../../../engines_gpl/waq/packages/delftio/src/diof90 -I../../../../../third_party_open/openda/core/native/include -I../../../../../utils_lgpl/deltares_common/packages/deltares_common/src/rd_token -I../../../../../utils_lgpl/deltares_common/packages/deltares_common/src -DWITH_DELFTONLINE -O2 -fPIC -m64 -ffree-line-length-none -cpp -c delwaq2_global_data.f90  -fPIC -o .libs/delwaq2_global_data.o
delwaq2_global_data.f90:34.30:

    type(delwaq_data) :: dlwqd                      !< Variable holding all int
                              1
Error: Object 'dlwqd' at (1) must have the SAVE attribute for default initialization of a component
make[5]: *** [delwaq2_global_data.lo] Error 1


I am using a freshly recompiled mvapich2 that seems to work.
I can succesfully compile 5.00.04 but when compiling the lates trunk i am geting the above...

Regards,

Dirk

P.S.: Thats my mpich2version

[root@master src]# mpich2version
MPICH2 Version:         1.8a2
MPICH2 Release date:    Thu Feb  2 08:47:18 EST 2012
MPICH2 Device:          ch3:mrail
MPICH2 configure:       --prefix=/opt/mvapich2/1.8a2/gcc/ --with-ib-libpath=/opt/ofed/lib64 --with-ib-include=/opt/ofed/include CFLAGS=-fPIC CXXFLAGS=-fPIC FFLAGS=-fPIC FCFLAGS=-fPIC
MPICH2 CC:      gcc -fPIC   -DNDEBUG -DNVALGRIND -O2
MPICH2 CXX:     c++ -fPIC  -DNDEBUG -DNVALGRIND -O2
MPICH2 F77:     gfortran -fPIC  -O2 -L/opt/ofed/lib64
MPICH2 FC:      gfortran -fPIC  -O2

Attachments:

MJ
Michel Jeuken, modified 7 Years ago.

RE: make error in 5.00.00.1241 and 5.00.04.1520

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

Hm, strange error, I haven't seen any complains about that before. I tried to build head revision 2670 and the version you seen to be using (2641 according to the log), but both of them compile without erros using GNU fortran.

My guess would be a difference between mpich2 and mvapich2, and the requirements to save data across threads, but I've no experience with mvapich2. Maybe add a save statement, but if you do not want to use the water quality module (which of course would be a shame), you can always skip it by removing waq from the ..\src\engines_gpl\Makefile.am.

Michel
DS
Dirk Smit, modified 6 Years ago.

RE: make error in 5.00.00.1241 and 5.00.04.1520

Youngling Posts: 21 Join Date: 6/18/13 Recent Posts
i switched to 6.01.00.2640 in the meantime und tried to compile it.
But somehow he doesn't like my setup. I am using the same build.sh as in my successfull compileattempts with 5.01.00.2163. There it compiles without error.
Here i get the already mentioned make error in the delwaq module.
I even tried to use the mpich2 Settings again, but with the same error.

Attachments:

Adri Mourits, modified 6 Years ago.

RE: make error in 5.00.00.1241 and 5.00.04.1520

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

Version 5.xx does not contain the Delwaq source code.

So the problem is not related to mvapich. What version of gfortran do you use (gfortran --version)?

Regards,

Adri
DS
Dirk Smit, modified 6 Years ago.

RE: still make error in rev 3574

Youngling Posts: 21 Join Date: 6/18/13 Recent Posts
Hi Adri,
since i still can't get the 3574 Version to work i am back again:
In the meantime our System has been updated to RHEL 6.5
The following Compiler Versions are in use:
GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)

All other Tools seem to work as well without Problems, but still i get an error in the delwaq code:

libtool: compile:  gfortran -I../../../../../utils_lgpl/precision/packages/precision/src -I../../../../../engines_gpl/waq/include -I../../../../../engines_gpl/waq/packages/waq_kernel/src/waq_kernel -I../../../../../engines_gpl/waq/packages/waq_utils_f/src/mod_timings -I../../../../../engines_gpl/waq/packages/waq_utils_f/src/mod_couplib -I../../../../../engines_gpl/waq/packages/waq_utils_f/src/waq_utils -I../../../../../engines_gpl/waq/packages/delftio/src/diof90 -I../../../../../third_party_open/openda/core/native/include -I../../../../../utils_lgpl/deltares_common/packages/deltares_common/src/rd_token -I../../../../../utils_lgpl/deltares_common/packages/deltares_common/src -DWITH_DELFTONLINE -O2 -fPIC -m64 -ffree-line-length-none -cpp -c delwaq2_global_data.f90  -fPIC -o .libs/delwaq2_global_data.o
delwaq2_global_data.f90:34.30:

    type(delwaq_data) :: dlwqd                      !< Variable holding all int
                              1
Error: Object 'dlwqd' at (1) must have the SAVE attribute for default initialization of a component
make[5]: *** [delwaq2_global_data.lo] Error 1

Do you have any idea?

Best regards,

Dirk
MJ
Michel Jeuken, modified 5 Years ago.

RE: still make error in rev 3574

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

When I googled the message I ended up on the Delft3D forum on this discussion. Seems like this message can have a totally different cause. Seeing it back (discussion from over a year ago), I think a part of Delwaq wasn't compiled right due to MPI problems, but only later on the compilation halts because it depends on a previous step. The solution in this discussion might help you too, but you can also turn of MPI in Delwaq. I recently turned op MPI in Delwaq on Linux by default, but that isn't in 3574 yet. You can patch this tagged version as I described in this message. But that will only help you with Delwaq (I hope). If you want the correct MPI for FLOW, you should check if MPI was linked right in your setup.

Michel
DS
Dirk Smit, modified 5 Years ago.

RE: still make error in rev 3574

Youngling Posts: 21 Join Date: 6/18/13 Recent Posts
Hi Michel,

compiling without WAQ works. But wenn i try to use your Patch with my 3574 revision i get the following error during the make stage (again):
libtool: compile:  /opt/mvapich2/1.8a2-gnu/bin/mpif90 -I../../../../../utils_lgpl/precision/packages/precision/src -I../../../../../engines_gpl/waq/include -I../../../../../engines_gpl/waq/packages/waq_kernel/src/waq_kernel -I../../../../../engines_gpl/waq/packages/waq_utils_f/src/mod_timings -I../../../../../engines_gpl/waq/packages/waq_utils_f/src/mod_couplib -I../../../../../engines_gpl/waq/packages/waq_utils_f/src/waq_utils -I../../../../../engines_gpl/waq/packages/delftio/src/diof90 -I../../../../../third_party_open/openda/core/native/include -I../../../../../utils_lgpl/deltares_common/packages/deltares_common/src/rd_token -I../../../../../utils_lgpl/deltares_common/packages/deltares_common/src -DWITH_DELFTONLINE -O3 -fPIC -march=barcelona -m64 -ffree-line-length-none -cpp -c delwaq2_global_data.f90  -fPIC -o .libs/delwaq2_global_data.o
delwaq2_global_data.f90:34.30:

    type(delwaq_data) :: dlwqd                      !< Variable holding all int
                              1
Error: Object 'dlwqd' at (1) must have the SAVE attribute for default initialization of a component
make[5]: *** [delwaq2_global_data.lo] Error 1
make[5]: Leaving directory `/usr/local/src/d3d/6.01.07.3574_mitwaq/src/engines_gpl/waq/packages/delwaq2_lib/src'