This is an old revision of the document!
Delft3D is Open Source Software and facilitates the hydrodynamic (Delft3D-FLOW module), morphodynamic (Delft3D-MOR module), waves (Delft3D-WAVE module), water quality (Delft3D-WAQ module including the DELWAQ kernel) and particle (Delft3D-PART module) modelling. The source code can be downloaded here: https://oss.deltares.nl/web/delft3d.
2018 Intel MPI compilation on CentOS-7
Using Tmux inside an interactive session,
#!/bin/bash
module purge
module load chpc/parallel_studio_xe/18.0.2/2018.2.046
source /apps/compilers/intel/parallel_studio_xe_2018_update2/compilers_and_libraries/linux/mpi/bin64/mpivars.sh
module load chpc/BIOMODULES
module add curl/7.50.0
export DelftDIR=/home/apps/chpc/earth/Delft3d
export DIR=$DelftDIR/LIBRARIES
export I_MPI_SHM="off"
export CC=icc
export CXX=icc
export FC=ifort
export FCFLAGS="-m64 -I$DIR/netcdf/include -I$DIR/grib2/include"
export F77=ifort
export FFLAGS=$FCFLAGS
export CFLAGS=$FCFLAGS
export MPICC=/apps/compilers/intel/parallel_studio_xe_2018_update2/compilers_and_libraries/linux/mpi/intel64/bin/mpiicc
export MPIF90=/apps/compilers/intel/parallel_studio_xe_2018_update2/compilers_and_libraries/linux/mpi/intel64/bin/mpiifort
export MPIF77=/apps/compilers/intel/parallel_studio_xe_2018_update2/compilers_and_libraries/linux/mpi/intel64/bin/mpiifort
export LDFLAGS="-L$DIR/hdf5-1.10.6/lib"
export CPPFLAGS="-I$DIR/hdf5-1.10.6/include"
export NCDIR="$DIR/netcdf-c-4.6.1"
export LD_LIBRARY_PATH=${NCDIR}/lib:${LD_LIBRARY_PATH}
export CPPFLAGS="-I${NCDIR}/include"
export LDFLAGS="-L${NCDIR}/lib"
export NETCDF_CFLAGS="-I${DIR}/netcdf-c-4.6.1/include -I${DIR}/netcdf-c-4.6.1/include"
export NETCDF_LIBS="-L${DIR}/netcdf-c-4.6.1/lib -lnetcdf"
CFLAGS='-O2 ' CXXFLAGS='-O2 ' AM_FFLAGS='-lifcoremt ' FFLAGS='-O1 ' AM_FCFLAGS='-lifcoremt ' FCFLAGS='-O1 ' AM_LDFLAGS='-lifcoremt '
ulimit -s unlimited
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.6/src/hdf5-1.10.6.tar.bz2 # tar -xf hdf5-1.10.6.tar.bz2 # cd hdf5-1.10.6 # ./configure --prefix=/home/apps/chpc/earth/Delft3d/LIBRARIES/hdf5-1.10.6 --enable-shared # make # make check # make install # cd ..
wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.6.1.tar.gz -O netcdf-c-4.6.1.tar.gz tar -xf netcdf-c-4.6.1.tar.gz cd netcdf-c-4.6.1 ./configure --prefix=/home/apps/chpc/earth/Delft3d/LIBRARIES/netcdf-c-4.6.1 --disable-dap-remote-tests make make check make install cd ..
wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.5.0.tar.gz -O netcdf-fortran-4.5.0.tar.gz tar -xf netcdf-fortran-4.5.0.tar.gz cd netcdf-fortran-4.5.0 ./configure --prefix=/home/apps/chpc/earth/Delft3d/LIBRARIES/netcdf-fortran-4.5.0 make make check make install cd ..
With all the necessary dependencies installed, we can now download, compile and install Delft3D. Note that you must have a Deltares SVN server account to download the source code. If you need to register, see the “Steps needed to use the Delft3D source code” section of the Delft3D compilation guide. In the compilation instructions below, replace <username> and <password> with the SVN login details that Deltares sent you. The commands below will install tag 68819, the recommended tag for Delft3D-FM. This time the binaries are placed /home/apps/chpc/earth/Delft3D/bin directory.
svn checkout --username <username> --password <password> https://svn.oss.deltares.nl/repos/delft3d/tags/delft3dfm/68819/ delft3dfm-68819 cp delft3dfm-68819/src/third_party_open/swan/src/*.[fF]* delft3dfm-68819/src/third_party_open/swan/swan_mpi cp delft3dfm-68819/src/third_party_open/swan/src/*.[fF]* delft3dfm-68819/src/third_party_open/swan/swan_omp cd delft3dfm-68819/src ./autogen.sh --verbose ./configure --prefix=/home/apps/chpc/earth/Delft3d/delft3d # make ds-install # make ds-install -C engines_gpl/dflowfm # cd ..
To test a structured mesh example, issue the following commands:
pushd examples/01_standard ./run.sh popd
To test a flexible mesh example, issue the following:
pushd examples/12_dflowfm/test_data/e02_f14_c040_westerscheldt ./run.sh popd