1 | \documentclass[../main/NEMO_manual]{subfiles} |
---|
2 | |
---|
3 | \begin{document} |
---|
4 | |
---|
5 | % ================================================================ |
---|
6 | % INTRODUCTION |
---|
7 | % ================================================================ |
---|
8 | |
---|
9 | \chapter{Introduction} |
---|
10 | |
---|
11 | The Nucleus for European Modelling of the Ocean (\NEMO) is a framework of ocean related engines, |
---|
12 | namely OPA \footnote{OPA: Oc\'{e}an PArall\'{e}lis\'{e} (french)} for the ocean dynamics and thermodynamics, |
---|
13 | SI$^3$ \footnote{SI$^3$: Sea-Ice modelling Integrated Initiative} for the sea-ice dynamics and thermodynamics, |
---|
14 | TOP \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})). |
---|
17 | It is intended to be a flexible tool for studying the ocean and its interactions with the other components of |
---|
18 | the earth climate system (atmosphere, sea-ice, biogeochemical tracers, ...) over |
---|
19 | a wide range of space and time scales. |
---|
20 | This manual provides information about the physics represented by the ocean component of \NEMO and |
---|
21 | the rationale for the choice of numerical schemes and the model design. |
---|
22 | For the use of framework, |
---|
23 | a guide which gathers the \texttt{README} files spread out in the source code can be build and |
---|
24 | exported in web or printable format (see \path{./doc/rst}). |
---|
25 | An online version of the guide is also available on the |
---|
26 | \href{http://forge.ipsl.jussieu.fr/nemo}{\NEMO forge platform}. |
---|
27 | |
---|
28 | The ocean component of \NEMO has been developed from the legacy of the OPA model, release 8.2, |
---|
29 | described in \citet{madec.delecluse.ea_NPM98}. |
---|
30 | This model has been used for a wide range of applications, both regional or global, as a forced ocean model and |
---|
31 | as a model coupled with the sea-ice and/or the atmosphere. |
---|
32 | |
---|
33 | This manual is organised in as follows. |
---|
34 | \autoref{chap:PE} presents the model basics, \ie the equations and their assumptions, |
---|
35 | the vertical coordinates used, and the subgrid scale physics. |
---|
36 | This part deals with the continuous equations of the model |
---|
37 | (primitive equations, with temperature, salinity and an equation of seawater). |
---|
38 | The 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). |
---|
40 | Momentum equations are formulated in vector invariant or flux form. |
---|
41 | Dimensional units in the meter, kilogram, second (MKS) international system are used throughout. |
---|
42 | |
---|
43 | The following chapters deal with the discrete equations. |
---|
44 | \autoref{chap:STP} presents the time domain. |
---|
45 | The model time stepping environment is a three level scheme in which |
---|
46 | the tendency terms of the equations are evaluated either centered in time, or forward, or backward depending of |
---|
47 | the nature of the term. |
---|
48 | \autoref{chap:DOM} presents the space domain. |
---|
49 | The model is discretised on a staggered grid (Arakawa C grid) with masking of land areas. |
---|
50 | Vertical discretisation used depends on both how the bottom topography is represented and whether |
---|
51 | the free surface is linear or not. |
---|
52 | Full 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). |
---|
54 | In 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). |
---|
56 | The following two chapters (\autoref{chap:TRA} and \autoref{chap:DYN}) describe the discretisation of |
---|
57 | the prognostic equations for the active tracers and the momentum. |
---|
58 | Explicit, split-explicit and filtered free surface formulations are implemented. |
---|
59 | A number of numerical schemes are available for momentum advection, |
---|
60 | for 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 | |
---|
63 | Surface boundary conditions (\autoref{chap:SBC}) can be implemented as prescribed fluxes, or bulk formulations for |
---|
64 | the surface fluxes (wind stress, heat, freshwater). |
---|
65 | The model allows penetration of solar radiation. |
---|
66 | There is an optional geothermal heating at the ocean bottom. |
---|
67 | Within the \NEMO system the ocean model is interactively coupled with a sea ice model (SI$^3$) and |
---|
68 | a biogeochemistry model (PISCES). |
---|
69 | Interactive coupling to Atmospheric models is possible via the \href{https://portal.enes.org/oasis}{OASIS coupler}. |
---|
70 | Two-way nesting is also available through an interface to the AGRIF package |
---|
71 | (Adaptative Grid Refinement in \fortran) \citep{debreu.vouland.ea_CG08}. |
---|
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 | |
---|
76 | Other model characteristics are the lateral boundary conditions (\autoref{chap:LBC}). |
---|
77 | Global configurations of the model make use of the ORCA tripolar grid, with special north fold boundary condition. |
---|
78 | Free-slip or no-slip boundary conditions are allowed at land boundaries. |
---|
79 | Closed basin geometries as well as periodic domains and open boundary conditions are possible. |
---|
80 | |
---|
81 | Physical parameterisations are described in \autoref{chap:LDF} and \autoref{chap:ZDF}. |
---|
82 | The model includes an implicit treatment of vertical viscosity and diffusivity. |
---|
83 | The lateral Laplacian and biharmonic viscosity and diffusion can be rotated following |
---|
84 | a geopotential or neutral direction. |
---|
85 | There is an optional eddy induced velocity \citep{gent.mcwilliams_JPO90} with a space and time variable coefficient |
---|
86 | \citet{treguier.held.ea_JPO97}. |
---|
87 | The model has vertical harmonic viscosity and diffusion with a space and time variable coefficient, |
---|
88 | with options to compute the coefficients with \citet{blanke.delecluse_JPO93}, \citet{pacanowski.philander_JPO81}, or |
---|
89 | \citet{umlauf.burchard_JMR03} 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 | |
---|
98 | Some CPP keys are implemented in the \fortran code to allow code selection at compiling step. |
---|
99 | This selection of code at compilation time reduces the reliability of the whole platform since |
---|
100 | it changes the code from one set of CPP keys to the other. |
---|
101 | It is used only when the addition/suppression of the part of code highly changes the amount of memory at run time. |
---|
102 | Usual 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 | |
---|
113 | The namelist allows to input variables (character, logical, real and integer) into the code. |
---|
114 | There is one namelist file for each component of NEMO (dynamics, sea-ice, biogeochemistry...) |
---|
115 | containing all the \fortran namelists needed. |
---|
116 | The implementation in NEMO uses a 2-step process. |
---|
117 | For 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} |
---|
127 | A template can be found in \path{NEMO/OPA_SRC/module.example}. |
---|
128 | The effective namelist, taken in account during the run, is stored at execution time in |
---|
129 | an \texttt{output\_namelist\_dyn} (or \texttt{\_ice} or \texttt{\_top}) file. |
---|
130 | %%gm end |
---|
131 | |
---|
132 | Model outputs management and specific online diagnostics are described in \autoref{chap:DIA}. |
---|
133 | The diagnostics includes the output of all the tendencies of the momentum and tracers equations, |
---|
134 | the output of tracers tendencies averaged over the time evolving mixed layer, |
---|
135 | the output of the tendencies of the barotropic vorticity equation, |
---|
136 | the 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) |
---|
139 | and calculates an interpolated model equivalent value at the observation location and nearest model timestep. |
---|
140 | Originally 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. |
---|
142 | Finally, \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 |
---|
146 | The model is implemented in \fninety, with preprocessing (C pre-processor). |
---|
147 | It runs under UNIX. |
---|
148 | It is optimized for vector computers and parallelised by domain decomposition with MPI. |
---|
149 | All input and output is done in NetCDF (Network Common Data Format) with a optional direct access format for output. |
---|
150 | To ensure the clarity and readability of the code it is necessary to follow coding rules. |
---|
151 | The coding rules for OPA include conventions for naming variables, |
---|
152 | with different starting letters for different types of variables (real, integer, parameter\ldots). |
---|
153 | Those rules are briefly presented in \autoref{apdx:D} and a more complete document is available . |
---|
154 | |
---|
155 | The model is organized with a high internal modularity based on physics. |
---|
156 | For example, each trend (\ie, a term in the RHS of the prognostic equation) for momentum and tracers |
---|
157 | is computed in a dedicated module. |
---|
158 | To make it easier for the user to find his way around the code, the module names follow a three-letter rule. |
---|
159 | For 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 ! |
---|
161 | Furthermore, modules are organized in a few directories that correspond to their category, |
---|
162 | as indicated by the first three letters of their name (\autoref{tab:chapters}). |
---|
163 | |
---|
164 | The manual mirrors the organization of the model. |
---|
165 | After the presentation of the continuous equations (\autoref{chap:PE}), |
---|
166 | the 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 | |
---|
213 | NEMO/OPA, like all research tools, is in perpetual evolution. |
---|
214 | The present document describes the OPA version include in the release 3.4 of NEMO. |
---|
215 | This release differs significantly from version 8, documented in \citet{madec.delecluse.ea_NPM98}. \\ |
---|
216 | |
---|
217 | The 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.madec.ea_OD06, le-sommer.penduff.ea_OM09, penduff.le-sommer.ea_OS07}; |
---|
225 | \item |
---|
226 | partial reactivation of a terrain-following vertical coordinate ($s$- and hybrid $s$-$z$) with |
---|
227 | the addition of several options for pressure gradient computation |
---|
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 |
---|
242 | additional advection schemes for tracers; |
---|
243 | \item |
---|
244 | implementation of the AGRIF package (Adaptative Grid Refinement in \fortran) \citep{debreu.vouland.ea_CG08}; |
---|
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.auclair.ea_OM08}; |
---|
260 | \item |
---|
261 | tidal mixing parametrisation (bottom intensification) + Indonesian specific tidal mixing |
---|
262 | \citep{koch-larrouy.madec.ea_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.fichefet.ea_OM09*a, vancoppenolle.fichefet.ea_OM09*b} |
---|
267 | \end{itemize} |
---|
268 | |
---|
269 | The 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 |
---|
274 | \citep{leclair.madec_OM09}; |
---|
275 | \item |
---|
276 | additional scheme for iso-neutral mixing \citep{griffies.gnanadesikan.ea_JPO98}, although it is still a "work in progress"; |
---|
277 | \item |
---|
278 | a rewriting of the bottom boundary layer scheme, following \citet{campin.goosse_T99}; |
---|
279 | \item |
---|
280 | addition of a Generic Length Scale vertical mixing scheme, following \citet{umlauf.burchard_JMR03}; |
---|
281 | \item |
---|
282 | addition of the atmospheric pressure as an external forcing on both ocean and sea-ice dynamics; |
---|
283 | \item |
---|
284 | addition of a diurnal cycle on solar radiation \citep{bernie.guilyardi.ea_CD07}; |
---|
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.maqueda.ea_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 |
---|
309 | Linear-tangent and Adjoint component (TAM) added, phased with v3.0 |
---|
310 | \end{itemize} |
---|
311 | |
---|
312 | \vspace{1cm} |
---|
313 | |
---|
314 | In addition, several minor modifications in the coding have been introduced with the constant concern of |
---|
315 | improving the model performance. |
---|
316 | |
---|
317 | The 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.gnanadesikan.ea_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 | |
---|
331 | The main modifications from NEMO/OPA v3.4 and v3.6 are: |
---|
332 | |
---|
333 | \begin{itemize} |
---|
334 | \item ...; |
---|
335 | \end{itemize} |
---|
336 | |
---|
337 | The 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} |
---|