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.
Chap_SBC.tex in branches/nemo_v3_3_beta/DOC/TexFiles/Chapters – NEMO

source: branches/nemo_v3_3_beta/DOC/TexFiles/Chapters/Chap_SBC.tex @ 2298

Last change on this file since 2298 was 2282, checked in by gm, 14 years ago

ticket:#658 merge DOC of all the branches that form the v3.3 beta

  • Property svn:executable set to *
File size: 45.9 KB
Line 
1 ================================================================
2% Chapter Ñ Surface Boundary Condition (SBC)
3% ================================================================
4\chapter{Surface Boundary Condition (SBC) }
5\label{SBC}
6\minitoc
7
8\newpage
9$\ $\newline    % force a new ligne
10%---------------------------------------namsbc--------------------------------------------------
11\namdisplay{namsbc}
12%--------------------------------------------------------------------------------------------------------------
13$\ $\newline    % force a new ligne
14
15The ocean needs six fields as surface boundary condition:
16\begin{itemize}
17\item the two components of the surface ocean stress $\left( {\tau _u \;,\;\tau _v} \right)$
18\item the incoming solar and non solar heat fluxes $\left( {Q_{ns} \;,\;Q_{sr} } \right)$
19\item the surface freshwater budget $\left( {\textit{emp},\;\textit{emp}_S } \right)$
20\end{itemize}
21
22Four different ways to provide those six fields to the ocean are available which
23are controlled by namelist variables: an analytical formulation (\np{ln\_ana}=true),
24a flux formulation (\np{ln\_flx}=true), a bulk formulae formulation (CORE
25(\np{ln\_core}=true) or CLIO (\np{ln\_clio}=true) bulk formulae) and a coupled
26formulation (exchanges with a atmospheric model via the OASIS coupler)
27(\np{ln\_cpl}=true). The frequency at which the six fields have to be updated is
28the  \np{nf\_sbc} namelist parameter.
29When the fields are supplied from data files (flux and bulk formulations), the input fields
30need not be supplied on the model grid.  Instead a file of coordinates and weights can
31be supplied which maps the data from the supplied grid to the model points
32(so called "Interpolation on the Fly").
33In addition, the resulting fields can be further modified using several namelist options.
34These options control  the rotation of vector components supplied relative to an east-north
35coordinate system onto the local grid directions in the model; the addition of a surface
36restoring term to observed SST and/or SSS (\np{ln\_ssr}=true); the modification of fluxes
37below ice-covered areas (using observed ice-cover or a sea-ice model)
38(\np{nn\_ice}=0,1, 2 or 3); the addition of river runoffs as surface freshwater
39fluxes (\np{ln\_rnf}=true); the addition of a freshwater flux adjustment in
40order to avoid a mean sea-level drift (\np{nn\_fwb}= 0, 1 or 2); and the
41transformation of the solar radiation (if provided as daily mean) into a diurnal
42cycle (\np{ln\_dm2dc}=true).
43
44In this chapter, we first discuss where the surface boundary condition appears in the
45model equations. Then we present the four ways of providing the surface boundary condition.
46Next the scheme for interpolation on the fly is described.
47Finally, the different options that further modify the fluxes applied to the ocean are discussed.
48
49
50% ================================================================
51% Surface boundary condition for the ocean
52% ================================================================
53\section{Surface boundary condition for the ocean}
54\label{SBC_general}
55
56
57The surface ocean stress is the stress exerted by the wind and the sea-ice
58on the ocean. The two components of stress are assumed to be interpolated
59onto the ocean mesh, $i.e.$ resolved onto the model (\textbf{i},\textbf{j}) direction
60at $u$- and $v$-points They are applied as a surface boundary condition of the
61computation of the momentum vertical mixing trend (\mdl{dynzdf} module) :
62\begin{equation} \label{Eq_sbc_dynzdf}
63\left.{\left( {\frac{A^{vm} }{e_3 }\ \frac{\partial \textbf{U}_h}{\partial k}} \right)} \right|_{z=1}
64    = \frac{1}{\rho _o} \binom{\tau _u}{\tau _v }
65\end{equation}
66where $(\tau _u ,\;\tau _v )=(utau,vtau)$ are the two components of the wind
67stress vector in the $(\textbf{i},\textbf{j})$ coordinate system.
68
69The surface heat flux is decomposed into two parts, a non solar and a solar heat
70flux, $Q_{ns}$ and $Q_{sr}$, respectively. The former is the non penetrative part
71of the heat flux ($i.e.$ the sum of sensible, latent and long wave heat fluxes).
72It is applied as a surface boundary condition trend of the first level temperature
73time evolution equation (\mdl{trasbc} module).
74\begin{equation} \label{Eq_sbc_trasbc_q}
75\frac{\partial T}{\partial t}\equiv \cdots \;+\;\left. {\frac{Q_{ns} }{\rho 
76_o \;C_p \;e_{3t} }} \right|_{k=1} \quad
77\end{equation}
78$Q_{sr}$ is the penetrative part of the heat flux. It is applied as a 3D
79trends of the temperature equation (\mdl{traqsr} module) when \np{ln\_traqsr}=True.
80
81\begin{equation} \label{Eq_sbc_traqsr}
82\frac{\partial T}{\partial t}\equiv \cdots \;+\frac{Q_{sr} }{\rho_o C_p \,e_{3t} }\delta _k \left[ {I_w } \right]
83\end{equation}
84where $I_w$ is a non-dimensional function that describes the way the light
85penetrates inside the water column. It is generally a sum of decreasing
86exponentials (see \S\ref{TRA_qsr}).
87
88The surface freshwater budget is provided by fields: \textit{emp} and $\textit{emp}_S$ which
89may or may not be identical. Indeed, a surface freshwater flux has two effects:
90it changes the volume of the ocean and it changes the surface concentration of
91salt (and other tracers). Therefore it appears in the sea surface height as a volume
92flux, \textit{emp} (\textit{dynspg\_xxx} modules), and in the salinity time evolution equations
93as a concentration/dilution effect,
94$\textit{emp}_{S}$ (\mdl{trasbc} module).
95\begin{equation} \label{Eq_trasbc_emp}
96\begin{aligned}
97&\frac{\partial \eta }{\partial t}\equiv \cdots \;+\;\textit{emp}\quad  \\ 
98\\
99 &\frac{\partial S}{\partial t}\equiv \cdots \;+\left. {\frac{\textit{emp}_S \;S}{e_{3t} }} \right|_{k=1} \\ 
100 \end{aligned}
101\end{equation} 
102
103In the real ocean, $\textit{emp}=\textit{emp}_S$ and the ocean salt content is conserved,
104but it exist several numerical reasons why this equality should be broken.
105For example, when the ocean is coupled to a sea-ice model, the water exchanged between
106ice and ocean is slightly salty (mean sea-ice salinity is $\sim $\textit{4 psu}). In this case,
107$\textit{emp}_{S}$ take into account both concentration/dilution effect associated with
108freezing/melting and the salt flux between ice and ocean, while \textit{emp} is
109only the volume flux. In addition, in the current version of \NEMO, the sea-ice is
110assumed to be above the ocean (the so-called levitating sea-ice). Freezing/melting does
111not change the ocean volume (no impact on \textit{emp}) but it modifies the SSS.
112%gm  \colorbox{yellow}{(see {\S} on LIM sea-ice model)}.
113
114Note that SST can also be modified by a freshwater flux. Precipitation (in
115particular solid precipitation) may have a temperature significantly different from
116the SST. Due to the lack of information about the temperature of
117precipitation, we assume it is equal to the SST. Therefore, no
118concentration/dilution term appears in the temperature equation. It has to
119be emphasised that this absence does not mean that there is no heat flux
120associated with precipitation! Precipitation can change the ocean volume and thus the
121ocean heat content. It is therefore associated with a heat flux (not yet 
122diagnosed in the model) \citep{Roullet_Madec_JGR00}).
123
124%\colorbox{yellow}{Miss: }
125%
126%A extensive description of all namsbc namelist (parameter that have to be
127%created!)
128%
129%Especially the \np{nf\_sbc}, the \mdl{sbc\_oce} module (fluxes + mean sst sss ssu
130%ssv) i.e. information required by flux computation or sea-ice
131%
132%\mdl{sbc\_oce} containt the definition in memory of the 7 fields (6+runoff), add
133%a word on runoff: included in surface bc or add as lateral obc{\ldots}.
134%
135%Sbcmod manage the ``providing'' (fourniture) to the ocean the 7 fields
136%
137%Fluxes update only each nf{\_}sbc time step (namsbc) explain relation
138%between nf{\_}sbc and nf{\_}ice, do we define nf{\_}blk??? ? only one
139%nf{\_}sbc
140%
141%Explain here all the namlist namsbc variable{\ldots}.
142%
143%\colorbox{yellow}{End Miss }
144
145The ocean model provides the surface currents, temperature and salinity
146averaged over \np{nf\_sbc} time-step (\ref{Tab_ssm}).The computation of the
147mean is done in \mdl{sbcmod} module.
148
149%-------------------------------------------------TABLE---------------------------------------------------
150\begin{table}[tb]  \label{Tab_ssm}
151\begin{center}
152\begin{tabular}{|l|l|l|l|}
153\hline
154Variable description             & Model variable  & Units  & point \\  \hline
155i-component of the surface current  & ssu\_m & $m.s^{-1}$   & U \\   \hline
156j-component of the surface current  & ssv\_m & $m.s^{-1}$   & V \\   \hline
157Sea surface temperature          & sst\_m & \r{}$K$      & T \\   \hline
158Sea surface salinty              & sss\_m & $psu$        & T \\   \hline
159\end{tabular}
160\caption{Ocean variables provided by the ocean to the surface module (SBC).
161The variable are averaged over nf{\_}sbc time step, $i.e.$ the frequency of
162computation of surface fluxes.}
163\end{center}
164\end{table}
165%--------------------------------------------------------------------------------------------------------------
166
167
168
169%\colorbox{yellow}{Penser a} mettre dans le restant l'info nf{\_}sbc ET nf{\_}sbc*rdt de sorte de reinitialiser la moyenne si on change la frequence ou le pdt
170
171
172% ================================================================
173% Analytical formulation (sbcana module)
174% ================================================================
175\section  [Analytical formulation (\textit{sbcana}) ]
176      {Analytical formulation (\mdl{sbcana} module) }
177\label{SBC_ana}
178
179%---------------------------------------namsbc_ana--------------------------------------------------
180\namdisplay{namsbc_ana}
181%--------------------------------------------------------------------------------------------------------------
182
183
184The analytical formulation of the surface boundary condition is the default scheme.
185In this case, all the six fluxes needed by the ocean are assumed to
186be uniform in space. They take constant values given in the namelist
187namsbc{\_}ana by the variables \np{rn\_utau0}, \np{rn\_vtau0}, \np{rn\_qns0},
188\np{rn\_qsr0}, and \np{rn\_emp0} ($\textit{emp}=\textit{emp}_S$). The runoff is set to zero.
189In addition, the wind is allowed to reach its nominal value within a given number
190of time steps (\np{nn\_tau000}).
191
192If a user wants to apply a different analytical forcing, the \mdl{sbcana} 
193module can be modified to use another scheme. As an example,
194the \mdl{sbc\_ana\_gyre} routine provides the analytical forcing for the
195GYRE configuration (see GYRE configuration manual, in preparation).
196
197
198% ================================================================
199% Flux formulation
200% ================================================================
201\section  [Flux formulation (\textit{sbcflx}) ]
202      {Flux formulation (\mdl{sbcflx} module) }
203\label{SBC_flx}
204%------------------------------------------namsbc_flx----------------------------------------------------
205\namdisplay{namsbc_flx} 
206%-------------------------------------------------------------------------------------------------------------
207
208In the flux formulation (\np{ln\_flx}=true), the surface boundary
209condition fields are directly read from input files. The user has to define
210in the namelist namsbc{\_}flx the name of the file, the name of the variable
211read in the file, the time frequency at which it is given (in hours), and a logical
212setting whether a time interpolation to the model time step is required
213for this field). (fld\_i namelist structure).
214
215\textbf{Caution}: when the frequency is set to --12, the data are monthly
216values. These are assumed to be climatological values, so time interpolation
217between December the 15$^{th}$ and January the 15$^{th}$ is done using
218records 12 and 1
219
220When higher frequency is set and time interpolation is demanded, the model
221will try to read the last (first) record of previous (next) year in a file
222having the same name but a suffix {\_}prev{\_}year ({\_}next{\_}year) being
223added (e.g. "{\_}1989"). These files must only contain a single record. If they don't exist,
224the model assumes that the last record of the previous year is equal to the first
225record of the current year, and similarly, that the first record of the
226next year is equal to the last record of the current year. This will cause
227the forcing to remain constant over the first and last half fld\_frequ hours.
228
229Note that in general, a flux formulation is used in associated with a
230restoring term to observed SST and/or SSS. See \S\ref{SBC_ssr} for its
231specification.
232
233
234% ================================================================
235% Bulk formulation
236% ================================================================
237\section  [Bulk formulation (\textit{sbcblk\_core} or \textit{sbcblk\_clio}) ]
238      {Bulk formulation \small{(\mdl{sbcblk\_core} or \mdl{sbcblk\_clio} module)} }
239\label{SBC_blk}
240
241In the bulk formulation, the surface boundary condition fields are computed
242using bulk formulae and atmospheric fields and ocean (and ice) variables.
243
244The atmospheric fields used depend on the bulk formulae used. Two bulk formulations
245are available : the CORE and CLIO bulk formulea. The choice is made by setting to true
246one of the following namelist variable : \np{ln\_core} and \np{ln\_clio}.
247
248Note : in forced mode, when a sea-ice model is used, a bulk formulation have to be used.
249Therefore the two bulk formulea provided include the computation of the fluxes over both
250an ocean and an ice surface.
251
252% -------------------------------------------------------------------------------------------------------------
253%        CORE Bulk formulea
254% -------------------------------------------------------------------------------------------------------------
255\subsection    [CORE Bulk formulea (\np{ln\_core}=true)]
256            {CORE Bulk formulea (\np{ln\_core}=true, \mdl{sbcblk\_core})}
257\label{SBC_blk_core}
258%------------------------------------------namsbc_core----------------------------------------------------
259\namdisplay{namsbc_core} 
260%-------------------------------------------------------------------------------------------------------------
261
262The CORE bulk formulae have been developed by \citet{Large_Yeager_Rep04}.
263They have been designed to handle the CORE forcing, a mixture of NCEP
264reanalysis and satellite data. They use an inertial dissipative method to compute
265the turbulent transfer coefficients (momentum, sensible heat and evaporation)
266from the 10 metre wind speed, air temperature and specific humidity.
267
268Note that substituting ERA40 to NCEP reanalysis fields
269does not require changes in the bulk formulea themself.
270
271The required 8 input fields are:
272
273%--------------------------------------------------TABLE--------------------------------------------------
274\begin{table}[htbp]   \label{Tab_CORE}
275\begin{center}
276\begin{tabular}{|l|l|l|l|}
277\hline
278Variable desciption              & Model variable  & Units   & point \\    \hline
279i-component of the 10m air velocity & utau      & $m.s^{-1}$         & T  \\  \hline
280j-component of the 10m air velocity & vtau      & $m.s^{-1}$         & T  \\  \hline
28110m air temperature              & tair      & \r{}$K$            & T   \\ \hline
282Specific humidity             & humi      & \%              & T \\      \hline
283Incoming long wave radiation     & qlw    & $W.m^{-2}$         & T \\      \hline
284Incoming short wave radiation    & qsr    & $W.m^{-2}$         & T \\      \hline
285Total precipitation (liquid + solid)   & precip & $Kg.m^{-2}.s^{-1}$ & T \\   \hline
286Solid precipitation              & snow      & $Kg.m^{-2}.s^{-1}$ & T \\   \hline
287\end{tabular}
288\end{center}
289\end{table}
290%--------------------------------------------------------------------------------------------------------------
291
292Note that the air velocity is provided at a tracer ocean point, not at a velocity ocean point ($u$- and $v$-points). It is simpler and faster (less fields to be read), but it is not the recommended method when the ocean grid
293size is the same or larger than the one of the input atmospheric fields.
294
295% -------------------------------------------------------------------------------------------------------------
296%        CLIO Bulk formulea
297% -------------------------------------------------------------------------------------------------------------
298\subsection    [CLIO Bulk formulea (\np{ln\_clio}=true)]
299            {CLIO Bulk formulea (\np{ln\_clio}=true, \mdl{sbcblk\_clio})}
300\label{SBC_blk_clio}
301%------------------------------------------namsbc_clio----------------------------------------------------
302\namdisplay{namsbc_clio} 
303%-------------------------------------------------------------------------------------------------------------
304
305The CLIO bulk formulae were developed several years ago for the
306Louvain-la-neuve coupled ice-ocean model (CLIO, \cite{Goosse_al_JGR99}).
307They are simpler bulk formulae. They assume the stress to be known and
308compute the radiative fluxes from a climatological cloud cover.
309
310The required 7 input fields are:
311
312%--------------------------------------------------TABLE--------------------------------------------------
313\begin{table}[htbp]   \label{Tab_CLIO}
314\begin{center}
315\begin{tabular}{|l|l|l|l|}
316\hline
317Variable desciption           & Model variable  & Units           & point \\  \hline
318i-component of the ocean stress     & utau         & $N.m^{-2}$         & U \\   \hline
319j-component of the ocean stress     & vtau         & $N.m^{-2}$         & V \\   \hline
320Wind speed module             & vatm         & $m.s^{-1}$         & T \\   \hline
32110m air temperature              & tair         & \r{}$K$            & T \\   \hline
322Specific humidity                & humi         & \%              & T \\   \hline
323Cloud cover                   &           & \%              & T \\   \hline
324Total precipitation (liquid + solid)   & precip    & $Kg.m^{-2}.s^{-1}$ & T \\   \hline
325Solid precipitation              & snow         & $Kg.m^{-2}.s^{-1}$ & T \\   \hline
326\end{tabular}
327\end{center}
328\end{table}
329%--------------------------------------------------------------------------------------------------------------
330
331As for the flux formulation, information about the input data required by the
332model is provided in the namsbc\_blk\_core or namsbc\_blk\_clio
333namelist (via the structure fld\_i). The first and last record assumption is also made
334(see \S\ref{SBC_flx})
335
336% ================================================================
337% Coupled formulation
338% ================================================================
339\section  [Coupled formulation (\textit{sbccpl}) ]
340      {Coupled formulation (\mdl{sbccpl} module)}
341\label{SBC_cpl}
342%------------------------------------------namsbc_cpl----------------------------------------------------
343\namdisplay{namsbc_cpl} 
344%-------------------------------------------------------------------------------------------------------------
345
346In the coupled formulation of the surface boundary condition, the fluxes are
347provided by the OASIS coupler at each \np{nf\_cpl} time-step, while sea and ice
348surface temperature, ocean and ice albedo, and ocean currents are sent to
349the atmospheric component.
350
351The generalised coupled interface is under development. It should be available
352in summer 2008. It will include the ocean interface for most of the European
353atmospheric GCM (ARPEGE, ECHAM, ECMWF, HadAM, LMDz).
354
355% ================================================================
356%        River runoffs
357% ================================================================
358\section   [river runoffs (\textit{sbcrnf})]
359         {river runoffs (\mdl{sbcrnf})}
360\label{SBC_rnf}
361%------------------------------------------namsbc_rnf----------------------------------------------------
362\namdisplay{namsbc_rnf} 
363%-------------------------------------------------------------------------------------------------------------
364
365%River runoff generally enters the ocean at a nonzero depth rather than through the surface.
366%Many models, however, have traditionally inserted river runoff to the top model cell.
367%This was the case in \NEMO prior to the version 3.3. The switch toward a input of runoff
368%throughout a nonzero depth has been motivated by the numerical and physical problems
369%that arise when the top grid cells are of the order of one meter. This situation is common in
370%coastal modelling and becomes more and more often open ocean and climate modelling
371%\footnote{At least a top cells thickness of 1~meter and a 3 hours forcing frequency are
372%required to properly represent the diurnal cycle \citep{Bernie_al_JC05}. see also \S\ref{SBC_dcy}.}.
373
374
375%To do this we need to treat evaporation/precipitation fluxes and river runoff differently in the
376%\mdl{tra\_sbc} module.  We decided to separate them throughout the code, so that the variable
377%\textit{emp} represented solely evaporation minus precipitation fluxes, and a new 2d variable
378%rnf was added which represents the volume flux of river runoff (in kg/m2s to remain consistent with
379%emp).  This meant many uses of emp and emps needed to be changed, a list of all modules which use
380%emp or emps and the changes made are below:
381
382
383%Rachel:
384River runoff generally enters the ocean at a nonzero depth rather than through the surface.
385Many models, however, have traditionally inserted river runoff to the top model cell.
386This was the case in \NEMO prior to the version 3.3, and was combined with an option to increase vertical mixing near the river mouth.
387
388However, with this method numerical and physical problems arise when the top grid cells are
389of the order of one meter. This situation is common in coastal modelling and is becoming
390more common in open ocean and climate modelling
391\footnote{At least a top cells thickness of 1~meter and a 3 hours forcing frequency are
392required to properly represent the diurnal cycle \citep{Bernie_al_JC05}. see also \S\ref{SBC_dcy}.}.
393
394As such from VN3.3 onwards it is possible to add river runoff through a non-zero depth, and for the
395temperature and salinity of the river to effect the surrounding ocean.
396The user is able to specify, in a NetCDF input file, the temperature and salinity of the river, along with the   
397depth (in metres) which the river should be added to.
398
399Namelist options, \np{ln\_rnf\_depth}, \np{ln\_rnf\_sal} and \np{ln\_rnf\_temp} control whether
400the river attributes (depth, salinity and temperature) are read in and used.  If these are set
401as false the river is added to the surface box only, assumed to be fresh (0~psu), and/or
402taken as surface temperature respectively.
403
404The runoff value and attributes are read in in sbcrnf. 
405For temperature -999 is taken as missing data and the river temperature is taken to be the
406surface temperatue at the river point.
407For the depth parameter a value of -1 means the river is added to the surface box only,
408and a value of -999 means the river is added through the entire water column.
409After being read in the temperature and salinity variables are multiplied by the amount of runoff (converted into m/s)
410to give the heat and salt content of the river runoff.
411After the user specified depth is read ini, the number of grid boxes this corresponds to is
412calculated and stored in the variable \np{nz\_rnf}.
413The variable \np{h\_dep} is then calculated to be the depth (in metres) of the bottom of the
414lowest box the river water is being added to (i.e. the total depth that river water is being added to in the model).
415
416The mass/volume addition due to the river runoff is, at each relevant depth level, added to the horizontal divergence (\np{hdivn})
417in the subroutine \np{sbc\_rnf\_div} (called from \np{divcur}).
418This increases the diffusion term in the vicinity of the river, thereby simulating a momentum flux.
419The sea surface height is calculated using the sum of the horizontal divergence terms, and so the
420river runoff indirectly forces an increase in sea surface height.
421
422The \np{hdivn} terms are used in the tracer advection modules to force vertical velocities.
423This causes a mass of water, equal to the amount of runoff, to be moved into the box above.
424The heat and salt content of the river runoff is not included in this step, and so the tracer
425concentrations are diluted as water of ocean temperature and salinity is moved upward out of the box
426and replaced by the same volume of river water with no corresponding heat and salt addition.
427
428For the linear free surface case, at the surface box the tracer advection causes a flux of water
429(of equal volume to the runoff) through the sea surface out of the domain, which causes a salt and heat flux out of the model.
430As such the volume of water does not change, but the water is diluted.
431
432For the non-linear free surface case (vvl), no flux is allowed through the surface.
433Instead in the surface box (as well as water moving up from the boxes below) a volume of runoff water
434is added with no corresponding heat and salt addition and so as happens in the lower boxes there is a dilution effect.
435(The runoff addition to the top box along with the water being moved up through boxes below means the surface box has a large
436increase in volume, whilst all other boxes remain the same size)
437
438In trasbc the addition of heat and salt due to the river runoff is added.
439This is done in the same way for both vvl and non-vvl.
440The temperature and salinity are increased through the specified depth according to the heat and salt content of the river.
441
442In the non-linear free surface case (vvl), near the end of the time step the change in sea surface height is redistrubuted
443through the grid boxes, so that the original ratios of grid box heights are restored.
444In doing this water is moved into boxes below, throughout the water column, so the large volume addition to the surface box is spread between all the grid boxes.
445
446It is also possible for runnoff to be specified as a negative value for modelling flow through straits, i.e. modelling the Baltic flow in and out of the North Sea.
447When the flow is out of the domain there is no change in temperature and salinity, regardless of the namelist options used, as the ocean water leaving the domain removes heat and salt (at the same concentration) with it.
448
449
450%\colorbox{yellow}{Nevertheless, Pb of vertical resolution and 3D input : increase vertical mixing near river mouths to mimic a 3D river
451
452%All river runoff and emp fluxes are assumed to be fresh water (zero salinity) and at the same temperature as the sea surface.}
453
454%\colorbox{yellow}{river mouths{\ldots}}
455
456%IF( ln_rnf ) THEN                                     ! increase diffusivity at rivers mouths
457%        DO jk = 2, nkrnf   ;   avt(:,:,jk) = avt(:,:,jk) + rn_avt_rnf * rnfmsk(:,:)   ;   END DO
458%ENDIF
459
460%\gmcomment{  word doc of runoffs:
461%
462%In the current \NEMO setup river runoff is added to emp fluxes, these are then applied at just the sea surface as a volume change (in the variable volume case this is a literal volume change, and in the linear free surface case the free surface is moved) and a salt flux due to the concentration/dilution effect.  There is also an option to increase vertical mixing near river mouths; this gives the effect of having a 3d river.  All river runoff and emp fluxes are assumed to be fresh water (zero salinity) and at the same temperature as the sea surface.
463%Our aim was to code the option to specify the temperature and salinity of river runoff, (as well as the amount), along with the depth that the river water will affect.  This would make it possible to model low salinity outflow, such as the Baltic, and would allow the ocean temperature to be affected by river runoff. 
464
465%The depth option makes it possible to have the river water affecting just the surface layer, throughout depth, or some specified point in between.
466
467%To do this we need to treat evaporation/precipitation fluxes and river runoff differently in the tra_sbc module.  We decided to separate them throughout the code, so that the variable emp represented solely evaporation minus precipitation fluxes, and a new 2d variable rnf was added which represents the volume flux of river runoff (in kg/m2s to remain consistent with emp).  This meant many uses of emp and emps needed to be changed, a list of all modules which use emp or emps and the changes made are below:
468
469}
470
471
472%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
473\begin{figure}[!t] \label{Fig_SBC_diurnal}  \begin{center}
474\includegraphics[width=0.8\textwidth]{./TexFiles/Figures/Fig_SBC_diurnal.pdf}
475\caption{Example of recontruction of the diurnal cycle variation of short wave flux 
476from daily mean values. The reconstructed diurnal cycle (black line) is chosen
477as the mean value of the analytical cycle (blue line) over a time step, not
478as the mid time step value of the analytically cycle (red square). From \citet{Bernie_al_CD07}.}
479\end{center}   \end{figure}
480%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
481
482% ================================================================
483%        Diurnal cycle
484% ================================================================
485\section   [Diurnal  cycle (\textit{sbcdcy})]
486         {Diurnal cycle (\mdl{sbcdcy})}
487\label{SBC_dcy}
488%------------------------------------------namsbc_rnf----------------------------------------------------
489%\namdisplay{namsbc}
490%-------------------------------------------------------------------------------------------------------------
491
492\cite{Bernie_al_JC05} have shown that to capture 90$\%$ of the diurnal variability of
493SST requires a vertical resolution in upper ocean of 1~m or better and a temporal resolution
494of the surface fluxes of 3~h or less. Unfortunately high frequency forcing fields are rare,
495not to say inexistent. Nevertheless, it is possible to obtain a reasonable diurnal cycle
496of the SST knowning only short wave flux (SWF) at high frequency \citep{Bernie_al_CD07}.
497Furthermore, only the knowledge of daily mean value of SWF is needed,
498as higher frequency variations can be reconstructed from them, assuming that
499the diurnal cycle of SWF is a scaling of the top of the atmosphere diurnal cycle
500of incident SWF. The \cite{Bernie_al_CD07} reconstruction algorithm is available
501in \NEMO by setting \np{ln\_dm2dc}=true (a \textit{namsbc} namelist parameter) when using
502CORE bulk formulea (\np{ln\_blk\_core}=true) or the flux formulation (\np{ln\_flx}=true).
503The reconstruction is performed in the \mdl{sbcdcy} module. The detail of the algoritm used
504can be found in the appendix~A of \cite{Bernie_al_CD07}. The algorithm preserve the daily
505mean incomming SWF as the reconstructed SWF at a given time step is the mean value
506of the analytical cycle over this time step (Fig.\ref{Fig_SBC_diurnal}).
507The use of diurnal cycle reconstruction requires the input SWF to be daily
508($i.e.$ a frequency of 24 and a time interpolation set to true in \np{sn\_qsr} namelist parameter).
509Furthermore, it is recommended to have a least 8 surface module time step per day,
510that is  $\rdt \ \np{nn\_fsbc} < 10,800~s = 3~h$. An example of recontructed SWF
511is given in Fig.\ref{Fig_SBC_dcy} for a 12 reconstructed diurnal cycle, one every 2~hours
512(from 1am to 11pm).
513
514%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
515\begin{figure}[!t] \label{Fig_SBC_dcy}  \begin{center}
516\includegraphics[width=0.7\textwidth]{./TexFiles/Figures/Fig_SBC_dcy.pdf}
517\caption{Example of recontruction of the diurnal cycle variation of short wave flux 
518from daily mean values on an ORCA2 grid with a time sampling of 2~hours (from 1am to 11pm).
519The display is on (i,j) plane. }
520\end{center}   \end{figure}
521%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
522
523Note also that the setting a diurnal cycle in SWF is highly recommended  when
524the top layer thickness approach 1~m or less, otherwise large error in SST can
525appear due to an inconsistency between the scale of the vertical resolution
526and the forcing acting on that scale.
527
528% ================================================================
529% Interpolation on the Fly
530% ================================================================
531
532\section [Interpolation on the Fly] {Interpolation on the Fly}
533\label{SBC_iof}
534
535Interpolation on the Fly allows the user to supply input files required
536for the surface forcing on grids other than the model grid.
537To do this he or she must supply, in addition to the source data file,
538a file of weights to be used to interpolate from the data grid to the model
539grid.
540The original development of this code used the SCRIP package (freely available
541under a copyright agreement from http://climate.lanl.gov/Software/SCRIP).
542In principle, any package can be used to generate the weights, but the
543variables in the input weights file must have the same names and meanings as
544assumed by the model.
545Two methods are currently available: bilinear and bicubic interpolation.
546
547\subsection{Bilinear Interpolation}
548\label{SBC_iof_bilinear}
549
550The input weights file in this case has two sets of variables: src01, src02,
551src03, src04 and wgt01, wgt02, wgt03, wgt04.
552The "src" variables correspond to the point in the input grid to which the weight
553"wgt" is to be applied. Each src value is an integer corresponding to the index of a
554point in the input grid when written as a one dimensional array.  For example, for an input grid
555of size 5x10, point (3,2) is referenced as point 8, since (2-1)*5+3=8.
556There are four of each variable because bilinear interpolation uses the four points defining
557the grid box containing the point to be interpolated.
558All of these arrays are on the model grid, so that values src01(i,j) and
559wgt01(i,j) are used to generate a value for point (i,j) in the model.
560
561Symbolically, the algorithm used is:
562
563\begin{equation}
564f_{m}(i,j) = f_{m}(i,j) + \sum_{k=1}^{4} {wgt(k)f(idx(src(k)))}
565\end{equation}
566where function idx() transforms a one dimensional index src(k) into a two dimensional index,
567and wgt(1) corresponds to variable "wgt01" for example.
568
569\subsection{Bicubic Interpolation}
570\label{SBC_iof_bicubic}
571
572Again there are two sets of variables: "src" and "wgt".
573But in this case there are 16 of each.
574The symbolic algorithm used to calculate values on the model grid is now:
575
576\begin{equation*} \begin{split}
577f_{m}(i,j) =  f_{m}(i,j) +& \sum_{k=1}^{4} {wgt(k)f(idx(src(k)))}     
578              +   \sum_{k=5}^{8} {wgt(k)\left.\frac{\partial f}{\partial i}\right| _{idx(src(k))} }    \\
579              +& \sum_{k=9}^{12} {wgt(k)\left.\frac{\partial f}{\partial j}\right| _{idx(src(k))} }   
580              +   \sum_{k=13}^{16} {wgt(k)\left.\frac{\partial ^2 f}{\partial i \partial j}\right| _{idx(src(k))} }
581\end{split}
582\end{equation*}
583The gradients here are taken with respect to the horizontal indices and not distances since the spatial dependency has been absorbed into the weights.
584
585\subsection{Implementation}
586\label{SBC_iof_imp}
587
588To activate this option, a non-empty string should be supplied in the weights filename column of the relevant namelist;
589if this is left as an empty string no action is taken.
590In the model, weights files are read in and stored in a structured type (WGT) in the fldread module, as and when they are first required.
591This initialisation procedure tries to determine whether the input data grid should be treated as cyclical or not.
592(In fact this only matters when bicubic interpolation is required.)
593To do this the model looks in the input data file (i.e. the data to which the weights are to be applied) for a variable with name "nav\_lon" or "lon".
594If found, it checks the difference between the first and last values of longitude along a single row.
595If the absolute value of this difference is close to 360 degrees or less than twice the maximum spacing from 360 degrees, the grid is assumed to be cyclical, and the difference determines whether the first column is a repeat of the last one or not.
596If neither "nav\_lon" or "lon" can be found, the model resorts to looking at the first and last columns of data.
597If the sum of the absolute values of the differences between the columns is very small, then the grid is assumed to be cyclical with coincident first and last columns.
598If both of these tests fail, the grid is assumed not to be cyclical.
599
600Next the routine reads in the weights.
601Bicubic interpolation is assumed if it finds a variable with name "src05", otherwise bilinear interpolation is used.
602The WGT structure includes dynamic arrays both for the storage of the weights (on the model grid), and when required, for reading in the variable to be interpolated (on the input data grid).
603The size of the input data array is determined by examining the values in the "src" arrays to find the minimum and maximum i and j values required.
604Since bicubic interpolation requires the calculation of gradients at each point on the grid, the corresponding arrays are dimensioned with a halo of width one grid point all the way around.
605When the array of points from the data file is adjacent to an edge of the data grid, the halo is either a copy of the row/column next to it (non-cyclical case), or is a copy of one from the first two rows/columns on the opposite side of the grid (cyclical case with coincident end rows/columns, or cyclical case with non-coincident end rows/columns).
606
607\subsection{Limitations}
608\label{SBC_iof_lim}
609
610\begin{description}
611\item
612Input data grids must be logically rectangular.
613\item
614This code is not guaranteed to produce positive definite answers from positive definite inputs.
615\item
616The cyclic condition is only applied on left and right columns, and not to top and bottom rows.
617\item
618The gradients across the ends of a cyclical grid assume that the grid spacing between the two columns involved are consistent with the weights used.
619\item
620Neither interpolation scheme is conservative.
621(There is a conservative scheme available in SCRIP, but this has not been implemented.)
622\end{description}
623
624\subsection{Utilities}
625\label{SBC_iof_util}
626
627% to be completed
628A set of utilities to create a weights file for a rectilinear input grid is available.
629
630% ================================================================
631% Miscellanea options
632% ================================================================
633\section{Miscellaneous options}
634\label{SBC_misc}
635
636% -------------------------------------------------------------------------------------------------------------
637%        Rotation of vector pairs onto the model grid directions
638% -------------------------------------------------------------------------------------------------------------
639\subsection{Rotation of vector pairs onto the model grid directions}
640\label{SBC_rotation}
641
642When using a flux (\np{ln\_flx}=true) or bulk (\np{ln\_clio}=true or \np{ln\_core}=true) formulation,
643pairs of vector components can be rotated from east-north directions onto the local grid directions. 
644This is particularly useful when interpolation on the fly is used since here any vectors are likely to be defined
645relative to a rectilinear grid.
646To activate this option a non-empty string is supplied in the rotation pair column of the relevant namelist.
647The eastward component must start with "U" and the northward component with "V". 
648The remaining characters in the strings are used to identify which pair of components go together.
649So for example, strings "U1" and "V1" next to "utau" and "vtau" would pair the wind stress components together
650and rotate them on to the model grid directions; "U2" and "V2" could be used against a second pair of components,
651and so on.
652The extra characters used in the strings are arbitrary.
653The rot\_rep routine from the \mdl{geo2ocean} module is used to perform the rotation.
654
655% -------------------------------------------------------------------------------------------------------------
656%        Surface restoring to observed SST and/or SSS
657% -------------------------------------------------------------------------------------------------------------
658\subsection    [Surface restoring to observed SST and/or SSS (\textit{sbcssr})]
659         {Surface restoring to observed SST and/or SSS (\mdl{sbcssr})}
660\label{SBC_ssr}
661%------------------------------------------namsbc_ssr----------------------------------------------------
662\namdisplay{namsbc_ssr} 
663%-------------------------------------------------------------------------------------------------------------
664
665In forced mode using a flux formulation (default option or \key{flx} defined), a
666feedback term \emph{must} be added to the surface heat flux $Q_{ns}^o$:
667\begin{equation} \label{Eq_sbc_dmp_q}
668Q_{ns} = Q_{ns}^o + \frac{dQ}{dT} \left( \left. T \right|_{k=1} - SST_{Obs} \right)
669\end{equation}
670where SST is a sea surface temperature field (observed or climatological), $T$ is
671the model surface layer temperature and $\frac{dQ}{dT}$ is a negative feedback
672coefficient usually taken equal to $-40~W/m^2/K$. For a $50~m$ 
673mixed-layer depth, this value corresponds to a relaxation time scale of two months.
674This term ensures that if $T$ perfectly matches the supplied SST, then $Q$ is
675equal to $Q_o$.
676
677In the fresh water budget, a feedback term can also be added. Converted into an
678equivalent freshwater flux, it takes the following expression :
679
680\begin{equation} \label{Eq_sbc_dmp_emp}
681\textit{emp} = \textit{emp}_o + \gamma_s^{-1} e_{3t}  \frac{  \left(\left.S\right|_{k=1}-SSS_{Obs}\right)}
682                                             {\left.S\right|_{k=1}}
683\end{equation}
684
685where $\textit{emp}_{o }$ is a net surface fresh water flux (observed, climatological or an
686atmospheric model product), \textit{SSS}$_{Obs}$ is a sea surface salinity (usually a time
687interpolation of the monthly mean Polar Hydrographic Climatology \citep{Steele2001}),
688$\left.S\right|_{k=1}$ is the model surface layer salinity and $\gamma_s$ is a negative
689feedback coefficient which is provided as a namelist parameter. Unlike heat flux, there is no
690physical justification for the feedback term in \ref{Eq_sbc_dmp_emp} as the atmosphere
691does not care about ocean surface salinity \citep{Madec1997}. The SSS restoring
692term should be viewed as a flux correction on freshwater fluxes to reduce the
693uncertainties we have on the observed freshwater budget.
694
695% -------------------------------------------------------------------------------------------------------------
696%        Handling of ice-covered area
697% -------------------------------------------------------------------------------------------------------------
698\subsection{Handling of ice-covered area  (\textit{sbcice\_...})}
699\label{SBC_ice-cover}
700
701The presence at the sea surface of an ice covered area modifies all the fluxes
702transmitted to the ocean. There are several way to handle sea-ice in the system
703depending on the value of the \np{nn{\_}ice} namelist parameter. 
704\begin{description}
705\item[nn{\_}ice = 0]  there will never be sea-ice in the computational domain.
706This is a typical namelist value used for tropical ocean domain. The surface fluxes
707are simply specified for an ice-free ocean. No specific things is done for sea-ice.
708\item[nn{\_}ice = 1]  sea-ice can exist in the computational domain, but no sea-ice model
709is used. An observed ice covered area is read in a file. Below this area, the SST is
710restored to the freezing point and the heat fluxes are set to $-4~W/m^2$ ($-2~W/m^2$)
711in the northern (southern) hemisphere. The associated modification of the freshwater
712fluxes are done in such a way that the change in buoyancy fluxes remains zero.
713This prevents deep convection to occur when trying to reach the freezing point
714(and so ice covered area condition) while the SSS is too large. This manner of
715managing sea-ice area, just by using si IF case, is usually referred as the \textit{ice-if} 
716model. It can be found in the \mdl{sbcice{\_}if} module.
717\item[nn{\_}ice = 2 or more]  A full sea ice model is used. This model computes the
718ice-ocean fluxes, that are combined with the air-sea fluxes using the ice fraction of
719each model cell to provide the surface ocean fluxes. Note that the activation of a
720sea-ice model is is done by defining a CPP key (\key{lim2} or \key{lim3}).
721The activation automatically ovewrite the read value of nn{\_}ice to its appropriate
722value ($i.e.$ $2$ for LIM-2 and $3$ for LIM-3).
723\end{description}
724
725% {Description of Ice-ocean interface to be added here or in LIM 2 and 3 doc ?}
726
727% -------------------------------------------------------------------------------------------------------------
728%        Freshwater budget control
729% -------------------------------------------------------------------------------------------------------------
730\subsection   [Freshwater budget control (\textit{sbcfwb})]
731         {Freshwater budget control (\mdl{sbcfwb})}
732\label{SBC_fwb}
733
734For global ocean simulation it can be useful to introduce a control of the mean sea
735level in order to prevent unrealistic drift of the sea surface height due to inaccuracy
736in the freshwater fluxes. In \NEMO, two way of controlling the the freshwater budget.
737\begin{description}
738\item[\np{nn\_fwb}=0]  no control at all. The mean sea level is free to drift, and will
739certainly do so.
740\item[\np{nn\_fwb}=1]  global mean \textit{emp} set to zero at each model time step.
741%Note that with a sea-ice model, this technique only control the mean sea level with linear free surface (\key{vvl} not defined) and no mass flux between ocean and ice (as it is implemented in the current ice-ocean coupling).
742\item[\np{nn\_fwb}=2]  freshwater budget is adjusted from the previous year annual
743mean budget which is read in the \textit{EMPave\_old.dat} file. As the model uses the
744Boussinesq approximation, the annual mean fresh water budget is simply evaluated
745from the change in the mean sea level at January the first and saved in the
746\textit{EMPav.dat} file.
747\end{description}
748
749% Griffies doc:
750% When running ocean-ice simulations, we are not explicitly representing land processes, such as rivers, catchment areas, snow accumulation, etc. However, to reduce model drift, it is important to balance the hydrological cycle in ocean-ice models. We thus need to prescribe some form of global normalization to the precipitation minus evaporation plus river runoff. The result of the normalization should be a global integrated zero net water input to the ocean-ice system over a chosen time scale.
751%How often the normalization is done is a matter of choice. In mom4p1, we choose to do so at each model time step, so that there is always a zero net input of water to the ocean-ice system. Others choose to normalize over an annual cycle, in which case the net imbalance over an annual cycle is used to alter the subsequent yearÕs water budget in an attempt to damp the annual water imbalance. Note that the annual budget approach may be inappropriate with interannually varying precipitation forcing.
752%When running ocean-ice coupled models, it is incorrect to include the water transport between the ocean and ice models when aiming to balance the hydrological cycle. The reason is that it is the sum of the water in the ocean plus ice that should be balanced when running ocean-ice models, not the water in any one sub-component. As an extreme example to illustrate the issue, consider an ocean-ice model with zero initial sea ice. As the ocean-ice model spins up, there should be a net accumulation of water in the growing sea ice, and thus a net loss of water from the ocean. The total water contained in the ocean plus ice system is constant, but there is an exchange of water between the subcomponents. This exchange should not be part of the normalization used to balance the hydrological cycle in ocean-ice models.
753
754
755
Note: See TracBrowser for help on using the repository browser.