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. 




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


« Back to

Compiling on OS X with mpich

Combination View Flat View Tree View
Threads [ Previous | Next ]
Compiling on OS X with mpich
compiling on mac osx
Answer (Unmark)
3/17/17 9:06 AM
Dear All,

I have managed to compile on OS X Sierra (it also worked on Yosemite) the current head tag (6906). See the details below. The only problem seems to be swan. Could it be that it still relies on some lib32 code?

Compile tag/6906 for OS X Sierra with mpich

install Homebrew (

brew install coreutils
brew install autoconf
brew install automake
brew install gcc
brew install /homebrew/science/netcdf --with-fortran
brew install mpich
brew install ossp-uuid
brew install libtool

# make sure that 'libpng', 'libtiff' and 'jpeg' are not in 'brew list'. If so unlink them (brew unlink jpeg, etc.).

ln -s /usr/local/bin/glibtool /usr/local/Cellar/coreutils/8.26/libexec/gnubin/libtool
ln -s /usr/local/bin/glibtoolize /usr/local/Cellar/coreutils/8.26/libexec/gnubin/libtoolize

Note: Your version of coreutils might differ e.g. 8.XX. Correct appropriately.

edit src/

< addpath PATH /opt/gcc/bin
< addpath LD_LIBRARY_PATH /opt/gcc/lib /opt/gcc/lib64
> addpath PATH //usr/local/bin
> addpath LD_LIBRARY_PATH /usr/local/lib
< addpath PATH /opt/mpich2-1.4.1-gcc-4.6.2/bin
< export MPI_INCLUDE=/opt/mpich2-1.4.1-gcc-4.6.2/include
< export MPILIBS_ADDITIONAL="-L/opt/mpich2-1.4.1-gcc-4.6.2/lib -lfmpich -lmpich -lmpl"
> addpath PATH /usr/local/bin
> export MPI_INCLUDE=/usr/local/include
> export MPILIBS_ADDITIONAL="-L/usr/local/lib -lfmpich -lmpich -lmpl"
< export MPIFC=/opt/mpich2-1.4.1-gcc-4.6.2/bin/mpif90
> export MPIFC=/usr/local/bin/mpif90
< export NETCDFROOT=/p/delft3d/opt/netcdf-4.1.3mt/intel11.1
> export NETCDFROOT=/usr/local

export CC=gcc-6
export CXX=g++-6
export FC=gfortran-6
export F90=gfortran-6
export F77=gfortran-6

# prepend the gnu utilities on your PATH
export PATH=/usr/local/Cellar/coreutils/8.26/libexec/gnubin:/usr/local/bin:$PATH

export NETCDF_FORTRAN_LIBS=-L/usr/local/lib
export NETCDF_LIBS=-L/usr/local/lib
export NETCDF_FORTRAN_CFLAGS=-I/usr/local/include

edit src/utils_lgpl/io_netcdf/packages/io_netcdf/src/io_netcdf_api.F90 (see

line 472:473 (before)
character(len=length), intent(in) :: string
integer, intent(in) :: length
integer, intent(in) :: length
character(len=length), intent(in) :: string

edit src/utils_lgpl/nefis/packages/nefis/include/c2c.h

< BInt4 nefis_errcnt;
< BInt4 nefis_errno;
< BChar error_text[LENGTH_ERROR_MESSAGE+1];
< BInt4 nefis_flush;
> BInt4 extern nefis_errcnt;
> BInt4 extern nefis_errno;
> BChar extern error_text[LENGTH_ERROR_MESSAGE+1];
> BInt4 extern nefis_flush;

edit src/utils_lgpl/nefis/packages/nefis/include/f2c.h

< BInt4 nefis_flush;
< BInt4 nefis_errcnt;
< BInt4 nefis_errno;
< BChar error_text[LENGTH_ERROR_MESSAGE+1];
> BInt4 extern nefis_flush;
> BInt4 extern nefis_errcnt;
> BInt4 extern nefis_errno;
> BChar extern error_text[LENGTH_ERROR_MESSAGE+1];

edit src/utils_lgpl/nefis/packages/nefis/src/gp.c (see

< # define FILE_SEEK lseek64
> # define FILE_SEEK lseek

edit src/utils_lgpl/ods/packages/ods/src/jspost.c

< #include <malloc.h>
> #include <malloc/malloc.h>

# build

cd src
./ -gnu -64bit

# make sure src/lib is in LD_LIBRARY_PATH. Best way is to edit to add


export LD_LIBRARY_PATH=$exedir:$libdir:$LD_LIBRARY_PATH