Alquimia is an biogeochemistry API and wrapper library being developed as part of the [ASCEM]( project.

The aim is to provide a unified interface to existing "geochemistry engines" such as [CrunchFlow]( or [PFLOTRAN](, allowing subsurface flow and transport simulators to access a range of functionality.

It is not an implementation of a biogeochemistry reaction library, and does not do any geochemical calculations.


To build alquimia, you must have petsc installed, with the PETSC_DIR and PETSC_ARCH environment variables set. Compilers are obtained from the petsc variables.

PFLOTRAN_DIR=/path/to/pflotran/dir must be defined to link pflotran.

cd ${ALQUIMIA_DIR}/src
export PFLOTRAN_DIR=${HOME}/projects/pflotran-dev
make all

Test your build by running the batch chemistry demo driver.

cd ${ALQUIMIA_DIR}/tests
ln -s ../src/drivers/batch_chem .
./batch_chem -d -i calcite-short-pc.cfg

Builds are debug by default. To build without debug symbols and with optimization:

make RELEASE=1 all

The default compiler is assumed to be GCC (or compatible LLVM?). And uses GCC specific build options. To build with minimal generic build flags:

make COMPILER=generic all