The framework G³M-f
The global gradient-based groundwater model framework (G³M-f) is an extensible program to build groundwater models. Its primary purpose is to be used as a central building block for the global groundwater model G³M. G³M is a global gradient-based groundwater model which adapts MODFLOW principles for the global scale. It is written in C++ and intended to be coupled to the global hydrology model WaterGAP (http://watergap.de). While it is intended to be used as a memory coupled model, it can also run a standard standalone groundwater model.
It is mainly intended to be used by developers of global hydrological models (including land surface models and others) who want to simulate groundwater in a gradient-based manner. In principle, it can also implement any other, e.g., regional, groundwater model. Its main feature compared to MODFLOW is its extensibility, speed, and in-memory coupling capability.
For collaboration on coupling this model to other hydrological models, please contact Dr. Robert Reinecke (rreinecke on github).
Check out the project on GitHub
Publications
Global model description in GMD
Data and code dois
Outputs of Reinecke et al 2019 in GMD:
Prerequisites
To compile the program, you will need:
clang >= 13 with openMP (currently gcc is not supported)
cmake >= 3.15.3
libboost >= 1.71
libGMP
libGtest
lcov
Built With
- Eigen3 - Doing the math magic
- GTest - Test framework
- libboost - C++ magic
- OpenMP - Accelerator und Multi-Core support
- GMP - Large numbers
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors and Contributors
- Robert Reinecke - Initial work Maintainer
- Daniel Kretschmer - Variable density flow Maintainer
- Sebastian Ackermann - WaterGAP coupling Maintainer
Past Contributors
- Alexander Wachholz - Documentation review and NZ model Developer
- Christoph Niemann - Spatial IDs Developer
License
This project is licensed under the GNU General Public License - see the LICENSE file for details. Please note that the code contains a modified version of the Eigen3 library which is published under the MPL 2.0.
Acknowledgments
- Modflow 2005 for their great documentation
- Eigen3 for their awesome framework