# Forked Project *PORT* is a fork of [POET](https://doi.org/10.5281/zenodo.4757913) integrating a standalone component for transport computations and leveraging PHREEQC_RM as geochemical solver. The following README is also applicable for this project. ![PORT's Coupling Scheme](./docs/20221216_Scheme_PORT_en.svg) # POET POET is a coupled reactive transport simulator implementing a parallel architecture and a fast, original MPI-based Distributed Hash Table. ## Parsed code documentiation A parsed version of POET's documentiation can be found at [Gitlab pages](https://sec34.git-pages.gfz-potsdam.de/port). ## External Libraries The following external header library is shipped with POET: - **argh** - https://github.com/adishavit/argh (BSD license) - **PhreeqcRM** with patches from GFZ - https://www.usgs.gov/software/phreeqc-version-3 - https://git.gfz-potsdam.de/mluebke/phreeqcrm-gfz - **tug** - https://git.gfz-potsdam.de/sec34/tug ## Installation ### Requirements To compile POET you need several software to be installed: - C/C++ compiler (tested with GCC) - MPI-Implementation (tested with OpenMPI and MVAPICH) - R language and environment - CMake 3.9+ - *optional*: `doxygen` with `dot` bindings for documentiation The following R libraries must then be installed, which will get the needed dependencies automatically: - [Rcpp](https://cran.r-project.org/web/packages/Rcpp/index.html) - [RInside](https://cran.r-project.org/web/packages/RInside/index.html) ### Compiling source code The generation of makefiles is done with CMake. You should be able to generate Makefiles by running: ```sh mkdir build && cd build cmake .. ``` 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 structure to a desired `CMAKE_INSTALL_PREFIX` with `make install`. During the generation of Makefiles, various options can be specified via `cmake -D