Skip to content
Jorn Bruggeman edited this page Apr 24, 2024 · 50 revisions


The Framework for Aquatic Biogeochemical Models (FABM) is a Fortran 2003 programming framework for biogeochemical models of marine and freshwater systems. It acts as match maker between a wide range of hydrodynamic and biogeochemical models, developed by research groups all over the world.

FABM makes it possible to develop biogeochemical models as a set of stand-alone, process-specific modules. These can be combined at runtime to create custom models tailored to a specific subject or region. This modular approach has been adopted to implement several large ecosystem models in FABM, including ERSEM, BFM, PISCES (marine), and WET/PCLake (freshwater). FABM has also been used to model suspended sediment, redox chemistry, microplastics, 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 lakes and estuaries to global, it handles structured and unstructured grids and any type of vertical coordinate including isopycnal. FABM 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 suitable for operational use: it is a core component of the Copernicus Marine Service (European North-West Shelf and Arctic).

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. Every commit to the code is automatically tested with a range of compilers:

Build and test

The latest FABM code is available on GitHub. Stable releases are published on Zenodo and have their own DOI: