New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Introduction.tex in trunk/DOC/TexFiles/Chapters – NEMO

source: trunk/DOC/TexFiles/Chapters/Introduction.tex @ 6140

Last change on this file since 6140 was 6140, checked in by timgraham, 8 years ago

Merge of branches/2015/dev_merge_2015 back into trunk. Merge excludes NEMOGCM/TOOLS/OBSTOOLS/ for now due to issues with the change of file type. Will sort these manually with further commits.

Branch merged as follows:
In the working copy of branch ran:
svn merge svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk@HEAD
Small conflicts due to bug fixes applied to trunk since the dev_merge_2015 was copied. Bug fixes were applied to the branch as well so these were easy to resolve.
Branch committed at this stage

In working copy run:
svn switch svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk
to switch working copy

Run:
svn merge --reintegrate svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/branches/2015/dev_merge_2015
to merge the branch into the trunk and then commit - no conflicts at this stage.

File size: 16.7 KB
Line 
1
2% ================================================================
3% INTRODUCTION
4% ================================================================
5
6\chapter{Introduction}
7
8The Nucleus for European Modelling of the Ocean (\NEMO) is a framework of ocean
9related engines, namely OPA\footnote{OPA = Oc\'{e}an PArall\'{e}lis\'{e}} for the
10ocean dynamics and thermodynamics, LIM\footnote{LIM= Louvain)la-neuve Ice
11Model} for the sea-ice dynamics and thermodynamics, TOP\footnote{TOP = Tracer
12in the Ocean Paradigm} for the biogeochemistry (both transport (TRP) and sources
13minus sinks (LOBSTER, PISCES)\footnote{Both LOBSTER and PISCES are not
14acronyms just name}. It is intended to be a flexible tool for studying the ocean and
15its interactions with the other components of the earth climate system (atmosphere,
16sea-ice, biogeochemical tracers, ...) over a wide range of space and time scales.
17This documentation provides information about the physics represented by the ocean
18component of \NEMO and the rationale for the choice of numerical schemes and
19the model design. More specific information about running the model on different
20computers, or how to set up a configuration, are found on the \NEMO web site
21(www.nemo-ocean.eu).
22
23The ocean component of \NEMO has been developed from the OPA model,
24release 8.2, described in \citet{Madec1998}. This model has been used for a wide
25range of applications, both regional or global, as a forced ocean model and as a
26model coupled with the sea-ice and/or the atmosphere. 
27
28This manual is organised in as follows. Chapter~\ref{PE} presents the model basics,
29$i.e.$ the equations and their assumptions, the vertical coordinates used, and the
30subgrid scale physics. This part deals with the continuous equations of the model
31(primitive equations, with temperature, salinity and an equation of seawater).
32The equations are written in a curvilinear coordinate system, with a choice of vertical
33coordinates ($z$, $s$, \textit{z*}, \textit{s*}, $\tilde{z}$, $\tilde{s}$, and a mixture of them).
34Momentum equations are formulated in the vector invariant form or in the flux form.
35Dimensional units in the meter, kilogram, second (MKS) international system
36are used throughout.
37
38The following chapters deal with the discrete equations. Chapter~\ref{STP} presents the
39time domain. The model time stepping environment is a three level scheme in which
40the tendency terms of the equations are evaluated either centered  in time, or forward,
41or backward depending of the nature of the term.
42Chapter~\ref{DOM} presents the space domain. The model is discretised on a staggered
43grid (Arakawa C grid) with masking of land areas. Vertical discretisation used depends
44on both how the bottom topography is represented and whether the free surface is linear or not.
45Full step or partial step $z$-coordinate or $s$- (terrain-following) coordinate is used
46with linear free surface (level position are then fixed in time). In non-linear free surface,
47the corresponding rescaled height coordinate formulation (\textit{z*} or \textit{s*}) is used
48(the level position then vary in time as a function of the sea surface heigh).
49The following two chapters (\ref{TRA} and \ref{DYN}) describe the discretisation of the
50prognostic equations for the active tracers and the momentum. Explicit, split-explicit
51and filtered free surface formulations are implemented.
52A number of numerical schemes are available for momentum advection, for the computation
53of the pressure gradients, as well as for the advection of tracers (second or higher
54order advection schemes, including positive ones).
55
56Surface boundary conditions (chapter~\ref{SBC}) can be implemented as prescribed
57fluxes, or bulk formulations for the surface fluxes (wind stress, heat, freshwater). The
58model allows penetration of solar radiation  There is an optional geothermal heating at
59the ocean bottom. Within the \NEMO system the ocean model is interactively coupled
60with a sea ice model (LIM) and with biogeochemistry models (PISCES, LOBSTER).
61Interactive coupling to Atmospheric models is possible via the OASIS coupler
62\citep{OASIS2006}. Two-way nesting is also available through an interface to the
63AGRIF package (Adaptative Grid Refinement in \textsc{Fortran}) \citep{Debreu_al_CG2008}.
64The interface code for coupling to an alternative sea ice model (CICE, \citet{Hunke2008})
65has now been upgraded so that it works for both global and regional domains, although AGRIF
66is still not available.
67
68Other model characteristics are the lateral boundary conditions (chapter~\ref{LBC}). 
69Global configurations of the model make use of the ORCA tripolar grid, with special north
70fold boundary condition. Free-slip or no-slip boundary conditions are allowed at land
71boundaries. Closed basin geometries as well as periodic domains and open boundary
72conditions are possible.
73
74Physical parameterisations are described in chapters~\ref{LDF} and \ref{ZDF}. The
75model includes an implicit treatment of vertical viscosity and diffusivity. The lateral
76Laplacian and biharmonic viscosity and diffusion can be rotated following a geopotential
77or neutral direction. There is an optional eddy induced velocity \citep{Gent1990} with a
78space and time variable coefficient \citet{Treguier1997}. The model has vertical harmonic
79viscosity and diffusion with a space and time variable coefficient, with options to compute
80the coefficients with \citet{Blanke1993}, \citet{Pacanowski_Philander_JPO81},
81or \citet{Umlauf_Burchard_JMS03} mixing schemes.
82 \vspace{1cm}
83 
84%%gm    To be put somewhere else ....
85
86\noindent CPP keys and namelists are used for inputs to the code.  \newline
87
88\noindent \index{CPP keys} CPP keys \newline
89Some CPP keys are implemented in the FORTRAN code to allow code selection at compiling step. This selection of code at compilation time reduces the reliability of the whole platform since it changes the code from one set of CPP keys to the other. It is used only when the addition/suppression of the part of code highly changes the amount of memory at run time.
90Usual coding looks like :
91 \vspace{-10pt}
92\begin{alltt}
93\tiny 
94\begin{verbatim}
95#if defined key_option1   
96             This part of the FORTRAN code will be active   
97             only if key_option1 is activated at compiling step
98#endif 
99\end{verbatim} 
100\end{alltt}     
101
102
103\noindent \index{Namelist} Namelists
104
105The namelist allows to input variables (character, logical, real and integer) into the code. There is one namelist file for each component of NEMO (dynamics, sea-ice, biogeochemistry...) containing all the FOTRAN namelists needed. The implementation in NEMO uses a two step process. For each FORTRAN namelist, two files are read:
106\begin{enumerate}
107\item A reference namelist ( in \textit{CONFIG/SHARED/namelist\_ref} ) is read first. This file contains all the namelist variables which are initialised to default values 
108\item A configuration namelist ( in \textit{CONFIG/CFG\_NAME/EXP00/namelist\_cfg} ) is read aferwards. This file contains only the namelist variables which are changed from default values, and overwrites those.
109\end{enumerate}
110A template can be found in \textit{NEMO/OPA\_SRC/module.example}
111The effective namelist, taken in account during the run, is stored at execution time in an output\_namelist\_dyn (or \_ice or \_top) file.
112 \vspace{1cm}
113
114%%gm  end
115
116Model outputs management and specific online diagnostics are described in chapters~\ref{DIA}.
117The diagnostics includes the output of all the tendencies of the momentum and tracers equations,
118the output of tracers tendencies averaged over the time evolving mixed layer, the output of
119the tendencies of the barotropic vorticity equation, the computation of on-line floats trajectories...
120Chapter~\ref{OBS} describes a tool which reads in observation files (profile temperature
121and salinity, sea surface temperature, sea level anomaly and sea ice concentration)
122and calculates an interpolated model equivalent value at the observation location
123and nearest model timestep. Originally developed of data assimilation, it is a fantastic
124tool for model and data comparison. Chapter~\ref{ASM} describes how increments
125produced by data assimilation may be applied to the model equations.
126Finally, Chapter~\ref{CFG} provides a brief introduction to the pre-defined model
127configurations (water column model, ORCA and GYRE families of configurations).
128
129The model is implemented in \textsc{Fortran 90}, with preprocessing (C-pre-processor).
130It runs under UNIX. It is optimized for vector computers and parallelised by domain 
131decomposition with MPI. All input and output is done in NetCDF (Network Common Data
132Format) with a optional direct access format for output. To ensure the clarity and
133readability of the code it is necessary to follow coding rules. The coding rules for OPA
134include conventions for naming variables, with different starting letters for different types
135of variables (real, integer, parameter\ldots). Those rules are briefly presented in
136Appendix~\ref{Apdx_D} and a more complete document is available on the \NEMO web site.
137
138The model is organized with a high internal modularity based on physics. For example,
139each trend ($i.e.$, a term in the RHS of the prognostic equation) for momentum and
140tracers is computed in a dedicated module.  To make it easier for the user to find his way
141around the code, the module names follow a three-letter rule. For example, \mdl{traldf} 
142is a module related to the TRAcers equation, computing the Lateral DiFfussion.
143%The complete list of module names is presented in Appendix~\ref{Apdx_D}.      %====>>>> to be done !
144Furthermore, modules are organized in a few directories that correspond to their category,
145as indicated by the first three letters of their name (Tab.~\ref{Tab_chap}).
146
147The manual mirrors the organization of the model.
148After the presentation of the continuous equations (Chapter \ref{PE}), the following chapters
149refer to specific terms of the equations each associated with a group of modules (Tab.~\ref{Tab_chap}).
150
151
152%--------------------------------------------------TABLE--------------------------------------------------
153\begin{table}[!t]
154%\begin{center} \begin{tabular}{|p{143pt}|l|l|} \hline
155\caption{ \label{Tab_chap}   Organization of Chapters mimicking the one of the model directories. }
156\begin{center}    \begin{tabular}{|l|l|l|}   \hline
157Chapter \ref{STP} & -                 & model time STePping environment \\    \hline
158Chapter \ref{DOM} & DOM    & model DOMain \\    \hline
159Chapter \ref{TRA} & TRA    & TRAcer equations (potential temperature and salinity) \\   \hline
160Chapter \ref{DYN} & DYN    & DYNamic equations (momentum) \\      \hline
161Chapter \ref{SBC}    & SBC    & Surface Boundary Conditions \\       \hline
162Chapter \ref{LBC} & LBC    & Lateral Boundary Conditions (also OBC and BDY)  \\     \hline
163Chapter \ref{LDF} & LDF    & Lateral DiFfusion (parameterisations) \\   \hline
164Chapter \ref{ZDF} & ZDF    & vertical (Z) DiFfusion (parameterisations)  \\      \hline
165Chapter \ref{DIA} & DIA    & I/O and DIAgnostics (also IOM, FLO and TRD) \\      \hline
166Chapter \ref{OBS} & OBS    & OBServation and model comparison  \\    \hline
167Chapter \ref{ASM} & ASM    & ASsiMilation increment  \\     \hline
168Chapter \ref{MISC}   & SOL    & Miscellaneous  topics (including solvers)  \\       \hline
169Chapter \ref{CFG} &  -        & predefined configurations (including C1D) \\     \hline
170\end{tabular} 
171\end{center}   \end{table}
172%--------------------------------------------------------------------------------------------------------------
173
174
175\subsubsection{Changes between releases}
176NEMO/OPA, like all research tools, is in perpetual evolution. The present document describes
177the OPA version include in the release 3.4 of NEMO.  This release differs significantly
178from version 8, documented in \citet{Madec1998}.\\
179
180$\bullet$ The main modifications from OPA v8 and NEMO/OPA v3.2 are :\\
181\begin{enumerate}
182\item transition to full native \textsc{Fortran} 90, deep code restructuring and drastic
183reduction of CPP keys;
184\item introduction of partial step representation of bottom topography \citep{Barnier_al_OD06, Le_Sommer_al_OM09, Penduff_al_OS07};
185\item partial reactivation of a terrain-following vertical coordinate ($s$- and hybrid $s$-$z$)
186with the addition of several options for pressure gradient computation \footnote{Partial
187support of $s$-coordinate: there is presently no support for neutral physics in $s$-
188coordinate and for the new options for horizontal pressure gradient computation with
189a non-linear equation of state.};
190\item more choices for the treatment of the free surface: full explicit, split-explicit or filtered
191schemes, and suppression of the rigid-lid option;
192\item non linear free surface associated with the rescaled height coordinate 
193\textit{z*} or  \textit{s};
194\item additional schemes for vector and flux forms of the momentum  advection;
195\item additional advection schemes for tracers;
196\item implementation of the AGRIF package (Adaptative Grid Refinement in \textsc{Fortran}) \citep{Debreu_al_CG2008};
197\item online diagnostics : tracers trend in the mixed layer and vorticity balance;
198\item rewriting of the I/O management with the use of an I/O server;
199\item generalized ocean-ice-atmosphere-CO2 coupling interface, interfaced with OASIS 3 coupler ;
200\item surface module (SBC) that simplify the way the ocean is forced and include two
201bulk formulea (CLIO and CORE) and which includes an on-the-fly interpolation of input forcing fields ;
202\item RGB light penetration and optional use of ocean color
203\item major changes in the TKE schemes: it now includes a Langmuir cell parameterization  \citep{Axell_JGR02},
204the \citet{Mellor_Blumberg_JPO04} surface wave breaking parameterization, and has a time discretization
205which is energetically consistent with the ocean model equations \citep{Burchard_OM02, Marsaleix_al_OM08};
206\item tidal mixing parametrisation (bottom intensification) + Indonesian specific tidal mixing \citep{Koch-Larrouy_al_GRL07};
207\item introduction of LIM-3, the new Louvain-la-Neuve sea-ice model (C-grid rheology and
208new thermodynamics including bulk ice salinity) \citep{Vancoppenolle_al_OM09a, Vancoppenolle_al_OM09b}
209\end{enumerate}
210
211 \vspace{1cm}
212$\bullet$ The main modifications from NEMO/OPA v3.2 and  v3.3 are :\\
213\begin{enumerate}
214\item introduction of a modified leapfrog-Asselin filter time stepping scheme \citep{Leclair_Madec_OM09};
215\item additional scheme for iso-neutral mixing \citep{Griffies_al_JPO98}, although it is still a "work in progress";
216\item a rewriting of the bottom boundary layer scheme, following \citet{Campin_Goosse_Tel99};
217\item addition of a Generic Length Scale vertical mixing scheme, following \citet{Umlauf_Burchard_JMS03};
218\item addition of the atmospheric pressure as an external forcing on both ocean and sea-ice dynamics;
219\item addition of a diurnal cycle on solar radiation \citep{Bernie_al_CD07};
220\item river runoffs added through a non-zero depth, and having its own temperature and salinity;
221\item CORE II normal year forcing set as the default forcing of ORCA2-LIM configuration ;
222\item generalisation of the use of \mdl{fldread} for all input fields (ocean climatology, sea-ice damping...) ;
223\item addition of an on-line observation and model comparison (thanks to NEMOVAR project);
224\item optional application of an assimilation increment (thanks to NEMOVAR project);
225\item coupling interface adjusted for WRF atmospheric model;
226\item C-grid ice rheology now available fro both LIM-2 and LIM-3 \citep{Bouillon_al_OM09};
227\item LIM-3 ice-ocean momentum coupling applied to LIM-2 ;
228\item a deep re-writting and simplification of the off-line tracer component (OFF\_SRC) ;
229\item the merge of passive and active advection and diffusion modules ;
230\item  Use of the Flexible Configuration Manager (FCM) to build configurations, generate the Makefile and produce the executable ;
231\item Linear-tangent and Adjoint component (TAM) added, phased with v3.0
232\end{enumerate}
233 \vspace{1cm}
234In addition, several minor modifications in the coding have been introduced with the constant
235concern of improving the model performance.
236
237 \vspace{1cm}
238$\bullet$ The main modifications from NEMO/OPA v3.3 and  v3.4 are :\\
239\begin{enumerate}
240\item finalisation of above iso-neutral mixing \citep{Griffies_al_JPO98}";
241\item "Neptune effect" parametrisation;
242\item horizontal pressure gradient suitable for s-coordinate;
243\item semi-implicit bottom friction;
244\item finalisation of the merge of passive and active tracers advection-diffusion modules;
245\item a new bulk formulae (so-called MFS);
246\item use fldread for the off-line tracer component (OFF\_SRC) ;
247\item use MPI point to point communications  for north fold;
248\item diagnostic of transport ;
249\end{enumerate}
250
251
252 \vspace{1cm}
253$\bullet$ The main modifications from NEMO/OPA v3.4 and  v3.6 are :\\
254\begin{enumerate}
255\item ... ;
256\end{enumerate}
257
258
259 \vspace{1cm}
260$\bullet$ The main modifications from NEMO/OPA v3.6 and  v4.0 are :\\
261\begin{enumerate}
262\item ... ;
263\end{enumerate}
264
265
Note: See TracBrowser for help on using the repository browser.