TOP is the NEMO hardwired interface toward biogeochemical models, which provides the physical constraints/boundaries for oceanic tracers (Fig. ~\ref{fig:topstructure}).
Based on a modular structure, this component allows one to exploit available built-in modules and further develop a range of applications, spanning from the implementation of a dye passive tracer to evaluate dispersion processes (by means of MY\_TRC), track water masses age (AGE module), assess the ocean interior penetration of persistent chemical compounds (e.g., gases like CFC or even PCBs), up to the full set of equations to simulate marine biogeochemical cycles.
TOP interface has the following location in the code repository : \path{<nemo-repository>/src/TOP/}
\caption{Schematic view of the TOP interface within NEMO framework}
\label{fig:topstructure}
\end{center}
\end{figure}
\pagebreak
The workflow of the TOP interface within the NEMO framework is organized around two main blocks of the code, the initialization (trc\_ini) and time marching (trc\_stp) procedures, as in the following
\begin{minted}{bash}
nemogcm
!
nemo_ini ! NEMO General Initialisations
!
trc_ini ! TOP Initialisations
!
stp() ! NEMO Time-stepping
!
trc_stp() ! TOP time-stepping
!
trc_wri() ! I/O manager : Output of passive tracers
This module consists on inital set up of passive tracers variables and parameters : read the namelist, set initial tracer fields (either read restart or read data or analytical formulation and specific initailisation in each SMS module ( analytical initialisation of tracers or constant values )
This is the main module where the passive tracers transport is managed. All the physical trends is calculated ( advective \& diffusive trends, surface BC from freshwater or external inputs )
\begin{minted}{bash}
trc_trp() ! Transport of passive tracers
!
trc_sbc() ! Surface boundary condition of freshwater flux
trc_bc() ! Surface and lateral Boundary Conditions
trc_ais() ! Tracers from Antarctic Ice Sheet (icb, isf)