If you want to compile the coupled version of Dune and XBeach under windows you need the following.
- Cygwin (including gfortran, gcc, libtool, automake, libfftw3-devel, libfftw3)
- MPICH2 source code release
- netcdf>=4.1 source code
- The following XBeach branches:
- trunk
- branches/esmf
- branches/dune/Muller
- branches/XD_XB_coupling
You can follow these steps:
- Install cygwin
- Compile MPICH2 using gfortran and make install (check if mpif90 is available)
- Compile netCDF using gfortran and make install (check if nc-config is available)
- Compile XBeach (--with-netcdf --without-mpi, mpi is not supported yet ), should generate a file called libxbeach.la
- Compile dune in branches/dune/Muller (should generate a file called libdune.la)
- Compile esmf (use settings like in settings under condition wl01485) (should generate a file called esmf.mod)
- Compile XD_XB_Coupling (double check the Makefile.am, to see if it uses the correct locations for the libraries that were made in the previous steps). (should generate a file called xdunexbeach)
Setting up a simulation:
- Create a directory with both dune and xbeach input (default.par, data/, params.txt)
- Create a coupler setup file (see examples in coupler directory)
- run xdunexbeach from the current directory.
Debugging:
Run the command path/to/xdunexbeachdir/libtool --mode=execute gdb path/to/xdunexbeachdir/xdunexbeach.
2 Comments
Fedor Baart AUTHOR
I had to change the mpi flag to mpichcxx in Makefile.am in XD_XB_coupler to get it working. I might fix that in the configure.ac later.
Joost den Bieman
When configuring either netcdf or mpich2, it's important to place it into a folder with a name without any spaces, else it will encounter errors.
Additionally, to avoid copying .dll files for every run, add the /bin folder from your cygwin installation directory to the windows path. (Control panel, settings, system, advanced, environment variables, system variable, edit path, add the directory to the path, seperated by a ;)