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.
Changeset 10354 for NEMO/trunk/doc/latex/NEMO/subfiles/chap_SBC.tex – NEMO

Ignore:
Timestamp:
2018-11-21T17:59:55+01:00 (5 years ago)
Author:
nicolasmartin
Message:

Vast edition of LaTeX subfiles to improve the readability by cutting sentences in a more suitable way
Every sentence begins in a new line and if necessary is splitted around 110 characters lenght for side-by-side visualisation,
this setting may not be adequate for everyone but something has to be set.
The punctuation was the primer trigger for the cutting process, otherwise subordinators and coordinators, in order to mostly keep a meaning for each line

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/doc/latex/NEMO/subfiles/chap_SBC.tex

    r10146 r10354  
    1818The ocean needs six fields as surface boundary condition: 
    1919\begin{itemize} 
    20    \item the two components of the surface ocean stress $\left( {\tau _u \;,\;\tau _v} \right)$ 
    21    \item the incoming solar and non solar heat fluxes $\left( {Q_{ns} \;,\;Q_{sr} } \right)$ 
    22    \item the surface freshwater budget $\left( {\textit{emp}} \right)$ 
    23    \item the surface salt flux associated with freezing/melting of seawater $\left( {\textit{sfx}} \right)$ 
     20\item 
     21  the two components of the surface ocean stress $\left( {\tau _u \;,\;\tau _v} \right)$ 
     22\item 
     23  the incoming solar and non solar heat fluxes $\left( {Q_{ns} \;,\;Q_{sr} } \right)$ 
     24\item 
     25  the surface freshwater budget $\left( {\textit{emp}} \right)$ 
     26\item 
     27  the surface salt flux associated with freezing/melting of seawater $\left( {\textit{sfx}} \right)$ 
    2428\end{itemize} 
    2529plus an optional field: 
     
    2832\end{itemize} 
    2933 
    30 Five different ways to provide the first six fields to the ocean are available which  
    31 are controlled by namelist \ngn{namsbc} variables: an analytical formulation (\np{ln\_ana}\forcode{ = .true.}),  
    32 a flux formulation (\np{ln\_flx}\forcode{ = .true.}), a bulk formulae formulation (CORE  
    33 (\np{ln\_blk\_core}\forcode{ = .true.}), CLIO (\np{ln\_blk\_clio}\forcode{ = .true.}) or MFS 
    34 \footnote { Note that MFS bulk formulae compute fluxes only for the ocean component} 
    35 (\np{ln\_blk\_mfs}\forcode{ = .true.}) bulk formulae) and a coupled or mixed forced/coupled formulation  
    36 (exchanges with a atmospheric model via the OASIS coupler) (\np{ln\_cpl} or \np{ln\_mixcpl}\forcode{ = .true.}).  
    37 When used ($i.e.$ \np{ln\_apr\_dyn}\forcode{ = .true.}), the atmospheric pressure forces both ocean and ice dynamics. 
    38  
    39 The frequency at which the forcing fields have to be updated is given by the \np{nn\_fsbc} namelist parameter.  
    40 When the fields are supplied from data files (flux and bulk formulations), the input fields  
    41 need not be supplied on the model grid. Instead a file of coordinates and weights can  
    42 be supplied which maps the data from the supplied grid to the model points  
    43 (so called "Interpolation on the Fly", see \autoref{subsec:SBC_iof}). 
     34Five different ways to provide the first six fields to the ocean are available which are controlled by 
     35namelist \ngn{namsbc} variables: 
     36an analytical formulation (\np{ln\_ana}\forcode{ = .true.}), 
     37a flux formulation (\np{ln\_flx}\forcode{ = .true.}), 
     38a bulk formulae formulation (CORE (\np{ln\_blk\_core}\forcode{ = .true.}), 
     39CLIO (\np{ln\_blk\_clio}\forcode{ = .true.}) or 
     40MFS \footnote { Note that MFS bulk formulae compute fluxes only for the ocean component} 
     41(\np{ln\_blk\_mfs}\forcode{ = .true.}) bulk formulae) and 
     42a coupled or mixed forced/coupled formulation (exchanges with a atmospheric model via the OASIS coupler) 
     43(\np{ln\_cpl} or \np{ln\_mixcpl}\forcode{ = .true.}).  
     44When used ($i.e.$ \np{ln\_apr\_dyn}\forcode{ = .true.}), 
     45the atmospheric pressure forces both ocean and ice dynamics. 
     46 
     47The frequency at which the forcing fields have to be updated is given by the \np{nn\_fsbc} namelist parameter. 
     48When the fields are supplied from data files (flux and bulk formulations), 
     49the input fields need not be supplied on the model grid. 
     50Instead a file of coordinates and weights can be supplied which maps the data from the supplied grid to 
     51the model points (so called "Interpolation on the Fly", see \autoref{subsec:SBC_iof}). 
    4452If the Interpolation on the Fly option is used, input data belonging to land points (in the native grid), 
    45 can be masked to avoid spurious results in proximity of the coasts  as large sea-land gradients characterize 
    46 most of the atmospheric variables. 
    47  
    48 In addition, the resulting fields can be further modified using several namelist options.  
     53can be masked to avoid spurious results in proximity of the coasts as 
     54large sea-land gradients characterize most of the atmospheric variables. 
     55 
     56In addition, the resulting fields can be further modified using several namelist options. 
    4957These options control  
    5058\begin{itemize} 
    51 \item the rotation of vector components supplied relative to an east-north  
    52 coordinate system onto the local grid directions in the model ;  
    53 \item the addition of a surface restoring term to observed SST and/or SSS (\np{ln\_ssr}\forcode{ = .true.}) ;  
    54 \item the modification of fluxes below ice-covered areas (using observed ice-cover or a sea-ice model) (\np{nn\_ice}\forcode{ = 0..3}) ;  
    55 \item the addition of river runoffs as surface freshwater fluxes or lateral inflow (\np{ln\_rnf}\forcode{ = .true.}) ;  
    56 \item the addition of isf melting as lateral inflow (parameterisation) or as fluxes applied at the land-ice ocean interface (\np{ln\_isf}) ;  
    57 \item the addition of a freshwater flux adjustment in order to avoid a mean sea-level drift (\np{nn\_fwb}\forcode{ = 0..2}) ;  
    58 \item the transformation of the solar radiation (if provided as daily mean) into a diurnal cycle (\np{ln\_dm2dc}\forcode{ = .true.}) ;  
    59 and a neutral drag coefficient can be read from an external wave model (\np{ln\_cdgw}\forcode{ = .true.}).  
     59\item 
     60  the rotation of vector components supplied relative to an east-north coordinate system onto 
     61  the local grid directions in the model; 
     62\item 
     63  the addition of a surface restoring term to observed SST and/or SSS (\np{ln\_ssr}\forcode{ = .true.}); 
     64\item 
     65  the modification of fluxes below ice-covered areas (using observed ice-cover or a sea-ice model) 
     66  (\np{nn\_ice}\forcode{ = 0..3}); 
     67\item 
     68  the addition of river runoffs as surface freshwater fluxes or lateral inflow (\np{ln\_rnf}\forcode{ = .true.}); 
     69\item 
     70  the addition of isf melting as lateral inflow (parameterisation) or 
     71  as fluxes applied at the land-ice ocean interface (\np{ln\_isf}) ;  
     72\item 
     73  the addition of a freshwater flux adjustment in order to avoid a mean sea-level drift 
     74  (\np{nn\_fwb}\forcode{ = 0..2}); 
     75\item 
     76  the transformation of the solar radiation (if provided as daily mean) into a diurnal cycle 
     77  (\np{ln\_dm2dc}\forcode{ = .true.}); 
     78  and a neutral drag coefficient can be read from an external wave model (\np{ln\_cdgw}\forcode{ = .true.}).  
    6079\end{itemize} 
    6180The latter option is possible only in case core or mfs bulk formulas are selected. 
    6281 
    63 In this chapter, we first discuss where the surface boundary condition appears in the 
    64 model equations. Then we present the five ways of providing the surface boundary condition,  
     82In this chapter, we first discuss where the surface boundary condition appears in the model equations. 
     83Then we present the five ways of providing the surface boundary condition,  
    6584followed by the description of the atmospheric pressure and the river runoff.  
    6685Next the scheme for interpolation on the fly is described. 
    6786Finally, the different options that further modify the fluxes applied to the ocean are discussed. 
    68 One of these is modification by icebergs (see \autoref{sec:ICB_icebergs}), which act as drifting sources of fresh water. 
     87One of these is modification by icebergs (see \autoref{sec:ICB_icebergs}), 
     88which act as drifting sources of fresh water. 
    6989Another example of modification is that due to the ice shelf melting/freezing (see \autoref{sec:SBC_isf}),  
    7090which provides additional sources of fresh water. 
     
    7797\label{sec:SBC_general} 
    7898 
    79 The surface ocean stress is the stress exerted by the wind and the sea-ice  
    80 on the ocean. It is applied in \mdl{dynzdf} module as a surface boundary condition of the  
    81 computation of the momentum vertical mixing trend (see \autoref{eq:dynzdf_sbc} in \autoref{sec:DYN_zdf}). 
    82 As such, it has to be provided as a 2D vector interpolated  
    83 onto the horizontal velocity ocean mesh, $i.e.$ resolved onto the model  
    84 (\textbf{i},\textbf{j}) direction at $u$- and $v$-points. 
    85  
    86 The surface heat flux is decomposed into two parts, a non solar and a solar heat  
    87 flux, $Q_{ns}$ and $Q_{sr}$, respectively. The former is the non penetrative part  
    88 of the heat flux ($i.e.$ the sum of sensible, latent and long wave heat fluxes  
    89 plus the heat content of the mass exchange with the atmosphere and sea-ice).  
    90 It is applied in \mdl{trasbc} module as a surface boundary condition trend of  
    91 the first level temperature time evolution equation (see \autoref{eq:tra_sbc}  
    92 and \autoref{eq:tra_sbc_lin} in \autoref{subsec:TRA_sbc}).  
    93 The latter is the penetrative part of the heat flux. It is applied as a 3D  
    94 trends of the temperature equation (\mdl{traqsr} module) when \np{ln\_traqsr}\forcode{ = .true.}. 
    95 The way the light penetrates inside the water column is generally a sum of decreasing  
    96 exponentials (see \autoref{subsec:TRA_qsr}).  
     99The surface ocean stress is the stress exerted by the wind and the sea-ice on the ocean. 
     100It is applied in \mdl{dynzdf} module as a surface boundary condition of the computation of 
     101the momentum vertical mixing trend (see \autoref{eq:dynzdf_sbc} in \autoref{sec:DYN_zdf}). 
     102As such, it has to be provided as a 2D vector interpolated onto the horizontal velocity ocean mesh, 
     103$i.e.$ resolved onto the model (\textbf{i},\textbf{j}) direction at $u$- and $v$-points. 
     104 
     105The surface heat flux is decomposed into two parts, a non solar and a solar heat flux, 
     106$Q_{ns}$ and $Q_{sr}$, respectively. 
     107The former is the non penetrative part of the heat flux 
     108($i.e.$ the sum of sensible, latent and long wave heat fluxes plus 
     109the heat content of the mass exchange with the atmosphere and sea-ice). 
     110It is applied in \mdl{trasbc} module as a surface boundary condition trend of 
     111the first level temperature time evolution equation 
     112(see \autoref{eq:tra_sbc} and \autoref{eq:tra_sbc_lin} in \autoref{subsec:TRA_sbc}).  
     113The latter is the penetrative part of the heat flux. 
     114It is applied as a 3D trends of the temperature equation (\mdl{traqsr} module) when 
     115\np{ln\_traqsr}\forcode{ = .true.}. 
     116The way the light penetrates inside the water column is generally a sum of decreasing exponentials 
     117(see \autoref{subsec:TRA_qsr}).  
    97118 
    98119The surface freshwater budget is provided by the \textit{emp} field. 
    99 It represents the mass flux exchanged with the atmosphere (evaporation minus precipitation)  
    100 and possibly with the sea-ice and ice shelves (freezing minus melting of ice).  
    101 It affects both the ocean in two different ways:  
    102 $(i)$   it changes the volume of the ocean and therefore appears in the sea surface height  
    103 equation as a volume flux, and  
    104 $(ii)$  it changes the surface temperature and salinity through the heat and salt contents  
    105 of the mass exchanged with the atmosphere, the sea-ice and the ice shelves.  
     120It represents the mass flux exchanged with the atmosphere (evaporation minus precipitation) and 
     121possibly with the sea-ice and ice shelves (freezing minus melting of ice). 
     122It affects both the ocean in two different ways: 
     123$(i)$  it changes the volume of the ocean and therefore appears in the sea surface height equation as 
     124a volume flux, and  
     125$(ii)$ it changes the surface temperature and salinity through the heat and salt contents of 
     126the mass exchanged with the atmosphere, the sea-ice and the ice shelves.  
    106127 
    107128 
     
    129150%\colorbox{yellow}{End Miss } 
    130151 
    131 The ocean model provides, at each time step, to the surface module (\mdl{sbcmod})  
     152The ocean model provides, at each time step, to the surface module (\mdl{sbcmod}) 
    132153the surface currents, temperature and salinity.   
    133 These variables are averaged over \np{nn\_fsbc} time-step (\autoref{tab:ssm}),  
    134 and it is these averaged fields which are used to computes the surface fluxes  
    135 at a frequency of \np{nn\_fsbc} time-step. 
     154These variables are averaged over \np{nn\_fsbc} time-step (\autoref{tab:ssm}), and 
     155it is these averaged fields which are used to computes the surface fluxes at a frequency of \np{nn\_fsbc} time-step. 
    136156 
    137157 
     
    145165Sea surface salinty              & sss\_m & $psu$        & T \\   \hline 
    146166\end{tabular} 
    147 \caption{  \protect\label{tab:ssm}    
    148 Ocean variables provided by the ocean to the surface module (SBC).  
    149 The variable are averaged over nn{\_}fsbc time step,  
    150 $i.e.$ the frequency of computation of surface fluxes.} 
     167\caption{  \protect\label{tab:ssm} 
     168  Ocean variables provided by the ocean to the surface module (SBC). 
     169  The variable are averaged over nn{\_}fsbc time step, 
     170  $i.e.$ the frequency of computation of surface fluxes.} 
    151171\end{center}   \end{table} 
    152172%-------------------------------------------------------------------------------------------------------------- 
     
    161181\label{sec:SBC_input} 
    162182 
    163 A generic interface has been introduced to manage the way input data (2D or 3D fields,  
    164 like surface forcing or ocean T and S) are specify in \NEMO. This task is archieved by \mdl{fldread}.  
     183A generic interface has been introduced to manage the way input data 
     184(2D or 3D fields, like surface forcing or ocean T and S) are specify in \NEMO. 
     185This task is archieved by \mdl{fldread}. 
    165186The module was design with four main objectives in mind:  
    166 \begin{enumerate}   
    167 \item optionally provide a time interpolation of the input data at model time-step,  
    168 whatever their input frequency is, and according to the different calendars available in the model. 
    169 \item optionally provide an on-the-fly space interpolation from the native input data grid to the model grid. 
    170 \item make the run duration independent from the period cover by the input files. 
    171 \item provide a simple user interface and a rather simple developer interface by limiting the  
    172  number of prerequisite information.  
     187\begin{enumerate} 
     188\item 
     189  optionally provide a time interpolation of the input data at model time-step, whatever their input frequency is, 
     190  and according to the different calendars available in the model. 
     191\item 
     192  optionally provide an on-the-fly space interpolation from the native input data grid to the model grid. 
     193\item 
     194  make the run duration independent from the period cover by the input files. 
     195\item 
     196  provide a simple user interface and a rather simple developer interface by 
     197  limiting the number of prerequisite information.  
    173198\end{enumerate}   
    174199 
    175 As a results the user have only to fill in for each variable a structure in the namelist file  
    176 to defined the input data file and variable names, the frequency of the data (in hours or months),  
    177 whether its is climatological data or not, the period covered by the input file (one year, month, week or day),  
    178 and three additional parameters for on-the-fly interpolation. When adding a new input variable,  
    179 the developer has to add the associated structure in the namelist, read this information  
    180 by mirroring the namelist read in \rou{sbc\_blk\_init} for example, and simply call \rou{fld\_read}  
    181 to obtain the desired input field at the model time-step and grid points. 
     200As a results the user have only to fill in for each variable a structure in the namelist file to 
     201define the input data file and variable names, the frequency of the data (in hours or months), 
     202whether its is climatological data or not, the period covered by the input file (one year, month, week or day), 
     203and three additional parameters for on-the-fly interpolation. 
     204When adding a new input variable, the developer has to add the associated structure in the namelist, 
     205read this information by mirroring the namelist read in \rou{sbc\_blk\_init} for example, 
     206and simply call \rou{fld\_read} to obtain the desired input field at the model time-step and grid points. 
    182207 
    183208The only constraints are that the input file is a NetCDF file, the file name follows a nomenclature  
    184 (see \autoref{subsec:SBC_fldread}), the period it cover is one year, month, week or day, and, if on-the-fly  
    185 interpolation is used, a file of weights must be supplied (see \autoref{subsec:SBC_iof}). 
    186  
    187 Note that when an input data is archived on a disc which is accessible directly  
    188 from the workspace where the code is executed, then the use can set the \np{cn\_dir}  
    189 to the pathway leading to the data. By default, the data are assumed to have been  
    190 copied so that cn\_dir='./'. 
     209(see \autoref{subsec:SBC_fldread}), the period it cover is one year, month, week or day, and, 
     210if on-the-fly interpolation is used, a file of weights must be supplied (see \autoref{subsec:SBC_iof}). 
     211 
     212Note that when an input data is archived on a disc which is accessible directly from the workspace where 
     213the code is executed, then the use can set the \np{cn\_dir} to the pathway leading to the data. 
     214By default, the data are assumed to have been copied so that cn\_dir='./'. 
    191215 
    192216% ------------------------------------------------------------------------------------------------------------- 
     
    203227where  
    204228\begin{description}   
    205 \item[File name]: the stem name of the NetCDF file to be open.  
    206 This stem will be completed automatically by the model, with the addition of a '.nc' at its end  
    207 and by date information and possibly a prefix (when using AGRIF).  
    208 Tab.\autoref{tab:fldread} provides the resulting file name in all possible cases according to whether  
    209 it is a climatological file or not, and to the open/close frequency (see below for definition).  
     229\item[File name]: 
     230  the stem name of the NetCDF file to be open. 
     231  This stem will be completed automatically by the model, with the addition of a '.nc' at its end and 
     232  by date information and possibly a prefix (when using AGRIF). 
     233  Tab.\autoref{tab:fldread} provides the resulting file name in all possible cases according to 
     234  whether it is a climatological file or not, and to the open/close frequency (see below for definition). 
    210235 
    211236%--------------------------------------------------TABLE-------------------------------------------------- 
     
    219244\end{tabular} 
    220245\end{center} 
    221 \caption{ \protect\label{tab:fldread}   naming nomenclature for climatological or interannual input file,  
    222 as a function of the Open/close frequency. The stem name is assumed to be 'fn'.  
    223 For weekly files, the 'LLL' corresponds to the first three letters of the first day of the week ($i.e.$ 'sun','sat','fri','thu','wed','tue','mon'). The 'YYYY', 'MM' and 'DD' should be replaced by the  
    224 actual year/month/day, always coded with 4 or 2 digits. Note that (1) in mpp, if the file is split  
    225 over each subdomain, the suffix '.nc' is replaced by '\_PPPP.nc', where 'PPPP' is the  
    226 process number coded with 4 digits; (2) when using AGRIF, the prefix 
    227 '\_N' is added to files,  
    228 where 'N'  is the child grid number.} 
     246\caption{ \protect\label{tab:fldread} 
     247  naming nomenclature for climatological or interannual input file, as a function of the Open/close frequency. 
     248  The stem name is assumed to be 'fn'. 
     249  For weekly files, the 'LLL' corresponds to the first three letters of the first day of the week 
     250  ($i.e.$ 'sun','sat','fri','thu','wed','tue','mon'). 
     251  The 'YYYY', 'MM' and 'DD' should be replaced by the actual year/month/day, always coded with 4 or 2 digits. 
     252  Note that (1) in mpp, if the file is split over each subdomain, the suffix '.nc' is replaced by '\_PPPP.nc', 
     253  where 'PPPP' is the process number coded with 4 digits; 
     254  (2) when using AGRIF, the prefix '\_N' is added to files, where 'N'  is the child grid number.} 
    229255\end{table} 
    230256%-------------------------------------------------------------------------------------------------------------- 
    231257   
    232258 
    233 \item[Record frequency]: the frequency of the records contained in the input file.  
    234 Its unit is in hours if it is positive (for example 24 for daily forcing) or in months if negative  
    235 (for example -1 for monthly forcing or -12 for annual forcing).  
    236 Note that this frequency must really be an integer and not a real.  
    237 On some computers, seting it to '24.' can be interpreted as 240! 
    238  
    239 \item[Variable name]: the name of the variable to be read in the input NetCDF file. 
    240  
    241 \item[Time interpolation]: a logical to activate, or not, the time interpolation. If set to 'false',  
    242 the forcing will have a steplike shape remaining constant during each forcing period.  
    243 For example, when using a daily forcing without time interpolation, the forcing remaining  
    244 constant from 00h00'00'' to 23h59'59". If set to 'true', the forcing will have a broken line shape.  
    245 Records are assumed to be dated the middle of the forcing period.  
    246 For example, when using a daily forcing with time interpolation, linear interpolation will  
    247 be performed between mid-day of two consecutive days.  
    248  
    249 \item[Climatological forcing]: a logical to specify if a input file contains climatological forcing  
    250 which can be cycle in time, or an interannual forcing which will requires additional files  
    251 if the period covered by the simulation exceed the one of the file. See the above the file  
    252 naming strategy which impacts the expected name of the file to be opened.  
    253  
    254 \item[Open/close frequency]: the frequency at which forcing files must be opened/closed.  
    255 Four cases are coded: 'daily', 'weekLLL' (with 'LLL' the first 3 letters of the first day of the week),  
    256 'monthly' and 'yearly' which means the forcing files will contain data for one day, one week,  
    257 one month or one year. Files are assumed to contain data from the beginning of the open/close period.  
    258 For example, the first record of a yearly file containing daily data is Jan 1st even if the experiment  
    259 is not starting at the beginning of the year.  
    260  
    261 \item[Others]: 'weights filename', 'pairing rotation' and 'land/sea mask' are associted with on-the-fly interpolation  
    262 which is described in \autoref{subsec:SBC_iof}. 
     259\item[Record frequency]: 
     260  the frequency of the records contained in the input file. 
     261  Its unit is in hours if it is positive (for example 24 for daily forcing) or in months if negative 
     262  (for example -1 for monthly forcing or -12 for annual forcing). 
     263  Note that this frequency must really be an integer and not a real. 
     264  On some computers, seting it to '24.' can be interpreted as 240! 
     265 
     266\item[Variable name]: 
     267  the name of the variable to be read in the input NetCDF file. 
     268 
     269\item[Time interpolation]: 
     270  a logical to activate, or not, the time interpolation. 
     271  If set to 'false', the forcing will have a steplike shape remaining constant during each forcing period. 
     272  For example, when using a daily forcing without time interpolation, the forcing remaining constant from 
     273  00h00'00'' to 23h59'59". 
     274  If set to 'true', the forcing will have a broken line shape. 
     275  Records are assumed to be dated the middle of the forcing period. 
     276  For example, when using a daily forcing with time interpolation, 
     277  linear interpolation will be performed between mid-day of two consecutive days.  
     278 
     279\item[Climatological forcing]: 
     280  a logical to specify if a input file contains climatological forcing which can be cycle in time, 
     281  or an interannual forcing which will requires additional files if 
     282  the period covered by the simulation exceed the one of the file. 
     283  See the above the file naming strategy which impacts the expected name of the file to be opened.  
     284 
     285\item[Open/close frequency]: 
     286  the frequency at which forcing files must be opened/closed. 
     287  Four cases are coded: 
     288  'daily', 'weekLLL' (with 'LLL' the first 3 letters of the first day of the week), 'monthly' and 'yearly' which 
     289  means the forcing files will contain data for one day, one week, one month or one year. 
     290  Files are assumed to contain data from the beginning of the open/close period. 
     291  For example, the first record of a yearly file containing daily data is Jan 1st even if 
     292  the experiment is not starting at the beginning of the year.  
     293 
     294\item[Others]: 
     295  'weights filename', 'pairing rotation' and 'land/sea mask' are associated with 
     296  on-the-fly interpolation which is described in \autoref{subsec:SBC_iof}. 
    263297 
    264298\end{description} 
    265299 
    266300Additional remarks:\\ 
    267 (1) The time interpolation is a simple linear interpolation between two consecutive records of  
    268 the input data. The only tricky point is therefore to specify the date at which we need to do  
    269 the interpolation and the date of the records read in the input files.  
    270 Following \citet{Leclair_Madec_OM09}, the date of a time step is set at the middle of the  
    271 time step. For example, for an experiment starting at 0h00'00" with a one hour time-step,  
     301(1) The time interpolation is a simple linear interpolation between two consecutive records of the input data. 
     302The only tricky point is therefore to specify the date at which we need to do the interpolation and 
     303the date of the records read in the input files. 
     304Following \citet{Leclair_Madec_OM09}, the date of a time step is set at the middle of the time step. 
     305For example, for an experiment starting at 0h00'00" with a one hour time-step, 
    272306a time interpolation will be performed at the following time: 0h30'00", 1h30'00", 2h30'00", etc. 
    273 However, for forcing data related to the surface module, values are not needed at every  
    274 time-step but at every \np{nn\_fsbc} time-step. For example with \np{nn\_fsbc}\forcode{ = 3},  
    275 the surface module will be called at time-steps 1, 4, 7, etc. The date used for the time interpolation  
    276 is thus redefined to be at the middle of \np{nn\_fsbc} time-step period. In the previous example,  
    277 this leads to: 1h30'00", 4h30'00", 7h30'00", etc. \\  
    278 (2) For code readablility and maintenance issues, we don't take into account the NetCDF input file  
    279 calendar. The calendar associated with the forcing field is build according to the information  
    280 provided by user in the record frequency, the open/close frequency and the type of temporal interpolation.  
    281 For example, the first record of a yearly file containing daily data that will be interpolated in time  
    282 is assumed to be start Jan 1st at 12h00'00" and end Dec 31st at 12h00'00". \\ 
    283 (3) If a time interpolation is requested, the code will pick up the needed data in the previous (next) file  
    284 when interpolating data with the first (last) record of the open/close period.  
     307However, for forcing data related to the surface module, 
     308values are not needed at every time-step but at every \np{nn\_fsbc} time-step. 
     309For example with \np{nn\_fsbc}\forcode{ = 3}, the surface module will be called at time-steps 1, 4, 7, etc. 
     310The date used for the time interpolation is thus redefined to be at the middle of \np{nn\_fsbc} time-step period. 
     311In the previous example, this leads to: 1h30'00", 4h30'00", 7h30'00", etc. \\  
     312(2) For code readablility and maintenance issues, we don't take into account the NetCDF input file calendar. 
     313The calendar associated with the forcing field is build according to the information provided by 
     314user in the record frequency, the open/close frequency and the type of temporal interpolation. 
     315For example, the first record of a yearly file containing daily data that will be interpolated in time is assumed to 
     316be start Jan 1st at 12h00'00" and end Dec 31st at 12h00'00". \\ 
     317(3) If a time interpolation is requested, the code will pick up the needed data in the previous (next) file when 
     318interpolating data with the first (last) record of the open/close period. 
    285319For example, if the input file specifications are ''yearly, containing daily data to be interpolated in time'',  
    286 the values given by the code between 00h00'00" and 11h59'59" on Jan 1st will be interpolated values  
    287 between Dec 31st 12h00'00" and Jan 1st 12h00'00". If the forcing is climatological, Dec and Jan will  
    288 be keep-up from the same year. However, if the forcing is not climatological, at the end of the  
    289 open/close period the code will automatically close the current file and open the next one.  
    290 Note that, if the experiment is starting (ending) at the beginning (end) of an open/close period  
    291 we do accept that the previous (next) file is not existing. In this case, the time interpolation  
    292 will be performed between two identical values. For example, when starting an experiment on  
    293 Jan 1st of year Y with yearly files and daily data to be interpolated, we do accept that the file  
    294 related to year Y-1 is not existing. The value of Jan 1st will be used as the missing one for  
    295 Dec 31st of year Y-1. If the file of year Y-1 exists, the code will read its last record.  
    296 Therefore, this file can contain only one record corresponding to Dec 31st, a useful feature for  
    297 user considering that it is too heavy to manipulate the complete file for year Y-1. 
     320the values given by the code between 00h00'00" and 11h59'59" on Jan 1st will be interpolated values between 
     321Dec 31st 12h00'00" and Jan 1st 12h00'00". 
     322If the forcing is climatological, Dec and Jan will be keep-up from the same year. 
     323However, if the forcing is not climatological, at the end of 
     324the open/close period the code will automatically close the current file and open the next one. 
     325Note that, if the experiment is starting (ending) at the beginning (end) of 
     326an open/close period we do accept that the previous (next) file is not existing. 
     327In this case, the time interpolation will be performed between two identical values. 
     328For example, when starting an experiment on Jan 1st of year Y with yearly files and daily data to be interpolated, 
     329we do accept that the file related to year Y-1 is not existing. 
     330The value of Jan 1st will be used as the missing one for Dec 31st of year Y-1. 
     331If the file of year Y-1 exists, the code will read its last record.  
     332Therefore, this file can contain only one record corresponding to Dec 31st, 
     333a useful feature for user considering that it is too heavy to manipulate the complete file for year Y-1. 
    298334 
    299335 
     
    304340\label{subsec:SBC_iof} 
    305341 
    306 Interpolation on the Fly allows the user to supply input files required 
    307 for the surface forcing on grids other than the model grid. 
    308 To do this he or she must supply, in addition to the source data file, 
    309 a file of weights to be used to interpolate from the data grid to the model grid. 
    310 The original development of this code used the SCRIP package (freely available  
    311 \href{http://climate.lanl.gov/Software/SCRIP}{here} under a copyright agreement). 
    312 In principle, any package can be used to generate the weights, but the 
    313 variables in the input weights file must have the same names and meanings as 
    314 assumed by the model. 
     342Interpolation on the Fly allows the user to supply input files required for the surface forcing on 
     343grids other than the model grid. 
     344To do this he or she must supply, in addition to the source data file, a file of weights to be used to 
     345interpolate from the data grid to the model grid. 
     346The original development of this code used the SCRIP package 
     347(freely available \href{http://climate.lanl.gov/Software/SCRIP}{here} under a copyright agreement). 
     348In principle, any package can be used to generate the weights, but the variables in 
     349the input weights file must have the same names and meanings as assumed by the model. 
    315350Two methods are currently available: bilinear and bicubic interpolation. 
    316 Prior to the interpolation, providing a land/sea mask file, the user can decide to 
    317  remove land points from the input file and substitute the corresponding values  
    318 with the average of the 8 neighbouring points in the native external grid. 
    319  Only "sea points" are considered for the averaging. The land/sea mask file must  
    320 be provided in the structure associated with the input variable. 
    321  The netcdf land/sea mask variable name must be 'LSM' it must have the same  
    322 horizontal and vertical dimensions of the associated variable and should  
    323 be equal to 1 over land and 0 elsewhere. 
    324 The procedure can be recursively applied setting nn\_lsm > 1 in namsbc namelist.  
     351Prior to the interpolation, providing a land/sea mask file, the user can decide to remove land points from 
     352the input file and substitute the corresponding values with the average of the 8 neighbouring points in 
     353the native external grid. 
     354Only "sea points" are considered for the averaging. 
     355The land/sea mask file must be provided in the structure associated with the input variable. 
     356The netcdf land/sea mask variable name must be 'LSM' it must have the same horizontal and vertical dimensions of 
     357the associated variable and should be equal to 1 over land and 0 elsewhere. 
     358The procedure can be recursively applied setting nn\_lsm > 1 in namsbc namelist. 
    325359Note that nn\_lsm=0 forces the code to not apply the procedure even if a file for land/sea mask is supplied. 
    326360 
     
    328362\label{subsec:SBC_iof_bilinear} 
    329363 
    330 The input weights file in this case has two sets of variables: src01, src02, 
    331 src03, src04 and wgt01, wgt02, wgt03, wgt04. 
    332 The "src" variables correspond to the point in the input grid to which the weight 
    333 "wgt" is to be applied. Each src value is an integer corresponding to the index of a  
    334 point in the input grid when written as a one dimensional array.  For example, for an input grid 
    335 of size 5x10, point (3,2) is referenced as point 8, since (2-1)*5+3=8. 
     364The input weights file in this case has two sets of variables: 
     365src01, src02, src03, src04 and wgt01, wgt02, wgt03, wgt04. 
     366The "src" variables correspond to the point in the input grid to which the weight "wgt" is to be applied. 
     367Each src value is an integer corresponding to the index of a point in the input grid when 
     368written as a one dimensional array. 
     369For example, for an input grid of size 5x10, point (3,2) is referenced as point 8, since (2-1)*5+3=8. 
    336370There are four of each variable because bilinear interpolation uses the four points defining 
    337371the grid box containing the point to be interpolated. 
    338 All of these arrays are on the model grid, so that values src01(i,j) and 
    339 wgt01(i,j) are used to generate a value for point (i,j) in the model. 
     372All of these arrays are on the model grid, so that values src01(i,j) and wgt01(i,j) are used to 
     373generate a value for point (i,j) in the model. 
    340374 
    341375Symbolically, the algorithm used is: 
    342  
    343376\begin{equation} 
    344377f_{m}(i,j) = f_{m}(i,j) + \sum_{k=1}^{4} {wgt(k)f(idx(src(k)))} 
     
    361394\end{split} 
    362395\end{equation*} 
    363 The gradients here are taken with respect to the horizontal indices and not distances since the spatial dependency has been absorbed into the weights. 
     396The gradients here are taken with respect to the horizontal indices and not distances since 
     397the spatial dependency has been absorbed into the weights. 
    364398 
    365399\subsubsection{Implementation} 
    366400\label{subsec:SBC_iof_imp} 
    367401 
    368 To activate this option, a non-empty string should be supplied in the weights filename column  
    369 of the relevant namelist; if this is left as an empty string no action is taken. 
    370 In the model, weights files are read in and stored in a structured type (WGT) in the fldread  
    371 module, as and when they are first required. 
    372 This initialisation procedure determines whether the input data grid should be treated  
    373 as cyclical or not by inspecting a global attribute stored in the weights input file. 
     402To activate this option, a non-empty string should be supplied in 
     403the weights filename column of the relevant namelist; 
     404if this is left as an empty string no action is taken. 
     405In the model, weights files are read in and stored in a structured type (WGT) in the fldread module, 
     406as and when they are first required. 
     407This initialisation procedure determines whether the input data grid should be treated as cyclical or not by 
     408inspecting a global attribute stored in the weights input file. 
    374409This attribute must be called "ew\_wrap" and be of integer type. 
    375410If it is negative, the input non-model grid is assumed not to be cyclic. 
     
    378413if longitudes are 0.5, 2.5, .... , 358.5, 360.5, 362.5, ew\_wrap should be 2. 
    379414If the model does not find attribute ew\_wrap, then a value of -999 is assumed. 
    380 In this case the \rou{fld\_read} routine defaults ew\_wrap to value 0 and therefore the grid  
    381 is assumed to be cyclic with no overlapping columns. 
     415In this case the \rou{fld\_read} routine defaults ew\_wrap to value 0 and 
     416therefore the grid is assumed to be cyclic with no overlapping columns. 
    382417(In fact this only matters when bicubic interpolation is required.) 
    383 Note that no testing is done to check the validity in the model, since there is no way  
    384 of knowing the name used for the longitude variable, 
     418Note that no testing is done to check the validity in the model, 
     419since there is no way of knowing the name used for the longitude variable, 
    385420so it is up to the user to make sure his or her data is correctly represented. 
    386421 
    387422Next the routine reads in the weights. 
    388 Bicubic interpolation is assumed if it finds a variable with name "src05", otherwise  
    389 bilinear interpolation is used. The WGT structure includes dynamic arrays both for  
    390 the storage of the weights (on the model grid), and when required, for reading in  
    391 the variable to be interpolated (on the input data grid). 
    392 The size of the input data array is determined by examining the values in the "src"  
    393 arrays to find the minimum and maximum i and j values required. 
    394 Since bicubic interpolation requires the calculation of gradients at each point on the grid,  
     423Bicubic interpolation is assumed if it finds a variable with name "src05", otherwise bilinear interpolation is used. 
     424The WGT structure includes dynamic arrays both for the storage of the weights (on the model grid), 
     425and when required, for reading in the variable to be interpolated (on the input data grid). 
     426The size of the input data array is determined by examining the values in the "src" arrays to 
     427find the minimum and maximum i and j values required. 
     428Since bicubic interpolation requires the calculation of gradients at each point on the grid, 
    395429the corresponding arrays are dimensioned with a halo of width one grid point all the way around. 
    396 When the array of points from the data file is adjacent to an edge of the data grid,  
    397 the halo is either a copy of the row/column next to it (non-cyclical case), or is a copy  
    398 of one from the first few columns on the opposite side of the grid (cyclical case). 
     430When the array of points from the data file is adjacent to an edge of the data grid, 
     431the halo is either a copy of the row/column next to it (non-cyclical case), 
     432or is a copy of one from the first few columns on the opposite side of the grid (cyclical case). 
    399433 
    400434\subsubsection{Limitations} 
     
    402436 
    403437\begin{enumerate}   
    404 \item  The case where input data grids are not logically rectangular has not been tested. 
    405 \item  This code is not guaranteed to produce positive definite answers from positive definite inputs 
    406           when a bicubic interpolation method is used. 
    407 \item  The cyclic condition is only applied on left and right columns, and not to top and bottom rows. 
    408 \item  The gradients across the ends of a cyclical grid assume that the grid spacing between  
    409           the two columns involved are consistent with the weights used. 
    410 \item  Neither interpolation scheme is conservative. (There is a conservative scheme available  
    411           in SCRIP, but this has not been implemented.) 
     438\item 
     439  The case where input data grids are not logically rectangular has not been tested. 
     440\item 
     441  This code is not guaranteed to produce positive definite answers from positive definite inputs when 
     442  a bicubic interpolation method is used. 
     443\item 
     444  The cyclic condition is only applied on left and right columns, and not to top and bottom rows. 
     445\item 
     446  The gradients across the ends of a cyclical grid assume that the grid spacing between 
     447  the two columns involved are consistent with the weights used. 
     448\item 
     449  Neither interpolation scheme is conservative. (There is a conservative scheme available in SCRIP, 
     450  but this has not been implemented.) 
    412451\end{enumerate} 
    413452 
     
    416455 
    417456% to be completed 
    418 A set of utilities to create a weights file for a rectilinear input grid is available  
     457A set of utilities to create a weights file for a rectilinear input grid is available 
    419458(see the directory NEMOGCM/TOOLS/WEIGHTS). 
    420459 
     
    430469%-------------------------------------------------------------------------------------------------------------- 
    431470 
    432 In some circumstances it may be useful to avoid calculating the 3D temperature, salinity and velocity fields  
    433 and simply read them in from a previous run or receive them from OASIS.   
     471In some circumstances it may be useful to avoid calculating the 3D temperature, 
     472salinity and velocity fields and simply read them in from a previous run or receive them from OASIS.   
    434473For example: 
    435474 
    436475\begin{itemize} 
    437 \item  Multiple runs of the model are required in code development to see the effect of different algorithms in 
    438        the bulk formulae. 
    439 \item  The effect of different parameter sets in the ice model is to be examined. 
    440 \item  Development of sea-ice algorithms or parameterizations. 
    441 \item  spinup of the iceberg floats 
    442 \item  ocean/sea-ice simulation with both media running in parallel (\np{ln\_mixcpl}\forcode{ = .true.}) 
     476\item 
     477  Multiple runs of the model are required in code development to 
     478  see the effect of different algorithms in the bulk formulae. 
     479\item 
     480  The effect of different parameter sets in the ice model is to be examined. 
     481\item 
     482  Development of sea-ice algorithms or parameterizations. 
     483\item 
     484  Spinup of the iceberg floats 
     485\item 
     486  Ocean/sea-ice simulation with both media running in parallel (\np{ln\_mixcpl}\forcode{ = .true.}) 
    443487\end{itemize} 
    444488 
     
    446490Its options are defined through the \ngn{namsbc\_sas} namelist variables. 
    447491A new copy of the model has to be compiled with a configuration based on ORCA2\_SAS\_LIM. 
    448 However no namelist parameters need be changed from the settings of the previous run (except perhaps nn{\_}date0) 
     492However no namelist parameters need be changed from the settings of the previous run (except perhaps nn{\_}date0). 
    449493In this configuration, a few routines in the standard model are overriden by new versions. 
    450494Routines replaced are: 
    451495 
    452496\begin{itemize} 
    453 \item \mdl{nemogcm} : This routine initialises the rest of the model and repeatedly calls the stp time stepping routine (\mdl{step}) 
    454        Since the ocean state is not calculated all associated initialisations have been removed. 
    455 \item  \mdl{step} : The main time stepping routine now only needs to call the sbc routine (and a few utility functions). 
    456 \item  \mdl{sbcmod} : This has been cut down and now only calculates surface forcing and the ice model required.  New surface modules 
    457        that can function when only the surface level of the ocean state is defined can also be added (e.g. icebergs). 
    458 \item  \mdl{daymod} : No ocean restarts are read or written (though the ice model restarts are retained), so calls to restart functions 
    459        have been removed.  This also means that the calendar cannot be controlled by time in a restart file, so the user 
    460        must make sure that nn{\_}date0 in the model namelist is correct for his or her purposes. 
    461 \item  \mdl{stpctl} : Since there is no free surface solver, references to it have been removed from \rou{stp\_ctl} module. 
    462 \item  \mdl{diawri} : All 3D data have been removed from the output.  The surface temperature, salinity and velocity components (which 
    463        have been read in) are written along with relevant forcing and ice data. 
     497\item 
     498  \mdl{nemogcm}: 
     499  This routine initialises the rest of the model and repeatedly calls the stp time stepping routine (\mdl{step}). 
     500  Since the ocean state is not calculated all associated initialisations have been removed. 
     501\item 
     502  \mdl{step}: 
     503  The main time stepping routine now only needs to call the sbc routine (and a few utility functions). 
     504\item 
     505  \mdl{sbcmod}: 
     506  This has been cut down and now only calculates surface forcing and the ice model required. 
     507  New surface modules that can function when only the surface level of the ocean state is defined can also be added 
     508  (e.g. icebergs). 
     509\item 
     510  \mdl{daymod}: 
     511  No ocean restarts are read or written (though the ice model restarts are retained), 
     512  so calls to restart functions have been removed. 
     513  This also means that the calendar cannot be controlled by time in a restart file, 
     514  so the user must make sure that nn{\_}date0 in the model namelist is correct for his or her purposes. 
     515\item 
     516  \mdl{stpctl}: 
     517  Since there is no free surface solver, references to it have been removed from \rou{stp\_ctl} module. 
     518\item 
     519  \mdl{diawri}: 
     520  All 3D data have been removed from the output. 
     521  The surface temperature, salinity and velocity components (which have been read in) are written along with 
     522  relevant forcing and ice data. 
    464523\end{itemize} 
    465524 
     
    467526 
    468527\begin{itemize} 
    469 \item  \mdl{sbcsas} : This module initialises the input files needed for reading temperature, salinity and velocity arrays at the surface. 
    470        These filenames are supplied in namelist namsbc{\_}sas.  Unfortunately because of limitations with the \mdl{iom} module, 
    471        the full 3D fields from the mean files have to be read in and interpolated in time, before using just the top level. 
    472        Since fldread is used to read in the data, Interpolation on the Fly may be used to change input data resolution. 
     528\item 
     529  \mdl{sbcsas}: 
     530  This module initialises the input files needed for reading temperature, salinity and 
     531  velocity arrays at the surface. 
     532  These filenames are supplied in namelist namsbc{\_}sas. 
     533  Unfortunately because of limitations with the \mdl{iom} module, 
     534  the full 3D fields from the mean files have to be read in and interpolated in time, 
     535  before using just the top level. 
     536  Since fldread is used to read in the data, Interpolation on the Fly may be used to change input data resolution. 
    473537\end{itemize} 
    474538 
     
    492556 
    493557The analytical formulation of the surface boundary condition is the default scheme. 
    494 In this case, all the six fluxes needed by the ocean are assumed to  
    495 be uniform in space. They take constant values given in the namelist  
    496 \ngn{namsbc{\_}ana} by the variables \np{rn\_utau0}, \np{rn\_vtau0}, \np{rn\_qns0},  
    497 \np{rn\_qsr0}, and \np{rn\_emp0} ($\textit{emp}=\textit{emp}_S$). The runoff is set to zero.  
    498 In addition, the wind is allowed to reach its nominal value within a given number  
    499 of time steps (\np{nn\_tau000}). 
    500  
    501 If a user wants to apply a different analytical forcing, the \mdl{sbcana}  
    502 module can be modified to use another scheme. As an example,  
    503 the \mdl{sbc\_ana\_gyre} routine provides the analytical forcing for the  
    504 GYRE configuration (see GYRE configuration manual, in preparation). 
     558In this case, all the six fluxes needed by the ocean are assumed to be uniform in space. 
     559They take constant values given in the namelist \ngn{namsbc{\_}ana} by 
     560the variables \np{rn\_utau0}, \np{rn\_vtau0}, \np{rn\_qns0}, \np{rn\_qsr0}, and \np{rn\_emp0} 
     561($\textit{emp}=\textit{emp}_S$). 
     562The runoff is set to zero. 
     563In addition, the wind is allowed to reach its nominal value within a given number of time steps (\np{nn\_tau000}). 
     564 
     565If a user wants to apply a different analytical forcing, 
     566the \mdl{sbcana} module can be modified to use another scheme. 
     567As an example, the \mdl{sbc\_ana\_gyre} routine provides the analytical forcing for the GYRE configuration 
     568(see GYRE configuration manual, in preparation). 
    505569 
    506570 
     
    515579%------------------------------------------------------------------------------------------------------------- 
    516580 
    517 In the flux formulation (\np{ln\_flx}\forcode{ = .true.}), the surface boundary  
    518 condition fields are directly read from input files. The user has to define  
    519 in the namelist \ngn{namsbc{\_}flx} the name of the file, the name of the variable  
    520 read in the file, the time frequency at which it is given (in hours), and a logical  
    521 setting whether a time interpolation to the model time step is required  
    522 for this field. See \autoref{subsec:SBC_fldread} for a more detailed description of the parameters. 
    523  
    524 Note that in general, a flux formulation is used in associated with a  
    525 restoring term to observed SST and/or SSS. See \autoref{subsec:SBC_ssr} for its  
    526 specification. 
     581In the flux formulation (\np{ln\_flx}\forcode{ = .true.}), 
     582the surface boundary condition fields are directly read from input files. 
     583The user has to define in the namelist \ngn{namsbc{\_}flx} the name of the file, 
     584the name of the variable read in the file, the time frequency at which it is given (in hours), 
     585and a logical setting whether a time interpolation to the model time step is required for this field. 
     586See \autoref{subsec:SBC_fldread} for a more detailed description of the parameters. 
     587 
     588Note that in general, a flux formulation is used in associated with a restoring term to observed SST and/or SSS. 
     589See \autoref{subsec:SBC_ssr} for its specification. 
    527590 
    528591 
     
    534597\label{sec:SBC_blk} 
    535598 
    536 In the bulk formulation, the surface boundary condition fields are computed  
    537 using bulk formulae and atmospheric fields and ocean (and ice) variables.  
    538  
    539 The atmospheric fields used depend on the bulk formulae used. Three bulk formulations  
    540 are available : the CORE, the CLIO and the MFS bulk formulea. The choice is made by setting to true 
    541 one of the following namelist variable : \np{ln\_core} ; \np{ln\_clio} or  \np{ln\_mfs}. 
    542  
    543 Note : in forced mode, when a sea-ice model is used, a bulk formulation (CLIO or CORE) have to be used.  
    544 Therefore the two bulk (CLIO and CORE) formulea include the computation of the fluxes over both  
    545 an ocean and an ice surface.  
     599In the bulk formulation, the surface boundary condition fields are computed using bulk formulae and atmospheric fields and ocean (and ice) variables. 
     600 
     601The atmospheric fields used depend on the bulk formulae used. 
     602Three bulk formulations are available: 
     603the CORE, the CLIO and the MFS bulk formulea. 
     604The choice is made by setting to true one of the following namelist variable: 
     605\np{ln\_core} ; \np{ln\_clio} or  \np{ln\_mfs}. 
     606 
     607Note: 
     608in forced mode, when a sea-ice model is used, a bulk formulation (CLIO or CORE) have to be used. 
     609Therefore the two bulk (CLIO and CORE) formulea include the computation of the fluxes over 
     610both an ocean and an ice surface.  
    546611 
    547612% ------------------------------------------------------------------------------------------------------------- 
     
    555620%------------------------------------------------------------------------------------------------------------- 
    556621 
    557 The CORE bulk formulae have been developed by \citet{Large_Yeager_Rep04}.  
    558 They have been designed to handle the CORE forcing, a mixture of NCEP  
    559 reanalysis and satellite data. They use an inertial dissipative method to compute  
    560 the turbulent transfer coefficients (momentum, sensible heat and evaporation)  
    561 from the 10 metre wind speed, air temperature and specific humidity. 
    562 This \citet{Large_Yeager_Rep04} dataset is available through the  
    563 \href{http://nomads.gfdl.noaa.gov/nomads/forms/mom4/CORE.html}{GFDL web site}.  
    564  
    565 Note that substituting ERA40 to NCEP reanalysis fields  
    566 does not require changes in the bulk formulea themself.  
    567 This is the so-called DRAKKAR Forcing Set (DFS) \citep{Brodeau_al_OM09}.  
     622The CORE bulk formulae have been developed by \citet{Large_Yeager_Rep04}. 
     623They have been designed to handle the CORE forcing, a mixture of NCEP reanalysis and satellite data. 
     624They use an inertial dissipative method to compute the turbulent transfer coefficients 
     625(momentum, sensible heat and evaporation) from the 10 metre wind speed, air temperature and specific humidity. 
     626This \citet{Large_Yeager_Rep04} dataset is available through 
     627the \href{http://nomads.gfdl.noaa.gov/nomads/forms/mom4/CORE.html}{GFDL web site}. 
     628 
     629Note that substituting ERA40 to NCEP reanalysis fields does not require changes in the bulk formulea themself. 
     630This is the so-called DRAKKAR Forcing Set (DFS) \citep{Brodeau_al_OM09}. 
    568631 
    569632Options are defined through the  \ngn{namsbc\_core} namelist variables. 
     
    589652%-------------------------------------------------------------------------------------------------------------- 
    590653 
    591 Note that the air velocity is provided at a tracer ocean point, not at a velocity ocean  
    592 point ($u$- and $v$-points). It is simpler and faster (less fields to be read),  
    593 but it is not the recommended method when the ocean grid size is the same  
    594 or larger than the one of the input atmospheric fields. 
    595  
    596 The \np{sn\_wndi}, \np{sn\_wndj}, \np{sn\_qsr}, \np{sn\_qlw}, \np{sn\_tair}, \np{sn\_humi}, 
    597 \np{sn\_prec}, \np{sn\_snow}, \np{sn\_tdif} parameters describe the fields  
    598 and the way they have to be used (spatial and temporal interpolations).  
     654Note that the air velocity is provided at a tracer ocean point, not at a velocity ocean point ($u$- and $v$-points). 
     655It is simpler and faster (less fields to be read), but it is not the recommended method when 
     656the ocean grid size is the same or larger than the one of the input atmospheric fields. 
     657 
     658The \np{sn\_wndi}, \np{sn\_wndj}, \np{sn\_qsr}, \np{sn\_qlw}, \np{sn\_tair}, \np{sn\_humi}, \np{sn\_prec}, 
     659\np{sn\_snow}, \np{sn\_tdif} parameters describe the fields and the way they have to be used 
     660(spatial and temporal interpolations).  
    599661 
    600662\np{cn\_dir} is the directory of location of bulk files 
     
    603665\np{rn\_zu}: is the height of wind measurements (m) 
    604666 
    605 Three multiplicative factors are availables :  
    606 \np{rn\_pfac} and \np{rn\_efac} allows to adjust (if necessary) the global freshwater budget  
    607 by increasing/reducing the precipitations (total and snow) and or evaporation, respectively. 
    608 The third one,\np{rn\_vfac}, control to which extend the ice/ocean velocities are taken into account  
    609 in the calculation of surface wind stress. Its range should be between zero and one,  
    610 and it is recommended to set it to 0. 
     667Three multiplicative factors are availables:  
     668\np{rn\_pfac} and \np{rn\_efac} allows to adjust (if necessary) the global freshwater budget by 
     669increasing/reducing the precipitations (total and snow) and or evaporation, respectively. 
     670The third one,\np{rn\_vfac}, control to which extend the ice/ocean velocities are taken into account in 
     671the calculation of surface wind stress. 
     672Its range should be between zero and one, and it is recommended to set it to 0. 
    611673 
    612674% ------------------------------------------------------------------------------------------------------------- 
     
    620682%------------------------------------------------------------------------------------------------------------- 
    621683 
    622 The CLIO bulk formulae were developed several years ago for the  
    623 Louvain-la-neuve coupled ice-ocean model (CLIO, \cite{Goosse_al_JGR99}).  
    624 They are simpler bulk formulae. They assume the stress to be known and  
    625 compute the radiative fluxes from a climatological cloud cover.  
     684The CLIO bulk formulae were developed several years ago for the Louvain-la-neuve coupled ice-ocean model 
     685(CLIO, \cite{Goosse_al_JGR99}).  
     686They are simpler bulk formulae. 
     687They assume the stress to be known and compute the radiative fluxes from a climatological cloud cover.  
    626688 
    627689Options are defined through the  \ngn{namsbc\_clio} namelist variables. 
     
    647709%-------------------------------------------------------------------------------------------------------------- 
    648710 
    649 As for the flux formulation, information about the input data required by the  
    650 model is provided in the namsbc\_blk\_core or namsbc\_blk\_clio  
    651 namelist (see \autoref{subsec:SBC_fldread}).  
     711As for the flux formulation, information about the input data required by the model is provided in 
     712the namsbc\_blk\_core or namsbc\_blk\_clio namelist (see \autoref{subsec:SBC_fldread}).  
    652713 
    653714% ------------------------------------------------------------------------------------------------------------- 
     
    661722%---------------------------------------------------------------------------------------------------------- 
    662723 
    663 The MFS (Mediterranean Forecasting System) bulk formulae have been developed by 
    664  \citet{Castellari_al_JMS1998}.  
    665 They have been designed to handle the ECMWF operational data and are currently  
    666 in use in the MFS operational system \citep{Tonani_al_OS08}, \citep{Oddo_al_OS09}. 
     724The MFS (Mediterranean Forecasting System) bulk formulae have been developed by \citet{Castellari_al_JMS1998}.  
     725They have been designed to handle the ECMWF operational data and are currently in use in 
     726the MFS operational system \citep{Tonani_al_OS08}, \citep{Oddo_al_OS09}. 
    667727The wind stress computation uses a drag coefficient computed according to \citet{Hellerman_Rosenstein_JPO83}. 
    668 The surface boundary condition for temperature involves the balance between surface solar radiation, 
    669 net long-wave radiation, the latent and sensible heat fluxes. 
    670 Solar radiation is dependent on cloud cover and is computed by means of 
    671 an astronomical formula \citep{Reed_JPO77}. Albedo monthly values are from \citet{Payne_JAS72}  
    672 as means of the values at $40^{o}N$ and $30^{o}N$ for the Atlantic Ocean (hence the same latitudinal 
    673 band of the Mediterranean Sea). The net long-wave radiation flux 
    674 \citep{Bignami_al_JGR95} is a function of 
     728The surface boundary condition for temperature involves the balance between 
     729surface solar radiation, net long-wave radiation, the latent and sensible heat fluxes. 
     730Solar radiation is dependent on cloud cover and is computed by means of an astronomical formula \citep{Reed_JPO77}. 
     731Albedo monthly values are from \citet{Payne_JAS72} as means of the values at $40^{o}N$ and $30^{o}N$ for 
     732the Atlantic Ocean (hence the same latitudinal band of the Mediterranean Sea). 
     733The net long-wave radiation flux \citep{Bignami_al_JGR95} is a function of 
    675734air temperature, sea-surface temperature, cloud cover and relative humidity. 
    676 Sensible heat and latent heat fluxes are computed by classical 
    677 bulk formulae parameterised according to \citet{Kondo1975}. 
     735Sensible heat and latent heat fluxes are computed by classical bulk formulae parameterised according to 
     736\citet{Kondo1975}. 
    678737Details on the bulk formulae used can be found in \citet{Maggiore_al_PCE98} and \citet{Castellari_al_JMS1998}. 
    679738 
    680 Options are defined through the  \ngn{namsbc\_mfs} namelist variables. 
    681 The required 7 input fields must be provided on the model Grid-T and  are: 
     739Options are defined through the \ngn{namsbc\_mfs} namelist variables. 
     740The required 7 input fields must be provided on the model Grid-T and are: 
    682741\begin{itemize} 
    683742\item          Zonal Component of the 10m wind ($ms^{-1}$)  (\np{sn\_windi}) 
     
    700759%------------------------------------------------------------------------------------------------------------- 
    701760 
    702 In the coupled formulation of the surface boundary condition, the fluxes are  
    703 provided by the OASIS coupler at a frequency which is defined in the OASIS coupler,  
    704 while sea and ice surface temperature, ocean and ice albedo, and ocean currents  
    705 are sent to the atmospheric component. 
    706  
    707 A generalised coupled interface has been developed.  
    708 It is currently interfaced with OASIS-3-MCT (\key{oasis3}).  
    709 It has been successfully used to interface \NEMO to most of the European atmospheric  
    710 GCM (ARPEGE, ECHAM, ECMWF, HadAM, HadGAM, LMDz),  
    711 as well as to \href{http://wrf-model.org/}{WRF} (Weather Research and Forecasting Model). 
    712  
    713 Note that in addition to the setting of \np{ln\_cpl} to true, the \key{coupled} have to be defined.  
    714 The CPP key is mainly used in sea-ice to ensure that the atmospheric fluxes are  
    715 actually recieved by the ice-ocean system (no calculation of ice sublimation in coupled mode). 
     761In the coupled formulation of the surface boundary condition, 
     762the fluxes are provided by the OASIS coupler at a frequency which is defined in the OASIS coupler, 
     763while sea and ice surface temperature, ocean and ice albedo, and ocean currents are sent to 
     764the atmospheric component. 
     765 
     766A generalised coupled interface has been developed. 
     767It is currently interfaced with OASIS-3-MCT (\key{oasis3}). 
     768It has been successfully used to interface \NEMO to most of the European atmospheric GCM 
     769(ARPEGE, ECHAM, ECMWF, HadAM, HadGAM, LMDz), as well as to \href{http://wrf-model.org/}{WRF} 
     770(Weather Research and Forecasting Model). 
     771 
     772Note that in addition to the setting of \np{ln\_cpl} to true, the \key{coupled} have to be defined. 
     773The CPP key is mainly used in sea-ice to ensure that the atmospheric fluxes are actually received by 
     774the ice-ocean system (no calculation of ice sublimation in coupled mode). 
    716775When PISCES biogeochemical model (\key{top} and \key{pisces}) is also used in the coupled system,  
    717 the whole carbon cycle is computed by defining \key{cpl\_carbon\_cycle}. In this case,  
    718 CO$_2$ fluxes will be exchanged between the atmosphere and the ice-ocean system (and need to be activated in \ngn{namsbc{\_}cpl} ). 
    719  
    720 The namelist above allows control of various aspects of the coupling fields (particularly for 
    721 vectors) and now allows for any coupling fields to have multiple sea ice categories (as required by LIM3 
    722 and CICE).  When indicating a multi-category coupling field in namsbc{\_}cpl the number of categories will be 
    723 determined by the number used in the sea ice model.  In some limited cases it may be possible to specify  
    724 single category coupling fields even when the sea ice model is running with multiple categories - in this 
    725 case the user should examine the code to be sure the assumptions made are satisfactory.  In cases where 
    726 this is definitely not possible the model should abort with an error message.  The new code has been tested using 
    727 ECHAM with LIM2, and HadGAM3 with CICE but although it will compile with \key{lim3} additional minor code changes 
    728 may be required to run using LIM3. 
     776the whole carbon cycle is computed by defining \key{cpl\_carbon\_cycle}. 
     777In this case, CO$_2$ fluxes will be exchanged between the atmosphere and the ice-ocean system 
     778(and need to be activated in \ngn{namsbc{\_}cpl} ). 
     779 
     780The namelist above allows control of various aspects of the coupling fields (particularly for vectors) and 
     781now allows for any coupling fields to have multiple sea ice categories (as required by LIM3 and CICE). 
     782When indicating a multi-category coupling field in namsbc{\_}cpl the number of categories will be determined by 
     783the number used in the sea ice model. 
     784In some limited cases it may be possible to specify single category coupling fields even when 
     785the sea ice model is running with multiple categories - 
     786in this case the user should examine the code to be sure the assumptions made are satisfactory. 
     787In cases where this is definitely not possible the model should abort with an error message. 
     788The new code has been tested using ECHAM with LIM2, and HadGAM3 with CICE but 
     789although it will compile with \key{lim3} additional minor code changes may be required to run using LIM3. 
    729790 
    730791 
     
    739800%------------------------------------------------------------------------------------------------------------- 
    740801 
    741 The optional atmospheric pressure can be used to force ocean and ice dynamics  
    742 (\np{ln\_apr\_dyn}\forcode{ = .true.}, \textit{\ngn{namsbc}} namelist ). 
    743 The input atmospheric forcing defined via \np{sn\_apr} structure (\textit{namsbc\_apr} namelist)  
    744 can be interpolated in time to the model time step, and even in space when the  
    745 interpolation on-the-fly is used. When used to force the dynamics, the atmospheric  
    746 pressure is further transformed into an equivalent inverse barometer sea surface height,  
    747 $\eta_{ib}$, using: 
     802The optional atmospheric pressure can be used to force ocean and ice dynamics 
     803(\np{ln\_apr\_dyn}\forcode{ = .true.}, \textit{\ngn{namsbc}} namelist). 
     804The input atmospheric forcing defined via \np{sn\_apr} structure (\textit{namsbc\_apr} namelist) 
     805can be interpolated in time to the model time step, and even in space when the interpolation on-the-fly is used. 
     806When used to force the dynamics, the atmospheric pressure is further transformed into 
     807an equivalent inverse barometer sea surface height, $\eta_{ib}$, using: 
    748808\begin{equation} \label{eq:SBC_ssh_ib} 
    749809   \eta_{ib} = -  \frac{1}{g\,\rho_o}  \left( P_{atm} - P_o \right)  
    750810\end{equation} 
    751811where $P_{atm}$ is the atmospheric pressure and $P_o$ a reference atmospheric pressure. 
    752 A value of $101,000~N/m^2$ is used unless \np{ln\_ref\_apr} is set to true. In this case $P_o$  
    753 is set to the value of $P_{atm}$ averaged over the ocean domain, $i.e.$ the mean value of  
    754 $\eta_{ib}$ is kept to zero at all time step. 
    755  
    756 The gradient of $\eta_{ib}$ is added to the RHS of the ocean momentum equation  
    757 (see \mdl{dynspg} for the ocean). For sea-ice, the sea surface height, $\eta_m$,  
    758 which is provided to the sea ice model is set to $\eta - \eta_{ib}$ (see \mdl{sbcssr} module). 
    759 $\eta_{ib}$ can be set in the output. This can simplify altimetry data and model comparison  
    760 as inverse barometer sea surface height is usually removed from these date prior to their distribution. 
    761  
    762 When using time-splitting and BDY package for open boundaries conditions, the equivalent  
    763 inverse barometer sea surface height $\eta_{ib}$ can be added to BDY ssh data:  
     812A value of $101,000~N/m^2$ is used unless \np{ln\_ref\_apr} is set to true. 
     813In this case $P_o$ is set to the value of $P_{atm}$ averaged over the ocean domain, 
     814$i.e.$ the mean value of $\eta_{ib}$ is kept to zero at all time step. 
     815 
     816The gradient of $\eta_{ib}$ is added to the RHS of the ocean momentum equation (see \mdl{dynspg} for the ocean). 
     817For sea-ice, the sea surface height, $\eta_m$, which is provided to the sea ice model is set to $\eta - \eta_{ib}$ 
     818(see \mdl{sbcssr} module). 
     819$\eta_{ib}$ can be set in the output. 
     820This can simplify altimetry data and model comparison as 
     821inverse barometer sea surface height is usually removed from these date prior to their distribution. 
     822 
     823When using time-splitting and BDY package for open boundaries conditions, 
     824the equivalent inverse barometer sea surface height $\eta_{ib}$ can be added to BDY ssh data:  
    764825\np{ln\_apr\_obc}  might be set to true. 
    765826 
     
    775836%----------------------------------------------------------------------------------------- 
    776837 
    777 The tidal forcing, generated by the gravity forces of the Earth-Moon and Earth-Sun sytems, is activated if \np{ln\_tide} and \np{ln\_tide\_pot} are both set to \np{.true.} in \ngn{nam\_tide}. This translates as an additional barotropic force in the momentum equations \ref{eq:PE_dyn} such that: 
     838The tidal forcing, generated by the gravity forces of the Earth-Moon and Earth-Sun sytems, 
     839is activated if \np{ln\_tide} and \np{ln\_tide\_pot} are both set to \np{.true.} in \ngn{nam\_tide}. 
     840This translates as an additional barotropic force in the momentum equations \ref{eq:PE_dyn} such that: 
    778841\begin{equation}     \label{eq:PE_dyn_tides} 
    779842\frac{\partial {\rm {\bf U}}_h }{\partial t}= ... 
     
    782845where $\Pi_{eq}$ stands for the equilibrium tidal forcing and $\Pi_{sal}$ a self-attraction and loading term (SAL).  
    783846  
    784 The equilibrium tidal forcing is expressed as a sum over the chosen constituents $l$ in \ngn{nam\_tide}. The constituents are defined such that \np{clname(1) = 'M2', clname(2)='S2', etc...}. For the three types of tidal frequencies it reads : \\ 
     847The equilibrium tidal forcing is expressed as a sum over the chosen constituents $l$ in \ngn{nam\_tide}. 
     848The constituents are defined such that \np{clname(1) = 'M2', clname(2)='S2', etc...}. 
     849For the three types of tidal frequencies it reads: \\ 
    785850Long period tides : 
    786851\begin{equation} 
     
    795860\Pi_{eq}(l)=A_{l}(1+k-h)(cos^{2}\phi)cos(\omega_{l}t+2\lambda+V_{l}) 
    796861\end{equation} 
    797 Here $A_{l}$ is the amplitude, $\omega_{l}$ is the frequency, $\phi$ the latitude, $\lambda$ the longitude, $V_{0l}$ a phase shift with respect to Greenwich meridian and $t$ the time. The Love number factor $(1+k-h)$ is here taken as a constant (0.7). 
    798  
    799 The SAL term should in principle be computed online as it depends on the model tidal prediction itself (see \citet{Arbic2004} for a discussion about the practical implementation of this term). Nevertheless, the complex calculations involved would make this computationally too expensive. Here, practical solutions are whether to read complex estimates $\Pi_{sal}(l)$ from an external model (\np{ln\_read\_load=.true.}) or use a ``scalar approximation'' (\np{ln\_scal\_load=.true.}). In the latter case, it reads:\\ 
     862Here $A_{l}$ is the amplitude, $\omega_{l}$ is the frequency, $\phi$ the latitude, $\lambda$ the longitude, 
     863$V_{0l}$ a phase shift with respect to Greenwich meridian and $t$ the time. 
     864The Love number factor $(1+k-h)$ is here taken as a constant (0.7). 
     865 
     866The SAL term should in principle be computed online as it depends on the model tidal prediction itself 
     867(see \citet{Arbic2004} for a discussion about the practical implementation of this term). 
     868Nevertheless, the complex calculations involved would make this computationally too expensive. 
     869Here, practical solutions are whether to read complex estimates $\Pi_{sal}(l)$ from an external model 
     870(\np{ln\_read\_load=.true.}) or use a ``scalar approximation'' (\np{ln\_scal\_load=.true.}). 
     871In the latter case, it reads:\\ 
    800872\begin{equation} 
    801873\Pi_{sal} = \beta \eta 
    802874\end{equation} 
    803 where $\beta$ (\np{rn\_scal\_load}, $\approx0.09$) is a spatially constant scalar, often chosen to minimize tidal prediction errors. Setting both \np{ln\_read\_load} and \np{ln\_scal\_load} to false removes the SAL contribution. 
     875where $\beta$ (\np{rn\_scal\_load}, $\approx0.09$) is a spatially constant scalar, 
     876often chosen to minimize tidal prediction errors. 
     877Setting both \np{ln\_read\_load} and \np{ln\_scal\_load} to false removes the SAL contribution. 
    804878 
    805879% ================================================================ 
     
    834908River runoff generally enters the ocean at a nonzero depth rather than through the surface. 
    835909Many models, however, have traditionally inserted river runoff to the top model cell. 
    836 This was the case in \NEMO prior to the version 3.3, and was combined with an option  
    837 to increase vertical mixing near the river mouth. 
    838  
    839 However, with this method numerical and physical problems arise when the top grid cells are  
    840 of the order of one meter. This situation is common in coastal modelling and is becoming  
    841 more common in open ocean and climate modelling  
    842 \footnote{At least a top cells thickness of 1~meter and a 3 hours forcing frequency are 
    843 required to properly represent the diurnal cycle \citep{Bernie_al_JC05}. see also \autoref{fig:SBC_dcy}.}. 
    844  
    845 As such from V~3.3 onwards it is possible to add river runoff through a non-zero depth, and for the  
    846 temperature and salinity of the river to effect the surrounding ocean. 
    847 The user is able to specify, in a NetCDF input file, the temperature and salinity of the river, along with the    
    848 depth (in metres) which the river should be added to. 
    849  
    850 Namelist variables in \ngn{namsbc\_rnf}, \np{ln\_rnf\_depth}, \np{ln\_rnf\_sal} and \np{ln\_rnf\_temp} control whether  
    851 the river attributes (depth, salinity and temperature) are read in and used.  If these are set  
    852 as false the river is added to the surface box only, assumed to be fresh (0~psu), and/or  
    853 taken as surface temperature respectively. 
     910This was the case in \NEMO prior to the version 3.3, 
     911and was combined with an option to increase vertical mixing near the river mouth. 
     912 
     913However, with this method numerical and physical problems arise when the top grid cells are of the order of one meter. 
     914This situation is common in coastal modelling and is becoming more common in open ocean and climate modelling  
     915\footnote{ 
     916  At least a top cells thickness of 1~meter and a 3 hours forcing frequency are required to 
     917  properly represent the diurnal cycle \citep{Bernie_al_JC05}. 
     918  see also \autoref{fig:SBC_dcy}.}. 
     919 
     920As such from V~3.3 onwards it is possible to add river runoff through a non-zero depth, 
     921and for the temperature and salinity of the river to effect the surrounding ocean. 
     922The user is able to specify, in a NetCDF input file, the temperature and salinity of the river, 
     923along with the depth (in metres) which the river should be added to. 
     924 
     925Namelist variables in \ngn{namsbc\_rnf}, \np{ln\_rnf\_depth}, \np{ln\_rnf\_sal} and 
     926\np{ln\_rnf\_temp} control whether the river attributes (depth, salinity and temperature) are read in and used. 
     927If these are set as false the river is added to the surface box only, assumed to be fresh (0~psu), 
     928and/or taken as surface temperature respectively. 
    854929 
    855930The runoff value and attributes are read in in sbcrnf.   
    856 For temperature -999 is taken as missing data and the river temperature is taken to be the  
    857 surface temperatue at the river point. 
     931For temperature -999 is taken as missing data and the river temperature is taken to 
     932be the surface temperatue at the river point. 
    858933For the depth parameter a value of -1 means the river is added to the surface box only,  
    859934and a value of -999 means the river is added through the entire water column.  
    860 After being read in the temperature and salinity variables are multiplied by the amount of runoff (converted into m/s)  
    861 to give the heat and salt content of the river runoff. 
    862 After the user specified depth is read ini, the number of grid boxes this corresponds to is  
    863 calculated and stored in the variable \np{nz\_rnf}. 
    864 The variable \textit{h\_dep} is then calculated to be the depth (in metres) of the bottom of the  
    865 lowest box the river water is being added to (i.e. the total depth that river water is being added to in the model). 
    866  
    867 The mass/volume addition due to the river runoff is, at each relevant depth level, added to the horizontal divergence  
    868 (\textit{hdivn}) in the subroutine \rou{sbc\_rnf\_div} (called from \mdl{divcur}). 
     935After being read in the temperature and salinity variables are multiplied by the amount of runoff 
     936(converted into m/s) to give the heat and salt content of the river runoff. 
     937After the user specified depth is read ini, 
     938the number of grid boxes this corresponds to is calculated and stored in the variable \np{nz\_rnf}. 
     939The variable \textit{h\_dep} is then calculated to be the depth (in metres) of 
     940the bottom of the lowest box the river water is being added to 
     941(i.e. the total depth that river water is being added to in the model). 
     942 
     943The mass/volume addition due to the river runoff is, at each relevant depth level, added to 
     944the horizontal divergence (\textit{hdivn}) in the subroutine \rou{sbc\_rnf\_div} (called from \mdl{divcur}). 
    869945This increases the diffusion term in the vicinity of the river, thereby simulating a momentum flux. 
    870 The sea surface height is calculated using the sum of the horizontal divergence terms, and so the  
    871 river runoff indirectly forces an increase in sea surface height.  
     946The sea surface height is calculated using the sum of the horizontal divergence terms, 
     947and so the river runoff indirectly forces an increase in sea surface height.  
    872948 
    873949The \textit{hdivn} terms are used in the tracer advection modules to force vertical velocities. 
    874 This causes a mass of water, equal to the amount of runoff, to be moved into the box above.  
    875 The heat and salt content of the river runoff is not included in this step, and so the tracer  
    876 concentrations are diluted as water of ocean temperature and salinity is moved upward out of the box  
    877 and replaced by the same volume of river water with no corresponding heat and salt addition. 
    878  
    879 For the linear free surface case, at the surface box the tracer advection causes a flux of water  
    880 (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. 
     950This causes a mass of water, equal to the amount of runoff, to be moved into the box above. 
     951The heat and salt content of the river runoff is not included in this step, 
     952and so the tracer concentrations are diluted as water of ocean temperature and salinity is moved upward out of 
     953the box and replaced by the same volume of river water with no corresponding heat and salt addition. 
     954 
     955For the linear free surface case, at the surface box the tracer advection causes a flux of water 
     956(of equal volume to the runoff) through the sea surface out of the domain, 
     957which causes a salt and heat flux out of the model. 
    881958As such the volume of water does not change, but the water is diluted. 
    882959 
    883960For the non-linear free surface case (\key{vvl}), no flux is allowed through the surface. 
    884 Instead in the surface box (as well as water moving up from the boxes below) a volume of runoff water  
    885 is added with no corresponding heat and salt addition and so as happens in the lower boxes there is a dilution effect. 
    886 (The runoff addition to the top box along with the water being moved up through boxes below means the surface box has a large  
    887 increase in volume, whilst all other boxes remain the same size) 
     961Instead in the surface box (as well as water moving up from the boxes below) a volume of runoff water is added with 
     962no corresponding heat and salt addition and so as happens in the lower boxes there is a dilution effect. 
     963(The runoff addition to the top box along with the water being moved up through 
     964boxes below means the surface box has a large increase in volume, whilst all other boxes remain the same size) 
    888965 
    889966In trasbc the addition of heat and salt due to the river runoff is added. 
    890967This is done in the same way for both vvl and non-vvl. 
    891 The temperature and salinity are increased through the specified depth according to the heat and salt content of the river.  
    892  
    893 In the non-linear free surface case (vvl), near the end of the time step the change in sea surface height is redistrubuted  
    894 through the grid boxes, so that the original ratios of grid box heights are restored. 
    895 In 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. 
    896  
    897 It 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. 
    898 When 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.  
     968The temperature and salinity are increased through the specified depth according to 
     969the heat and salt content of the river.  
     970 
     971In the non-linear free surface case (vvl), 
     972near the end of the time step the change in sea surface height is redistrubuted through the grid boxes, 
     973so that the original ratios of grid box heights are restored. 
     974In doing this water is moved into boxes below, throughout the water column, 
     975so the large volume addition to the surface box is spread between all the grid boxes. 
     976 
     977It is also possible for runnoff to be specified as a negative value for modelling flow through straits, 
     978i.e. modelling the Baltic flow in and out of the North Sea. 
     979When the flow is out of the domain there is no change in temperature and salinity, 
     980regardless of the namelist options used, 
     981as the ocean water leaving the domain removes heat and salt (at the same concentration) with it.  
    899982 
    900983 
     
    9311014\begin{description} 
    9321015\item[\np{nn\_isf}\forcode{ = 1}] 
    933 The ice shelf cavity is represented (\np{ln\_isfcav}\forcode{ = .true.} needed). The fwf and heat flux are computed.  
    934 Two different bulk formula are available: 
     1016  The ice shelf cavity is represented (\np{ln\_isfcav}\forcode{ = .true.} needed). 
     1017  The fwf and heat flux are computed. 
     1018  Two different bulk formula are available: 
    9351019   \begin{description} 
    9361020   \item[\np{nn\_isfblk}\forcode{ = 1}] 
    937    The bulk formula used to compute the melt is based the one described in \citet{Hunter2006}. 
    938         This formulation is based on a balance between the upward ocean heat flux and the latent heat flux at the ice shelf base. 
    939  
    940    \item[\np{nn\_isfblk}\forcode{ = 2}]  
    941    The bulk formula used to compute the melt is based the one described in \citet{Jenkins1991}. 
    942         This formulation is based on a 3 equations formulation (a heat flux budget, a salt flux budget 
    943          and a linearised freezing point temperature equation). 
     1021     The bulk formula used to compute the melt is based the one described in \citet{Hunter2006}. 
     1022     This formulation is based on a balance between the upward ocean heat flux and 
     1023     the latent heat flux at the ice shelf base. 
     1024   \item[\np{nn\_isfblk}\forcode{ = 2}] 
     1025     The bulk formula used to compute the melt is based the one described in \citet{Jenkins1991}. 
     1026     This formulation is based on a 3 equations formulation 
     1027     (a heat flux budget, a salt flux budget and a linearised freezing point temperature equation). 
    9441028   \end{description} 
    945  
    946 For this 2 bulk formulations, there are 3 different ways to compute the exchange coeficient: 
     1029   For this 2 bulk formulations, there are 3 different ways to compute the exchange coeficient: 
    9471030   \begin{description} 
    948         \item[\np{nn\_gammablk}\forcode{ = 0}] 
    949    The salt and heat exchange coefficients are constant and defined by \np{rn\_gammas0} and \np{rn\_gammat0} 
    950  
     1031   \item[\np{nn\_gammablk}\forcode{ = 0}] 
     1032     The salt and heat exchange coefficients are constant and defined by \np{rn\_gammas0} and \np{rn\_gammat0} 
    9511033   \item[\np{nn\_gammablk}\forcode{ = 1}] 
    952    The salt and heat exchange coefficients are velocity dependent and defined as \np{rn\_gammas0}$ \times u_{*}$ and \np{rn\_gammat0}$ \times u_{*}$ 
    953         where $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn\_hisf\_tbl} meters). 
    954         See \citet{Jenkins2010} for all the details on this formulation. 
    955     
     1034     The salt and heat exchange coefficients are velocity dependent and defined as 
     1035     \np{rn\_gammas0}$ \times u_{*}$ and \np{rn\_gammat0}$ \times u_{*}$ where 
     1036     $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn\_hisf\_tbl} meters). 
     1037     See \citet{Jenkins2010} for all the details on this formulation. 
    9561038   \item[\np{nn\_gammablk}\forcode{ = 2}] 
    957    The salt and heat exchange coefficients are velocity and stability dependent and defined as  
    958         $\gamma_{T,S} = \frac{u_{*}}{\Gamma_{Turb} + \Gamma^{T,S}_{Mole}}$ 
    959         where $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn\_hisf\_tbl} meters),  
    960         $\Gamma_{Turb}$ the contribution of the ocean stability and  
    961         $\Gamma^{T,S}_{Mole}$ the contribution of the molecular diffusion. 
    962         See \citet{Holland1999} for all the details on this formulation. 
    963         \end{description} 
    964  
    965 \item[\np{nn\_isf}\forcode{ = 2}] 
    966 A parameterisation of isf is used. The ice shelf cavity is not represented.  
    967 The fwf is distributed along the ice shelf edge between the depth of the average grounding line (GL) 
    968 (\np{sn\_depmax\_isf}) and the base of the ice shelf along the calving front (\np{sn\_depmin\_isf}) as in (\np{nn\_isf}\forcode{ = 3}).  
    969 Furthermore the fwf and heat flux are computed using the \citet{Beckmann2003} parameterisation of isf melting.  
    970 The effective melting length (\np{sn\_Leff\_isf}) is read from a file. 
    971  
    972 \item[\np{nn\_isf}\forcode{ = 3}] 
    973 A simple parameterisation of isf is used. The ice shelf cavity is not represented.  
    974 The fwf (\np{sn\_rnfisf}) is prescribed and distributed along the ice shelf edge between the depth of the average grounding line (GL) 
    975 (\np{sn\_depmax\_isf}) and the base of the ice shelf along the calving front (\np{sn\_depmin\_isf}).  
    976 The heat flux ($Q_h$) is computed as $Q_h = fwf \times L_f$. 
    977  
    978 \item[\np{nn\_isf}\forcode{ = 4}] 
    979 The ice shelf cavity is opened (\np{ln\_isfcav}\forcode{ = .true.} needed). However, the fwf is not computed but specified from file \np{sn\_fwfisf}).  
    980 The heat flux ($Q_h$) is computed as $Q_h = fwf \times L_f$.\\ 
     1039     The salt and heat exchange coefficients are velocity and stability dependent and defined as 
     1040     $\gamma_{T,S} = \frac{u_{*}}{\Gamma_{Turb} + \Gamma^{T,S}_{Mole}}$ where 
     1041     $u_{*}$ is the friction velocity in the top boundary layer (ie first \np{rn\_hisf\_tbl} meters), 
     1042     $\Gamma_{Turb}$ the contribution of the ocean stability and 
     1043     $\Gamma^{T,S}_{Mole}$ the contribution of the molecular diffusion. 
     1044     See \citet{Holland1999} for all the details on this formulation. 
     1045   \end{description} 
     1046 \item[\np{nn\_isf}\forcode{ = 2}] 
     1047   A parameterisation of isf is used. The ice shelf cavity is not represented. 
     1048   The fwf is distributed along the ice shelf edge between the depth of the average grounding line (GL) 
     1049   (\np{sn\_depmax\_isf}) and the base of the ice shelf along the calving front 
     1050   (\np{sn\_depmin\_isf}) as in (\np{nn\_isf}\forcode{ = 3}). 
     1051   Furthermore the fwf and heat flux are computed using the \citet{Beckmann2003} parameterisation of isf melting. 
     1052   The effective melting length (\np{sn\_Leff\_isf}) is read from a file. 
     1053 \item[\np{nn\_isf}\forcode{ = 3}] 
     1054   A simple parameterisation of isf is used. The ice shelf cavity is not represented. 
     1055   The fwf (\np{sn\_rnfisf}) is prescribed and distributed along the ice shelf edge between 
     1056   the depth of the average grounding line (GL) (\np{sn\_depmax\_isf}) and 
     1057   the base of the ice shelf along the calving front (\np{sn\_depmin\_isf}). 
     1058   The heat flux ($Q_h$) is computed as $Q_h = fwf \times L_f$. 
     1059 \item[\np{nn\_isf}\forcode{ = 4}] 
     1060   The ice shelf cavity is opened (\np{ln\_isfcav}\forcode{ = .true.} needed). 
     1061   However, the fwf is not computed but specified from file \np{sn\_fwfisf}). 
     1062   The heat flux ($Q_h$) is computed as $Q_h = fwf \times L_f$.\\ 
    9811063\end{description} 
    9821064 
    983  
    984 $\bullet$ \np{nn\_isf}\forcode{ = 1} and \np{nn\_isf}\forcode{ = 2} compute a melt rate based on the water mass properties, ocean velocities and depth. 
    985  This flux is thus highly dependent of the model resolution (horizontal and vertical), realism of the water masses onto the shelf ...\\ 
    986  
    987  
    988 $\bullet$ \np{nn\_isf}\forcode{ = 3} and \np{nn\_isf}\forcode{ = 4} read the melt rate from a file. You have total control of the fwf forcing. 
    989 This can be usefull if the water masses on the shelf are not realistic or the resolution (horizontal/vertical) are too  
    990 coarse to have realistic melting or for studies where you need to control your heat and fw input.\\  
    991  
    992 A namelist parameters control over how many meters the heat and fw fluxes are spread.  
    993 \np{rn\_hisf\_tbl}] is the top boundary layer thickness as defined in \citet{Losch2008}.  
    994 This parameter is only used if \np{nn\_isf}\forcode{ = 1} or \np{nn\_isf}\forcode{ = 4} 
     1065$\bullet$ \np{nn\_isf}\forcode{ = 1} and \np{nn\_isf}\forcode{ = 2} compute a melt rate based on 
     1066the water mass properties, ocean velocities and depth. 
     1067This flux is thus highly dependent of the model resolution (horizontal and vertical), 
     1068realism of the water masses onto the shelf ...\\ 
     1069 
     1070$\bullet$ \np{nn\_isf}\forcode{ = 3} and \np{nn\_isf}\forcode{ = 4} read the melt rate from a file. 
     1071You have total control of the fwf forcing. 
     1072This can be useful if the water masses on the shelf are not realistic or 
     1073the resolution (horizontal/vertical) are too coarse to have realistic melting or 
     1074for studies where you need to control your heat and fw input.\\  
     1075 
     1076A namelist parameters control over how many meters the heat and fw fluxes are spread. 
     1077\np{rn\_hisf\_tbl}] is the top boundary layer thickness as defined in \citet{Losch2008}. 
     1078This parameter is only used if \np{nn\_isf}\forcode{ = 1} or \np{nn\_isf}\forcode{ = 4}. 
    9951079 
    9961080If \np{rn\_hisf\_tbl}\forcode{ = 0}., the fluxes are put in the top level whatever is its tickness.  
    9971081 
    998 If \np{rn\_hisf\_tbl} $>$ 0., the fluxes are spread over the first \np{rn\_hisf\_tbl} m (ie over one or several cells).\\ 
     1082If \np{rn\_hisf\_tbl} $>$ 0., the fluxes are spread over the first \np{rn\_hisf\_tbl} m 
     1083(ie over one or several cells).\\ 
    9991084 
    10001085The ice shelf melt is implemented as a volume flux with in the same way as for the runoff. 
    1001 The fw addition due to the ice shelf melting is, at each relevant depth level, added to the horizontal divergence  
    1002 (\textit{hdivn}) in the subroutine \rou{sbc\_isf\_div}, called from \mdl{divcur}.  
    1003 See the runoff section \autoref{sec:SBC_rnf} for all the details about the divergence correction.  
     1086The fw addition due to the ice shelf melting is, at each relevant depth level, added to 
     1087the horizontal divergence (\textit{hdivn}) in the subroutine \rou{sbc\_isf\_div}, called from \mdl{divcur}. 
     1088See the runoff section \autoref{sec:SBC_rnf} for all the details about the divergence correction. 
    10041089 
    10051090 
     
    10101095\nlst{namsbc_iscpl} 
    10111096%-------------------------------------------------------------------------------------------------------- 
    1012 Ice sheet/ocean coupling is done through file exchange at the restart step. NEMO, at each restart step,  
    1013 read the bathymetry and ice shelf draft variable in a netcdf file.  
    1014 If \np{ln\_iscpl}\forcode{ = .true.}, the isf draft is assume to be different at each restart step  
    1015 with potentially some new wet/dry cells due to the ice sheet dynamics/thermodynamics. 
     1097Ice sheet/ocean coupling is done through file exchange at the restart step. 
     1098NEMO, at each restart step, read the bathymetry and ice shelf draft variable in a netcdf file. 
     1099If \np{ln\_iscpl}\forcode{ = .true.}, the isf draft is assume to be different at each restart step with 
     1100potentially some new wet/dry cells due to the ice sheet dynamics/thermodynamics. 
    10161101The wetting and drying scheme applied on the restart is very simple and described below for the 6 different cases: 
    10171102\begin{description} 
    10181103\item[Thin a cell down:] 
    1019    T/S/ssh are unchanged and U/V in the top cell are corrected to keep the barotropic transport (bt) constant ($bt_b=bt_n$). 
     1104  T/S/ssh are unchanged and U/V in the top cell are corrected to keep the barotropic transport (bt) constant 
     1105  ($bt_b=bt_n$). 
    10201106\item[Enlarge  a cell:] 
    1021    See case "Thin a cell down" 
     1107  See case "Thin a cell down" 
    10221108\item[Dry a cell:] 
    1023    mask, T/S, U/V and ssh are set to 0. Furthermore, U/V into the water column are modified to satisfy ($bt_b=bt_n$). 
     1109  mask, T/S, U/V and ssh are set to 0. 
     1110  Furthermore, U/V into the water column are modified to satisfy ($bt_b=bt_n$). 
    10241111\item[Wet a cell:]  
    1025    mask is set to 1, T/S is extrapolated from neighbours, $ssh_n = ssh_b$ and U/V set to 0. If no neighbours along i,j and k, T/S/U/V and mask are set to 0. 
     1112  mask is set to 1, T/S is extrapolated from neighbours, $ssh_n = ssh_b$ and U/V set to 0. 
     1113  If no neighbours along i,j and k, T/S/U/V and mask are set to 0. 
    10261114\item[Dry a column:] 
    10271115   mask, T/S, U/V are set to 0 everywhere in the column and ssh set to 0. 
    10281116\item[Wet a column:] 
    1029    set mask to 1, T/S is extrapolated from neighbours, ssh is extrapolated from neighbours and U/V set to 0. If no neighbour, T/S/U/V and mask set to 0. 
     1117  set mask to 1, T/S is extrapolated from neighbours, ssh is extrapolated from neighbours and U/V set to 0. 
     1118  If no neighbour, T/S/U/V and mask set to 0. 
    10301119\end{description} 
    1031 The extrapolation is call \np{nn\_drown} times. It means that if the grounding line retreat by more than \np{nn\_drown} cells between 2 coupling steps, 
    1032  the code will be unable to fill all the new wet cells properly. The default number is set up for the MISOMIP idealised experiments.\\ 
    1033 This coupling procedure is able to take into account grounding line and calving front migration. However, it is a non-conservative processe.  
    1034 This could lead to a trend in heat/salt content and volume. In order to remove the trend and keep the conservation level as close to 0 as possible, 
    1035  a simple conservation scheme is available with \np{ln\_hsb}\forcode{ = .true.}. The heat/salt/vol. gain/loss is diagnose, as well as the location.  
    1036 Based on what is done on sbcrnf to prescribed a source of heat/salt/vol., the heat/salt/vol. gain/loss is removed/added, 
    1037  over a period of \np{rn\_fiscpl} time step, into the system.  
     1120The extrapolation is call \np{nn\_drown} times. 
     1121It means that if the grounding line retreat by more than \np{nn\_drown} cells between 2 coupling steps, 
     1122the code will be unable to fill all the new wet cells properly. 
     1123The default number is set up for the MISOMIP idealised experiments.\\ 
     1124This coupling procedure is able to take into account grounding line and calving front migration. 
     1125However, it is a non-conservative processe.  
     1126This could lead to a trend in heat/salt content and volume. 
     1127In order to remove the trend and keep the conservation level as close to 0 as possible, 
     1128a simple conservation scheme is available with \np{ln\_hsb}\forcode{ = .true.}. 
     1129The heat/salt/vol. gain/loss is diagnose, as well as the location. 
     1130Based on what is done on sbcrnf to prescribed a source of heat/salt/vol., 
     1131the heat/salt/vol. gain/loss is removed/added, over a period of \np{rn\_fiscpl} time step, into the system.  
    10381132So after \np{rn\_fiscpl} time step, all the heat/salt/vol. gain/loss due to extrapolation process is canceled.\\ 
    10391133 
    1040 As the before and now fields are not compatible (modification of the geometry), the restart time step is prescribed to be an euler time step instead of a leap frog and $fields_b = fields_n$. 
     1134As the before and now fields are not compatible (modification of the geometry), 
     1135the restart time step is prescribed to be an euler time step instead of a leap frog and $fields_b = fields_n$. 
    10411136% 
    10421137% ================================================================ 
     
    10531148Their physical behaviour is controlled by equations as described in \citet{Martin_Adcroft_OM10} ). 
    10541149(Note that the authors kindly provided a copy of their code to act as a basis for implementation in NEMO). 
    1055 Icebergs are initially spawned into one of ten classes which have specific mass and thickness as described  
    1056 in the \ngn{namberg} namelist:  
    1057 \np{rn\_initial\_mass} and \np{rn\_initial\_thickness}. 
    1058 Each class has an associated scaling (\np{rn\_mass\_scaling}), which is an integer representing how many icebergs  
    1059 of this class are being described as one lagrangian point (this reduces the numerical problem of tracking every single iceberg). 
     1150Icebergs are initially spawned into one of ten classes which have specific mass and thickness as 
     1151described in the \ngn{namberg} namelist: \np{rn\_initial\_mass} and \np{rn\_initial\_thickness}. 
     1152Each class has an associated scaling (\np{rn\_mass\_scaling}), 
     1153which is an integer representing how many icebergs of this class are being described as one lagrangian point 
     1154(this reduces the numerical problem of tracking every single iceberg). 
    10601155They are enabled by setting \np{ln\_icebergs}\forcode{ = .true.}. 
    10611156 
     
    10631158\begin{description} 
    10641159\item[\np{nn\_test\_icebergs}~$>$~0] 
    1065 In this scheme, the value of \np{nn\_test\_icebergs} represents the class of iceberg to generate  
    1066 (so between 1 and 10), and \np{nn\_test\_icebergs} provides a lon/lat box in the domain at each  
    1067 grid point of which an iceberg is generated at the beginning of the run.  
    1068 (Note that this happens each time the timestep equals \np{nn\_nit000}.) 
    1069 \np{nn\_test\_icebergs} is defined by four numbers in \np{nn\_test\_box} representing the corners  
    1070 of the geographical box: lonmin,lonmax,latmin,latmax 
     1160  In this scheme, the value of \np{nn\_test\_icebergs} represents the class of iceberg to generate 
     1161  (so between 1 and 10), and \np{nn\_test\_icebergs} provides a lon/lat box in the domain at each grid point of 
     1162  which an iceberg is generated at the beginning of the run. 
     1163  (Note that this happens each time the timestep equals \np{nn\_nit000}.) 
     1164  \np{nn\_test\_icebergs} is defined by four numbers in \np{nn\_test\_box} representing the corners of 
     1165  the geographical box: lonmin,lonmax,latmin,latmax 
    10711166\item[\np{nn\_test\_icebergs}\forcode{ = -1}] 
    1072 In this scheme the model reads a calving file supplied in the \np{sn\_icb} parameter. 
    1073 This should be a file with a field on the configuration grid (typically ORCA) representing ice accumulation rate at each model point.  
    1074 These should be ocean points adjacent to land where icebergs are known to calve. 
    1075 Most points in this input grid are going to have value zero. 
    1076 When the model runs, ice is accumulated at each grid point which has a non-zero source term. 
    1077 At each time step, a test is performed to see if there is enough ice mass to calve an iceberg of each class in order (1 to 10). 
    1078 Note that this is the initial mass multiplied by the number each particle represents ($i.e.$ the scaling). 
    1079 If there is enough ice, a new iceberg is spawned and the total available ice reduced accordingly. 
     1167  In this scheme the model reads a calving file supplied in the \np{sn\_icb} parameter. 
     1168  This should be a file with a field on the configuration grid (typically ORCA) 
     1169  representing ice accumulation rate at each model point. 
     1170  These should be ocean points adjacent to land where icebergs are known to calve. 
     1171  Most points in this input grid are going to have value zero. 
     1172  When the model runs, ice is accumulated at each grid point which has a non-zero source term. 
     1173  At each time step, a test is performed to see if there is enough ice mass to 
     1174  calve an iceberg of each class in order (1 to 10). 
     1175  Note that this is the initial mass multiplied by the number each particle represents ($i.e.$ the scaling). 
     1176  If there is enough ice, a new iceberg is spawned and the total available ice reduced accordingly. 
    10801177\end{description} 
    10811178 
    10821179Icebergs are influenced by wind, waves and currents, bottom melt and erosion. 
    1083 The latter act to disintegrate the iceberg. This is either all melted freshwater, or  
    1084 (if \np{rn\_bits\_erosion\_fraction}~$>$~0) into melt and additionally small ice bits 
     1180The latter act to disintegrate the iceberg. 
     1181This is either all melted freshwater, 
     1182or (if \np{rn\_bits\_erosion\_fraction}~$>$~0) into melt and additionally small ice bits 
    10851183which are assumed to propagate with their larger parent and thus delay fluxing into the ocean. 
    10861184Melt water (and other variables on the configuration grid) are written into the main NEMO model output files. 
     
    10911189The amount of information is controlled by two integer parameters: 
    10921190\begin{description} 
    1093 \item[\np{nn\_verbose\_level}]  takes a value between one and four and represents  
    1094 an increasing number of points in the code at which variables are written, and an  
    1095 increasing level of obscurity. 
     1191\item[\np{nn\_verbose\_level}] takes a value between one and four and 
     1192  represents an increasing number of points in the code at which variables are written, 
     1193  and an increasing level of obscurity. 
    10961194\item[\np{nn\_verbose\_write}] is the number of timesteps between writes 
    10971195\end{description} 
     
    11021200When \key{mpp\_mpi} is defined, each output file contains only those icebergs in the corresponding processor. 
    11031201Trajectory points are written out in the order of their parent iceberg in the model's "linked list" of icebergs. 
    1104 So care is needed to recreate data for individual icebergs, since its trajectory data may be spread across 
    1105 multiple files. 
     1202So care is needed to recreate data for individual icebergs, 
     1203since its trajectory data may be spread across multiple files. 
    11061204 
    11071205 
     
    11251223\begin{figure}[!t]    \begin{center} 
    11261224\includegraphics[width=0.8\textwidth]{Fig_SBC_diurnal} 
    1127 \caption{ \protect\label{fig:SBC_diurnal}     
    1128 Example of recontruction of the diurnal cycle variation of short wave flux   
    1129 from daily mean values. The reconstructed diurnal cycle (black line) is chosen  
    1130 as the mean value of the analytical cycle (blue line) over a time step, not  
    1131 as the mid time step value of the analytically cycle (red square). From \citet{Bernie_al_CD07}.} 
     1225\caption{ \protect\label{fig:SBC_diurnal} 
     1226  Example of recontruction of the diurnal cycle variation of short wave flux from daily mean values. 
     1227  The reconstructed diurnal cycle (black line) is chosen as 
     1228  the mean value of the analytical cycle (blue line) over a time step, 
     1229  not as the mid time step value of the analytically cycle (red square). 
     1230  From \citet{Bernie_al_CD07}.} 
    11321231\end{center}   \end{figure} 
    11331232%>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    11341233 
    1135 \cite{Bernie_al_JC05} have shown that to capture 90$\%$ of the diurnal variability of  
    1136 SST requires a vertical resolution in upper ocean of 1~m or better and a temporal resolution  
    1137 of the surface fluxes of 3~h or less. Unfortunately high frequency forcing fields are rare,  
    1138 not to say inexistent. Nevertheless, it is possible to obtain a reasonable diurnal cycle  
    1139 of the SST knowning only short wave flux (SWF) at high frequency \citep{Bernie_al_CD07}. 
    1140 Furthermore, only the knowledge of daily mean value of SWF is needed,  
    1141 as higher frequency variations can be reconstructed from them, assuming that  
    1142 the diurnal cycle of SWF is a scaling of the top of the atmosphere diurnal cycle  
    1143 of incident SWF. The \cite{Bernie_al_CD07} reconstruction algorithm is available 
    1144 in \NEMO by setting \np{ln\_dm2dc}\forcode{ = .true.} (a \textit{\ngn{namsbc}} namelist variable) when using  
    1145 CORE bulk formulea (\np{ln\_blk\_core}\forcode{ = .true.}) or the flux formulation (\np{ln\_flx}\forcode{ = .true.}).  
    1146 The reconstruction is performed in the \mdl{sbcdcy} module. The detail of the algoritm used  
    1147 can be found in the appendix~A of \cite{Bernie_al_CD07}. The algorithm preserve the daily  
    1148 mean incomming SWF as the reconstructed SWF at a given time step is the mean value  
    1149 of the analytical cycle over this time step (\autoref{fig:SBC_diurnal}).  
    1150 The use of diurnal cycle reconstruction requires the input SWF to be daily  
     1234\cite{Bernie_al_JC05} have shown that to capture 90$\%$ of the diurnal variability of SST requires a vertical resolution in upper ocean of 1~m or better and a temporal resolution of the surface fluxes of 3~h or less. 
     1235Unfortunately high frequency forcing fields are rare, not to say inexistent. 
     1236Nevertheless, it is possible to obtain a reasonable diurnal cycle of the SST knowning only short wave flux (SWF) at 
     1237high frequency \citep{Bernie_al_CD07}. 
     1238Furthermore, only the knowledge of daily mean value of SWF is needed, 
     1239as higher frequency variations can be reconstructed from them, 
     1240assuming that the diurnal cycle of SWF is a scaling of the top of the atmosphere diurnal cycle of incident SWF. 
     1241The \cite{Bernie_al_CD07} reconstruction algorithm is available in \NEMO by 
     1242setting \np{ln\_dm2dc}\forcode{ = .true.} (a \textit{\ngn{namsbc}} namelist variable) when 
     1243using CORE bulk formulea (\np{ln\_blk\_core}\forcode{ = .true.}) or 
     1244the flux formulation (\np{ln\_flx}\forcode{ = .true.}). 
     1245The reconstruction is performed in the \mdl{sbcdcy} module. 
     1246The detail of the algoritm used can be found in the appendix~A of \cite{Bernie_al_CD07}. 
     1247The algorithm preserve the daily mean incoming SWF as the reconstructed SWF at 
     1248a given time step is the mean value of the analytical cycle over this time step (\autoref{fig:SBC_diurnal}). 
     1249The use of diurnal cycle reconstruction requires the input SWF to be daily 
    11511250($i.e.$ a frequency of 24 and a time interpolation set to true in \np{sn\_qsr} namelist parameter). 
    11521251Furthermore, it is recommended to have a least 8 surface module time step per day, 
    1153 that is  $\rdt \ nn\_fsbc < 10,800~s = 3~h$. An example of recontructed SWF  
    1154 is given in \autoref{fig:SBC_dcy} for a 12 reconstructed diurnal cycle, one every 2~hours  
    1155 (from 1am to 11pm). 
     1252that is  $\rdt \ nn\_fsbc < 10,800~s = 3~h$. 
     1253An example of recontructed SWF is given in \autoref{fig:SBC_dcy} for a 12 reconstructed diurnal cycle, 
     1254one every 2~hours (from 1am to 11pm). 
    11561255 
    11571256%>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    11581257\begin{figure}[!t]  \begin{center} 
    11591258\includegraphics[width=0.7\textwidth]{Fig_SBC_dcy} 
    1160 \caption{ \protect\label{fig:SBC_dcy}    
    1161 Example of recontruction of the diurnal cycle variation of short wave flux   
    1162 from daily mean values on an ORCA2 grid with a time sampling of 2~hours (from 1am to 11pm).  
    1163 The display is on (i,j) plane. } 
     1259\caption{ \protect\label{fig:SBC_dcy} 
     1260  Example of recontruction of the diurnal cycle variation of short wave flux from 
     1261  daily mean values on an ORCA2 grid with a time sampling of 2~hours (from 1am to 11pm). 
     1262  The display is on (i,j) plane. } 
    11641263\end{center}   \end{figure} 
    11651264%>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    11661265 
    1167 Note also that the setting a diurnal cycle in SWF is highly recommended  when  
    1168 the top layer thickness approach 1~m or less, otherwise large error in SST can  
    1169 appear due to an inconsistency between the scale of the vertical resolution  
    1170 and the forcing acting on that scale. 
     1266Note also that the setting a diurnal cycle in SWF is highly recommended when 
     1267the top layer thickness approach 1~m or less, otherwise large error in SST can appear due to 
     1268an inconsistency between the scale of the vertical resolution and the forcing acting on that scale. 
    11711269 
    11721270% ------------------------------------------------------------------------------------------------------------- 
     
    11761274\label{subsec:SBC_rotation} 
    11771275 
    1178 When using a flux (\np{ln\_flx}\forcode{ = .true.}) or bulk (\np{ln\_clio}\forcode{ = .true.} or \np{ln\_core}\forcode{ = .true.}) formulation,  
    1179 pairs of vector components can be rotated from east-north directions onto the local grid directions.   
    1180 This is particularly useful when interpolation on the fly is used since here any vectors are likely to be defined  
    1181 relative to a rectilinear grid. 
     1276When using a flux (\np{ln\_flx}\forcode{ = .true.}) or 
     1277bulk (\np{ln\_clio}\forcode{ = .true.} or \np{ln\_core}\forcode{ = .true.}) formulation, 
     1278pairs of vector components can be rotated from east-north directions onto the local grid directions. 
     1279This is particularly useful when interpolation on the fly is used since here any vectors are likely to 
     1280be defined relative to a rectilinear grid. 
    11821281To activate this option a non-empty string is supplied in the rotation pair column of the relevant namelist. 
    11831282The eastward component must start with "U" and the northward component with "V".   
    11841283The remaining characters in the strings are used to identify which pair of components go together. 
    1185 So for example, strings "U1" and "V1" next to "utau" and "vtau" would pair the wind stress components together 
    1186 and rotate them on to the model grid directions; "U2" and "V2" could be used against a second pair of components,  
    1187 and so on. 
     1284So for example, strings "U1" and "V1" next to "utau" and "vtau" would pair the wind stress components together and 
     1285rotate them on to the model grid directions; 
     1286"U2" and "V2" could be used against a second pair of components, and so on. 
    11881287The extra characters used in the strings are arbitrary. 
    11891288The rot\_rep routine from the \mdl{geo2ocean} module is used to perform the rotation. 
     
    11991298%------------------------------------------------------------------------------------------------------------- 
    12001299 
    1201 IOptions are defined through the  \ngn{namsbc\_ssr} namelist variables. 
    1202 n forced mode using a flux formulation (\np{ln\_flx}\forcode{ = .true.}), a  
    1203 feedback term \emph{must} be added to the surface heat flux $Q_{ns}^o$: 
     1300IOptions are defined through the \ngn{namsbc\_ssr} namelist variables. 
     1301On forced mode using a flux formulation (\np{ln\_flx}\forcode{ = .true.}), 
     1302a feedback term \emph{must} be added to the surface heat flux $Q_{ns}^o$: 
    12041303\begin{equation} \label{eq:sbc_dmp_q} 
    12051304Q_{ns} = Q_{ns}^o + \frac{dQ}{dT} \left( \left. T \right|_{k=1} - SST_{Obs} \right) 
    12061305\end{equation} 
    1207 where SST is a sea surface temperature field (observed or climatological), $T$ is  
    1208 the model surface layer temperature and $\frac{dQ}{dT}$ is a negative feedback  
    1209 coefficient usually taken equal to $-40~W/m^2/K$. For a $50~m$  
    1210 mixed-layer depth, this value corresponds to a relaxation time scale of two months.  
    1211 This term ensures that if $T$ perfectly matches the supplied SST, then $Q$ is  
    1212 equal to $Q_o$.  
    1213  
    1214 In the fresh water budget, a feedback term can also be added. Converted into an  
    1215 equivalent freshwater flux, it takes the following expression : 
     1306where SST is a sea surface temperature field (observed or climatological), 
     1307$T$ is the model surface layer temperature and 
     1308$\frac{dQ}{dT}$ is a negative feedback coefficient usually taken equal to $-40~W/m^2/K$. 
     1309For a $50~m$ mixed-layer depth, this value corresponds to a relaxation time scale of two months.  
     1310This term ensures that if $T$ perfectly matches the supplied SST, then $Q$ is equal to $Q_o$.  
     1311 
     1312In the fresh water budget, a feedback term can also be added. 
     1313Converted into an equivalent freshwater flux, it takes the following expression : 
    12161314 
    12171315\begin{equation} \label{eq:sbc_dmp_emp} 
     
    12201318\end{equation} 
    12211319 
    1222 where $\textit{emp}_{o }$ is a net surface fresh water flux (observed, climatological or an 
    1223 atmospheric model product), \textit{SSS}$_{Obs}$ is a sea surface salinity (usually a time  
    1224 interpolation of the monthly mean Polar Hydrographic Climatology \citep{Steele2001}),  
    1225 $\left.S\right|_{k=1}$ is the model surface layer salinity and $\gamma_s$ is a negative  
    1226 feedback coefficient which is provided as a namelist parameter. Unlike heat flux, there is no  
    1227 physical justification for the feedback term in \autoref{eq:sbc_dmp_emp} as the atmosphere  
    1228 does not care about ocean surface salinity \citep{Madec1997}. The SSS restoring  
    1229 term should be viewed as a flux correction on freshwater fluxes to reduce the  
    1230 uncertainties we have on the observed freshwater budget. 
     1320where $\textit{emp}_{o }$ is a net surface fresh water flux 
     1321(observed, climatological or an atmospheric model product), 
     1322\textit{SSS}$_{Obs}$ is a sea surface salinity 
     1323(usually a time interpolation of the monthly mean Polar Hydrographic Climatology \citep{Steele2001}), 
     1324$\left.S\right|_{k=1}$ is the model surface layer salinity and 
     1325$\gamma_s$ is a negative feedback coefficient which is provided as a namelist parameter. 
     1326Unlike heat flux, there is no physical justification for the feedback term in \autoref{eq:sbc_dmp_emp} as 
     1327the atmosphere does not care about ocean surface salinity \citep{Madec1997}. 
     1328The SSS restoring term should be viewed as a flux correction on freshwater fluxes to 
     1329reduce the uncertainties we have on the observed freshwater budget. 
    12311330 
    12321331% ------------------------------------------------------------------------------------------------------------- 
     
    12361335\label{subsec:SBC_ice-cover} 
    12371336 
    1238 The presence at the sea surface of an ice covered area modifies all the fluxes  
    1239 transmitted to the ocean. There are several way to handle sea-ice in the system  
    1240 depending on the value of the \np{nn\_ice} namelist parameter found in \ngn{namsbc} namelist.   
     1337The presence at the sea surface of an ice covered area modifies all the fluxes transmitted to the ocean. 
     1338There are several way to handle sea-ice in the system depending on 
     1339the value of the \np{nn\_ice} namelist parameter found in \ngn{namsbc} namelist. 
    12411340\begin{description} 
    1242 \item[nn{\_}ice = 0]  there will never be sea-ice in the computational domain.  
    1243 This is a typical namelist value used for tropical ocean domain. The surface fluxes  
    1244 are simply specified for an ice-free ocean. No specific things is done for sea-ice. 
    1245 \item[nn{\_}ice = 1]  sea-ice can exist in the computational domain, but no sea-ice model  
    1246 is used. An observed ice covered area is read in a file. Below this area, the SST is  
    1247 restored to the freezing point and the heat fluxes are set to $-4~W/m^2$ ($-2~W/m^2$)  
    1248 in the northern (southern) hemisphere. The associated modification of the freshwater  
    1249 fluxes are done in such a way that the change in buoyancy fluxes remains zero.  
    1250 This prevents deep convection to occur when trying to reach the freezing point  
    1251 (and so ice covered area condition) while the SSS is too large. This manner of  
    1252 managing sea-ice area, just by using si IF case, is usually referred as the \textit{ice-if}  
    1253 model. It can be found in the \mdl{sbcice{\_}if} module. 
    1254 \item[nn{\_}ice = 2 or more]  A full sea ice model is used. This model computes the  
    1255 ice-ocean fluxes, that are combined with the air-sea fluxes using the ice fraction of  
    1256 each model cell to provide the surface ocean fluxes. Note that the activation of a  
    1257 sea-ice model is is done by defining a CPP key (\key{lim3} or \key{cice}).  
    1258 The activation automatically overwrites the read value of nn{\_}ice to its appropriate  
    1259 value ($i.e.$ $2$ for LIM-3 or $3$ for CICE). 
     1341\item[nn{\_}ice = 0] 
     1342  there will never be sea-ice in the computational domain. 
     1343  This is a typical namelist value used for tropical ocean domain. 
     1344  The surface fluxes are simply specified for an ice-free ocean. 
     1345  No specific things is done for sea-ice. 
     1346\item[nn{\_}ice = 1] 
     1347  sea-ice can exist in the computational domain, but no sea-ice model is used. 
     1348  An observed ice covered area is read in a file. 
     1349  Below this area, the SST is restored to the freezing point and 
     1350  the heat fluxes are set to $-4~W/m^2$ ($-2~W/m^2$) in the northern (southern) hemisphere. 
     1351  The associated modification of the freshwater fluxes are done in such a way that 
     1352  the change in buoyancy fluxes remains zero. 
     1353  This prevents deep convection to occur when trying to reach the freezing point 
     1354  (and so ice covered area condition) while the SSS is too large. 
     1355  This manner of managing sea-ice area, just by using si IF case, 
     1356  is usually referred as the \textit{ice-if} model. 
     1357  It can be found in the \mdl{sbcice{\_}if} module. 
     1358\item[nn{\_}ice = 2 or more] 
     1359  A full sea ice model is used. 
     1360  This model computes the ice-ocean fluxes, 
     1361  that are combined with the air-sea fluxes using the ice fraction of each model cell to 
     1362  provide the surface ocean fluxes. 
     1363  Note that the activation of a sea-ice model is is done by defining a CPP key (\key{lim3} or \key{cice}). 
     1364  The activation automatically overwrites the read value of nn{\_}ice to its appropriate value 
     1365  ($i.e.$ $2$ for LIM-3 or $3$ for CICE). 
    12601366\end{description} 
    12611367 
     
    12651371\label{subsec:SBC_cice} 
    12661372 
    1267 It is now possible to couple a regional or global NEMO configuration (without AGRIF) to the CICE sea-ice 
    1268 model by using \key{cice}.  The CICE code can be obtained from  
    1269 \href{http://oceans11.lanl.gov/trac/CICE/}{LANL} and the additional 'hadgem3' drivers will be required,  
    1270 even with the latest code release.  Input grid files consistent with those used in NEMO will also be needed,  
    1271 and CICE CPP keys \textbf{ORCA\_GRID}, \textbf{CICE\_IN\_NEMO} and \textbf{coupled} should be used (seek advice from UKMO  
    1272 if necessary).  Currently the code is only designed to work when using the CORE forcing option for NEMO (with 
    1273 \textit{calc\_strair}\forcode{ = .true.} and \textit{calc\_Tsfc}\forcode{ = .true.} in the CICE name-list), or alternatively when NEMO  
    1274 is coupled to the HadGAM3 atmosphere model (with \textit{calc\_strair}\forcode{ = .false.} and \textit{calc\_Tsfc}\forcode{ = false}). 
    1275 The code is intended to be used with \np{nn\_fsbc} set to 1 (although coupling ocean and ice less frequently  
    1276 should work, it is possible the calculation of some of the ocean-ice fluxes needs to be modified slightly - the 
    1277 user should check that results are not significantly different to the standard case). 
    1278  
    1279 There are two options for the technical coupling between NEMO and CICE.  The standard version allows 
    1280 complete flexibility for the domain decompositions in the individual models, but this is at the expense of global 
    1281 gather and scatter operations in the coupling which become very expensive on larger numbers of processors. The 
    1282 alternative option (using \key{nemocice\_decomp} for both NEMO and CICE) ensures that the domain decomposition is 
    1283 identical in both models (provided domain parameters are set appropriately, and  
    1284 \textit{processor\_shape~=~square-ice} and \textit{distribution\_wght~=~block} in the CICE name-list) and allows 
    1285 much more efficient direct coupling on individual processors.  This solution scales much better although it is at  
    1286 the expense of having more idle CICE processors in areas where there is no sea ice. 
     1373It is now possible to couple a regional or global NEMO configuration (without AGRIF) 
     1374to the CICE sea-ice model by using \key{cice}. 
     1375The CICE code can be obtained from \href{http://oceans11.lanl.gov/trac/CICE/}{LANL} and 
     1376the additional 'hadgem3' drivers will be required, even with the latest code release. 
     1377Input grid files consistent with those used in NEMO will also be needed, 
     1378and CICE CPP keys \textbf{ORCA\_GRID}, \textbf{CICE\_IN\_NEMO} and \textbf{coupled} should be used 
     1379(seek advice from UKMO if necessary). 
     1380Currently the code is only designed to work when using the CORE forcing option for NEMO 
     1381(with \textit{calc\_strair}\forcode{ = .true.} and \textit{calc\_Tsfc}\forcode{ = .true.} in the CICE name-list), 
     1382or alternatively when NEMO is coupled to the HadGAM3 atmosphere model 
     1383(with \textit{calc\_strair}\forcode{ = .false.} and \textit{calc\_Tsfc}\forcode{ = false}). 
     1384The code is intended to be used with \np{nn\_fsbc} set to 1 
     1385(although coupling ocean and ice less frequently should work, 
     1386it is possible the calculation of some of the ocean-ice fluxes needs to be modified slightly - 
     1387the user should check that results are not significantly different to the standard case). 
     1388 
     1389There are two options for the technical coupling between NEMO and CICE. 
     1390The standard version allows complete flexibility for the domain decompositions in the individual models, 
     1391but this is at the expense of global gather and scatter operations in the coupling which 
     1392become very expensive on larger numbers of processors. 
     1393The alternative option (using \key{nemocice\_decomp} for both NEMO and CICE) ensures that 
     1394the domain decomposition is identical in both models (provided domain parameters are set appropriately, 
     1395and \textit{processor\_shape~=~square-ice} and \textit{distribution\_wght~=~block} in the CICE name-list) and 
     1396allows much more efficient direct coupling on individual processors. 
     1397This solution scales much better although it is at the expense of having more idle CICE processors in areas where 
     1398there is no sea ice. 
    12871399 
    12881400% ------------------------------------------------------------------------------------------------------------- 
     
    12921404\label{subsec:SBC_fwb} 
    12931405 
    1294 For global ocean simulation it can be useful to introduce a control of the mean sea  
    1295 level in order to prevent unrealistic drift of the sea surface height due to inaccuracy  
    1296 in the freshwater fluxes. In \NEMO, two way of controlling the the freshwater budget.  
     1406For global ocean simulation it can be useful to introduce a control of the mean sea level in order to 
     1407prevent unrealistic drift of the sea surface height due to inaccuracy in the freshwater fluxes. 
     1408In \NEMO, two way of controlling the the freshwater budget.  
    12971409\begin{description} 
    1298 \item[\np{nn\_fwb}\forcode{ = 0}]  no control at all. The mean sea level is free to drift, and will  
    1299 certainly do so. 
    1300 \item[\np{nn\_fwb}\forcode{ = 1}]  global mean \textit{emp} set to zero at each model time step.  
     1410\item[\np{nn\_fwb}\forcode{ = 0}] 
     1411  no control at all. 
     1412  The mean sea level is free to drift, and will certainly do so. 
     1413\item[\np{nn\_fwb}\forcode{ = 1}] 
     1414  global mean \textit{emp} set to zero at each model time step.  
    13011415%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).  
    1302 \item[\np{nn\_fwb}\forcode{ = 2}]  freshwater budget is adjusted from the previous year annual  
    1303 mean budget which is read in the \textit{EMPave\_old.dat} file. As the model uses the  
    1304 Boussinesq approximation, the annual mean fresh water budget is simply evaluated  
    1305 from the change in the mean sea level at January the first and saved in the  
    1306 \textit{EMPav.dat} file.  
     1416\item[\np{nn\_fwb}\forcode{ = 2}] 
     1417  freshwater budget is adjusted from the previous year annual mean budget which 
     1418  is read in the \textit{EMPave\_old.dat} file. 
     1419  As the model uses the Boussinesq approximation, the annual mean fresh water budget is simply evaluated from 
     1420  the change in the mean sea level at January the first and saved in the \textit{EMPav.dat} file.  
    13071421\end{description} 
    13081422 
     
    13181432%------------------------------------------------------------------------------------------------------------- 
    13191433 
    1320 In order to read a neutral drag coefficient, from an external data source ($i.e.$ a wave model), the  
    1321 logical variable \np{ln\_cdgw} in \ngn{namsbc} namelist must be set to \forcode{.true.}.  
    1322 The \mdl{sbcwave} module containing the routine \np{sbc\_wave} reads the 
    1323 namelist \ngn{namsbc\_wave} (for external data names, locations, frequency, interpolation and all  
    1324 the miscellanous options allowed by Input Data generic Interface see \autoref{sec:SBC_input})  
    1325 and a 2D field of neutral drag coefficient.  
     1434In order to read a neutral drag coefficient, from an external data source ($i.e.$ a wave model), 
     1435the logical variable \np{ln\_cdgw} in \ngn{namsbc} namelist must be set to \forcode{.true.}. 
     1436The \mdl{sbcwave} module containing the routine \np{sbc\_wave} reads the namelist \ngn{namsbc\_wave} 
     1437(for external data names, locations, frequency, interpolation and all the miscellanous options allowed by 
     1438Input Data generic Interface see \autoref{sec:SBC_input}) and 
     1439a 2D field of neutral drag coefficient. 
    13261440Then using the routine TURB\_CORE\_1Z or TURB\_CORE\_2Z, and starting from the neutral drag coefficent provided,  
    1327 the drag coefficient is computed according to stable/unstable conditions of the air-sea interface following \citet{Large_Yeager_Rep04}. 
     1441the drag coefficient is computed according to stable/unstable conditions of the air-sea interface following 
     1442\citet{Large_Yeager_Rep04}. 
    13281443 
    13291444 
Note: See TracChangeset for help on using the changeset viewer.