SEAMLESS-WAVE is a developing “SoftwarE infrAstructure for Multi-purpose fLood modElling at variouS scaleS” based on "WAVElets" and their versatile properties. The vision behind SEAMLESS-WAVE is to produce an intelligent and holistic modelling framework, which can drastically reduce iterations in building and testing for an optimal model setting, and in controlling the propagation of model-error due to scaling effects and of uncertainty due statistical inputs.
LISFLOOD-FP can be compiled on both ShARC and Bessemer clusters, by following the instructions below.
Launch an interactive session using the command:
srun --pty bash -i
Clone the repository:
git clone https://github.com/SEAMLESS-WAVE/LISFLOOD-FP.git
Clone libnuma package:
git clone https://github.com/numactl/numactl.git
Go to the libnuma-dev
directory and install it (specify <PATH>
as the directory to install libnuma):
./autogen.sh
./configure
make
make install DESTDIR=<PATH>
Load CMake:
module load CMake/3.13.3-GCCcore-8.2.0
To use dynamic rainfall (e.g. for the Eden flooding test case) NetCDF must be loaded:
module load netCDF/4.6.2-gompi-2019a
To run LISFLOOD-FP on GPU, the CUDA toolkit must also be loaded:
module load CUDA/10.1.105-GCC-8.2.0-2.31.1
Go to the LISFLOOD-FP
directory and run cmake
, by pointing to libnuma install directory (denoted by <PATH>
):
cmake -S . -B build -DNUMA_ROOT=<PATH>
cmake --build build
By doing so, the lisflood
executable will be generated in the build
sub-directory.
Compiling on ShARC follows the same procedure as Bessemer. The only difference is the NetCDF module, which is not available on ShARC and must be installed manually.
Launch an interactive session on a worker node using the command:
qrsh
Clone the repository:
git clone https://github.com/SEAMLESS-WAVE/LISFLOOD-FP.git
Clone libnuma package:
git clone https://github.com/numactl/numactl.git
Go to the libnuma-dev
directory and install it (specify <NUMA_PATH>
as the directory to install libnuma):
./autogen.sh
./configure
make
make install DESTDIR=<NUMA_PATH>
Load CMake:
module load dev/cmake/3.17.1/gcc-8.2
To use dynamic rainfall (e.g. for the Eden flooding test case) NetCDF libraries are required. These libraries can be installed, following the instructions on the NetCDF homepage.
To run LISFLOOD-FP on GPU, the CUDA toolkit should also be loaded:
module load libs/CUDA/10.1.243/binary
Go to the LISFLOOD-FP
directory and run cmake
, by pointing to libnuma (denoted by <NUMA_PATH>
) and NetCDF include (denoted by <NetCDF_INC_PATH>
) and library (denoted by <NetCDF_LIB_PATH>
) directories:
cmake -S . -B build -DNUMA_ROOT=<NUMA_PATH> -DNetCDF_INCLUDE_DIR=<NetCDF_INC_PATH> -DNetCDF_LIBRARY=<NetCDF_LIB_PATH>
cmake --build build
After compiling is finished, the lisflood
executable will be generated in the build
sub-directory.