# source:NEMO/trunk/doc/latex/NEMO/subfiles/introduction.tex@10544

Last change on this file since 10544 was 10544, checked in by nicolasmartin, 2 years ago

Fixes for LaTeX compilation of NEMO manual

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