The Framework for Aquatic Biogeochemical Models (FABM): a Fortran 2003 programming framework for biogeochemical models of marine and freshwater systems.
To simplify the FABM code, we propose to drop support for older versions of gfortran, cmake and python:
For gfortran will will require version 5.1 and up, which was first released in 2015. This is the first gfortran version with support for allocatable character variables, which is required by the latest fortran-yaml, which in turn underpins a recent overhaul of fabm.yaml parsing.
For cmake we will require version 3.12 and up, which was first released in 2018. This is the first cmake version that supports calling target_link_libraries with OBJECT libraries. This will simplify our current handling of institute-specific object libraries, and also makes it easier if these introduce custom dependencies (e.g., on shared/static libraries)
For Python we will require 3.7 and up, which was first released in 2018. This is also the oldest version still supported by the Python community (planned end of life: 2023-06-27). By requiring 3.7 and up, we can drop support for Python 2.x, which helps simplifying parts of pyfabm.
FABM 2 requires cmake 3.13 or up. This allows us to install targets from subdirectories. Note: early v2 releases (notably v2.0.0 and v2.0.1) accidentally required cmake 3.14 and up.
To simplify the FABM code, we propose to drop support for older versions of gfortran, cmake and python:
fabm.yaml
parsing.target_link_libraries
with OBJECT libraries. This will simplify our current handling of institute-specific object libraries, and also makes it easier if these introduce custom dependencies (e.g., on shared/static libraries)