Skip to content

FABM 2.0

Jorn Bruggeman edited this page Jul 4, 2023 · 47 revisions

This page describes the upcoming FABM 2.0 release, which is currently available from branch 2.0rc1.

FABM 2.0 is in most respects a minor release, but it includes a few backward-incompatible changes that warrant a new version number.

Users: FABM 2.0 drops support for very old (> 5 years) versions of cmake, gfortran and Python. This is unlikely to cause problems, as most production systems have newer version of these packages installed. Users of pyfabm will need to adopt the new (simpler) installation mechanism.

Developers: biogeochemical models will not require changes to support FABM 2.0. Host models only require changes if they directly access the metadata or value of biogeochemical parameters, which is extremely rare.

Deprecation of cmake < 3.12, gfortran < 5, python < 3.7

FABM 2.0 drops support for older releases (from 5 years or more ago) of cmake, gfortran, and Python. This has enabled simplication and clean-up of the code. More details are available here. The minimum supported versions now are:

  • cmake 3.12
  • gfortran 5.1 (only relevant if you use gfortran; other Fortran compilers are also fine, e.g., Intel, Cray, AMD)
  • Python 3.7 (only relevant if you use pyfabm)

To verify if you meet these requirements, you can execute cmake --version, gfortran --version, python --version. (NB on some systems, the latest Python will be python3 rather than python)

pyfabm installation

pyfabm is now installed using normal Python conventions:

pip install <FABMDIR>

The replaces the old installation mechanism that required you to create a build directory, call cmake, and build the "install" target. Underneath, the pip-based installation calls cmake. Therefore, you do still need to have cmake and a Fortran commpiler installed. If you want to customize cmake options (e.g., to customize FABM_INSTITUTES, or manually specify the Fortran compiler to use), the easiest way to do this is to create a file named setup.cfg in the toplevel FABM directory, with contents

[build_ext]
cmake_opts=<CMAKE-OPTIONS>

Host access to biogeochemical parameters

Clone this wiki locally