intro story Coast / Estuary

Coast / Estuary

Coastal systems are among the most dynamic physical systems on earth and are subject to a large variety of forces. The morphodynamic changes occurring to coastlines worldwide are of great interest and importance. These changes occur as a result of the erosion of sediments, its subsequent transport as bed load or suspended load, and eventual deposition. 
 
Estuaries are partly enclosed water bodies that have an open connection to the coast. Estuaries generally have one or more branching channels, intertidal mudflats and/or salt marshes. Intertidal areas are of high ecological importance and trap sediments (sands, silts, clays and organic matter).
Within the Delft3D modelling package a large variation of coastal and estuarine physical and chemical processes can be simulated. These include waves, tidal propagation, wind- or wave-induced water level setup, flow induced by salinity or temperature gradients, sand and mud transport, water quality and changing bathymetry (morphology). Delft3D can also be used operationally e.g. storm, surge and algal bloom forecasting. 
 
On this discussion page you can post questions, research discussions or just share your experience about modelling coastal and/or estuarine systems with Delft3D FM. 
 

** PLEASE TAG YOUR POST! **

 

 

Sub groups
D-Flow Flexible Mesh
DELWAQ
Cohesive sediments & muddy systems

 

 

Message Boards

compiling Delft3D on Linux

Pushpa Dissanayake, modified 7 Months ago.

compiling Delft3D on Linux

Padawan Posts: 25 Join Date: 5/3/11 Recent Posts

Hallo everyone,

I am working on RedHat Enterprise Linux Server 7.4 (Maipo). Using GNU Fortran 5.3.0, I try to compile and end up with the following error relating to 'libtools',

make[2]: Leaving directory `/gpfs/fs5/home-sh/sungw649/D3D2/src/third_party_open/FLAP'
Making install in polypack
make[2]: Entering directory `/gpfs/fs5/home-sh/sungw649/D3D2/src/third_party_open/polypack'
Making install in src
make[3]: Entering directory `/gpfs/fs5/home-sh/sungw649/D3D2/src/third_party_open/polypack/src'
/bin/sh ../../../libtool  --tag=F77   --mode=compile mpif77 -r8 -g -132 -recursive -traceback -recursive -traceback -c -o ppdipo.lo ppdipo.f
libtool: compile:  mpif77 -r8 -g -132 -recursive -traceback -recursive -traceback -c ppdipo.f  -fPIC -o .libs/ppdipo.o
gfortran: error: unrecognized command line option ‘-r8’
gfortran: error: unrecognized command line option ‘-132’
gfortran: error: unrecognized command line option ‘-recursive’
gfortran: error: unrecognized command line option ‘-traceback’
gfortran: error: unrecognized command line option ‘-recursive’
gfortran: error: unrecognized command line option ‘-traceback’
make[3]: *** [ppdipo.lo] Error 1
make[3]: Leaving directory `/gpfs/fs5/home-sh/sungw649/D3D2/src/third_party_open/polypack/src'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/gpfs/fs5/home-sh/sungw649/D3D2/src/third_party_open/polypack'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/gpfs/fs5/home-sh/sungw649/D3D2/src/third_party_open'
make: *** [install-recursive] Error 1

Could anyone please help me, how to overcome this for a successful compilation?

Please find below my compilation script.

cd $sourcedir
 
# load modules
module load libtool2.4.6
module load python2.7.13
module load petsc3.10.4
module load gcc5.3.0
module load metis5.1.0

export PATH=/sfs/fs5/sw/mpich/mpich3.3/usr/bin:$PATH
export LD_LIBRARY_PATH=/sfs/fs5/sw/mpich/mpich3.3/usr/lib:$PATH

# setting environment variables needed for installation
export FC=mpi77
export MPIFC=mpif90
export PKG_CONFIG_PATH=/sfs/fs5/sw/petsc/petsc3.10.4/source/petsc-3.10.4/linux-opt/lib/pkgconfig:$PKG_CONFIG_PATH

export CC=gcc
export CXX=g++
export FC=gfortran
export CFLAGS="-O2"
export CXXFLAGS="-O2"
export FCFLAGS="-O2"
export FFLAGS="-O2"
export METIS_LIBS="-L/sfs/fs5/sw/metis/metis5.1.0/usr/lib -lmetis"

#change permission for execution of python files
#chmod +x makedepo.py
#chmod +x scripts/generate.py

