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

Problem running testcase on Ubuntu

DN
Dan Nowacki, modified 8 Years ago.

Problem running testcase on Ubuntu

Youngling Posts: 6 Join Date: 2/29/12 Recent Posts
Hi,

I have successfully compiled 64-bit Delft3D (5.00.00.1234) on Ubuntu. There were some potentially distressing messages in make.log (see attached) but it appeared to be successful. My issue is in getting the 01_standard testcase to run. Searching hasn't resulted in any promising leads, so hopefully someone can help.

When running run_flow2d3d.sh, I get no output and immediately am returned to the shell. Could this be caused by library issues, or would I get an error instead of no output? ldd libflow2d3d.so yields:

linux-vdso.so.1 => (0x00007fff47720000)
libfmpich.so.3 => /usr/lib/libfmpich.so.3 (0x00007f0de0b09000)
libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f0de07f2000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f0de05c7000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f0de02c7000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f0ddffcd000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0ddfc0f000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f0ddf9f9000)
libmpich.so.3 => /usr/lib/libmpich.so.3 (0x00007f0ddf61c000)
libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f0ddf3e5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0de3aaf000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f0ddf1dd000)
libcr.so.0 => /usr/lib/libcr.so.0 (0x00007f0ddefd3000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0ddedb5000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0ddebb1000)

I tried adding these directories to the LD_LIBRARY_PATH line in run_flow2d3d.sh, and I also tried copying the .so files to bin/lnx/flow2d3d/lib. Still no output, and no files generated.

Am I missing something major? Thanks in advance for any help.

Dan
Fedor Baart, modified 8 Years ago.

RE: Problem running testcase on Ubuntu

Padawan Posts: 44 Join Date: 3/2/11 Recent Posts
Hi,

The fact that all of the required libraries point to a library on your system implies that all libraries are found. So that looks fine.

The example script excepts Delft3D in the following directory:
../../bin/lnx (relative to the example directory).
Inside that directory there should be:
flow2d3d/bin
flow2d3d/lib

Do these files exist on your system?

Some general options for these type of problems are:
Run in a debugger. You have to specify FCFLAGS=-g -O0, CXXFLAGS=-g -O0 and CCFLAGS=-g O0, to enable debugging in the same line as ./configure or by using the export command.

Run a trace. If you the delft3d simulation with strace run_flow2d3d.sh you should get to see what's going on.


Cheers,

Fedor
DN
Dan Nowacki, modified 8 Years ago.

RE: Problem running testcase on Ubuntu

Youngling Posts: 6 Join Date: 2/29/12 Recent Posts
Thanks for the quick reply, Fedor.

Yes, flow2d3d/bin and flow2d3d/lib both exist. Contents of bin are:

datsel
deltares_hydro.exe
d_hydro.exe
esm_create
esm_delete
esm_info
kubint
libflow2d3d_openda.so
libflow2d3d.so
lint
mormerge.exe
plugin_culvert.so
plugin_delftflow_traform.so

lib is empty.

I haven't recompiled with the debug options yet (I will try later), but I did run an strace. I confess I'm not really adept enough at interpreting the output. The last error appears to be related to no child processes. I've attached the strace output if anyone wants to take a look.

Thanks,

Dan

EDIT: It is my understanding that deltares_hydro.exe (which run_flow2d3d.sh calls) is a wrapper for d_hydro.exe. Running d_hydro.exe seems to work, sort of. But specifying the .ini file directly to d_hydro results in "d_hydro ABORT: XML parse error in configuration file". Which may make sense, since config_flow2d3d.ini is not an XML file, but it might indicate that some of the binaries are in fact functional.
Fedor Baart, modified 8 Years ago.

RE: Problem running testcase on Ubuntu

Padawan Posts: 44 Join Date: 3/2/11 Recent Posts
Dan Nowacki:
Thanks for the quick reply, Fedor.

Yes, flow2d3d/bin and flow2d3d/lib both exist. Contents of bin are:

...
deltares_hydro.exe
d_hydro.exe
...
libflow2d3d.so

But specifying the .ini file directly to d_hydro results in "d_hydro ABORT: XML parse error in configuration file". Which may make sense, since config_flow2d3d.ini is not an XML file, but it might indicate that some of the binaries are in fact functional.


The run_flow2d3d script calls the deltares_hydro.exe file.
deltares_hydro.exe reads the ini file
d_hydro.exe reads the xml file


$exedir/deltares_hydro.exe $argfile


You can try and call deltares_hydro.exe directly.
You should set your LD_LIBRARY_PATH and your PATH, like is done in the run_flow2d3d script.

From your strace I could see that the script run_flow2d3d script was fully read (711 chars), but indeed failed at spawning some subprocess (this is likely deltares_hydro.exe).


I also found these possibily related threads:
http://oss.deltares.nl/web/opendelft3d/general/-/message_boards/view_message/138454
http://oss.deltares.nl/web/opendelft3d/source-code#Run%20a%20calculation

Cheers,

Fedor
DN
Dan Nowacki, modified 8 Years ago.

RE: Problem running testcase on Ubuntu

Youngling Posts: 6 Join Date: 2/29/12 Recent Posts
Hi Fedor

Thanks again for your reply. I should have run strace deltares_hydro.exe before posting, because it is more enlightening. The relevant line from the strace output is:

open("/lib/ld-linux.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)

So, it's looking for /lib/ld-linux.so.2. But this file does not exist; the actual linker is /lib64/ld-linux-x86-64.so.2. Somewhere, I think /lib/ld-linux.so.2 is hardcoded and it's looking for that file, which doesn't exist. Trying to do a symbolic link to point to the 64-bit linker file causes deltares_hydro.exe to segfault.

I searched Delft3d source files to see if /lib/ld-linux.so.2 is hardcoded anywhere, and I couldn't find it anywhere. In fact, lots of the binaries (including d_hydro.exe but not deltares_hydro.exe) contain the string ld-linux-x86-64, suggesting that the 64-bit linker is getting properly incorporated somehow, but not in deltares_hydro. Any thoughts on why the deltares binary is trying to access the linker in /lib and not /lib64?

Thanks.
Adri Mourits, modified 8 Years ago.

RE: Problem running testcase on Ubuntu (Answer)

Yoda Posts: 1221 Join Date: 1/3/11 Recent Posts
Hi Dan,

The problem is probably caused by the precompiled "deltares_hydro.exe" (to be removed as soon as possible). The easiest way to get around this is to call "d_hydro.exe" directly. To do this:
Replace in the runscript the line:
$exedir/deltares_hydro.exe $argfile
by:
$exedir/d_hydro.exe config.xml

You must create file config.xml in the input directory yourself. There is an example in directory "https://svn.oss.deltares.nl/repos/delft3d/trunk/src/engines_gpl/d_hydro/scripts". Compare with the "config_flow2d3d.ini" file; check that the name of the mdf-file is correct.

Regards,

Adri
DN
Dan Nowacki, modified 8 Years ago.

RE: Problem running testcase on Ubuntu

Youngling Posts: 6 Join Date: 2/29/12 Recent Posts
Adri,

Great! This worked perfectly. I appreciate your answer and apologize for my delayed response; I was at sea.

Thanks again,

Dan