Subsurface reservoirs are used for various applications that are part of the energy transition towards zero-carbon energy sources. They can serve as a direct source of energy(geothermal production), cyclic energy storage required by renewable energy production technologies (sun and wind) and sequestration of “energy waste” (carbon dioxide sequestration). Making optimal use of subsurface reservoirs is a great challenge for both academia and society. In this research project, we are going to develop a numerical framework capable of modelling and optimizing energy transition applications relevant to subsurface reservoirs. The developed software will allow for accurate prediction of the effects of the subsurface use and assessment of techno-economical risks (e.g., induced seismicity) for applications relevant to the energy transition. The results of this project can be directly used for more efficient energy production, risk assessment in energy transition applications and various legislative initiatives.
From DARTS to open-DARTS
At the beginning of the project the source code was hosted in gitlab.tudelf.nl. The code, though robust, was not open-source and had components and dependencies that were proprietary.
The team efforts were focused on:
- Developing a new linear-solvers library, compatible with the matrix format used in DARTS, that integrates external libraries such as SuperLU, Eigen and Hypre, to solve the systems of equations.
- Migration the source code from multiple submodules in gitlab.tudelf.nl to gitlab.com.
- Advising and deciding on best suiting licenses for the source code and the distributed binaries PyPi. This required a deep look to the different parts of the code, copy-pasted dependencies, external dependencies, header-only libraries, among others. Our main objective was to be as open as possible while ensuring legal compliance.
- Generation of documentation using Sphinx.
- Setting-up new CI/CD workflows for the testing suite and deployment of binaries and documentation.
- Stabilising a new git workflow to enhance collaboration and instil best software practices within the team.