# creating a configure file
aclocal
autoconf
autoreconf -i
./autogen.sh
cd third_party_open/kdtree2
./autogen.sh
cd -
make clean

./configure --prefix=$installdir --with-mpi --with-metis --with-petsc

 

I really appreciate your time.

Many thanks,

Dissa

Adri Mourits, modified 6 Months ago.

RE: compiling Delft3D on Linux

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts

Hi Dissa,

For some reason, automake added Intel Fortran flags instead of Gnu Fortran flags. Maybe mpif90 is compiled with Intel.

Regards,

Adri

Pushpa Dissanayake, modified 6 Months ago.

RE: compiling Delft3D on Linux

Padawan Posts: 25 Join Date: 5/3/11 Recent Posts

Hi Adri,

Many thanks for your response! I have already tried with Intel compilier also, but I got the same error. Please see the compiling script below,

cd $sourcedir
# load modules
module load libtool2.4.6
module load intel17.0.4 intelmpi17.0.4
module load python2.7.13
module load petsc3.10.4
module load metis5.1.0
export PATH=/sfs/fs5/sw/mpich/mpich3.3/usr/bin:$PATH
export LD_LIBRARY_PATH=/sfs/fs5/sw/mpich/mpich3.3/usr/lib:$PATH
# setting environment variables needed for installation
export FC=mpiifort
export MPIFC=mpiifort
export PKG_CONFIG_PATH=/sfs/fs5/sw/petsc/petsc3.10.4/source/petsc-3.10.4/linux-opt/lib/pkgconfig:$PKG_CONFIG_PATH
export PATH=/sfs/fs5/sw/mpich/mpich3.3/usr/bin:$PATH
export LD_LIBRARY_PATH=/sfs/fs5/sw/mpich/mpich3.3/usr/lib:$PATH
export METIS_LIBS="-L/sfs/fs5/sw/metis/metis5.1.0/usr/lib -lmetis"
# creating a configure file
./autogen.sh
cd third_party_open/kdtree2
./autogen.sh
cd -
CFLAGS="-O2" CXXFLAGS="-O2" FFLAGS="-O2" FCFLAGS="-O2" ./configure --prefix=$installdir --with-mpi --with-metis --with-petsc
make ds-install

If 'mpif90' is compiled with Intel compiler, the above script should work, which asks for Intel fortran compiler.

What do you recommend for a successful compilation? If you need further information, please let me know.

In the mean time, I'll  let you know, if my attempts succeeded.

Many thanks

Dissa

 

Pushpa Dissanayake, modified 4 Months ago.

RE: compiling Delft3D on Linux

Padawan Posts: 25 Join Date: 5/3/11 Recent Posts
Hi Adri,
For some reasons, I could not continue the installation! Now I tried again and ended up with the following,
Undefined references to different variables,
eg
Data_Type_Command_Line_Interface.F90emoticon.text+0x4a231): undefined reference to `for_concat'
IR_Precision.F90emoticon.text+0x902): undefined reference to `for_trim'
Test_Driver.f90emoticon.text+0x4c2b): undefined reference to `for_trim'
and finally the error messages,
Test_Driver/obj/test_driver.o:Test_Driver.f90emoticon.text+0x5031): more undefined references to `for_stop_core' follow collect2: error: ld returned 1 exit status
make[2]: *** [Test_Driver/TEST_DRIVER] Error 1
make[2]: Leaving directory `/gpfs/fs5/home-sh/sungw649/D3D2/src/third_party_open/FLAP'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/gpfs/fs5/home-sh/sungw649/D3D2/src/third_party_open'
make: *** [install-recursive] Error 1

Also find the 'make1.log' file herewith.
Could you please provide me any recommendation to proceed?
Many thanks for your time,
Dissa

Attachments:

Adri Mourits, modified 6 Months ago.

RE: compiling Delft3D on Linux

Yoda Posts: 1224 Join Date: 1/3/11 Recent Posts

Hi Dissa,

I don't see any direct errors in the way you try to compile. Some general remarks:

It's important that you use the same compiler vendor for ALL libraries (including the mpi shell, petsc, mpich etc.). So OR compile them all with the GNU compiler OR all with the Intel compiler.

If you're still stuck, it might help to look at script "...\src\build_h6.sh", which is used inside Deltares. When you use it, you will have to change all explicit paths in there, but just looking at what happens there might help.

Regards,

Adri