The Framework for Aquatic Biogeochemical Models (FABM) is a Fortran 2003 programming framework for biogeochemical models of marine and freshwater systems.
FABM enables biogeochemical models to be developed as sets of stand-alone, process-specific modules. These can be combined at runtime to create custom-tailored models. This approach has been adopted to implement several large ecosystem models in FABM, including ERSEM (marine), and PCLake (freshwater). FABM has also been used to model suspended sediment, redox chemistry, seagrass, spectrally resolved irradiance and structured populations of fish and bivalves.
FABM has been coupled to many hydrodynamic models including GOTM, ROMS, NEMO, MOM, HYCOM, FVCOM and SCHISM. It works from 1D to 3D, on any scale from lake and estuaries to global, it handles structured and unstructured grids and any type of vertical coordinate including isopycnal. It can be directly accessed from Python and also comes with a stand-alone box model driver.
FABM is used across the world by a large number of research groups:
FABM is mature software that has been continuously developed since 2009. It is based on modern standards: it is coded in object-oriented Fortran 2003, has a build system based on CMake, and uses YAML files for configuration.
The latest FABM code is available on GitHub. Stable releases are published on Zenodo and have their own DOI: