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

Compiling on Ubuntu 11.10 32b: Error during MAKE

SH
Shawn Harrison, modified 7 Years ago.

Compiling on Ubuntu 11.10 32b: Error during MAKE

Padawan Posts: 70 Join Date: 6/25/12 Recent Posts
Hi,
Thank you for the helpful webinar 'How to compile Delft3d under Linux'.

Following along Fedor's steps with a clean Ubuntu build, I was able to successfully make it through the 'configure' steps. I am using version 1645 of the trunk.
However, during 'MAKE' errors occur.

The first of the recursive errors begins with this:

make[4]: Entering directory `/home/shawn/delft3trunk/src/utils_lgpl/delftonline/src/dolcli'
g++ -DHAVE_CONFIG_H -I. -I../../../.. -I../../../../utils_lgpl/delftonline/include -D_GNU_SOURCE -DSTR_LEN_AT_END -DWITH_DELFTONLINE -pthread -g -O2 -MT dolcli.o -MD -MP -MF .deps/dolcli.Tpo -c -o dolcli.o dolcli.cpp
In file included from dolcli.cpp:41:0:
dolcli.h:49:30: fatal error: readline/history.h: No such file or directory


Any ideas? It looks almost like the make command is pointing to a folder structure that is incorrect.
Please help!

Thank you kindly,
Shawn

Attachments:

SH
Shawn Harrison, modified 7 Years ago.

RE: Compiling on Ubuntu 11.10 32b: Error during MAKE

Padawan Posts: 70 Join Date: 6/25/12 Recent Posts
Progress, but still not proper -

From Adri in a response to Veli in another thread ("compiling error trunk v1594"):
"Skip the compiling of "dolcli" and "dolprint". You don't need it for building Delft3D-FLOW and it is under construction right now."

Removing the last 2 lines from ../src/utils_lgpl/delftonline/Makefile.am (which call dolcli and dolprint) allows the make process to proceed beyond the initial error I was having with the lack of a readline/history.h file called from dolcli.h

However, I now have found another snag!
The make process encounters an error during the delftio_sync step while accessing the source for waq2flow.90 (it can't find waq2flow.o) in
..src/utils_lgpl/delftio_sync/packages/delftio_sync/src/

Actually, the files it's looking for waq2flow.o and waq2flow.90 are not in that folder. I did however find waq2flow.90 in another location: ..src/engines_gpl/flow2d3d/packages/io/src/output/. Is this the same file? Could I copy this file and put it in the delftio_sync/src folder? OR
Shall I just silence the call for waq2flow in the ..src/utils_lgpl/delftio_sync/packages/delftio_sync/src/Makefile.am file? Will this hinder the performance of the D3D-FLOW,SED, or WAVE?

Please advise.

Thank you,
Shawn


PS>>
Assuming it wont create problems to silence the call for waq2flow in delftio_sync, I went ahead and tried it.. The make process went much further, but gave an error that I struggle to understand.. The make.log is attached.

Attachments:

SH
Shawn Harrison, modified 7 Years ago.

RE: Compiling on Ubuntu 11.10 32b: Error during MAKE

Padawan Posts: 70 Join Date: 6/25/12 Recent Posts
Ok, so I noticed that the trunk was updated this afternoon - so I tried making that version..
same problem with the make command.
However, if I try the
./configure --prefix=$(pwd) and
make ds-install
the make goes very far.. It seems to compile almost everything.. The only problems seem to be associated with the libflow2d3d_sp feature. The last few lines it reports are:


Target directory: ../bin
Source : all engines
installing all open source projects . . .
installing d_hydro . . .
installing flow2d3d . . .
cp: cannot stat `lib/libflow2d3d_sp.so': No such file or directory
can't copy "lib/libflow2d3d_sp.so" to "../bin/lnx/flow2d3d/bin"
installing flow2d3d_openda . . .
cp: cannot stat `lib/libflow2d3d_openda_sp.so': No such file or directory
can't copy "lib/libflow2d3d_openda_sp.so" to "../bin/lnx/flow2d3d/bin"
installing wave . . .
installing plugin_culvert . . .
installing plugin_delftflow_traform . . .
installing datsel . . .
installing kubint . . .
installing lint . . .
installing mormerge . . .
installing vs . . .
SH
Shawn Harrison, modified 7 Years ago.

RE: Compiling on Ubuntu 11.10 32b: Error during MAKE

Padawan Posts: 70 Join Date: 6/25/12 Recent Posts
OK, so.. the install seems to be good.
After the configure and make step,
i.e.:
./configure --prefix=$(pwd) and
make ds-install
I just needed to make sure the appropriate paths where linked to the executables and the library.
The webinar notes say:

l s build / bin
cd . . / examples /?? standard
e x p o r t PATH=$ b u i l d p a t h / b i n : $PATH
e x p o r t LD LIBRARY PATH=$ b u i l d p a t h / l i b : $LD LIBRARY PATH


but that is not quite correct if you're following literally.
For the user that does not know linux very well (like me), $buildpath should first be defined in the environmental variables, or explicitly identified here.
For example, my build is in the folder /home/shawn/delft3trunk/src
so, I would either replace the string '$buildpath' with this string in the above command or define it before this step, e.g.

export buildpath= /home/shawn/delft3trunk/src


then you can proceed with the recommendations from the webinar notes, i.e.

export PATH=$buildpath/bin:$PATH
export LD_LIBRARY_PATH=$buildpath/lib:$LD_LIBRARY_PATH


Alfter sorting this junk out, the install should be able to launch an example.

I can launch an example.. But the example doesn't work so well..
Initially, it looks like there are problems with the new XML-based files.


ERROR: child killed: SIGABRT
- Starting "d_hydro.exe" may give more information:
- Run "deltares_hydro.exe <INI-inputfile> -keepXML".
- Run "d_hydro.exe TMP_config_flow2d3d_<processId>.xml".


Then, I run the 3 suggestions. The process proceeds. And the output follows as:

b777b000-b777d000 rw-p 00000000 00:00 0
bfb13000-bfb34000 rw-p 00000000 00:00 0 [stack]
Aborted


Is this a successful example model run? I have only previously used the D3D(v4) compiled on Windows using a FrontEnd.

Is this snag with the new tcl executables not actually running going to be a problem when running models from the front end?
SH
Shawn Harrison, modified 7 Years ago.

RE: Compiling on Ubuntu 11.10 32b: Error during MAKE (Answer)

Padawan Posts: 70 Join Date: 6/25/12 Recent Posts
OK!

So, I tried again with the latest trunk - which wouldn't work initially on my again clean Ubuntu 11.10 32bit platform.

Again there were problems with the 'dolcli' feature.. So I silenced the call for it in the make.am file in the dolci floder.
Then the make process snagged on the reference to
'/opt/mpich2-1.4.1-gcc-4.6.2/bin/mpif90' in build.sh. I found the thread by Wim Glas ("Compiling Ubuntu 11.10 32-bit") to be particularly helpful in addressing this problem. Wim found that the mpich2-1.4.1 needed to be manually compiled on his machine.
I previously installed the "most recent" mpich2 on my ubuntu platform, but it was not properly configuring this mpich2 dependency. So, following Wim's instructions I downloaded, compiled, and installed mpich2-1.4.1 and put it in the folder /opt/ so that the location mpich2-1.4.1-gcc-4.6.2/bin/mpif90 could be found by the D3D make. Sure, I could change the build.sh file to point to another location, but I couldn't think of a better location. After doing this, D3D make's completely.

Also, example problems run smoothly.
MJ
Mingshun Jiang, modified 7 Years ago.

RE: Compiling on Ubuntu 11.10 32b: Error during MAKE

Youngling Posts: 6 Join Date: 6/22/12 Recent Posts
hi Shawn,

thanks for the detailed posts.

I am wondering what you did between your 06/27 and 06/28 posts? I have a (I think) same problem,

------------------
cp: cannot stat `lib/libflow2d3d_sp.so': No such file or directory
can't copy "lib/libflow2d3d_sp.so" to "../bin/lnx/flow2d3d/bin"
installing flow2d3d_openda . . .
cp: cannot stat `lib/libflow2d3d_openda_sp.so': No such file or directory
can't copy "lib/libflow2d3d_openda_sp.so" to "../bin/lnx/flow2d3d/bin"
installing wave . . .
------------------

My gcc version is 4.6.3, though. But it seems compiling is all ok. Just not sure why those two lib files were not generated. There are some warning during the linking phase,

-------------------
*** Warning: Linking the shared library libflow2d3d.la against the
*** static library ../../../../../utils_lgpl/d_hydro_lib/packages/d_hydro_lib/src/libD_hydro.a is not portable!
-------------------

Any ideas why? Thanks.

Mingshun

Shawn Harrison:
OK!

So, I tried again with the latest trunk - which wouldn't work initially on my again clean Ubuntu 11.10 32bit platform.

Again there were problems with the 'dolcli' feature.. So I silenced the call for it in the make.am file in the dolci floder.
Then the make process snagged on the reference to
'/opt/mpich2-1.4.1-gcc-4.6.2/bin/mpif90' in build.sh. I found the thread by Wim Glas ("Compiling Ubuntu 11.10 32-bit") to be particularly helpful in addressing this problem. Wim found that the mpich2-1.4.1 needed to be manually compiled on his machine.
I previously installed the "most recent" mpich2 on my ubuntu platform, but it was not properly configuring this mpich2 dependency. So, following Wim's instructions I downloaded, compiled, and installed mpich2-1.4.1 and put it in the folder /opt/ so that the location mpich2-1.4.1-gcc-4.6.2/bin/mpif90 could be found by the D3D make. Sure, I could change the build.sh file to point to another location, but I couldn't think of a better location. After doing this, D3D make's completely.

Also, example problems run smoothly.
SH
Shawn Harrison, modified 7 Years ago.

RE: Compiling on Ubuntu 11.10 32b: Error during MAKE

Padawan Posts: 70 Join Date: 6/25/12 Recent Posts
Hi Mishung,

Sorry, I am away from my computer for a few days.. But I will try to remember what I did.

Are you building the binaries in a build folder for redistribution? if you plan to use the GUI then I recommend building this way so you can easily move the binaries to the locations expected by the GUI.
First, make sure that your username has permissions to write to the trunk directory.. Then do the ./autogen command. Then do the ./configure --prefix=$(pwd)/build. Double check the permissions of this build folder... Initially my machine wouldn't let me write to it for some reason. Then do the make command. Then the make ds-install command.
Watch the comments near the end of the install.. Look out for any cant find file comments..
If it still doesn't work, check the build.sh file.. Search for libflow2d3d* and make sure the pathway it suggests is in agreement with what you are trying to make with your configure step. I think I might have had to change this, but am not certain.

That should do it.

Let me know how you get on.. I will think if I did anything else special.

Cheers,
Shawn
MJ
Mingshun Jiang, modified 7 Years ago.

RE: Compiling on Ubuntu 11.10 32b: Error during MAKE

Youngling Posts: 6 Join Date: 6/22/12 Recent Posts
hi Shawn,

thanks. I just used the build.sh. The problems came from the 'make ds-install' step. But the installation was actually completed. I ran the 4 examples, 3 of them worked fine. But the 03_flow-wave had problem. Somehow it couln'd find the library libiomp5.so (not complained in the installation log). So it looks like a problem with OMP library. Still looking.

Regards,

Mingshun

Shawn Harrison:
Hi Mishung,

Sorry, I am away from my computer for a few days.. But I will try to remember what I did.

Are you building the binaries in a build folder for redistribution? if you plan to use the GUI then I recommend building this way so you can easily move the binaries to the locations expected by the GUI.
First, make sure that your username has permissions to write to the trunk directory.. Then do the ./autogen command. Then do the ./configure --prefix=$(pwd)/build. Double check the permissions of this build folder... Initially my machine wouldn't let me write to it for some reason. Then do the make command. Then the make ds-install command.
Watch the comments near the end of the install.. Look out for any cant find file comments..
If it still doesn't work, check the build.sh file.. Search for libflow2d3d* and make sure the pathway it suggests is in agreement with what you are trying to make with your configure step. I think I might have had to change this, but am not certain.

That should do it.

Let me know how you get on.. I will think if I did anything else special.

Cheers,
Shawn
MJ
Mingshun Jiang, modified 7 Years ago.

RE: Compiling on Ubuntu 11.10 32b: Error during MAKE

Youngling Posts: 6 Join Date: 6/22/12 Recent Posts
ok, the flow-wave failed because d3d can't find the intel library. After I fixed the path, it works now (didn't really solve the missing libflow2d3d.so issue, though. but it seems doesn't matter.).

Mingshun Jiang:
hi Shawn,

thanks. I just used the build.sh. The problems came from the 'make ds-install' step. But the installation was actually completed. I ran the 4 examples, 3 of them worked fine. But the 03_flow-wave had problem. Somehow it couln'd find the library libiomp5.so (not complained in the installation log). So it looks like a problem with OMP library. Still looking.

Regards,

Mingshun

Shawn Harrison:
Hi Mishung,

Sorry, I am away from my computer for a few days.. But I will try to remember what I did.

Are you building the binaries in a build folder for redistribution? if you plan to use the GUI then I recommend building this way so you can easily move the binaries to the locations expected by the GUI.
First, make sure that your username has permissions to write to the trunk directory.. Then do the ./autogen command. Then do the ./configure --prefix=$(pwd)/build. Double check the permissions of this build folder... Initially my machine wouldn't let me write to it for some reason. Then do the make command. Then the make ds-install command.
Watch the comments near the end of the install.. Look out for any cant find file comments..
If it still doesn't work, check the build.sh file.. Search for libflow2d3d* and make sure the pathway it suggests is in agreement with what you are trying to make with your configure step. I think I might have had to change this, but am not certain.

That should do it.

Let me know how you get on.. I will think if I did anything else special.

Cheers,
Shawn
SH
Shawn Harrison, modified 7 Years ago.

RE: Compiling on Ubuntu 11.10 32b: Error during MAKE (Answer)

Padawan Posts: 70 Join Date: 6/25/12 Recent Posts
Hi Mingshun,
Apologies for the late reply.. did you find the libiomp5.so?
My install shows that file in the ../intel/wave/bin directory. I didn't do anything 'special' to address this file.

Cheers,
Shawn