Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
No results found
Show changes
Commits on Source (37)
Showing
with 499 additions and 460 deletions
......@@ -3,8 +3,8 @@
#
# NCDF_INC netcdf4 include file
# NCDF_LIB netcdf4 library
# XIOS_INC xios include file (taken into accound only if key_iomput is activated)
# XIOS_LIB xios library (taken into accound only if key_iomput is activated)
# XIOS_INC xios include file (taken into accound only if key_xios is activated)
# XIOS_LIB xios library (taken into accound only if key_xios is activated)
#
# CPP Pre-processor
# FC Fortran compiler command
......
......@@ -5,23 +5,23 @@ namage namagrif namalb namc14_fcg namc14_sbc namc14_typ namc1d namc1d_dyndmp nam
chap_DYN.tex: key{dynspg\_exp} key{dynspg\_flt} key{dynspg\_ts} key{trddyn} key{trdvor} key{vvl} mdl{dynspg\_flt} mdl{zpsdhe} nlst{namsplit} np{ln\_bt\_nn\_auto} np{ln\_dynhpg\_djc} np{ln\_dynhpg\_imp} np{ln\_dynhpg\_isf} np{ln\_dynhpg\_prj} np{ln\_dynhpg\_sco} np{ln\_dynhpg\_vec} np{ln\_dynhpg\_zco} np{ln\_dynhpg\_zps} np{ln\_dynldf\_bilap} np{ln\_dynvor\_con} np{ln\_dynzad\_zts} np{ln\_traadv\_tvd\_zts} np{ln\_wd\_dl\_ramp} np{ln\_zdfexp} np{nn\_atfp} np{nn\_dynhpg\_rst} np{nn\_ice\_embd} np{nn\_zdfexp}
introduction.tex:
chap_model_basics_zstar.tex: key{dynspg\_exp} key{dynspg\_flt} key{dynspg\_ts} key{vvl} mdl{dynspg\_flt} np{rdtbt} np{rnu}
chap_DIA.tex: key{diaar5} key{diadct} key{diaharm} key{diahth} key{diainstant} key{floats} key{IOM} key{iomput} key{mpp\_mpi} key{netcdf4} key{trdmld\_trc} key{trdtrc} key{vvl} ngn{namdia\_harm} np{init\_float\_ariane} np{iom\_put} np{jpnflnewflo} np{nb\_ana} np{nit000} np{nitend} np{nn\_debug} np{nn\_diacfl} np{tname} rou{iom\_rstput}
chap_DIA.tex: key{diaar5} key{diadct} key{diaharm} key{diahth} key{diainstant} key{floats} key{xios} key{netcdf4} key{trdmld\_trc} key{trdtrc} key{vvl} ngn{namdia\_harm} np{init\_float\_ariane} rou{iom\_put} np{jpnflnewflo} np{nb\_ana} np{nit000} np{nitend} np{nn\_debug} np{nn\_diacfl} np{tname} rou{iom\_rstput}
annex_E.tex: key{traldf\_eiv}
chap_TRA.tex: jp{lk\_vvl} key{trabbl} key{traTTT} key{zdfddm} mdl{traldf\_lap} ngn{namtra\_bbc} np{ln\_flxqsr} np{ln\_sco} np{ln\_traadv\_NONE} np{ln\_traldf} np{ln\_traldf\_grif} np{ln\_traldf\_NONE} np{ln\_tsd\_tradmp} np{ln\_useCT} np{ln\_zco} np{ln\_zdfexp} np{ln\_zps} np{nn\_chdta} np{nn\_eos} np{nn\_fct\_zts} np{nn\_geoflx\_cst} np{nn\_zdfexp} rou{traldf\_blp} rou{traldf\_lap}
chap_DIU.tex:
chap_ASM.tex: key{asminc} ngn{namasm}
chap_ZDF.tex: key{dynspg\_exp} key{dynspg\_flt} key{dynspg\_ts} key{trabbl} key{vvl} key{zdf} key{zdfcst} key{zdfddm} key{zdfgls} key{zdfosm} key{zdfric} key{zdftke} key{zdftmx} key{zdftmx\_new} mdl{dynbfr} mdl{dynzdf\_imp} mdl{zdfbfr} mdl{zdfini} mdl{zdfkpp} ngn{namzdf\_ddm} ngn{namzdf\_tmx} ngn{namzdf\_tmx\_new} nlst{nambfr} nlst{namzdf_ddm} nlst{namzdf_tmx} nlst{namzdf_tmx_new} np{ln\_bfr2d} np{ln\_bfrimp} np{ln\_crban} np{ln\_tmx\_itf} np{ln\_tranpc} np{ln\_zdfexp} np{ln\_zdftmx\_itf} np{nn\_botfr} np{nn\_clo} np{nn\_ediff} np{nn\_ediss} np{nn\_tkebc\_bot} np{nn\_tkebc\_surf} np{rn\_avevd} np{rn\_bfeb2} np{rn\_bfri1} np{rn\_bfri2} np{rn\_bfri2\_max} np{rn\_bfrien} np{rn\_bfrz0} np{rn\_htmx} np{rn\_me} np{rn\_n2min} np{rn\_tfe} np{rn\_tfe\_itf} np{rn\_tfri2} np{rn\_tfri2\_max} np{rn\_tfrz0} rou{zdf\_bfr}
chap_OBS.tex:
chap_misc.tex: key{mpp\_mpi} key{nosignedzero} key{vectopt\_loop} np{iom\_get} np{jpjdta} np{jpjglo} np{nn\_bench} np{nn\_bit\_cmp} np{open\_ocean\_jstart}
chap_misc.tex: key{nosignedzero} np{iom\_get} np{jpjdta} np{jpjglo} np{nn\_bench} np{nn\_bit\_cmp} np{open\_ocean\_jstart}
chap_LDF.tex: hf{dynldf\_cNd} hf{ldfdyn\_substitute} hf{ldftra\_substitute} hf{traldf\_c1d} hf{traldf\_cNd} key{dynldf\_c1d} key{dynldf\_c2d} key{dynldf\_c3d} key{traldf\_c1d} key{traldf\_c2d} key{traldf\_c3d} key{traldf\_cNd} key{traldf\_eiv} mdl{ldfdyn\_c2d} mdl{ldfeiv} mdl{traadv\_eiv} np{ln\_dynldf\_bilap} np{ln\_sco} np{nn\_eos} np{rn\_aeih\_0} np{rn\_aeiv} np{rn\_aeiv\_0} np{rn\_ahm0} np{rn\_ahmb0} np{rn\_aht0} np{rn\_ahtb0} np{traldf\_grif} np{traldf\_grif\_iso} rou{ldf\_dyn\_c2d\_orca} rou{ldfslp\_init}
chap_LBC.tex: jp{jpreci} key{mpp\_mpi} np{jpiglo} np{jpindt} np{jpinft} np{jpjglo} np{jpjnob} np{nbdysegn} np{nn\_bdy\_jpk} np{nn\_msh} np{nn\_tra} rou{inimpp2}
chap_DOM.tex: key{mpp\_mpi} ngn{namzgr} ngn{namzgr\_sco} nlst{namzgr} nlst{namzgr_sco} np{jpiglo} np{jpjglo} np{jpkglo} np{ln\_sco} np{ln\_sigcrit} np{ln\_s\_SF12} np{ln\_s\_SH94} np{ln\_tsd\_ini} np{ln\_zco} np{ln\_zps} np{nn\_bathy} np{nn\_msh} np{ppa0} np{ppa1} np{ppacr} np{ppdzmin} np{pphmax} np{ppkth} np{ppsur} np{rn\_alpha} np{rn\_bb} np{rn\_e3zps\_min} np{rn\_e3zps\_rat} np{rn\_hc} np{rn\_rmax} np{rn\_sbot\_max} np{rn\_sbot\_min} np{rn\_theta} np{rn\_zb\_a} np{rn\_zb\_b} np{rn\_zs} rou{istate\_t\_s}
chap_LBC.tex: jp{jpreci} key{mpi\_off} np{jpiglo} np{jpindt} np{jpinft} np{jpjglo} np{jpjnob} np{nbdysegn} np{nn\_bdy\_jpk} np{nn\_msh} np{nn\_tra}
chap_DOM.tex: ngn{namzgr} ngn{namzgr\_sco} nlst{namzgr} nlst{namzgr_sco} np{jpiglo} np{jpjglo} np{jpkglo} np{ln\_sco} np{ln\_sigcrit} np{ln\_s\_SF12} np{ln\_s\_SH94} np{ln\_tsd\_ini} np{ln\_zco} np{ln\_zps} np{nn\_bathy} np{nn\_msh} np{ppa0} np{ppa1} np{ppacr} np{ppdzmin} np{pphmax} np{ppkth} np{ppsur} np{rn\_alpha} np{rn\_bb} np{rn\_e3zps\_min} np{rn\_e3zps\_rat} np{rn\_hc} np{rn\_rmax} np{rn\_sbot\_max} np{rn\_sbot\_min} np{rn\_theta} np{rn\_zb\_a} np{rn\_zb\_b} np{rn\_zs} rou{istate\_t\_s}
chap_conservation.tex: key{\_}
annex_iso.tex: key{trabbl} key{traldf\_eiv} np{ln\_traldf\_eiv} np{ln\_traldf\_gdia}
chap_time_domain.tex: np{ln\_zdfexp} np{nn\_dynhpg\_rst} np{nn\_zdfexp}
annex_C.tex:
chap_CONFIG.tex: key{agrif} key{c1d} key{dynspg\_ts} key{orca\_r12} key{orca\_r8} key{vvl} key{zdfgls} ngn{namusr\_def} np{jpiglo} np{jpizoom} np{jpjglo} np{jpjzoom} np{ln\_bench} np{nn\_GYRE} np{ORCA\_index}
chap_SBC.tex: key{cice} key{coupled} key{cpl\_carbon\_cycle} key{lim3} key{mpp\_mpi} key{nemocice\_decomp} key{oasis3} key{pisces} key{top} key{vvl} mdl{sbcana} mdl{sbc\_ana\_gyre} mdl{sbcsas} ngn{namsbc\_ana} ngn{namsbc\_clio} ngn{namsbc\_core} nlst{namsbc_ana} nlst{namsbc_clio} nlst{namsbc_core} np{clim} np{ln\_ana} np{ln\_blk\_clio} np{ln\_blk\_core} np{ln\_clio} np{ln\_core} np{ln\_rnf\_temp} np{nn\_nit000} np{nn\_tau000} np{nn\_test\_box} np{nz\_rnf} np{rn\_emp0} np{rn\_fiscpl} np{rn\_qns0} np{rn\_qsr0} np{rn\_utau0} np{rn\_vtau0}
chap_SBC.tex: key{cice} key{coupled} key{cpl\_carbon\_cycle} key{lim3} key{nemocice\_decomp} key{oasis3} key{pisces} key{top} key{vvl} mdl{sbcana} mdl{sbc\_ana\_gyre} mdl{sbcsas} ngn{namsbc\_ana} ngn{namsbc\_clio} ngn{namsbc\_core} nlst{namsbc_ana} nlst{namsbc_clio} nlst{namsbc_core} np{clim} np{ln\_ana} np{ln\_blk\_clio} np{ln\_blk\_core} np{ln\_clio} np{ln\_core} np{ln\_rnf\_temp} np{nn\_nit000} np{nn\_tau000} np{nn\_test\_box} np{nz\_rnf} np{rn\_emp0} np{rn\_fiscpl} np{rn\_qns0} np{rn\_qsr0} np{rn\_utau0} np{rn\_vtau0}
chap_STO.tex:
¤ Namelist parameters unfollowing naming conventions (^[cdlnr]n_* or uppercase somewhere)
......
......@@ -8,7 +8,8 @@
J\'{e}r\^{o}me Chanut \\
\orcid{0000-0002-5752-1849} Emanuela Clementi \\
\orcid{0000-0002-0456-129X} Andrew Coward \\
Massimiliano Drudi \\
\orcid{0000-0002-9951-740X} Massimiliano Drudi \\
\orcid{0000-0002-6408-1335} Italo Epicoco \\
Christian \'{E}th\'{e} \\
\orcid{0000-0001-5132-7255} Doroteaciro Iovino \\
Dan Lea \\
......@@ -16,8 +17,9 @@
Nicolas Martin \\
\orcid{0000-0002-1694-8117} S\'{e}bastien Masson \\
Pierre Mathiot \\
\orcid{0000-0002-3665-0078} Francesca Mele \\
\orcid{0000-0002-6309-8282} Silvia Mocavero \\
Aimie Moulin \\
\orcid{0000-0002-9489-0985} Aimie Moulin \\
Simon M\"{u}ller \\
George Nurser \\
\orcid{0000-0001-7481-6369} Guillaume Samson \\
......
......@@ -786,6 +786,19 @@
url = "https://tel.archives-ouvertes.fr/tel-01104703/file/DEMANGE_2014_archivage.pdf"
}
@article{ demange_JCP19,
title = "Stability analysis of split-explicit free surface ocean models: Implication
of the depth-independent barotropic mode approximation",
pages = "108875",
journal = "Journal of Computational Physics",
volume = "398",
author = "J. Demange and L. Debreu and P. Marchesiello and F. Lemari\'{e}
and E. Blayo and C. Eldred",
year = "2019",
issn = "0021-9991",
doi = "10.1016/j.jcp.2019.108875"
}
@article{ dobricic.pinardi.ea_OS07,
title = "Daily oceanographic analyses by Mediterranean Forecasting
System at the basin scale",
......
......@@ -55,12 +55,12 @@ Full step or partial step $z$-coordinate or $s$- (terrain-following) coordinate
linear free surface (level position are then fixed in time).
In non-linear free surface, the corresponding rescaled height coordinate formulation
(\zstar or \sstar) is used
(the level position then vary in time as a function of the sea surface heigh).
(the level position then vary in time as a function of the sea surface height).
\item [\nameref{chap:TRA} and \nameref{chap:DYN}] describe the discretisation of
the prognostic equations for the active \textbf{TRA}cers (potential temperature and salinity) and
the momentum (\textbf{DYN}amic).
Explicit, split-explicit and filtered free surface formulations are implemented.
A number of numerical schemes are available for momentum advection,
Explicit and split-explicit free surface formulations are implemented.
A number of numerical schemes are available for momentum advection (according to "flux" or "vector" formulations),
for the computation of the pressure gradients, as well as for the advection of tracers
(second or higher order advection schemes, including positive ones).
\item [\nameref{chap:SBC}] can be implemented as prescribed fluxes,
......@@ -73,8 +73,6 @@ Interactive coupling to Atmospheric models is possible via the \OASIS\ coupler.
Two-way nesting is also available through an interface to the \AGRIF\ package,
\ie\ \textbf{A}daptative \textbf{G}rid \textbf{R}efinement in \textbf{F}ortran
\citep{debreu.vouland.ea_CG08}.
The interface code for coupling to an alternative sea ice model (\CICE) has now been upgraded so that
it works for both global and regional domains.
\item [\nameref{chap:LBC}] presents the \textbf{L}ateral
\textbf{B}oun\textbf{D}ar\textbf{Y} \textbf{C}onditions.
Global configurations of the model make use of the ORCA tripolar grid,
......
......@@ -665,7 +665,7 @@ This may be useful for esthetical reason or for stability reasons:
\begin{description}
\item $\bullet$ In a subglacial lakes, in case of very weak circulation (often the case), the only heat flux is the conductive heat flux through the ice sheet.
This will lead to constant freezing until water reaches -20C.
This is one of the defitiency of the 3 equation melt formulation (for details on this formulation, see: \autoref{sec:isf}).
This is one of the deficiencies of the 3 equation melt formulation (for details on this formulation, see: \autoref{sec:SBC_isf}).
\item $\bullet$ In case of coupling with an ice sheet model,
the ssh in the subglacial lakes and the main ocean could be very different (ssh initial adjustement for example),
and so if for any reason both a connected at some point, the model is likely to fall over.\\
......
......@@ -436,7 +436,7 @@ has been proved (see \autoref{apdx:ALGOS_Gf_operator}).
%% =================================================================================================
\subsection{Eddy induced velocity and skew flux formulation}
When Gent and McWilliams [1990] diffusion is used (\key{traldf\_eiv} defined),
When Gent and McWilliams [1990] diffusion is used,
an additional advection term is added.
The associated velocity is the so called eddy induced velocity,
the formulation of which depends on the slopes of iso-neutral surfaces.
......
This diff is collapsed.
......@@ -147,7 +147,7 @@ taking into account the change of the thickness of the levels:
\right.
\end{equation}
In the case of a non-linear free surface (\texttt{vvl?}), the top vertical velocity is $-\textit{emp}/\rho_w$,
In the case of a non-linear free surface (\np[=.false.]{ln_linssh}{ln\_linssh}), the top vertical velocity is $-\textit{emp}/\rho_w$,
as changes in the divergence of the barotropic transport are absorbed into the change of the level thicknesses,
re-orientated downward.
\cmtgm{not sure of this... to be modified with the change in emp setting}
......@@ -594,9 +594,6 @@ for $1<k<km$ (interior layer)
Note that the $1/2$ factor in (\autoref{eq:DYN_hpg_zco_surf}) is adequate because of the definition of $e_{3w}$ as
the vertical derivative of the scale factor at the surface level ($z=0$).
Note also that in case of variable volume level (\texttt{vvl?} defined),
the surface pressure gradient is included in \autoref{eq:DYN_hpg_zco_surf} and
\autoref{eq:DYN_hpg_zco} through the space and time variations of the vertical scale factor $e_{3w}$.
%% =================================================================================================
\subsection[Partial step $Z$-coordinate (\forcode{ln_dynhpg_zps})]{Partial step $Z$-coordinate (\protect\np{ln_dynhpg_zps}{ln\_dynhpg\_zps})}
......@@ -662,8 +659,8 @@ Density Jacobian with cubic polynomial scheme (DJC) (\np[=.true.]{ln_hpg_djc}{ln
quasi-sigma) coordinates but not for ice shelf cavities.
\end{itemize}
Note that expression \autoref{eq:DYN_hpg_sco} is commonly used when the variable volume formulation is activated
(\texttt{vvl?}) because in that case, even with a flat bottom,
Note that expression \autoref{eq:DYN_hpg_sco} is commonly used when the non-linear free surface formulation is activated
(\np[=.false.]{ln_linssh}{ln\_linssh}) because in that case, even with a flat bottom,
the coordinate surfaces are not horizontal but follow the free surface \citep{levier.treguier.ea_trpt07}.
At version 4.2 the density field used by dyn\_hpg is the density anomaly field rhd rather than $1+\mathrm{rhd}$.
The calculation of the source term for the free surface has been adjusted to take this into account.
......@@ -672,7 +669,7 @@ with depth for water with a potential temperature of $4^{\circ}$C and salinity o
(see (13) and (14) of \citet{roquet.madec.ea_OM15}).
The pressure Jacobian scheme (\np[=.true.]{ln_hpg_prj}{ln\_hpg\_prj}) is available as
an option to \np[=.true.]{ln_hpg_sco}{ln\_hpg\_sco} when \texttt{vvl?} is active.
an option to \np[=.true.]{ln_hpg_sco}{ln\_hpg\_sco} when \np[=.false.]{ln_linssh}{ln\_linssh}.
It works well for moderately steep slopes but produces large velocities in the SEAMOUNT test case
when the slopes are steep. It uses a constrained cubic spline to
reconstruct the vertical density profile within a water column.
......@@ -778,29 +775,16 @@ The pressure gradient due to ocean load is computed using the expression \autore
Options are defined through the \nam{dyn_spg}{dyn\_spg} namelist variables.
The surface pressure gradient term is related to the representation of the free surface (\autoref{sec:MB_hor_pg}).
The main distinction is between the fixed volume case (linear free surface) and
the variable volume case (nonlinear free surface, \texttt{vvl?} is defined).
The main distinction is between the fixed volume case (linear free surface, \ie\ \np[=.true.]{ln_linssh}{ln\_linssh}) and
the variable volume case (nonlinear free surface, \np[=.false.]{ln_linssh}{ln\_linssh}).
In the linear free surface case (\autoref{subsec:MB_free_surface})
the vertical scale factors $e_{3}$ are fixed in time,
while they are time-dependent in the nonlinear case (\autoref{subsec:MB_free_surface}).
With both linear and nonlinear free surface, external gravity waves are allowed in the equations,
which imposes a very small time step when an explicit time stepping is used.
Two methods are proposed to allow a longer time step for the three-dimensional equations:
the filtered free surface, which is a modification of the continuous equations \iffalse (see \autoref{eq:MB_flt?}) \fi
and the split-explicit free surface described below.
The extra term introduced in the filtered method is calculated implicitly,
so that the update of the next velocities is done in module \mdl{dynspg\_flt} and not in \mdl{dynnxt}.
The form of the surface pressure gradient term depends on how the user wants to
handle the fast external gravity waves that are a solution of the analytical equation (\autoref{sec:MB_hor_pg}).
Three formulations are available, all controlled by a CPP key (ln\_dynspg\_xxx):
an explicit formulation which requires a small time step;
a filtered free surface formulation which allows a larger time step by
adding a filtering term into the momentum equation;
and a split-explicit free surface formulation, described below, which also allows a larger time step.
The extra term introduced in the filtered method is calculated implicitly, so that a solver is used to compute it.
As a consequence the update of the $next$ velocities is done in module \mdl{dynspg\_flt} and not in \mdl{dynnxt}.
which imposes a very small time step when an explicit time stepping is used (\np[=.true.]{ln_dynspg_exp}{ln\_dynspg\_exp}).
To allow a longer time step for the three-dimensional equations, one can use a split-explicit free surface
(\np[=.true.]{ln_dynspg_ts}{ln\_dynspg\_ts}). In that case, only a quasi-linear
form of 2d barotropic equations is substepped with a small time increment.
%% =================================================================================================
\subsection[Explicit free surface (\forcode{ln_dynspg_exp})]{Explicit free surface (\protect\np{ln_dynspg_exp}{ln\_dynspg\_exp})}
......@@ -821,11 +805,6 @@ is thus simply given by :
\right.
\end{equation}
Note that in the non-linear free surface case (\ie\ \texttt{vvl?} defined),
the surface pressure gradient is already included in the momentum tendency through
the level thickness variation allowed in the computation of the hydrostatic pressure gradient.
Thus, nothing is done in the \mdl{dynspg\_exp} module.
%% =================================================================================================
\subsection[Split-explicit free surface (\forcode{ln_dynspg_ts})]{Split-explicit free surface (\protect\np{ln_dynspg_ts}{ln\_dynspg\_ts})}
\label{subsec:DYN_spg_ts}
......@@ -837,7 +816,7 @@ The general idea is to solve the free surface equation and the associated barotr
a smaller time step than $\rdt$, the time step used for the three dimensional prognostic variables
(\autoref{fig:DYN_spg_ts}).
The size of the small time step, $\rdt_e$ (the external mode or barotropic time step) is provided through
the \np{nn_baro}{nn\_baro} namelist parameter as: $\rdt_e = \rdt / nn\_baro$.
the \np{nn_e}{nn\_e} namelist parameter as: $\rdt_e = \rdt / nn\_e$.
This parameter can be optionally defined automatically (\np[=.true.]{ln_bt_nn_auto}{ln\_bt\_nn\_auto}) considering that
the stability of the barotropic system is essentially controled by external waves propagation.
Maximum Courant number is in that case time independent, and easily computed online from the input bathymetry.
......@@ -874,8 +853,8 @@ AB3-AM4 coefficients used in \NEMO\ follow the second-order accurate,
Schematic of the split-explicit time stepping scheme for the external and internal modes.
Time increases to the right.
In this particular exemple,
a boxcar averaging window over \np{nn_baro}{nn\_baro} barotropic time steps is used
(\np[=1]{nn_bt_flt}{nn\_bt\_flt}) and \np[=5]{nn_baro}{nn\_baro}.
a boxcar averaging window over \np{nn_e}{nn\_e} barotropic time steps is used
(\np[=1]{nn_bt_flt}{nn\_bt\_flt}) and \np[=5]{nn_e}{nn\_e}.
Internal mode time steps (which are also the model time steps) are denoted by
$t-\rdt$, $t$ and $t+\rdt$.
Variables with $k$ superscript refer to instantaneous barotropic variables,
......@@ -904,7 +883,7 @@ Since external mode equations written at baroclinic time steps finally follow a
asselin filtering is not applied to barotropic quantities.\\
Alternatively, one can choose to integrate barotropic equations starting from \textit{before} time step
(\np[=.false.]{ln_bt_fw}{ln\_bt\_fw}).
Although more computationaly expensive ( \np{nn_baro}{nn\_baro} additional iterations are indeed necessary),
Although more computationaly expensive ( \np{nn_e}{nn\_e} additional iterations are indeed necessary),
the baroclinic to barotropic forcing term given at \textit{now} time step become centred in
the middle of the integration window.
It can easily be shown that this property removes part of splitting errors between modes,
......@@ -929,14 +908,10 @@ One can eventually choose to feedback instantaneous values by not using any time
(\np[=.false.]{ln_bt_av}{ln\_bt\_av}).
In that case, external mode equations are continuous in time,
\ie\ they are not re-initialized when starting a new sub-stepping sequence.
This is the method used so far in the POM model, the stability being maintained by
This is the method used in the POM model for example, the stability being maintained by
refreshing at (almost) each barotropic time step advection and horizontal diffusion terms.
Since the latter terms have not been added in \NEMO\ for computational efficiency,
removing time filtering is not recommended except for debugging purposes.
This may be used for instance to appreciate the damping effect of the standard formulation on
external gravity waves in idealized or weakly non-linear cases.
Although the damping is lower than for the filtered free surface,
it is still significant as shown by \citet{levier.treguier.ea_trpt07} in the case of an analytical barotropic Kelvin wave.
removing time filtering would be inevitably unstable. One can however add some dissipation, but in the time domain, by slightly modifying the barotropic time stepping coefficients (\citet{demange_JCP19}). This is implemented here through an additional parameter (\np{rn_bt_alpha}{rn\_bt\_alpha}), which controls the amount of temporal diffusion.
\cmtgm{ %%% copy from griffies Book
......@@ -1057,32 +1032,6 @@ the filter \autoref{eq:DYN_spg_ts_sshf} was found to be more conservative, and s
} %%end gm comment (copy of griffies book)
%% =================================================================================================
\subsection{Filtered free surface (\forcode{dynspg_flt?})}
\label{subsec:DYN_spg_fltp}
The filtered formulation follows the \citet{roullet.madec_JGR00} implementation.
The extra term introduced in the equations (see \autoref{subsec:MB_free_surface}) is solved implicitly.
The elliptic solvers available in the code are documented in \autoref{chap:MISC}.
%% gm %%======>>>> given here the discrete eqs provided to the solver
\cmtgm{ %%% copy from chap-model basics
\[
% \label{eq:DYN_spg_flt}
\frac{\partial {\mathrm {\mathbf U}}_h }{\partial t}= {\mathrm {\mathbf M}}
- g \nabla \left( \tilde{\rho} \ \eta \right)
- g \ T_c \nabla \left( \widetilde{\rho} \ \partial_t \eta \right)
\]
where $T_c$, is a parameter with dimensions of time which characterizes the force,
$\widetilde{\rho} = \rho / \rho_o$ is the dimensionless density,
and $\mathrm {\mathbf M}$ represents the collected contributions of the Coriolis, hydrostatic pressure gradient,
non-linear and viscous terms in \autoref{eq:MB_dyn}.
} %end cmtgm
Note that in the linear free surface formulation (\texttt{vvl?} not defined),
the ocean depth is time-independent and so is the matrix to be inverted.
It is computed once and for all and applies to all ocean time steps.
%% =================================================================================================
\section[Lateral diffusion term and operators (\textit{dynldf.F90})]{Lateral diffusion term and operators (\protect\mdl{dynldf})}
\label{sec:DYN_ldf}
......@@ -1271,7 +1220,7 @@ the atmospheric pressure is taken into account when computing the surface pressu
(2) When \np[=.true.]{ln_tide_pot}{ln\_tide\_pot} and \np[=.true.]{ln_tide}{ln\_tide} (see \autoref{sec:SBC_TDE}),
the tidal potential is taken into account when computing the surface pressure gradient.
(3) When \np[=2]{nn_ice_embd}{nn\_ice\_embd} and LIM or CICE is used
(3) When \np[=2]{nn_ice_embd}{nn\_ice\_embd} and SI3 is used
(\ie\ when the sea-ice is embedded in the ocean),
the snow-ice mass is taken into account when computing the surface pressure gradient.
......@@ -1581,11 +1530,11 @@ The general framework for dynamics time stepping is a leap-frog scheme,
\ie\ a three level centred time scheme associated with an Asselin time filter (cf. \autoref{chap:TD}).
The scheme is applied to the velocity, except when
using the flux form of momentum advection (cf. \autoref{sec:DYN_adv_cor_flux})
in the variable volume case (\texttt{vvl?} defined),
in the variable volume case (\np[=.false.]{ln_linssh}{ln\_linssh}),
where it has to be applied to the thickness weighted velocity (see \autoref{sec:SCOORD_momentum})
$\bullet$ vector invariant form or linear free surface
(\np[=.true.]{ln_dynhpg_vec}{ln\_dynhpg\_vec} ; \texttt{vvl?} not defined):
(\np[=.true.]{ln_dynhpg_vec}{ln\_dynhpg\_vec} or \np[=.true.]{ln_linssh}{ln\_linssh}):
\[
% \label{eq:DYN_nxt_vec}
\left\{
......@@ -1597,7 +1546,7 @@ $\bullet$ vector invariant form or linear free surface
\]
$\bullet$ flux form and nonlinear free surface
(\np[=.false.]{ln_dynhpg_vec}{ln\_dynhpg\_vec} ; \texttt{vvl?} defined):
(\np[=.false.]{ln_dynhpg_vec}{ln\_dynhpg\_vec} and \np[=.false.]{ln_linssh}{ln\_linssh}):
\[
% \label{eq:DYN_nxt_flux}
\left\{
......@@ -1615,10 +1564,6 @@ Its default value is \np[=10.e-3]{nn_atfp}{nn\_atfp}.
In both cases, the modified Asselin filter is not applied since perfect conservation is not an issue for
the momentum equations.
Note that with the filtered free surface,
the update of the \textit{after} velocities is done in the \mdl{dynsp\_flt} module,
and only array swapping and Asselin filtering is done in \mdl{dynnxt}.
\subinc{\input{../../global/epilogue}}
\end{document}
......@@ -479,14 +479,14 @@ the horizontal divergence for operators acting along model-surfaces are no longe
Values of iso-neutral diffusivity and GM coefficient are set as described in \autoref{sec:LDF_coef}.
If none of the keys \key{traldf\_cNd}, N=1,2,3 is set (the default), spatially constant iso-neutral $A_l$ and
GM diffusivity $A_e$ are directly set by \np{rn_aeih_0}{rn\_aeih\_0} and \np{rn_aeiv_0}{rn\_aeiv\_0}.
If 2D-varying coefficients are set with \key{traldf\_c2d} then $A_l$ is reduced in proportion with horizontal
If 2D-varying coefficients are set with (\protect\np[=20]{nn_aht_ijk_t}{nn\_aht\_ijk\_t}) then $A_l$ is reduced in proportion with horizontal
scale factor according to \autoref{eq:title}
\footnote{
Except in global ORCA $0.5^{\circ}$ runs with \key{traldf\_eiv},
where $A_l$ is set like $A_e$ but with a minimum vale of $100\;\mathrm{m}^2\;\mathrm{s}^{-1}$
}.
In idealised setups with \key{traldf\_c2d}, $A_e$ is reduced similarly, but if \key{traldf\_eiv} is set in
the global configurations with \key{traldf\_c2d}, a horizontally varying $A_e$ is instead set from
In idealised setups with (\protect\np[=20]{nn_aht_ijk_t}{nn\_aht\_ijk\_t}), $A_e$ is reduced similarly, but if \np[=.true.]{ln_ldfeiv}{ln\_ldfeiv} also is set in
the global configurations a horizontally varying $A_e$ is instead set from
the Held-Larichev parameterisation
\footnote{
In this case, $A_e$ at low latitudes $|\theta|<20^{\circ}$ is further reduced by a factor $|f/f_{20}|$,
......
......@@ -1004,7 +1004,7 @@ When an external wave model (see \autoref{sec:SBC_wave}) is used in the coupled
The namelist above allows control of various aspects of the coupling fields (particularly for vectors) and
now allows for any coupling fields to have multiple sea ice categories (as required by LIM3 and CICE).
now allows for any coupling fields to have multiple sea ice categories (as required by SI3).
When indicating a multi-category coupling field in \nam{sbc_cpl}{sbc\_cpl}, the number of categories will be determined by
the number used in the sea ice model.
In some limited cases, it may be possible to specify single category coupling fields even when
......@@ -1221,11 +1221,11 @@ no corresponding heat and salt addition and so as happens in the lower boxes the
boxes below means the surface box has a large increase in volume, whilst all other boxes remain the same size)
In trasbc the addition of heat and salt due to the river runoff is added.
This is done in the same way for both vvl and non-vvl.
This is done in the same way for both linear and non-linear free surface.
The temperature and salinity are increased through the specified depth according to
the heat and salt content of the river.
In the non-linear free surface case (vvl),
In the non-linear free surface case (\np[=.false.]{ln_linssh}{ln\_linssh}),
near the end of the time step the change in sea surface height is redistrubuted through the grid boxes,
so that the original ratios of grid box heights are restored.
In doing this water is moved into boxes below, throughout the water column,
......@@ -1651,7 +1651,7 @@ The amount of information is controlled by two integer parameters:
Iceberg trajectories can also be written out and this is enabled by setting \np{nn_sample_rate}{nn\_sample\_rate}~$>$~0.
A non-zero value represents how many timesteps between writes of information into the output file.
These output files are in NETCDF format.
When \key{mpp\_mpi} is defined, each output file contains only those icebergs in the corresponding processor.
When running with multiple processes, each output file contains only those icebergs in the corresponding processor.
Trajectory points are written out in the order of their parent iceberg in the model's "linked list" of icebergs.
So care is needed to recreate data for individual icebergs,
since its trajectory data may be spread across multiple files.
......@@ -2034,45 +2034,11 @@ the value of the \np{nn_ice}{nn\_ice} namelist parameter found in \nam{sbc}{sbc}
This model computes the ice-ocean fluxes,
that are combined with the air-sea fluxes using the ice fraction of each model cell to
provide the surface averaged ocean fluxes.
Note that the activation of a sea-ice model is done by defining a CPP key (\key{si3} or \key{cice}).
Note that the activation of a sea-ice model is done by defining a CPP key (\key{si3}).
The activation automatically overwrites the read value of nn\_ice to its appropriate value
(\ie\ $2$ for SI3 or $3$ for CICE).
(\ie\ $2$ for SI3).
\end{description}
% {Description of Ice-ocean interface to be added here or in LIM 2 and 3 doc ?}
%GS: ocean-ice (SI3) interface is not located in SBC directory anymore, so it should be included in SI3 doc
%% =================================================================================================
\subsection[Interface to CICE (\textit{sbcice\_cice.F90})]{Interface to CICE (\protect\mdl{sbcice\_cice})}
\label{subsec:SBC_cice}
It is possible to couple a regional or global \NEMO\ configuration (without AGRIF)
to the CICE sea-ice model by using \key{cice}.
The CICE code can be obtained from \href{http://oceans11.lanl.gov/trac/CICE/}{LANL} and
the additional 'hadgem3' drivers will be required, even with the latest code release.
Input grid files consistent with those used in \NEMO\ will also be needed,
and CICE CPP keys \textbf{ORCA\_GRID}, \textbf{CICE\_IN\_NEMO} and \textbf{coupled} should be used
(seek advice from UKMO if necessary).
Currently, the code is only designed to work when using the NCAR forcing option for \NEMO\ %GS: still true ?
(with \textit{calc\_strair}\forcode{=.true.} and \textit{calc\_Tsfc}\forcode{=.true.} in the CICE name-list),
or alternatively when \NEMO\ is coupled to the HadGAM3 atmosphere model
(with \textit{calc\_strair}\forcode{=.false.} and \textit{calc\_Tsfc}\forcode{=false}).
The code is intended to be used with \np{nn_fsbc}{nn\_fsbc} set to 1
(although coupling ocean and ice less frequently should work,
it is possible the calculation of some of the ocean-ice fluxes needs to be modified slightly -
the user should check that results are not significantly different to the standard case).
There are two options for the technical coupling between \NEMO\ and CICE.
The standard version allows complete flexibility for the domain decompositions in the individual models,
but this is at the expense of global gather and scatter operations in the coupling which
become very expensive on larger numbers of processors.
The alternative option (using \key{nemocice\_decomp} for both \NEMO\ and CICE) ensures that
the domain decomposition is identical in both models (provided domain parameters are set appropriately,
and \textit{processor\_shape~=~square-ice} and \textit{distribution\_wght~=~block} in the CICE name-list) and
allows much more efficient direct coupling on individual processors.
This solution scales much better although it is at the expense of having more idle CICE processors in areas where
there is no sea ice.
%% =================================================================================================
\subsection[Freshwater budget control (\textit{sbcfwb.F90})]{Freshwater budget control (\protect\mdl{sbcfwb})}
\label{subsec:SBC_fwb}
......
......@@ -667,16 +667,23 @@ within the OSBL are part of the model, while instabilities below the
ML are handled by the Ri \# dependent scheme.
\subsubsection{Depth and velocity scales}
The model supposes a boundary layer of thickness $h_{\mathrm{bl}}$ enclosing a well-mixed layer of thickness $h_{\mathrm{ml}}$ and a relatively thin pycnocline at the base of thickness $\Delta h$; \autoref{fig:OSBL_structure} shows typical (a) buoyancy structure and (b) turbulent buoyancy flux profile for the unstable boundary layer (losing buoyancy at the surface; e.g.\ cooling).
The model supposes a boundary layer of thickness $h_{\mathrm{bl}}$ enclosing a well-mixed
layer of thickness $h_{\mathrm{ml}}$ and a relatively thin pycnocline at the base of
thickness $\Delta h$; \autoref{fig:OSBL_structure} shows typical (a) buoyancy structure
and (b) turbulent buoyancy flux profile for the unstable boundary layer (losing buoyancy
at the surface; e.g.\ cOoling).
\begin{figure}[!t]
\begin{center}
%\includegraphics[width=0.7\textwidth]{ZDF_OSM_structure_of_OSBL}
\includegraphics[width=0.7\textwidth]{ZDF_OSM_structure_of_OSBL}
\caption{
\protect\label{fig:OSBL_structure}
The structure of the entraining boundary layer. (a) Mean buoyancy profile. (b) Profile of the buoyancy flux.
}
\end{center}
\end{figure}
The pycnocline in the OSMOSIS scheme is assumed to have a finite thickness, and may include a number of model levels. This means that the OSMOSIS scheme must parametrize both the thickness of the pycnocline, and the turbulent fluxes within the pycnocline.
Consideration of the power input by wind acting on the Stokes drift suggests that the Langmuir turbulence has velocity scale:
......
......@@ -41,13 +41,13 @@ Configuration is defined manually through the \nam{cfg}{cfg} namelist variables.
\end{listing}
%% =================================================================================================
\section[C1D: 1D Water column model (\texttt{\textbf{key\_c1d}})]{C1D: 1D Water column model (\protect\key{c1d})}
\section[C1D: 1D Water column model]{C1D: 1D Water column model}
\label{sec:CFGS_c1d}
The 1D model option simulates a stand alone water column within the 3D \NEMO\ system.
It can be applied to the ocean alone or to the ocean-ice system and can include passive tracers or a biogeochemical model.
It is set up by defining the position of the 1D water column in the grid
(see \path{./cfgs/SHARED/namelist\_ref}).
(see \path{./cfgs/SHARED/namelist_ref}).
The 1D model is a very useful tool
\textit{(a)} to learn about the physics and numerical treatment of vertical mixing processes;
\textit{(b)} to investigate suitable parameterisations of unresolved turbulence
......@@ -61,7 +61,7 @@ a 3x3 domain with 75 vertical levels.
The 1D model has some specifies. First, all the horizontal derivatives are assumed to be zero,
and second, the two components of the velocity are moved on a $T$-point.
Therefore, defining \key{c1d} changes some things in the code behaviour:
Therefore, defining \np{ln_c1d = .true.} changes some things in the code behaviour:
\begin{enumerate}
\item a simplified \rou{stp} routine is used (\rou{stp\_c1d}, see \mdl{step\_c1d} module) in which
both lateral tendancy terms and lateral physics are not called;
......@@ -84,7 +84,7 @@ the SI3 model (ORCA-ICE) and possibly with PISCES biogeochemical model (ORCA-ICE
An appropriate namelist is available in \path{./cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg} for ORCA2.
The domain of ORCA2 configuration is defined in \textit{ORCA\_R2\_zps\_domcfg.nc} file,
this file is available in tar file on the \NEMO\ community zenodo platform: \\
https://doi.org/10.5281/zenodo.2640723
https://doi.org/10.5281/zenodo.3767939
In this namelist\_cfg the name of domain input file is set in \nam{cfg}{cfg} block of namelist.
......@@ -202,11 +202,10 @@ This \citet{large.yeager_trpt04} dataset is available through
the \href{http://nomads.gfdl.noaa.gov/nomads/forms/mom4/CORE.html}{GFDL web site}.
The "normal year" of \citet{large.yeager_trpt04} has been chosen of the \NEMO\ distribution since release v3.3.
ORCA\_R2 pre-defined configuration can also be run with multiply online nested zooms (\ie\ with AGRIF, \key{agrif} defined).
This is available as the AGRIF\_DEMO configuration that can be found in the \path{./cfgs/AGRIF_DEMO/} directory.
A regional Arctic or peri-Antarctic configuration is extracted from an ORCA\_R2 or R05 configurations using
sponge layers at open boundaries.
ORCA\_R2 pre-defined configuration can also be run with multiple online nested zooms, \ie\ using AGRIF with \key{agrif} defined.
This is available in the AGRIF\_DEMO configuration (located in \path{./cfgs/AGRIF_DEMO/} directory) that
accounts for two nested refinements over the Arctic region and a third zoom over the central Pacific area
using a two-ways coupling procedure.
%% =================================================================================================
\section{GYRE family: double gyre basin}
......@@ -289,7 +288,7 @@ namelist \path{./cfgs/GYRE_PISCES/EXPREF/namelist_cfg}.
The AMM, Atlantic Margins Model, is a regional model covering the Northwest European Shelf domain on
a regular lat-lon grid at approximately 12km horizontal resolution.
The appropriate \textit{\&namcfg} namelist is available in \path{./cfgs/AMM12/EXPREF/namelist\_cfg}.
The appropriate \textit{\&namcfg} namelist is available in \path{./cfgs/AMM12/EXPREF/namelist_cfg}.
It is used to build the correct dimensions of the AMM domain.
This configuration tests several features of \NEMO\ functionality specific to the shelf seas.
......
......@@ -198,8 +198,8 @@ open ocean wet points in the non-isf bathymetry for this set is row 42 (\fortran
then the formally correct setting for \np{open_ocean_jstart}{open\_ocean\_jstart} is 41. Using this value as
the first row to be read will result in a 362x292 domain which is the same size as the
original ORCA1 domain. Thus the extended domain configuration file can be used with all
the original input files for ORCA1 if the ice cavities are not active (\np{ln\_isfcav =
.false.}). Full instructions for achieving this are:
the original input files for ORCA1 if the ice cavities are not active (\np{ln_isfcav =
.false.}). Full instructions for achieving this are:
\begin{itemize}
\item Add the new attribute to any input files requiring a j-row offset, i.e:
......@@ -300,31 +300,6 @@ The self-compensated summation method should be used in all summation in i- and/
See \mdl{closea} module for an example.
Note also that this implementation may be sensitive to the optimization level.
%% =================================================================================================
\subsection{MPP scalability}
\label{subsec:MISC_mppsca}
The default method of communicating values across the north-fold in distributed memory applications (\key{mpp\_mpi})
uses a \textsc{MPI\_ALLGATHER} function to exchange values from each processing region in
the northern row with every other processing region in the northern row.
This enables a global width array containing the top 4 rows to be collated on every northern row processor and then
folded with a simple algorithm.
Although conceptually simple, this "All to All" communication will hamper performance scalability for
large numbers of northern row processors.
From version 3.4 onwards an alternative method is available which only performs direct "Peer to Peer" communications
between each processor and its immediate "neighbours" across the fold line.
This is achieved by using the default \textsc{MPI\_ALLGATHER} method during initialisation to
help identify the "active" neighbours.
Stored lists of these neighbours are then used in all subsequent north-fold exchanges to
restrict exchanges to those between associated regions.
The collated global width array for each region is thus only partially filled but is guaranteed to
be set at all the locations actually required by each individual for the fold operation.
This alternative method should give identical results to the default \textsc{ALLGATHER} method and
is recommended for large values of \np{jpni}{jpni}.
The new method is activated by setting \np{ln_nnogather}{ln\_nnogather} to be true (\nam{mpp}{mpp}).
The reproducibility of results using the two methods should be confirmed for each new,
non-reference configuration.
%% =================================================================================================
\section{Model optimisation, control print and benchmark}
\label{sec:MISC_opt}
......@@ -339,6 +314,7 @@ Options are defined through the \nam{ctl}{ctl} namelist variables.
%% =================================================================================================
\subsection{Status and debugging information output}
\label{subsec:MISC_statusinfo}
NEMO can produce a range of text information output either: in the main output
......
......@@ -69,9 +69,6 @@ a biogeochemistry model (PISCES).
Interactive coupling to Atmospheric models is possible via the \href{https://portal.enes.org/oasis}{OASIS coupler}.
Two-way nesting is also available through an interface to the AGRIF package
(Adaptative Grid Refinement in \fortran) \citep{debreu.vouland.ea_CG08}.
% Needs to be reviewed
%The interface code for coupling to an alternative sea ice model (CICE, \citet{Hunke2008}) has now been upgraded so
%that it works for both global and regional domains, although AGRIF is still not available.
Other model characteristics are the lateral boundary conditions (\autoref{chap:LBC}).
Global configurations of the model make use of the ORCA tripolar grid, with special north fold boundary condition.
......
......@@ -9,7 +9,7 @@ It is intended to be a flexible tool for studying the on/offline oceanic tracers
the biogeochemical processes (``green ocean''),
as well as its interactions with the other components of the Earth climate system over
a wide range of space and time scales.
\TOP\ is interfaced with the \NEMO\ ocean engine, and,
\TOP\ is directly interfaced with the \NEMO\ ocean engine, and,
via the \href{http://portal.enes.org/oasis}{OASIS} coupler,
with several atmospheric general circulation models.
%It also supports two-way grid embedding by means of the \href{http://agrif.imag.fr}{AGRIF} software.
......
......@@ -305,18 +305,17 @@
}
@Manual{ nemo_manual,
author = {Madec Gurvan and NEMO System Team},
author = {{NEMO System Team}},
title = {NEMO ocean engine},
organization = {NEMO Consortium},
journal = {Notes du Pôle de modélisation de l\'Institut
Pierre-Simon Laplace (IPSL)},
journal = {Scientific Notes of Climate Modelling Center},
institution = {Institut Pierre-Simon Laplace (IPSL)},
issn = {1288-1619},
number = {27},
publisher = {Zenodo},
doi = {10.5281/zenodo.1464816},
url = {https://zenodo.org/record/1464816},
edition = {TBD},
year = {TBD}
year = {2022}
}
@Article{ meunier_2014,
......@@ -679,4 +678,45 @@
publisher = {Elsevier BV}
}
@Article{ bfm_nemo_coupling,
author = {Lovato, T. and Vichi, M. and Butenschön, M.},
title = {Coupling BFM with Ocean models: the NEMO model V3.6
(Nucleus for the European Modelling of the Ocean)},
journal = {BFM Report series},
number = 2,
year = 2020,
url = {https://bfm-community.github.io/www.bfm-community.eu/files/bfm-nemo-manual_r1.1_202006.pdf}
}
@article{ morel_1988,
author = {Morel, Andr{\'e}},
title = {Optical modeling of the upper ocean in relation to its biogenous matter content (case I waters)},
journal = {Journal of geophysical research: oceans},
volume = {93},
number = {C9},
pages = {10749--10768},
year = {1988},
publisher = {Wiley Online Library}
}
@article{ lengaigne_2007,
author = {Lengaigne, Matthieu and Menkes, Christophe and Aumont, Olivier and Gorgues, Thomas and Bopp, Laurent and Andr{\'e}, Jean-Michel and Madec, Gurvan},
title = {Influence of the oceanic biology on the tropical Pacific climate in a coupled general circulation model},
journal = {Climate Dynamics},
volume = {28},
number = {5},
pages = {503--516},
year = {2007},
publisher = {Springer}
}
@article{ morel_2001,
author = {Morel, Andr{\'e} and Maritorena, St{\'e}phane},
title = {Bio-optical properties of oceanic waters: A reappraisal},
journal = {Journal of Geophysical Research: Oceans},
volume = {106},
number = {C4},
pages = {7163--7180},
year = {2001},
publisher = {Wiley Online Library}
}
\subfile{../subfiles/model_structure}
\subfile{../subfiles/model_description}
\subfile{../subfiles/model_setup}
\subfile{../subfiles/miscellaneous}
......@@ -12,13 +12,13 @@ It includes three independent components :
\item a transport code TRP sharing the same advection/diffusion routines with the dynamics, with specific treatment of some features like the surface boundary
conditions or the positivity of passive tracers concentrations
\item sources and sinks - SMS - models that can be typically biogeochemical, biological or radioactive
\item an offline option which is a simplified OPA 9 model using fields of physical variables that were previously stored on disk
\item an offline transport interface, which is a simplified version of the NEMO core workflow that read a set of physical fields previously stored on disk
\end{itemize}
There are two ways of coupling TOP to the dynamics :
\begin{itemize}
\item \textit{online coupling} : the evolution of passive tracers is computed along with the dynamics
\item \textit{online coupling} : the evolution of passive tracers is computed along with the ocean physical dynamics
\item \textit{offline coupling} : the physical variable fields are read from files and interpolated at each model time step, with no constraints on the temporal sampling in the input files
\end{itemize}
......@@ -28,14 +28,5 @@ TOP is designed to handle multiple oceanic tracers through a modular approach an
\item the ocean water age module (AGE) tracks down the time-dependent spread of surface waters into the ocean interior
\item inorganic (\eg, CFCs, SF6) and radiocarbon (C14) passive tracers can be modeled to assess ocean absorption timescales of anthropogenic emissions and further address water masses ventilation
\item a built-in biogeochemical model (PISCES) to simulate lower trophic levels ecosystem dynamics in the global ocean
\item a prototype tracer module (MY\_TRC) to enable user-defined cases or the coupling with alternative biogeochemical models (\eg, BFM, MEDUSA, ERSEM, BFM, ECO3M)
\item a prototype tracer module (MY\_TRC) to enable user-defined cases or the coupling with alternative biogeochemical models (\eg, BFM, MEDUSA, ERSEM, ECO3M)
\end{itemize}
\begin{figure}[ht]
\begin{center}
\vspace{0cm}
\includegraphics[width=0.80\textwidth]{Fig_TOP_design}
\caption{Schematic view of the NEMO-TOP component}
\label{topdesign}
\end{center}
\end{figure}