# SUMMA-Actors: Structure for Unifying Multiple Modeling Alternatives with Actors
# 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
SUMMA-Actors is a modified version of the already existing SUMMA software that can be
found [here](https://github.com/CH-Earth/summa#readme). SUMMA-Actors is a modification
found [here](https://github.com/CH-Earth/summa#readme). SUMMA-Actors uses the Actor Model to increase scalability and fault-tolerance. It is built using the [C++ Actor Framework](https://github.com/actor-framework/actor-framework).
of SUMMA that uses the Actor Model to increase scalability and fault-tolerance. The actor which is known as the basic unit of concurrent computation is at the heart of this
software. SUMMA-Actors is built using the [C++ Actor Framework](https://github.com/actor-framework/actor-framework).
## Documentation
## Documentation
A more in-depth documentation can be found [here](https://summa-actors.readthedocs.io/en/latest/)
A more in-depth documentation can be found [here](https://summa-actors.readthedocs.io/en/latest/)
## Compiling Summa-Actors
## Compiling Summa-Actors
SUMMA-Actors is written in C++ and FORTRAN and can be compiled with a C++ and FORTRAN
SUMMA-Actors is written in C++ and FORTRAN and is currently tested for the following compilers:
compiler from the GNU Compiler Collection. We have compiled SUMMA-Actors with the
following compilers:
* g++
* g++
* gfortran
* gfortran
...
@@ -23,7 +19,9 @@ SUMMA-Actors depends on the following Libraries:
...
@@ -23,7 +19,9 @@ SUMMA-Actors depends on the following Libraries:
Once the following libraries have been installed SUMMA-Actors can be compiled in
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
one of two ways. The first way is to modify the makefile directly and the second
is to invoke the makefile by shellscript:
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 environment where inlcudes and libraires will need to be explicitly specified.
1. Makefile:
1. Makefile:
Changes need to be made to the following variables in the Makefile:
Changes need to be made to the following variables in the Makefile:
- F_MASTER = directory/above/build
- F_MASTER = directory/above/build
...
@@ -33,11 +31,10 @@ is to invoke the makefile by shellscript:
...
@@ -33,11 +31,10 @@ is to invoke the makefile by shellscript: