SUMMA-Actors: Structure for Unifying Multiple Modeling Alternatives with Actors
SUMMA-Actors is a modified version of the already existing SUMMA software that can be found here. SUMMA-Actors uses the Actor Model to increase scalability and fault-tolerance. It is built using the C++ Actor Framework.
Documentation
A more in-depth documentation can be found here
Compiling Summa-Actors
SUMMA-Actors is written in C++ and FORTRAN and is currently tested for the following compilers:
- g++
- gfortran
SUMMA-Actors depends on the following Libraries:
Once the following libraries have been installed SUMMA-Actors can be compiled in one of two ways. The first way is to modify the Makefile directly and the second is to invoke the makefile by shellscript:
Method 1: Makefile
The method is best used for a workstation build that does not have access to a Compute Canada Software Stack where includes and libraries will need to be explicitly specified.
The Makefile is located in the build
directory and the following variables will need to be uncommented and changed:
- F_MASTER = Path/to/Summa-Actors/ # this is the directory above build/
- FC = gfortran
- CC = g++
- INCLUDES = Path/to/netcdf/includes
- LIBRARIES = Path/to/netcdf/lib Path/to/openblas -lnetcdff -lopenblas
- ACTORS_INCLUDES = $INCLUDES Path/to/CAF/includes
- ACTORS_LIBRARIES = $LIBRARIES PATH/to/CAF/lib $(F_MASTER)/bin -lcaf_core -lcaf_io -lsumma -lopenblas -lnetcdff
After the following SUMMA-Actors can be compiled with make
.
Once compiled you will need to set the library path variable with the following command (replace F_Master with the full path to the SUMMA-Actors directory):
export LD_LIBRARY_PATH=/F_MASTER/bin
See section Running SUMMA-Actors for instructions on how to use the program.
Method 2: Shell Script
This method is best used for cluster environments that have access to the Compute Canada Software Stack. This method has been tested on the University of Saskatchewan's Copernicus and Compute Canada's Graham. This method will invoke the Makefile and no modifications should be made to the Makefile for this method.
The compilation script is located in the build
as compile_summa.sh
. The only variable within the compile script that needs to be changed is the F_MASTER
path. This is the absolute path to the SUMMA-Actors directory.