diff --git a/CMake/POET_Scripts.cmake b/CMake/POET_Scripts.cmake index 89fc1e84f..13b66c545 100644 --- a/CMake/POET_Scripts.cmake +++ b/CMake/POET_Scripts.cmake @@ -13,7 +13,7 @@ macro(get_POET_version) WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} OUTPUT_VARIABLE POET_GIT_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) - if(NOT POET_GIT_BRANCH STREQUAL "master") + if(NOT POET_GIT_BRANCH STREQUAL "main") set(POET_VERSION "${POET_GIT_BRANCH}/${POET_GIT_VERSION}") else() set(POET_VERSION "${POET_GIT_VERSION}") @@ -21,7 +21,7 @@ macro(get_POET_version) elseif(EXISTS ${PROJECT_SOURCE_DIR}/.svn) file(STRINGS .gitversion POET_VERSION) else() - set(POET_VERSION "0.1") + set(POET_VERSION "not_versioned") endif() message(STATUS "Configuring POET version ${POET_VERSION}") diff --git a/CMakeLists.txt b/CMakeLists.txt index ce0382d45..fa7f009a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,4 +41,4 @@ endif() option(BUILD_DOC "Build documentation with doxygen" OFF) -add_subdirectory(docs) \ No newline at end of file +add_subdirectory(docs) diff --git a/README.md b/README.md index b17d73c12..598117675 100644 --- a/README.md +++ b/README.md @@ -1,53 +1,63 @@ - - # POET -[POET](https://doi.org/10.5281/zenodo.4757913) is a coupled reactive transport -simulator implementing a parallel architecture and a fast, original MPI-based -Distributed Hash Table. +[POET](https://doi.org/10.5281/zenodo.4757913) is a coupled reactive +transport simulator implementing a parallel architecture and a fast, +original MPI-based Distributed Hash Table. ![POET's Coupling Scheme](./docs/Scheme_POET_en.svg) ## Parsed code documentiation -A parsed version of POET's documentiation can be found at [Gitlab +A parsed version of POET's documentation can be found at [Gitlab pages](https://naaice.git-pages.gfz-potsdam.de/poet). ## External Libraries -The following external header library is shipped with POET: +The following external libraries are shipped with POET: -- **argh** - https://github.com/adishavit/argh (BSD license) -- **IPhreeqc** with patches from GFZ - - https://github.com/usgs-coupled/iphreeqc - - https://git.gfz-potsdam.de/naaice/iphreeqc -- **tug** - https://git.gfz-potsdam.de/naaice/tug +- **CLI11** - +- **IPhreeqc** with patches from GFZ/UP - + - + +- **tug** - ## Installation ### Requirements -To compile POET you need several software to be installed: +To compile POET you need following software to be installed: - C/C++ compiler (tested with GCC) - MPI-Implementation (tested with OpenMPI and MVAPICH) -- R language and environment - CMake 3.9+ - Eigen3 3.4+ (required by `tug`) -- *optional*: `doxygen` with `dot` bindings for documentiation +- *optional*: `doxygen` with `dot` bindings for documentation +- R language and environment including headers or `-dev` packages + (distro dependent) -The following R libraries must then be installed, which will get the -needed dependencies automatically: +The following R packages (and their dependencies) must also be +installed: - [Rcpp](https://cran.r-project.org/web/packages/Rcpp/index.html) - [RInside](https://cran.r-project.org/web/packages/RInside/index.html) +- [qs](https://cran.r-project.org/web/packages/qs/index.html) + +This can be simply achieved by issuing the following commands: + +```sh +# start R environment +$ R + +# install R dependencies (case sensitive!) +> install.packages(c("Rcpp", "RInside","qs")) +> q(save="no") +``` + ### Compiling source code -The generation of makefiles is done with CMake. You should be able to generate -Makefiles by running: +POET is built with CMake. You can generate Makefiles by running the +usual: ```sh mkdir build && cd build @@ -58,23 +68,23 @@ This will create the directory `build` and processes the CMake files and generate Makefiles from it. You're now able to run `make` to start build process. -If everything went well you'll find the executable at -`build/app/poet`, but it is recommended to install the POET project +If everything went well you'll find the executables at +`build/src/poet`, but it is recommended to install the POET project structure to a desired `CMAKE_INSTALL_PREFIX` with `make install`. During the generation of Makefiles, various options can be specified via `cmake -D