Skip to content
Snippets Groups Projects
Unverified Commit a40a70b1 authored by Kyle Klenk (kck540)'s avatar Kyle Klenk (kck540) Committed by GitHub
Browse files

update readme

parent c02f4750
No related branches found
No related tags found
No related merge requests found
# 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:
- LIBRARIES = Path/to/netcdf/lib & Path/to/openblas - LIBRARIES = Path/to/netcdf/lib & Path/to/openblas
-lnetcdff -lopenblas -lnetcdff -lopenblas
- ACTORS_INCLUDES = $INCLUDES & Path/to/CAF/includes - ACTORS_INCLUDES = $INCLUDES & Path/to/CAF/includes
- ACTORS_LIBRARIES = $LIBRARIES & PATH/to/CAF/lib & PATH/to/summa.so - ACTORS_LIBRARIES = $LIBRARIES & PATH/to/CAF/lib & PATH/to/libsumma.so
-lcaf_core -lcaf_io -lsumma -lopenblas -lnetcdff -lcaf_core -lcaf_io -lsumma -lopenblas -lnetcdff
Once these changes have been made SUMMA-Actors can be called with `make` from After the following SUMMA-Actors can be compiled with `make`.
the build/ directory.
Note: SUMMA is compiled as a shared library (libsumma.so) and the main program Note: SUMMA is compiled as a shared library (libsumma.so) and the main program
will need to know where this library is located in order to properly link it. will need to know where this library is located in order to properly link it.
...@@ -45,7 +42,8 @@ is to invoke the makefile by shellscript: ...@@ -45,7 +42,8 @@ is to invoke the makefile by shellscript:
enough. However if there are issues, specifing where libsumma.so will be compiled can be done enough. However if there are issues, specifing where libsumma.so will be compiled can be done
by adding the path to `ACTORS_LIBRARIES` in the makefile this should rectify the issues. by adding the path to `ACTORS_LIBRARIES` in the makefile this should rectify the issues.
1. ShellScript: ### Method 2: Shell Script
2. ShellScript:
In the build directory exists a example_compile.sh script that can be modified. In the build directory exists a example_compile.sh script that can be modified.
This is usually used for HPC computing environments and includes which modules This is usually used for HPC computing environments and includes which modules
to load for Compute Canada or the University of Saskatchewan's Copernicus. to load for Compute Canada or the University of Saskatchewan's Copernicus.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment