Alquimia

Alquimia

Alquimia provides a generic interface between flow and transport simulators (drivers) and biogeochemical reaction capabilities (engines). Alquimia consists of two parts: an application programming interface, API, and a wrapper library. The API describes in detail how information is exchanged between the driver and the engine. This includes the function call signatures and data structures required for implementing alquimia in a mixed language (C/C++/Fortran) programming environment. The library is an implementation of the documented API, providing an interface into the biogeochemistry routines supplied by other codes: Alquimia does not do any geochemical calculations. Version 1.0 provides interfaces to the open source codes (BSD) CrunchFlow/CrunchTope and (LGPL) PFLOTRAN. Version 1.0 meets the policies set forth by (and is part of) the Extreme-scale Scientific Software Development Kit, xSDK version 0.6.0.

Contact: Sergi Molins (smolins@lbnl.gov), LBNL
DOI: https://doi.org/10.11578/dc.20210416.49
Licenses: BSD 3-clause


Repository: https://github.com/LBL-EESA/alquimia-dev


Role in IDEAS-Watersheds Software Ecosystem

Alquimia is a interface library for geochemistry engines. Within the IDEAS-Watersheds software ecosystem integrated hydrology codes (ATS, ParFlow) and subsurface flow and reactive transport codes (Amanzi) use Alquimia to access the PFLOTRAN and Crunchflow geochemistry engines.