Please check the following sites for additional information:
General information: http://oss.deltares.nl/web/delft3d/source-code
FAQ                : http://oss.deltares.nl/web/delft3d/faq
Compile forum      : http://oss.deltares.nl/web/delft3d/general/-/message_boards?_19_mbCategoryId=200432


Compiling on Windows
====================
  0) Be sure that you have installed all prerequisites listed at https://oss.deltares.nl/web/delft3d/source-code#prerequisites
     Check that the path to "python.exe" is added to your environment parameter "PATH" (should work automatically)
  1) Execute "...\src\prepare_sln.py" (double-clicking it in your file browser will do)
     to create a "delft3d_open.sln" that fits to your tools
     See the comments in "...\src\prepare_sln.py" for more information
  2) Open "delft3d_open.sln" (Delft3D4-FLOW, structured) or "dflowfm_open.sln" (D-Flow Flexible Mesh) in Visual Studio
  2) Select the "solution configuration": "Release"
  3) Select the "solution platform"     : "x64"
  4) <Ctrl><Shift>B will compile the full solution
  5) The binaries are installed in directory "src\bin\x64"


Compiling on Linux
==================
  0) Be sure that you have installed all prerequisites listed at https://oss.deltares.nl/web/delft3d/source-code#prerequisites
  1) In directory "src", do one of the following two options:
     Option A):
         ./autogen.sh
         cd third_party_open/kdtree2
         ./autogen.sh
         cd -
         CFLAGS='-O2' CXXFLAGS='-O2' FFLAGS='-O2' FCFLAGS='-O2' ./configure --prefix=`pwd` --with-netcdf --with-mpi --with-metis --with-petsc
         FC=mpif90 make ds-install
     Option B):
         Use script build.sh. Executing "./build.sh" will show the usage. The following example line is used to create the latest fully tested version:
         ./build.sh -intel14
         WARNING: build.sh is system dependent. You have to modify it to fit to your site!
  1b) OPTIONAL: the Delft3D-Flexible Mesh kernel is not built by default. You can do this
     in a second step as follows. In directory "src", do:
         FC=mpif90 make ds-install -C engines_gpl/dflowfm
  2) The binaries are installed in directory "src/bin", "src/lib" and "src/share" (due to "--prefix=`pwd`" and default "install")
     In "src/bin", execute:
     libtool_install.sh
     This will re-install dimr on the same location as it is, but now using libtool.
     This step has to be executed every time the binaries are installed/moved to another location.
  3) To clean (removing all files generated by autoreconf/configure/make):
     ./clean.sh
  4) Remarks:
     - Compiling on 32bit Linux platforms does not work. This is a known bug.
     - Be careful with tools/compilers located in different directories due to different revision/build numbers (e.q. /opt/mpich2-1.4.1-gcc-4.6.2)
       You have to take care of that yourself
     - Check both "common.am" and "build.sh"
     - Check http://oss.deltares.nl/web/delft3d/faq
     - When using a --prefix unequal to `pwd`, the specified directory will contain:
       - "bin", "lib" and "share" subdirectories (due to the default Linux "install")
         The examples will not run "out of the box". The runscripts must be adapted to point to the --prefix location
       

Compiling on OSX
================
The OSX version is only tested with Macports gcc45 + openmpi compilers. Make sure you also get libtool, autoconf, automake, gnu make from macports. The OSX version is very alpha (not tested) so please don't use it for anything serious and report any problems to the general forum. The steps to get it working are first install DelftOnline:
   1) cd delft3dsrcdirectory
   2) autoreconf -i 
   3) ./configure (*,**)
   4) make
   5) make install 
* If you don't want to install into /usr/local, use --prefix=abspath
** Set DYLD_LIBRARY_PATH to the directory containing DelftOnline if it's not in your default path


Compiling with CMake
====================
To compile with CMake, see the Readme in "..\src\cmake\"


Running examples without GUI
============================
In directory "examples\01_standard":
Windows:
- Execute script "run.bat"
  Parallel:
  Execute "run_parallel.bat"
  This model is very small and can only be run using 5 partitions or less
  Have a look at parameter %NPROC% in the script "run_flow2d3d_parallel.bat"
Linux:
- Execute script "run.sh"
  Parallel:
  - Depending on your system settings, you might need to change the script "run_parallel.sh"
  - Execute script "run_parallel.sh"


Running your model
==================
Start with using the GUI, see http://oss.deltares.nl/web/delft3d/source-code#Run a calculation


Debugging in Microsoft Visual Studio
====================================
Debugging is not needed for daily computations, only for tracing the source code and solving problems.
You must have some experience with Microsoft Visual Studio and Running Deft3D calculations using scripts.
- Be sure to have compiled the "Debug configuration" (Build -> Configuration Manager...).
  All resulting binaries are copied automatically to directory "...\src\engines_gpl\d_hydro\bin\Debug".
- In your model input directory: put a copy of file "...\oss\src\engines_gpl\d_hydro\scripts\config_d_hydro.xml",
  open it in a text editor and fill in the correct name of the mdf-file.
- In VisualStudio:
  1) right-click on the project "d_hydro", Properties -> Configuration properties -> Debugging:
     Command Arguments: config_d_hydro.xml
     Working directory: d:/full/path/to/your/model/input/directory
     OK
  2) In the source code: add a breakpoint. Click some line, then click in the gray bar in front of this line (or press F9). A red dot will appear.
  3) right-click on the project "d_hydro", Debug -> Start new instance.
     A window will allways appear saying source code has been changed. You can rebuild the source code or skip this if you are sure all source code is build correctly.
     Then the calculation starts.

Directory structure
===================
engines_gpl : Open source engines, under GPL conditions, see ../gpl-3.0.txt
tools_gpl   : Open source small programs which support the engines, under GPL conditions, see ../gpl-3.0.txt
tools_lgpl  : Open source tools, under LGPL conditions, see ../lgpl-2.1.txt
utils_gpl   : Open source libraries which are used by the engines and/or tools, under GPL conditions, see ../gpl-3.0.txt
utils_lgpl  : Open source utils, under LGPL conditions, see ../lgpl-2.1.txt


Location where compiler flags are defined/added (Linux only)
============================================================
configure.ac
common.am
build.sh