Skip to content

FABM Directory

Dale edited this page Mar 4, 2022 · 3 revisions

The TOP/FABM directory contains all the routines needed to run FABM and are all additions to the standard NEMO code. Whilst generally these scripts are transferable between different versions of NEMO, there are references to some general NEMO variables, parameters and routines that may change between different NEMO versions. Details on how these functions interact with the TOP code can be found here.

To help understand the FABM code we will give a brief overview of each script.

par_fabm.F90

Short script containing public FABM parameters

st2D_fabm.F90

Declares array structures for any 2D variables used within FABM.

trcini_fabm.F90

A script to control initialisation of FABM tracers; Creates model instance from fabm.yaml and creates/overwrites the field definitions for all fabm variables. If there are any changes to the field definitions, NEMO-FABM will likely error on the first run as the correct field definitions are unavailable to the OCE code at initialization, but will run correctly from the second run onwards.

trcnam_fabm.F90

Reads fabm specific variables from namelist_fabm_cfg if it exists and provide an override routine to the declaration of pelagic variables.

trcsms_fabm.F90

Main time-stepping script called from TOP/trcsms.F90. This flow is detailed in the image below, with calls to functions within trcsms_fabm.F90 itself and additional functions located in inputs_fabm.F90 and vertical_movement_fabm.F90.

Note that the 3D tracers themselves are not updated here, they are updated through trc_trp.F90 in TOP. As of NEMO4 the open boundaries are applied there as well.

inputs_fabm.F90

This script reads in the input files provided through fabm_input.nml. Typically this includes BGC surface fluxes such as nitrogen deposition and river concentrations of BGC. Also contained in this script is the routine to add river loadings to the tracer state.

vertical_movement_fabm.F90

Computes sinking/floating/active movement of tracers in the water column using the vertical velocity and a defined advection scheme.

trcwri_fabm.F90

Routines to output BGC variables to file.

trcrst_fabm.F90

Read/Write restart files