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/DEV_r1826_DOC/DOC/TexFiles/Chapters – NEMO

source: branches/DEV_r1826_DOC/DOC/TexFiles/Chapters/Chap_SBC.tex @ 2195

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

ticket:#658 update TRA DYN & SBC with sbc, qsr, nxt and rnf considerations

  • Property svn:executable set to *
File size: 41.7 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
365River runoff generally enters the ocean at a nonzero depth rather than through the surface.
366Many models, however, have traditionally inserted river runoff to the top model cell.
367This was the case in \NEMO prior to the version 3.3. The switch toward a input of runoff
368throughout a nonzero depth has been motivated by the numerical and physical problems
369that arise when the top grid cells are of the order of one meter. This situation is common in
370coastal 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
372required to properly represent the diurnal cycle \citep{Bernie_al_JC05}. see also \S\ref{SBC_dcy}.}.
373
374
375To do this we need to treat evaporation/precipitation fluxes and river runoff differently in the \mdl{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:
376
377
378Rachel:
379
380It is convenient to introduce the river runoff in the model as a surface
381fresh water flux. This is the defualt option within NEMO, and there is then
382 the option for the user to increase vertical mixing in the vicinity of the rivermouth.
383
384However, this method is not very appropriate for coastal modelling.  As such its now possible
385 to specify, in a netcdf input file, the temperature and salinity of the river, along with the
386depth (in metres) which the river should be added to.  This enables to river to be correctly
387added through the water column, instead of as a surface flux, and also means the temperature
388or salinity (for low salinity outflow) of the river impacts the surrounding ocean.
389
390For temperature -999 is taken as missing data and the river temperature is taken to be the
391surface temperatue at the river point.  For the depth parameter a value of -1 means the
392river is added to the surface box only, and a value of -999 means the river is added through
393the entire water column.
394
395Namelist options, \np{ln\_rnf\_depth}, \np{ln\_rnf\_sal} and \np{ln\_rnf\_temp} control whether
396the river attributes (depth, salinity and temperature) are read in and used.  If these are set
397as false the river is added to the surface box only, assumed to be fresh (0~psu), and/or
398taken as surface temperature respectively.
399
400It is also possible for runnoff to be specified as a negative value for modelling flow through
401straits, i.e. modelling the baltic flow in and out of the North Sea.  When the flow is out of the
402domain there is no change in temperature and salinity, regardless of the namelist options used.
403
404The runoff value and attributes are read in in sbcrnf.  The mass/volume addition is added to the
405divergence term in \rou{sbc\_rnf\_div}.  The dilution effect of the river is automatically applied through
406the vertical tracer advection, and the direct flux of tracers into the domain is done in trasbc.
407
408
409\colorbox{yellow}{Nevertheless, Pb of vertical resolution and 3D input : increase vertical mixing near river mouths to mimic a 3D river
410
411All river runoff and emp fluxes are assumed to be fresh water (zero salinity) and at the same temperature as the sea surface.}
412
413\colorbox{yellow}{river mouths{\ldots}}
414
415%IF( ln_rnf ) THEN                                     ! increase diffusivity at rivers mouths
416%        DO jk = 2, nkrnf   ;   avt(:,:,jk) = avt(:,:,jk) + rn_avt_rnf * rnfmsk(:,:)   ;   END DO
417%ENDIF
418
419\gmcomment{  word doc of runoffs:
420
421In 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.
422Our 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. 
423
424The depth option makes it possible to have the river water affecting just the surface layer, throughout depth, or some specified point in between.
425
426To 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:
427
428}
429
430
431% ================================================================
432%        Diurnal cycle
433% ================================================================
434\section   [Diurnal  cycle (\textit{sbcdcy})]
435         {Diurnal cycle (\mdl{sbcdcy})}
436\label{SBC_dcy}
437%------------------------------------------namsbc_rnf----------------------------------------------------
438%\namdisplay{namsbc}
439%-------------------------------------------------------------------------------------------------------------
440
441\cite{Bernie_al_JC05} have shown that to capture 90$\%$ of the diurnal variability of
442SST requires a vertical resolution in upper ocean of 1~m or better and a temporal resolution
443of the surface fluxes of 3~h or less. Unfortunately high frequency forcing fields are rare,
444not to say inexistent. Nevertheless, it is possible to obtain a reasonable diurnal cycle
445of the SST knowning only short wave flux (SWF) at high frequency \citep{Bernie_al_CD07}.
446Furthermore, only the knowledge of daily mean value of SWF is needed,
447as higher frequency variations can be reconstructed from them, assuming that
448the diurnal cycle of SWF is a scaling of the top of the atmosphere diurnal cycle
449of incident SWF. The \cite{Bernie_al_CD07} reconstruction algorithm is available
450in \NEMO by setting \np{ln\_dm2dc}=true (a \textit{namsbc} namelist parameter) when using
451CORE bulk formulea (\np{ln\_blk\_core}=true) or the flux formulation (\np{ln\_flx}=true).
452The algorithm used is detailed in the appendix~A of \cite{Bernie_al_CD07} 
453and illustrated on Fig.\ref{Fig_SBC_diurnal}.
454
455Note that the reconstruction can change the daily mean value of SWF by a few tenth of
456W/m$^2$ ($\pm 0.5$~W/m$^2$ with a 1~h sampling) but this is not a systematic bias.
457Note also that the setting a diurnal cycle in SWF is highly recommended  when
458the top layer thickness approach 1~m or less, otherwise large error in SST can
459appear due to an inconsistency between the scale of the vertical resolution
460and the forcing acting on that scale.
461
462%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
463\begin{figure}[!t] \label{Fig_SBC_diurnal}  \begin{center}
464\includegraphics[width=1.0\textwidth]{./TexFiles/Figures/Fig_SBC_diurnal.pdf}
465\caption{Example of recontruction of the diurnal cycle variation of short wave flux 
466from daily mean values. From \citet{Bernie_al_CD07}.}
467\end{center}   \end{figure}
468%>>>>>>>>>>>>>>>>>>>>>>>>>>>>
469
470% ================================================================
471% Interpolation on the Fly
472% ================================================================
473
474\section [Interpolation on the Fly] {Interpolation on the Fly}
475\label{SBC_iof}
476
477Interpolation on the Fly allows the user to supply input files required
478for the surface forcing on grids other than the model grid.
479To do this he or she must supply, in addition to the source data file,
480a file of weights to be used to interpolate from the data grid to the model
481grid.
482The original development of this code used the SCRIP package (freely available
483under a copyright agreement from http://climate.lanl.gov/Software/SCRIP).
484In principle, any package can be used to generate the weights, but the
485variables in the input weights file must have the same names and meanings as
486assumed by the model.
487Two methods are currently available: bilinear and bicubic interpolation.
488
489\subsection{Bilinear Interpolation}
490\label{SBC_iof_bilinear}
491
492The input weights file in this case has two sets of variables: src01, src02,
493src03, src04 and wgt01, wgt02, wgt03, wgt04.
494The "src" variables correspond to the point in the input grid to which the weight
495"wgt" is to be applied. Each src value is an integer corresponding to the index of a
496point in the input grid when written as a one dimensional array.  For example, for an input grid
497of size 5x10, point (3,2) is referenced as point 8, since (2-1)*5+3=8.
498There are four of each variable because bilinear interpolation uses the four points defining
499the grid box containing the point to be interpolated.
500All of these arrays are on the model grid, so that values src01(i,j) and
501wgt01(i,j) are used to generate a value for point (i,j) in the model.
502
503Symbolically, the algorithm used is:
504
505\begin{equation}
506f_{m}(i,j) = f_{m}(i,j) + \sum_{k=1}^{4} {wgt(k)f(idx(src(k)))}
507\end{equation}
508where function idx() transforms a one dimensional index src(k) into a two dimensional index,
509and wgt(1) corresponds to variable "wgt01" for example.
510
511\subsection{Bicubic Interpolation}
512\label{SBC_iof_bicubic}
513
514Again there are two sets of variables: "src" and "wgt".
515But in this case there are 16 of each.
516The symbolic algorithm used to calculate values on the model grid is now:
517
518\begin{equation*} \begin{split}
519f_{m}(i,j) =  f_{m}(i,j) +& \sum_{k=1}^{4} {wgt(k)f(idx(src(k)))}     
520              +   \sum_{k=5}^{8} {wgt(k)\left.\frac{\partial f}{\partial i}\right| _{idx(src(k))} }    \\
521              +& \sum_{k=9}^{12} {wgt(k)\left.\frac{\partial f}{\partial j}\right| _{idx(src(k))} }   
522              +   \sum_{k=13}^{16} {wgt(k)\left.\frac{\partial ^2 f}{\partial i \partial j}\right| _{idx(src(k))} }
523\end{split}
524\end{equation*}
525The gradients here are taken with respect to the horizontal indices and not distances since the spatial dependency has been absorbed into the weights.
526
527\subsection{Implementation}
528\label{SBC_iof_imp}
529
530To activate this option, a non-empty string should be supplied in the weights filename column of the relevant namelist;
531if this is left as an empty string no action is taken.
532In 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.
533This initialisation procedure tries to determine whether the input data grid should be treated as cyclical or not.
534(In fact this only matters when bicubic interpolation is required.)
535To 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".
536If found, it checks the difference between the first and last values of longitude along a single row.
537If 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.
538If neither "nav\_lon" or "lon" can be found, the model resorts to looking at the first and last columns of data.
539If 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.
540If both of these tests fail, the grid is assumed not to be cyclical.
541
542Next the routine reads in the weights.
543Bicubic interpolation is assumed if it finds a variable with name "src05", otherwise bilinear interpolation is used.
544The 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).
545The 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.
546Since 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.
547When 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).
548
549\subsection{Limitations}
550\label{SBC_iof_lim}
551
552\begin{description}
553\item
554Input data grids must be logically rectangular.
555\item
556This code is not guaranteed to produce positive definite answers from positive definite inputs.
557\item
558The cyclic condition is only applied on left and right columns, and not to top and bottom rows.
559\item
560The gradients across the ends of a cyclical grid assume that the grid spacing between the two columns involved are consistent with the weights used.
561\item
562Neither interpolation scheme is conservative.
563(There is a conservative scheme available in SCRIP, but this has not been implemented.)
564\end{description}
565
566\subsection{Utilities}
567\label{SBC_iof_util}
568
569% to be completed
570A set of utilities to create a weights file for a rectilinear input grid is available.
571
572% ================================================================
573% Miscellanea options
574% ================================================================
575\section{Miscellaneous options}
576\label{SBC_misc}
577
578% -------------------------------------------------------------------------------------------------------------
579%        Rotation of vector pairs onto the model grid directions
580% -------------------------------------------------------------------------------------------------------------
581\subsection{Rotation of vector pairs onto the model grid directions}
582\label{SBC_rotation}
583
584When using a flux (\np{ln\_flx}=true) or bulk (\np{ln\_clio}=true or \np{ln\_core}=true) formulation,
585pairs of vector components can be rotated from east-north directions onto the local grid directions. 
586This is particularly useful when interpolation on the fly is used since here any vectors are likely to be defined
587relative to a rectilinear grid.
588To activate this option a non-empty string is supplied in the rotation pair column of the relevant namelist.
589The eastward component must start with "U" and the northward component with "V". 
590The remaining characters in the strings are used to identify which pair of components go together.
591So for example, strings "U1" and "V1" next to "utau" and "vtau" would pair the wind stress components together
592and rotate them on to the model grid directions; "U2" and "V2" could be used against a second pair of components,
593and so on.
594The extra characters used in the strings are arbitrary.
595The rot\_rep routine from the \mdl{geo2ocean} module is used to perform the rotation.
596
597% -------------------------------------------------------------------------------------------------------------
598%        Surface restoring to observed SST and/or SSS
599% -------------------------------------------------------------------------------------------------------------
600\subsection    [Surface restoring to observed SST and/or SSS (\textit{sbcssr})]
601         {Surface restoring to observed SST and/or SSS (\mdl{sbcssr})}
602\label{SBC_ssr}
603%------------------------------------------namsbc_ssr----------------------------------------------------
604\namdisplay{namsbc_ssr} 
605%-------------------------------------------------------------------------------------------------------------
606
607In forced mode using a flux formulation (default option or \key{flx} defined), a
608feedback term \emph{must} be added to the surface heat flux $Q_{ns}^o$:
609\begin{equation} \label{Eq_sbc_dmp_q}
610Q_{ns} = Q_{ns}^o + \frac{dQ}{dT} \left( \left. T \right|_{k=1} - SST_{Obs} \right)
611\end{equation}
612where SST is a sea surface temperature field (observed or climatological), $T$ is
613the model surface layer temperature and $\frac{dQ}{dT}$ is a negative feedback
614coefficient usually taken equal to $-40~W/m^2/K$. For a $50~m$ 
615mixed-layer depth, this value corresponds to a relaxation time scale of two months.
616This term ensures that if $T$ perfectly matches the supplied SST, then $Q$ is
617equal to $Q_o$.
618
619In the fresh water budget, a feedback term can also be added. Converted into an
620equivalent freshwater flux, it takes the following expression :
621
622\begin{equation} \label{Eq_sbc_dmp_emp}
623\textit{emp} = \textit{emp}_o + \gamma_s^{-1} e_{3t}  \frac{  \left(\left.S\right|_{k=1}-SSS_{Obs}\right)}
624                                             {\left.S\right|_{k=1}}
625\end{equation}
626
627where $\textit{emp}_{o }$ is a net surface fresh water flux (observed, climatological or an
628atmospheric model product), \textit{SSS}$_{Obs}$ is a sea surface salinity (usually a time
629interpolation of the monthly mean Polar Hydrographic Climatology \citep{Steele2001}),
630$\left.S\right|_{k=1}$ is the model surface layer salinity and $\gamma_s$ is a negative
631feedback coefficient which is provided as a namelist parameter. Unlike heat flux, there is no
632physical justification for the feedback term in \ref{Eq_sbc_dmp_emp} as the atmosphere
633does not care about ocean surface salinity \citep{Madec1997}. The SSS restoring
634term should be viewed as a flux correction on freshwater fluxes to reduce the
635uncertainties we have on the observed freshwater budget.
636
637% -------------------------------------------------------------------------------------------------------------
638%        Handling of ice-covered area
639% -------------------------------------------------------------------------------------------------------------
640\subsection{Handling of ice-covered area  (\textit{sbcice\_...})}
641\label{SBC_ice-cover}
642
643The presence at the sea surface of an ice covered area modifies all the fluxes
644transmitted to the ocean. There are several way to handle sea-ice in the system
645depending on the value of the \np{nn{\_}ice} namelist parameter. 
646\begin{description}
647\item[nn{\_}ice = 0]  there will never be sea-ice in the computational domain.
648This is a typical namelist value used for tropical ocean domain. The surface fluxes
649are simply specified for an ice-free ocean. No specific things is done for sea-ice.
650\item[nn{\_}ice = 1]  sea-ice can exist in the computational domain, but no sea-ice model
651is used. An observed ice covered area is read in a file. Below this area, the SST is
652restored to the freezing point and the heat fluxes are set to $-4~W/m^2$ ($-2~W/m^2$)
653in the northern (southern) hemisphere. The associated modification of the freshwater
654fluxes are done in such a way that the change in buoyancy fluxes remains zero.
655This prevents deep convection to occur when trying to reach the freezing point
656(and so ice covered area condition) while the SSS is too large. This manner of
657managing sea-ice area, just by using si IF case, is usually referred as the \textit{ice-if} 
658model. It can be found in the \mdl{sbcice{\_}if} module.
659\item[nn{\_}ice = 2 or more]  A full sea ice model is used. This model computes the
660ice-ocean fluxes, that are combined with the air-sea fluxes using the ice fraction of
661each model cell to provide the surface ocean fluxes. Note that the activation of a
662sea-ice model is is done by defining a CPP key (\key{lim2} or \key{lim3}).
663The activation automatically ovewrite the read value of nn{\_}ice to its appropriate
664value ($i.e.$ $2$ for LIM-2 and $3$ for LIM-3).
665\end{description}
666
667% {Description of Ice-ocean interface to be added here or in LIM 2 and 3 doc ?}
668
669% -------------------------------------------------------------------------------------------------------------
670%        Freshwater budget control
671% -------------------------------------------------------------------------------------------------------------
672\subsection   [Freshwater budget control (\textit{sbcfwb})]
673         {Freshwater budget control (\mdl{sbcfwb})}
674\label{SBC_fwb}
675
676For global ocean simulation it can be useful to introduce a control of the mean sea
677level in order to prevent unrealistic drift of the sea surface height due to inaccuracy
678in the freshwater fluxes. In \NEMO, two way of controlling the the freshwater budget.
679\begin{description}
680\item[\np{nn\_fwb}=0]  no control at all. The mean sea level is free to drift, and will
681certainly do so.
682\item[\np{nn\_fwb}=1]  global mean \textit{emp} set to zero at each model time step.
683%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).
684\item[\np{nn\_fwb}=2]  freshwater budget is adjusted from the previous year annual
685mean budget which is read in the \textit{EMPave\_old.dat} file. As the model uses the
686Boussinesq approximation, the annual mean fresh water budget is simply evaluated
687from the change in the mean sea level at January the first and saved in the
688\textit{EMPav.dat} file.
689\end{description}
690
691% Griffies doc:
692% 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.
693%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.
694%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.
695
696
697
Note: See TracBrowser for help on using the repository browser.