Changeset 11333
 Timestamp:
 20190723T17:17:14+02:00 (2 years ago)
 Location:
 NEMO/trunk/doc/latex/NEMO
 Files:

 2 edited
Legend:
 Unmodified
 Added
 Removed

NEMO/trunk/doc/latex/NEMO/main/bibliography.bib
r11313 r11333 188 188 } 189 189 190 @article{ beljaars_QJRMS95, 191 title = "The parametrization of surface fluxes in largescale models under free convection", 192 pages = "255270", 193 journal = "Quarterly Journal of the Royal Meteorological Society", 194 volume = "121", 195 number = "522", 196 author = "Beljaars, Anton C. M.", 197 year = "1995", 198 month = "jan", 199 publisher = "Wiley", 200 issn = "00359009", 201 doi = "10.1002/qj.49712152203" 202 } 203 190 204 @article{ bernie.guilyardi.ea_CD07, 191 205 title = "Impact of resolving the diurnal cycle in an … … 386 400 } 387 401 402 @article{ brodeau.barnier.ea_JPO16, 403 title = "Climatologically Significant Effects of Some Approximations in the Bulk Parameterizations of Turbulent Air–Sea Fluxes", 404 pages = "528", 405 journal = "Journal of Physical Oceanography", 406 volume = "47", 407 number = "1", 408 author = "Brodeau, Laurent and Barnier, Bernard and Gulev, Sergey K. and Woods, Cian", 409 year = "2016", 410 month = "jan", 411 publisher = "American Meteorological Society", 412 issn = "00223670", 413 doi = "10.1175/jpod160169.1", 414 } 415 388 416 @article{ brown.campana_MWR78, 389 417 title = "An economical timedifferencing system for numerical … … 745 773 } 746 774 775 @article{ edson.jampana.ea_JPO13, 776 title = "On the Exchange of Momentum over the Open Ocean", 777 pages = "15891610", 778 journal = "Journal of Physical Oceanography", 779 volume = "43", 780 number = "8", 781 author = "Edson, James B. and Jampana, Venkata and Weller, Robert A. and Bigorre, Sebastien P. and Plueddemann, Albert J. and Fairall, Christopher W. and Miller, Scott D. and Mahrt, Larry and Vickers, Dean and Hersbach, Hans", 782 year = "2013", 783 month = "aug", 784 publisher = "American Meteorological Society", 785 issn = "00223670", 786 doi = "10.1175/JPOD120173.1" 787 } 788 747 789 @article{ egbert.ray_JGR01, 748 790 title = "Estimates of {M2} tidal energy dissipation from … … 817 859 issn = "16000870", 818 860 doi = "10.3402/tellusa.v47i3.11523" 861 } 862 863 @article{ fairall.bradley.ea_JC03, 864 title = "Bulk parameterization of airsea fluxes: Updates and verification for the COARE algorithm", 865 pages = "571591", 866 journal = "Journal of Climate", 867 volume = "16", 868 number = "4", 869 author = "Fairall, C. W. and Bradley, E. F. and Hare, J. E. and Grachev, A. A. and Edson, J. B.", 870 year = "2003", 871 publisher = "American Meteorological Society", 872 issn = "08948755", 873 doi = "10.1175/15200442(2003)016<0571:BPOASF>2.0.CO;2" 819 874 } 820 875 … … 1839 1894 author = "F. Lott and G. Madec and J. Verron", 1840 1895 year = "1990" 1896 } 1897 1898 @article{ lupkes.gryanik.ea_JGR12, 1899 author = "L{\"{u}}pkes, Christof and Gryanik, Vladimir M. and Hartmann, J{\"{o}}rg and Andreas, Edgar L.", 1900 doi = "10.1029/2012JD017630", 1901 issn = "01480227", 1902 journal = "Journal of Geophysical Research Atmospheres", 1903 number = "13", 1904 pages = "118", 1905 title = "A parametrization, based on sea ice morphology, of the neutral atmospheric drag coefficients for weather prediction and climate models", 1906 volume = "117", 1907 year = "2012" 1908 } 1909 1910 @article{ lupkes.gryanik_JGR15, 1911 author = "L{\"{u}}pkes, Christof and Gryanik, Vladimir M.", 1912 doi = "10.1002/2014JD022418", 1913 issn = "21562202", 1914 journal = "Journal of Geophysical Research", 1915 number = "2", 1916 pages = "552581", 1917 title = "A stabilitydependent parametrization of transfer coefficients formomentum and heat over polar sea ice to be used in climate models", 1918 volume = "120", 1919 year = "2015" 1841 1920 } 1842 1921 
NEMO/trunk/doc/latex/NEMO/subfiles/chap_SBC.tex
r11179 r11333 2 2 3 3 \begin{document} 4 % ================================================================ 5 % Chapter —— Surface Boundary Condition (SBC, ISF, ICB) 6 % ================================================================ 7 \chapter{Surface Boundary Condition (SBC, ISF, ICB)} 4 5 % ================================================================ 6 % Chapter —— Surface Boundary Condition (SBC, SAS, ISF, ICB) 7 % ================================================================ 8 \chapter{Surface Boundary Condition (SBC, SAS, ISF, ICB)} 8 9 \label{chap:SBC} 9 10 \minitoc … … 16 17 % 17 18 18 The ocean needs six fields as surface boundary condition: 19 The ocean needs seven fields as surface boundary condition: 20 19 21 \begin{itemize} 20 22 \item … … 26 28 \item 27 29 the surface salt flux associated with freezing/melting of seawater $\left( {\textit{sfx}} \right)$ 30 \item 31 the atmospheric pressure at the ocean surface $\left( p_a \right)$ 28 32 \end{itemize} 29 plus an optional field: 33 34 Four different ways are available to provide the seven fields to the ocean. They are controlled by 35 namelist \ngn{namsbc} variables: 36 30 37 \begin{itemize} 31 \item the atmospheric pressure at the ocean surface $\left( p_a \right)$ 38 \item 39 a bulk formulation (\np{ln\_blk}\forcode{ = .true.} with four possible bulk algorithms), 40 \item 41 a flux formulation (\np{ln\_flx}\forcode{ = .true.}), 42 \item 43 a coupled or mixed forced/coupled formulation (exchanges with a atmospheric model via the OASIS coupler), 44 (\np{ln\_cpl} or \np{ln\_mixcpl}\forcode{ = .true.}), 45 \item 46 a user defined formulation (\np{ln\_usr}\forcode{ = .true.}). 32 47 \end{itemize} 33 48 34 Four different ways to provide the first six fields to the ocean are available which are controlled by35 namelist \ngn{namsbc} variables:36 an analytical formulation (\np{ln\_ana}\forcode{ = .true.}),37 a flux formulation (\np{ln\_flx}\forcode{ = .true.}),38 a bulk formulae formulation (CORE (\np{ln\_blk\_core}\forcode{ = .true.}),39 CLIO (\np{ln\_blk\_clio}\forcode{ = .true.}) bulk formulae) and40 a coupled or mixed forced/coupled formulation (exchanges with a atmospheric model via the OASIS coupler)41 (\np{ln\_cpl} or \np{ln\_mixcpl}\forcode{ = .true.}).42 When used (\ie \np{ln\_apr\_dyn}\forcode{ = .true.}),43 the atmospheric pressure forces both ocean and ice dynamics.44 49 45 50 The frequency at which the forcing fields have to be updated is given by the \np{nn\_fsbc} namelist parameter. 46 When the fields are supplied from data files (flux and bulk formulations), 47 the input fields need not be supplied on the model grid. 48 Instead a file of coordinates and weights can be supplied which maps the data from the supplied grid to 51 52 When the fields are supplied from data files (bulk, flux and mixed formulations), 53 the input fields do not need to be supplied on the model grid. 54 Instead, a file of coordinates and weights can be supplied to map the data from the input fields grid to 49 55 the model points (so called "Interpolation on the Fly", see \autoref{subsec:SBC_iof}). 50 If the Interpolation on the Fly option is used, input data belonging to land points (in the native grid),51 can be masked to avoid spurious results in proximity of the coastsas56 If the "Interpolation on the Fly" option is used, input data belonging to land points (in the native grid) 57 should be masked or filled to avoid spurious results in proximity of the coasts, as 52 58 large sealand gradients characterize most of the atmospheric variables. 53 59 54 60 In addition, the resulting fields can be further modified using several namelist options. 55 These options control 61 These options control: 62 56 63 \begin{itemize} 57 64 \item 58 65 the rotation of vector components supplied relative to an eastnorth coordinate system onto 59 the local grid directions in the model; 60 \item 61 the addition of a surface restoring term to observed SST and/or SSS (\np{ln\_ssr}\forcode{ = .true.}); 62 \item 63 the modification of fluxes below icecovered areas (using observed icecover or a seaice model) 64 (\np{nn\_ice}\forcode{ = 0..3}); 65 \item 66 the addition of river runoffs as surface freshwater fluxes or lateral inflow (\np{ln\_rnf}\forcode{ = .true.}); 67 \item 68 the addition of isf melting as lateral inflow (parameterisation) or 69 as fluxes applied at the landice ocean interface (\np{ln\_isf}) ; 66 the local grid directions in the model, 67 \item 68 the use of a land/sea mask for input fields (\np{nn\_lsm}\forcode{ = .true.}), 69 \item 70 the addition of a surface restoring term to observed SST and/or SSS (\np{ln\_ssr}\forcode{ = .true.}), 71 \item 72 the modification of fluxes below icecovered areas (using climatological icecover or a seaice model) 73 (\np{nn\_ice}\forcode{ = 0..3}), 74 \item 75 the addition of river runoffs as surface freshwater fluxes or lateral inflow (\np{ln\_rnf}\forcode{ = .true.}), 76 \item 77 the addition of iceshelf melting as lateral inflow (parameterisation) or 78 as fluxes applied at the landice ocean interface (\np{ln\_isf}\forcode{ = .true.}), 70 79 \item 71 80 the addition of a freshwater flux adjustment in order to avoid a mean sealevel drift 72 (\np{nn\_fwb}\forcode{ = 0..2}); 73 \item 74 the transformation of the solar radiation (if provided as daily mean) into a diurnal cycle 75 (\np{ln\_dm2dc}\forcode{ = .true.}); 76 \item 77 a neutral drag coefficient can be read from an external wave model (\np{ln\_cdgw}\forcode{ = .true.}); 78 \item 79 the Stokes drift rom an external wave model can be accounted (\np{ln\_sdw}\forcode{ = .true.}); 80 \item 81 the StokesCoriolis term can be included (\np{ln\_stcor}\forcode{ = .true.}); 82 \item 83 the surface stress felt by the ocean can be modified by surface waves (\np{ln\_tauwoc}\forcode{ = .true.}). 81 (\np{nn\_fwb}\forcode{ = 0..2}), 82 \item 83 the transformation of the solar radiation (if provided as daily mean) into an analytical diurnal cycle 84 (\np{ln\_dm2dc}\forcode{ = .true.}), 85 \item 86 the activation of wave effects from an external wave model (\np{ln\_wave}\forcode{ = .true.}), 87 \item 88 a neutral drag coefficient is read from an external wave model (\np{ln\_cdgw}\forcode{ = .true.}), 89 \item 90 the Stokes drift from an external wave model is accounted for (\np{ln\_sdw}\forcode{ = .true.}), 91 \item 92 the choice of the Stokes drift profile parameterization (\np{nn\_sdrift}\forcode{ = 0..2}), 93 \item 94 the surface stress given to the ocean is modified by surface waves (\np{ln\_tauwoc}\forcode{ = .true.}), 95 \item 96 the surface stress given to the ocean is read from an external wave model (\np{ln\_tauw}\forcode{ = .true.}), 97 \item 98 the StokesCoriolis term is included (\np{ln\_stcor}\forcode{ = .true.}), 99 \item 100 the light penetration in the ocean (\np{ln\_traqsr}\forcode{ = .true.} with namelist \ngn{namtra\_qsr}), 101 \item 102 the atmospheric surface pressure gradient effect on ocean and ice dynamics (\np{ln\_apr\_dyn}\forcode{ = .true.} with namelist \ngn{namsbc\_apr}), 103 \item 104 the effect of seaice pressure on the ocean (\np{ln\_ice\_embd}\forcode{ = .true.}). 84 105 \end{itemize} 85 106 86 In this chapter, we first discuss where the surface boundary condition appearsin the model equations.87 Then we present the five ways of providing the surface boundary condition,107 In this chapter, we first discuss where the surface boundary conditions appear in the model equations. 108 Then we present the three ways of providing the surface boundary conditions, 88 109 followed by the description of the atmospheric pressure and the river runoff. 89 Next the scheme for interpolation on the fly is described.110 Next, the scheme for interpolation on the fly is described. 90 111 Finally, the different options that further modify the fluxes applied to the ocean are discussed. 91 112 One of these is modification by icebergs (see \autoref{sec:ICB_icebergs}), … … 95 116 96 117 118 97 119 % ================================================================ 98 120 % Surface boundary condition for the ocean 99 121 % ================================================================ 100 122 \section{Surface boundary condition for the ocean} 101 \label{sec:SBC_ general}123 \label{sec:SBC_ocean} 102 124 103 125 The surface ocean stress is the stress exerted by the wind and the seaice on the ocean. … … 111 133 The former is the non penetrative part of the heat flux 112 134 (\ie the sum of sensible, latent and long wave heat fluxes plus 113 the heat content of the mass exchange with the atmosphereand seaice).135 the heat content of the mass exchange between the ocean and seaice). 114 136 It is applied in \mdl{trasbc} module as a surface boundary condition trend of 115 137 the first level temperature time evolution equation 116 (see \autoref{eq:tra_sbc} and \autoref{eq:tra_sbc_lin} in \autoref{subsec:TRA_sbc}). 138 (see \autoref{eq:tra_sbc} and \autoref{eq:tra_sbc_lin} in \autoref{subsec:TRA_sbc}). 117 139 The latter is the penetrative part of the heat flux. 118 It is applied as a 3D trend sof the temperature equation (\mdl{traqsr} module) when140 It is applied as a 3D trend of the temperature equation (\mdl{traqsr} module) when 119 141 \np{ln\_traqsr}\forcode{ = .true.}. 120 142 The way the light penetrates inside the water column is generally a sum of decreasing exponentials … … 124 146 It represents the mass flux exchanged with the atmosphere (evaporation minus precipitation) and 125 147 possibly with the seaice and ice shelves (freezing minus melting of ice). 126 It affects boththe ocean in two different ways:127 $(i)$ it changes the volume of the ocean and therefore appears in the sea surface height equation as148 It affects the ocean in two different ways: 149 $(i)$ it changes the volume of the ocean, and therefore appears in the sea surface height equation as %GS: autoref ssh equation to be added 128 150 a volume flux, and 129 151 $(ii)$ it changes the surface temperature and salinity through the heat and salt contents of 130 the mass exchanged with the atmosphere, the seaice and the ice shelves.152 the mass exchanged with atmosphere, seaice and ice shelves. 131 153 132 154 … … 157 179 the surface currents, temperature and salinity. 158 180 These variables are averaged over \np{nn\_fsbc} timestep (\autoref{tab:ssm}), and 159 it is these averaged fields which are used to computes the surface fluxes at a frequency of \np{nn\_fsbc} timestep.181 these averaged fields are used to compute the surface fluxes at the frequency of \np{nn\_fsbc} timesteps. 160 182 161 183 … … 165 187 \begin{tabular}{llll} 166 188 \hline 167 Variable description & Model variable & Units & point \\\hline168 icomponent of the surface current & ssu\_m & $m.s^{1}$ & U \\\hline169 jcomponent of the surface current & ssv\_m & $m.s^{1}$ & V\\ \hline170 Sea surface temperature & sst\_m & \r{}$K$ & T \\\hline171 Sea surface salinty & sss\_m & $psu$ & T\\ \hline189 Variable description & Model variable & Units & point \\\hline 190 icomponent of the surface current & ssu\_m & $m.s^{1}$ & U \\\hline 191 jcomponent of the surface current & ssv\_m & $m.s^{1}$ & V \\ \hline 192 Sea surface temperature & sst\_m & \r{}$K$ & T \\\hline 193 Sea surface salinty & sss\_m & $psu$ & T \\ \hline 172 194 \end{tabular} 173 195 \caption{ 174 196 \protect\label{tab:ssm} 175 197 Ocean variables provided by the ocean to the surface module (SBC). 176 The variable are averaged over nn{\_}fsbc timestep,198 The variable are averaged over \np{nn\_fsbc} timestep, 177 199 \ie the frequency of computation of surface fluxes. 178 200 } … … 184 206 185 207 208 186 209 % ================================================================ 187 210 % Input Data … … 191 214 192 215 A generic interface has been introduced to manage the way input data 193 (2D or 3D fields, like surface forcing or ocean T and S) are specif yin \NEMO.194 This task is a rchieved by \mdl{fldread}.195 The module was designwith four main objectives in mind:216 (2D or 3D fields, like surface forcing or ocean T and S) are specified in \NEMO. 217 This task is achieved by \mdl{fldread}. 218 The module is designed with four main objectives in mind: 196 219 \begin{enumerate} 197 220 \item 198 optionally provide a time interpolation of the input data atmodel timestep, whatever their input frequency is,221 optionally provide a time interpolation of the input data every specified model timestep, whatever their input frequency is, 199 222 and according to the different calendars available in the model. 200 223 \item … … 204 227 \item 205 228 provide a simple user interface and a rather simple developer interface by 206 limiting the number of prerequisite information .207 \end{enumerate} 208 209 As a result s the user haveonly to fill in for each variable a structure in the namelist file to229 limiting the number of prerequisite informations. 230 \end{enumerate} 231 232 As a result, the user has only to fill in for each variable a structure in the namelist file to 210 233 define the input data file and variable names, the frequency of the data (in hours or months), 211 234 whether its is climatological data or not, the period covered by the input file (one year, month, week or day), 212 and three additional parameters for onthefly interpolation.235 and three additional parameters for the onthefly interpolation. 213 236 When adding a new input variable, the developer has to add the associated structure in the namelist, 214 237 read this information by mirroring the namelist read in \rou{sbc\_blk\_init} for example, … … 220 243 221 244 Note that when an input data is archived on a disc which is accessible directly from the workspace where 222 the code is executed, then the use can set the \np{cn\_dir} to the pathway leading to the data. 223 By default, the data are assumed to have been copied so that cn\_dir='./'. 245 the code is executed, then the user can set the \np{cn\_dir} to the pathway leading to the data. 246 By default, the data are assumed to be in the same directory as the executable, so that cn\_dir='./'. 247 224 248 225 249 %  … … 238 262 \begin{description} 239 263 \item[File name]: 240 the stem name of the NetCDF file to be open .264 the stem name of the NetCDF file to be opened. 241 265 This stem will be completed automatically by the model, with the addition of a '.nc' at its end and 242 266 by date information and possibly a prefix (when using AGRIF). … … 249 273 \begin{tabular}{lccc} 250 274 \hline 251 & daily or weekLLL & monthly & yearly\\ \hline252 \np{clim}\forcode{ = .false.} & fn\_yYYYYmMMdDD.nc & fn\_yYYYYmMM.nc &fn\_yYYYY.nc \\ \hline253 \np{clim}\forcode{ = .true.} & not possible & fn\_m??.nc & fn\\ \hline275 & daily or weekLL & monthly & yearly \\ \hline 276 \np{clim}\forcode{ = .false.} & fn\_yYYYYmMMdDD.nc & fn\_yYYYYmMM.nc & fn\_yYYYY.nc \\ \hline 277 \np{clim}\forcode{ = .true.} & not possible & fn\_m??.nc & fn \\ \hline 254 278 \end{tabular} 255 279 \end{center} 256 280 \caption{ 257 281 \protect\label{tab:fldread} 258 naming nomenclature for climatological or interannual input file , as a function of the Open/close frequency.282 naming nomenclature for climatological or interannual input file(s), as a function of the open/close frequency. 259 283 The stem name is assumed to be 'fn'. 260 284 For weekly files, the 'LLL' corresponds to the first three letters of the first day of the week … … 263 287 Note that (1) in mpp, if the file is split over each subdomain, the suffix '.nc' is replaced by '\_PPPP.nc', 264 288 where 'PPPP' is the process number coded with 4 digits; 265 (2) when using AGRIF, the prefix '\_N' is added to files, where 'N' 289 (2) when using AGRIF, the prefix '\_N' is added to files, where 'N' is the child grid number. 266 290 } 267 291 \end{table} … … 273 297 Its unit is in hours if it is positive (for example 24 for daily forcing) or in months if negative 274 298 (for example 1 for monthly forcing or 12 for annual forcing). 275 Note that this frequency must reallybe an integer and not a real.276 On some computers, set ing it to '24.' can be interpreted as 240!299 Note that this frequency must REALLY be an integer and not a real. 300 On some computers, setting it to '24.' can be interpreted as 240! 277 301 278 302 \item[Variable name]: … … 285 309 00h00'00'' to 23h59'59". 286 310 If set to 'true', the forcing will have a broken line shape. 287 Records are assumed to be dated the middle of the forcing period.311 Records are assumed to be dated at the middle of the forcing period. 288 312 For example, when using a daily forcing with time interpolation, 289 313 linear interpolation will be performed between midday of two consecutive days. … … 292 316 a logical to specify if a input file contains climatological forcing which can be cycle in time, 293 317 or an interannual forcing which will requires additional files if 294 the period covered by the simulation exceed the one of the file.295 See the above thefile naming strategy which impacts the expected name of the file to be opened.318 the period covered by the simulation exceeds the one of the file. 319 See the above file naming strategy which impacts the expected name of the file to be opened. 296 320 297 321 \item[Open/close frequency]: … … 302 326 Files are assumed to contain data from the beginning of the open/close period. 303 327 For example, the first record of a yearly file containing daily data is Jan 1st even if 304 the experiment is not starting at the beginning of the year. 328 the experiment is not starting at the beginning of the year. 305 329 306 330 \item[Others]: … … 315 339 the date of the records read in the input files. 316 340 Following \citet{leclair.madec_OM09}, the date of a time step is set at the middle of the time step. 317 For example, for an experiment starting at 0h00'00" with a one 341 For example, for an experiment starting at 0h00'00" with a onehour timestep, 318 342 a time interpolation will be performed at the following time: 0h30'00", 1h30'00", 2h30'00", etc. 319 343 However, for forcing data related to the surface module, 320 344 values are not needed at every timestep but at every \np{nn\_fsbc} timestep. 321 345 For example with \np{nn\_fsbc}\forcode{ = 3}, the surface module will be called at timesteps 1, 4, 7, etc. 322 The date used for the time interpolation is thus redefined to be atthe middle of \np{nn\_fsbc} timestep period.346 The date used for the time interpolation is thus redefined to the middle of \np{nn\_fsbc} timestep period. 323 347 In the previous example, this leads to: 1h30'00", 4h30'00", 7h30'00", etc. \\ 324 348 (2) For code readablility and maintenance issues, we don't take into account the NetCDF input file calendar. … … 326 350 user in the record frequency, the open/close frequency and the type of temporal interpolation. 327 351 For example, the first record of a yearly file containing daily data that will be interpolated in time is assumed to 328 bestart Jan 1st at 12h00'00" and end Dec 31st at 12h00'00". \\352 start Jan 1st at 12h00'00" and end Dec 31st at 12h00'00". \\ 329 353 (3) If a time interpolation is requested, the code will pick up the needed data in the previous (next) file when 330 354 interpolating data with the first (last) record of the open/close period. … … 334 358 If the forcing is climatological, Dec and Jan will be keepup from the same year. 335 359 However, if the forcing is not climatological, at the end of 336 the open/close period the code will automatically close the current file and open the next one.360 the open/close period, the code will automatically close the current file and open the next one. 337 361 Note that, if the experiment is starting (ending) at the beginning (end) of 338 an open/close period we do accept that the previous (next) file is not existing.362 an open/close period, we do accept that the previous (next) file is not existing. 339 363 In this case, the time interpolation will be performed between two identical values. 340 364 For example, when starting an experiment on Jan 1st of year Y with yearly files and daily data to be interpolated, … … 354 378 Interpolation on the Fly allows the user to supply input files required for the surface forcing on 355 379 grids other than the model grid. 356 To do this he or she must supply, in addition to the source data file, a file of weights to be used to380 To do this, he or she must supply, in addition to the source data file(s), a file of weights to be used to 357 381 interpolate from the data grid to the model grid. 358 382 The original development of this code used the SCRIP package 359 383 (freely available \href{http://climate.lanl.gov/Software/SCRIP}{here} under a copyright agreement). 360 In principle, any package can be used to generate the weights, but the variables in384 In principle, any package such as CDO can be used to generate the weights, but the variables in 361 385 the input weights file must have the same names and meanings as assumed by the model. 362 Two methods are currently available: bilinear and bicubic interpolation .386 Two methods are currently available: bilinear and bicubic interpolations. 363 387 Prior to the interpolation, providing a land/sea mask file, the user can decide to remove land points from 364 388 the input file and substitute the corresponding values with the average of the 8 neighbouring points in … … 366 390 Only "sea points" are considered for the averaging. 367 391 The land/sea mask file must be provided in the structure associated with the input variable. 368 The netcdf land/sea mask variable name must be 'LSM' it must have the same horizontal and vertical dimensions of 369 the associated variable and should be equal to 1 over land and 0 elsewhere. 370 The procedure can be recursively applied setting nn\_lsm > 1 in namsbc namelist. 371 Note that nn\_lsm=0 forces the code to not apply the procedure even if a file for land/sea mask is supplied. 372 392 The netcdf land/sea mask variable name must be 'LSM' and must have the same horizontal and vertical dimensions as 393 the associated variables and should be equal to 1 over land and 0 elsewhere. 394 The procedure can be recursively applied by setting nn\_lsm > 1 in namsbc namelist. 395 Note that nn\_lsm=0 forces the code to not apply the procedure, even if a land/sea mask file is supplied. 396 397 398 %  399 % Bilinear interpolation 400 %  373 401 \subsubsection{Bilinear interpolation} 374 402 \label{subsec:SBC_iof_bilinear} … … 376 404 The input weights file in this case has two sets of variables: 377 405 src01, src02, src03, src04 and wgt01, wgt02, wgt03, wgt04. 378 The "src" variables correspond to the point in the input grid to which the weight "wgt" is to beapplied.406 The "src" variables correspond to the point in the input grid to which the weight "wgt" is applied. 379 407 Each src value is an integer corresponding to the index of a point in the input grid when 380 408 written as a one dimensional array. … … 392 420 and wgt(1) corresponds to variable "wgt01" for example. 393 421 422 423 %  424 % Bicubic interpolation 425 %  394 426 \subsubsection{Bicubic interpolation} 395 427 \label{subsec:SBC_iof_bicubic} 396 428 397 Again there are two sets of variables: "src" and "wgt".398 But in this case there are 16 of each.429 Again, there are two sets of variables: "src" and "wgt". 430 But in this case, there are 16 of each. 399 431 The symbolic algorithm used to calculate values on the model grid is now: 400 432 … … 402 434 \begin{split} 403 435 f_{m}(i,j) = f_{m}(i,j) +& \sum_{k=1}^{4} {wgt(k)f(idx(src(k)))} 404 + \sum_{k=5}^{8} {wgt(k)\left.\frac{\partial f}{\partial i}\right _{idx(src(k))} } \\405 +& \sum_{k=9 }^{12} {wgt(k)\left.\frac{\partial f}{\partial j}\right _{idx(src(k))} }406 + 436 + \sum_{k=5 }^{8 } {wgt(k)\left.\frac{\partial f}{\partial i}\right _{idx(src(k))} } \\ 437 +& \sum_{k=9 }^{12} {wgt(k)\left.\frac{\partial f}{\partial j}\right _{idx(src(k))} } 438 + \sum_{k=13}^{16} {wgt(k)\left.\frac{\partial ^2 f}{\partial i \partial j}\right _{idx(src(k))} } 407 439 \end{split} 408 440 \] 409 441 The gradients here are taken with respect to the horizontal indices and not distances since 410 the spatial dependency has been absorbed into the weights. 411 442 the spatial dependency has been included into the weights. 443 444 445 %  446 % Implementation 447 %  412 448 \subsubsection{Implementation} 413 449 \label{subsec:SBC_iof_imp} … … 421 457 inspecting a global attribute stored in the weights input file. 422 458 This attribute must be called "ew\_wrap" and be of integer type. 423 If it is negative, the input nonmodel grid is assumed not to becyclic.459 If it is negative, the input nonmodel grid is assumed to be not cyclic. 424 460 If zero or greater, then the value represents the number of columns that overlap. 425 461 $E.g.$ if the input grid has columns at longitudes 0, 1, 2, .... , 359, then ew\_wrap should be set to 0; 426 462 if longitudes are 0.5, 2.5, .... , 358.5, 360.5, 362.5, ew\_wrap should be 2. 427 463 If the model does not find attribute ew\_wrap, then a value of 999 is assumed. 428 In this case the \rou{fld\_read} routine defaults ew\_wrap to value 0 and464 In this case, the \rou{fld\_read} routine defaults ew\_wrap to value 0 and 429 465 therefore the grid is assumed to be cyclic with no overlapping columns. 430 (In fact this only matters when bicubic interpolation is required.)466 (In fact, this only matters when bicubic interpolation is required.) 431 467 Note that no testing is done to check the validity in the model, 432 468 since there is no way of knowing the name used for the longitude variable, … … 445 481 or is a copy of one from the first few columns on the opposite side of the grid (cyclical case). 446 482 483 484 %  485 % Limitations 486 %  447 487 \subsubsection{Limitations} 448 488 \label{subsec:SBC_iof_lim} … … 450 490 \begin{enumerate} 451 491 \item 452 The case where input data grids are not logically rectangular has not been tested.492 The case where input data grids are not logically rectangular (irregular grid case) has not been tested. 453 493 \item 454 494 This code is not guaranteed to produce positive definite answers from positive definite inputs when … … 471 511 (see the directory NEMOGCM/TOOLS/WEIGHTS). 472 512 513 473 514 %  474 515 % Standalone Surface Boundary Condition Scheme 475 516 %  476 \subsection{Standalone surface boundary condition scheme }477 \label{subsec:SAS _iof}478 479 %namsbc_ ana517 \subsection{Standalone surface boundary condition scheme (SAS)} 518 \label{subsec:SAS} 519 520 %namsbc_sas 480 521 481 522 \nlst{namsbc_sas} 482 523 % 483 524 484 In some circumstances it may be useful to avoid calculating the 3D temperature,525 In some circumstances, it may be useful to avoid calculating the 3D temperature, 485 526 salinity and velocity fields and simply read them in from a previous run or receive them from OASIS. 486 527 For example: … … 497 538 Spinup of the iceberg floats 498 539 \item 499 Ocean/seaice simulation with both m ediarunning in parallel (\np{ln\_mixcpl}\forcode{ = .true.})540 Ocean/seaice simulation with both models running in parallel (\np{ln\_mixcpl}\forcode{ = .true.}) 500 541 \end{itemize} 501 542 502 The Stand Alone Surface scheme provides this utility.543 The Standalone Surface scheme provides this capacity. 503 544 Its options are defined through the \ngn{namsbc\_sas} namelist variables. 504 545 A new copy of the model has to be compiled with a configuration based on ORCA2\_SAS\_LIM. 505 However no namelist parameters need be changed from the settings of the previous run (except perhaps nn{\_}date0).546 However, no namelist parameters need be changed from the settings of the previous run (except perhaps nn{\_}date0). 506 547 In this configuration, a few routines in the standard model are overriden by new versions. 507 548 Routines replaced are: … … 525 566 so calls to restart functions have been removed. 526 567 This also means that the calendar cannot be controlled by time in a restart file, 527 so the user must make surethat nn{\_}date0 in the model namelist is correct for his or her purposes.568 so the user must check that nn{\_}date0 in the model namelist is correct for his or her purposes. 528 569 \item 529 570 \mdl{stpctl}: … … 544 585 velocity arrays at the surface. 545 586 These filenames are supplied in namelist namsbc{\_}sas. 546 Unfortunately because of limitations with the \mdl{iom} module,587 Unfortunately, because of limitations with the \mdl{iom} module, 547 588 the full 3D fields from the mean files have to be read in and interpolated in time, 548 589 before using just the top level. … … 551 592 552 593 553 % Missing the description of the 2 following variables: 554 % ln_3d_uve = .true. ! specify whether we are supplying a 3D u,v and e3 field 555 % ln_read_frq = .false. ! specify whether we must read frq or not 556 557 558 559 % ================================================================ 560 % Analytical formulation (sbcana module) 561 % ================================================================ 562 \section[Analytical formulation (\textit{sbcana.F90})] 563 {Analytical formulation (\protect\mdl{sbcana})} 564 \label{sec:SBC_ana} 565 566 %namsbc_ana 567 % 568 %\nlst{namsbc_ana} 569 % 570 571 The analytical formulation of the surface boundary condition is the default scheme. 572 In this case, all the six fluxes needed by the ocean are assumed to be uniform in space. 573 They take constant values given in the namelist \ngn{namsbc{\_}ana} by 574 the variables \np{rn\_utau0}, \np{rn\_vtau0}, \np{rn\_qns0}, \np{rn\_qsr0}, and \np{rn\_emp0} 575 ($\textit{emp}=\textit{emp}_S$). 576 The runoff is set to zero. 577 In addition, the wind is allowed to reach its nominal value within a given number of time steps (\np{nn\_tau000}). 578 579 If a user wants to apply a different analytical forcing, 580 the \mdl{sbcana} module can be modified to use another scheme. 581 As an example, the \mdl{sbc\_ana\_gyre} routine provides the analytical forcing for the GYRE configuration 582 (see GYRE configuration manual, in preparation). 594 The user can also choose in the \ngn{namsbc\_sas} namelist to read the mean (nn\_fsbc timestep) fraction of solar net radiation absorbed in the 1st T level using 595 (\np{ln\_flx}\forcode{ = .true.}) and to provide 3D oceanic velocities instead of 2D ones (\np{ln\_flx}\forcode{ = .true.}). In that last case, only the 1st level will be read in. 596 583 597 584 598 … … 605 619 606 620 621 607 622 % ================================================================ 608 623 % Bulk formulation 609 624 % ================================================================ 610 \section[Bulk formulation {(\textit{sbcblk\{\_core,\_clio\}.F90})}]611 {Bulk formulation {(\protect\mdl{sbcblk\_core}, \protect\mdl{sbcblk\_clio})}}625 \section[Bulk formulation (\textit{sbcblk.F90})] 626 {Bulk formulation (\protect\mdl{sbcblk})} 612 627 \label{sec:SBC_blk} 613 614 In the bulk formulation, the surface boundary condition fields are computed using bulk formulae and atmospheric fields and ocean (and ice) variables. 628 %namsbc_blk 629 630 \nlst{namsbc_blk} 631 % 632 633 In the bulk formulation, the surface boundary condition fields are computed with bulk formulae using atmospheric fields 634 and ocean (and seaice) variables averaged over \np{nn\_fsbc} timestep. 615 635 616 636 The atmospheric fields used depend on the bulk formulae used. 617 Two bulk formulations are available: 618 the CORE and the CLIO bulk formulea. 637 In forced mode, when a seaice model is used, a specific bulk formulation is used. 638 Therefore, different bulk formulae are used for the turbulent fluxes computation 639 over the ocean and over seaice surface. 640 For the ocean, four bulk formulations are available thanks to the \href{https://brodeau.github.io/aerobulk/}{Aerobulk} package (\citet{brodeau.barnier.ea_JPO16}): 641 the NCAR (formerly named CORE), COARE 3.0, COARE 3.5 and ECMWF bulk formulae. 619 642 The choice is made by setting to true one of the following namelist variable: 620 \np{ln\_core} or \np{ln\_clio}. 621 622 Note: 623 in forced mode, when a seaice model is used, a bulk formulation (CLIO or CORE) have to be used. 624 Therefore the two bulk (CLIO and CORE) formulea include the computation of the fluxes over 625 both an ocean and an ice surface. 626 627 %  628 % CORE Bulk formulea 629 %  630 \subsection[CORE formulea (\textit{sbcblk\_core.F90}, \forcode{ln_core = .true.})] 631 {CORE formulea (\protect\mdl{sbcblk\_core}, \protect\np{ln\_core}\forcode{ = .true.})} 632 \label{subsec:SBC_blk_core} 633 %namsbc_core 634 % 635 %\nlst{namsbc_core} 636 % 637 638 The CORE bulk formulae have been developed by \citet{large.yeager_rpt04}. 639 They have been designed to handle the CORE forcing, a mixture of NCEP reanalysis and satellite data. 640 They use an inertial dissipative method to compute the turbulent transfer coefficients 641 (momentum, sensible heat and evaporation) from the 10 metre wind speed, air temperature and specific humidity. 642 This \citet{large.yeager_rpt04} dataset is available through 643 the \href{http://nomads.gfdl.noaa.gov/nomads/forms/mom4/CORE.html}{GFDL web site}. 644 645 Note that substituting ERA40 to NCEP reanalysis fields does not require changes in the bulk formulea themself. 646 This is the socalled DRAKKAR Forcing Set (DFS) \citep{brodeau.barnier.ea_OM10}. 647 648 Options are defined through the \ngn{namsbc\_core} namelist variables. 649 The required 8 input fields are: 643 \np{ln\_NCAR}, \np{ln\_COARE\_3p0}, \np{ln\_COARE\_3p5} and \np{ln\_ECMWF}. 644 For seaice, three possibilities can be selected: 645 a constant transfer coefficient (1.4e3; default value), \citet{lupkes.gryanik.ea_JGR12} (\np{ln\_Cd\_L12}), and \citet{lupkes.gryanik_JGR15} (\np{ln\_Cd\_L15}) parameterizations 646 647 Common options are defined through the \ngn{namsbc\_blk} namelist variables. 648 The required 9 input fields are: 650 649 651 650 %TABLE 652 651 \begin{table}[htbp] 653 \label{tab: CORE}652 \label{tab:BULK} 654 653 \begin{center} 655 654 \begin{tabular}{lccc} 656 655 \hline 657 Variable desciption & Model variable & Units & point \\ \hline 658 icomponent of the 10m air velocity & utau & $m.s^{1}$ & T \\ \hline 659 jcomponent of the 10m air velocity & vtau & $m.s^{1}$ & T \\ \hline 660 10m air temperature & tair & \r{}$K$ & T \\ \hline 661 Specific humidity & humi & \% & T \\ \hline 662 Incoming long wave radiation & qlw & $W.m^{2}$ & T \\ \hline 663 Incoming short wave radiation & qsr & $W.m^{2}$ & T \\ \hline 664 Total precipitation (liquid + solid) & precip & $Kg.m^{2}.s^{1}$ & T \\ \hline 665 Solid precipitation & snow & $Kg.m^{2}.s^{1}$ & T \\ \hline 656 Variable description & Model variable & Units & point \\ \hline 657 icomponent of the 10m air velocity & utau & $m.s^{1}$ & T \\ \hline 658 jcomponent of the 10m air velocity & vtau & $m.s^{1}$ & T \\ \hline 659 10m air temperature & tair & \r{}$K$ & T \\ \hline 660 Specific humidity & humi & \% & T \\ \hline 661 Incoming long wave radiation & qlw & $W.m^{2}$ & T \\ \hline 662 Incoming short wave radiation & qsr & $W.m^{2}$ & T \\ \hline 663 Total precipitation (liquid + solid) & precip & $Kg.m^{2}.s^{1}$ & T \\ \hline 664 Solid precipitation & snow & $Kg.m^{2}.s^{1}$ & T \\ \hline 665 Mean sealevel pressure & slp & $hPa$ & T \\ \hline 666 666 \end{tabular} 667 667 \end{center} … … 682 682 \np{rn\_zu}: is the height of wind measurements (m) 683 683 684 Three multiplicative factors are available s:685 \np{rn\_pfac} and \np{rn\_efac} allow sto adjust (if necessary) the global freshwater budget by684 Three multiplicative factors are available: 685 \np{rn\_pfac} and \np{rn\_efac} allow to adjust (if necessary) the global freshwater budget by 686 686 increasing/reducing the precipitations (total and snow) and or evaporation, respectively. 687 687 The third one,\np{rn\_vfac}, control to which extend the ice/ocean velocities are taken into account in 688 688 the calculation of surface wind stress. 689 Its range should be between zero and one, and it is recommended to set it to 0. 690 691 %  692 % CLIO Bulk formulea 693 %  694 \subsection[CLIO formulea (\textit{sbcblk\_clio.F90}, \forcode{ln_clio = .true.})] 695 {CLIO formulea (\protect\mdl{sbcblk\_clio}, \protect\np{ln\_clio}\forcode{ = .true.})} 696 \label{subsec:SBC_blk_clio} 697 %namsbc_clio 698 % 699 %\nlst{namsbc_clio} 700 % 701 702 The CLIO bulk formulae were developed several years ago for the Louvainlaneuve coupled iceocean model 703 (CLIO, \cite{goosse.deleersnijder.ea_JGR99}). 704 They are simpler bulk formulae. 705 They assume the stress to be known and compute the radiative fluxes from a climatological cloud cover. 706 707 Options are defined through the \ngn{namsbc\_clio} namelist variables. 708 The required 7 input fields are: 709 710 %TABLE 711 \begin{table}[htbp] 712 \label{tab:CLIO} 713 \begin{center} 714 \begin{tabular}{llll} 715 \hline 716 Variable desciption & Model variable & Units & point \\ \hline 717 icomponent of the ocean stress & utau & $N.m^{2}$ & U \\ \hline 718 jcomponent of the ocean stress & vtau & $N.m^{2}$ & V \\ \hline 719 Wind speed module & vatm & $m.s^{1}$ & T \\ \hline 720 10m air temperature & tair & \r{}$K$ & T \\ \hline 721 Specific humidity & humi & \% & T \\ \hline 722 Cloud cover & & \% & T \\ \hline 723 Total precipitation (liquid + solid) & precip & $Kg.m^{2}.s^{1}$ & T \\ \hline 724 Solid precipitation & snow & $Kg.m^{2}.s^{1}$ & T \\ \hline 725 \end{tabular} 726 \end{center} 727 \end{table} 728 % 689 Its range must be between zero and one, and it is recommended to set it to 0 at lowresolution (ORCA2 configuration). 729 690 730 691 As for the flux formulation, information about the input data required by the model is provided in 731 the namsbc\_blk\_core or namsbc\_blk\_clio namelist (see \autoref{subsec:SBC_fldread}). 692 the namsbc\_blk namelist (see \autoref{subsec:SBC_fldread}). 693 694 695 %  696 % OceanAtmosphere Bulk formulae 697 %  698 \subsection{OceanAtmosphere Bulk formulae} 699 %\subsection[OceanAtmosphere Bulk formulae (\textit{sbcblk_algo\{\_ncar,\_coare,\_coare3p5,\_ecmwf}.F90})] 700 \label{subsec:SBC_blk_ocean} 701 702 Four different bulk algorithms are available to compute surface turbulent momentum and heat fluxes over the ocean. 703 COARE 3.0, COARE 3.5 and ECMWF schemes mainly differ by their roughness lenghts computation and consequently 704 their neutral transfer coefficients relationships with neutral wind. 705 \begin{itemize} 706 \item 707 NCAR (\np{ln\_NCAR}\forcode{ = .true.}): 708 The NCAR bulk formulae have been developed by \citet{large.yeager_rpt04}. 709 They have been designed to handle the NCAR forcing, a mixture of NCEP reanalysis and satellite data. 710 They use an inertial dissipative method to compute the turbulent transfer coefficients 711 (momentum, sensible heat and evaporation) from the 10m wind speed, air temperature and specific humidity. 712 This \citet{large.yeager_rpt04} dataset is available through 713 the \href{http://nomads.gfdl.noaa.gov/nomads/forms/mom4/NCAR.html}{GFDL web site}. 714 Note that substituting ERA40 to NCEP reanalysis fields does not require changes in the bulk formulea themself. 715 This is the socalled DRAKKAR Forcing Set (DFS) \citep{brodeau.barnier.ea_OM10}. 716 \item 717 COARE 3.0 (\np{ln\_COARE\_3p0}\forcode{ = .true.}): 718 See \citet{fairall.bradley.ea_JC03} for more details 719 \item 720 COARE 3.5 (\np{ln\_COARE\_3p5}\forcode{ = .true.}): 721 See \citet{edson.jampana.ea_JPO13} for more details 722 \item 723 ECMWF (\np{ln\_ECMWF}\forcode{ = .true.}): 724 Based on \href{https://www.ecmwf.int/node/9221}{IFS (Cy31)} implementation and documentation. 725 Surface roughness lengths needed for the Obukhov length are computed following \citet{beljaars_QJRMS95}. 726 \end{itemize} 727 728 729 %  730 % IceAtmosphere Bulk formulae 731 %  732 \subsection{ IceAtmosphere Bulk formulae } 733 \label{subsec:SBC_blk_ice} 734 735 Surface turbulent fluxes between seaice and the atmosphere can be computed in three different ways: 736 737 \begin{itemize} 738 \item 739 Constant value (\np{constant\ value}\forcode{ Cd_ice = 1.4e3 }): 740 default constant value used for momentum and heat neutral transfer coefficients 741 \item 742 \citet{lupkes.gryanik.ea_JGR12} (\np{ln\_Cd\_L12}\forcode{ = .true.}): 743 This scheme adds a dependency on edges at leads, melt ponds and flows 744 of the constant neutral airice drag. After some approximations, 745 this can be resumed to a dependency on ice concentration (A). 746 This drag coefficient has a parabolic shape (as a function of ice concentration) 747 starting at 1.5e3 for A=0, reaching 1.97e3 for A=0.5 and going down 1.4e3 for A=1. 748 It is theoretically applicable to all ice conditions (not only MIZ). 749 \item 750 \citet{lupkes.gryanik_JGR15} (\np{ln\_Cd\_L15}\forcode{ = .true.}): 751 Alternative turbulent transfer coefficients formulation between seaice 752 and atmosphere with distinct momentum and heat coefficients depending 753 on seaice concentration and atmospheric stability (no meltponds effect for now). 754 The parameterization is adapted from ECHAM6 atmospheric model. 755 Compared to Lupkes2012 scheme, it considers specific skin and form drags 756 to compute neutral transfer coefficients for both heat and momentum fluxes. 757 Atmospheric stability effect on transfer coefficient is also taken into account. 758 \end{itemize} 759 760 732 761 733 762 % ================================================================ … … 743 772 744 773 In the coupled formulation of the surface boundary condition, 745 the fluxes are provided by the OASIS coupler at a frequency which is defined in the OASIS coupler ,774 the fluxes are provided by the OASIS coupler at a frequency which is defined in the OASIS coupler namelist, 746 775 while sea and ice surface temperature, ocean and ice albedo, and ocean currents are sent to 747 776 the atmospheric component. 748 777 749 778 A generalised coupled interface has been developed. 750 It is currently interfaced with OASIS3MCT (\key{oasis3}).779 It is currently interfaced with OASIS3MCT versions 1 to 4 (\key{oasis3}). 751 780 It has been successfully used to interface \NEMO to most of the European atmospheric GCM 752 781 (ARPEGE, ECHAM, ECMWF, HadAM, HadGAM, LMDz), as well as to \href{http://wrfmodel.org/}{WRF} 753 782 (Weather Research and Forecasting Model). 754 783 755 Note that in addition to the setting of \np{ln\_cpl} to true, the \key{coupled} have to be defined. 756 The CPP key is mainly used in seaice to ensure that the atmospheric fluxes are actually received by 757 the iceocean system (no calculation of ice sublimation in coupled mode). 758 When PISCES biogeochemical model (\key{top} and \key{pisces}) is also used in the coupled system, 759 the whole carbon cycle is computed by defining \key{cpl\_carbon\_cycle}. 784 When PISCES biogeochemical model (\key{top}) is also used in the coupled system, 785 the whole carbon cycle is computed. 760 786 In this case, CO$_2$ fluxes will be exchanged between the atmosphere and the iceocean system 761 787 (and need to be activated in \ngn{namsbc{\_}cpl} ). … … 763 789 The namelist above allows control of various aspects of the coupling fields (particularly for vectors) and 764 790 now allows for any coupling fields to have multiple sea ice categories (as required by LIM3 and CICE). 765 When indicating a multicategory coupling field in namsbc{\_}cplthe number of categories will be determined by791 When indicating a multicategory coupling field in \ngn{namsbc{\_}cpl}, the number of categories will be determined by 766 792 the number used in the sea ice model. 767 In some limited cases it may be possible to specify single category coupling fields even when793 In some limited cases, it may be possible to specify single category coupling fields even when 768 794 the sea ice model is running with multiple categories  769 in this case the user should examine the code to be sure the assumptions made are satisfactory. 770 In cases where this is definitely not possible the model should abort with an error message. 771 The new code has been tested using ECHAM with LIM2, and HadGAM3 with CICE but 772 although it will compile with \key{lim3} additional minor code changes may be required to run using LIM3. 795 in this case, the user should examine the code to be sure the assumptions made are satisfactory. 796 In cases where this is definitely not possible, the model should abort with an error message. 797 773 798 774 799 … … 785 810 786 811 The optional atmospheric pressure can be used to force ocean and ice dynamics 787 (\np{ln\_apr\_dyn}\forcode{ = .true.}, \ textit{\ngn{namsbc}} namelist).788 The input atmospheric forcing defined via \np{sn\_apr} structure (\ textit{namsbc\_apr} namelist)812 (\np{ln\_apr\_dyn}\forcode{ = .true.}, \ngn{namsbc} namelist). 813 The input atmospheric forcing defined via \np{sn\_apr} structure (\ngn{namsbc\_apr} namelist) 789 814 can be interpolated in time to the model time step, and even in space when the interpolation onthefly is used. 790 815 When used to force the dynamics, the atmospheric pressure is further transformed into … … 796 821 where $P_{atm}$ is the atmospheric pressure and $P_o$ a reference atmospheric pressure. 797 822 A value of $101,000~N/m^2$ is used unless \np{ln\_ref\_apr} is set to true. 798 In this case $P_o$ is set to the value of $P_{atm}$ averaged over the ocean domain,799 \ie the mean value of $\eta_{ib}$ is kept to zero at all time step .823 In this case, $P_o$ is set to the value of $P_{atm}$ averaged over the ocean domain, 824 \ie the mean value of $\eta_{ib}$ is kept to zero at all time steps. 800 825 801 826 The gradient of $\eta_{ib}$ is added to the RHS of the ocean momentum equation (see \mdl{dynspg} for the ocean). 802 827 For seaice, the sea surface height, $\eta_m$, which is provided to the sea ice model is set to $\eta  \eta_{ib}$ 803 828 (see \mdl{sbcssr} module). 804 $\eta_{ib}$ can be setin the output.829 $\eta_{ib}$ can be written in the output. 805 830 This can simplify altimetry data and model comparison as 806 831 inverse barometer sea surface height is usually removed from these date prior to their distribution. … … 809 834 the equivalent inverse barometer sea surface height $\eta_{ib}$ can be added to BDY ssh data: 810 835 \np{ln\_apr\_obc} might be set to true. 836 837 811 838 812 839 % ================================================================ … … 835 862 The equilibrium tidal forcing is expressed as a sum over a subset of 836 863 constituents chosen from the set of available tidal constituents 837 defined in file \ rou{SBC/tide.h90} (this comprises the tidal864 defined in file \textit{SBC/tide.h90} (this comprises the tidal 838 865 constituents \textit{M2, N2, 2N2, S2, K2, K1, O1, Q1, P1, M4, Mf, Mm, 839 866 Msqm, Mtm, S1, MU2, NU2, L2}, and \textit{T2}). Individual … … 850 877 discussion about the practical implementation of this term). 851 878 Nevertheless, the complex calculations involved would make this 852 computationally too expensive. 879 computationally too expensive. Here, two options are available: 853 880 $\Pi_{sal}$ generated by an external model can be read in 854 881 (\np{ln\_read\_load=.true.}), or a ``scalar approximation'' can be … … 861 888 errors. Setting both \np{ln\_read\_load} and \np{ln\_scal\_load} to 862 889 \forcode{.false.} removes the SAL contribution. 890 891 863 892 864 893 % ================================================================ … … 944 973 As such the volume of water does not change, but the water is diluted. 945 974 946 For the nonlinear free surface case (\key{vvl}), no flux is allowed through the surface.975 For the nonlinear free surface case, no flux is allowed through the surface. 947 976 Instead in the surface box (as well as water moving up from the boxes below) a volume of runoff water is added with 948 977 no corresponding heat and salt addition and so as happens in the lower boxes there is a dilution effect. … … 987 1016 %To do this we need to treat evaporation/precipitation fluxes and river runoff differently in the tra_sbc module. We decided to separate them throughout the code, so that the variable emp represented solely evaporation minus precipitation fluxes, and a new 2d variable rnf was added which represents the volume flux of river runoff (in kg/m2s to remain consistent with emp). This meant many uses of emp and emps needed to be changed, a list of all modules which use emp or emps and the changes made are below: 988 1017 989 %} 1018 1019 990 1020 % ================================================================ 991 1021 % Ice shelf melting … … 998 1028 \nlst{namsbc_isf} 999 1029 % 1030 1000 1031 The namelist variable in \ngn{namsbc}, \np{nn\_isf}, controls the ice shelf representation. 1001 1032 Description and result of sensitivity test to \np{nn\_isf} are presented in \citet{mathiot.jenkins.ea_GMD17}. … … 1003 1034 1004 1035 \begin{description} 1005 \item[\np{nn\_isf}\forcode{ = 1}]: 1036 1037 \item[\np{nn\_isf}\forcode{ = 1}]: 1006 1038 The ice shelf cavity is represented (\np{ln\_isfcav}\forcode{ = .true.} needed). 1007 1039 The fwf and heat flux are depending of the local water properties. 1040 1008 1041 Two different bulk formulae are available: 1009 1042 … … 1060 1093 This formulation has not been extensively tested in NEMO (not recommended). 1061 1094 \end{description} 1062 \item[\np{nn\_isf}\forcode{ = 2}]:1095 \item[\np{nn\_isf}\forcode{ = 2}]: 1063 1096 The ice shelf cavity is not represented. 1064 1097 The fwf and heat flux are computed using the \citet{beckmann.goosse_OM03} parameterisation of isf melting. … … 1067 1100 (\np{sn\_depmin\_isf}) as in (\np{nn\_isf}\forcode{ = 3}). 1068 1101 The effective melting length (\np{sn\_Leff\_isf}) is read from a file. 1069 \item[\np{nn\_isf}\forcode{ = 3}]:1102 \item[\np{nn\_isf}\forcode{ = 3}]: 1070 1103 The ice shelf cavity is not represented. 1071 1104 The fwf (\np{sn\_rnfisf}) is prescribed and distributed along the ice shelf edge between … … 1073 1106 the base of the ice shelf along the calving front (\np{sn\_depmin\_isf}). 1074 1107 The heat flux ($Q_h$) is computed as $Q_h = fwf \times L_f$. 1075 \item[\np{nn\_isf}\forcode{ = 4}]:1108 \item[\np{nn\_isf}\forcode{ = 4}]: 1076 1109 The ice shelf cavity is opened (\np{ln\_isfcav}\forcode{ = .true.} needed). 1077 1110 However, the fwf is not computed but specified from file \np{sn\_fwfisf}). … … 1108 1141 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1109 1142 1143 1144 1145 % ================================================================ 1146 % Ice sheet coupling 1147 % ================================================================ 1110 1148 \section{Ice sheet coupling} 1111 1149 \label{sec:SBC_iscpl} … … 1114 1152 \nlst{namsbc_iscpl} 1115 1153 % 1154 1116 1155 Ice sheet/ocean coupling is done through file exchange at the restart step. 1117 1156 At each restart step: 1157 1118 1158 \begin{description} 1119 1159 \item[Step 1]: the ice sheet model send a new bathymetry and ice shelf draft netcdf file. … … 1127 1167 potentially some new wet/dry cells due to the ice sheet dynamics/thermodynamics. 1128 1168 The wetting and drying scheme applied on the restart is very simple and described below for the 6 different possible cases: 1169 1129 1170 \begin{description} 1130 1171 \item[Thin a cell down]: … … 1165 1206 The corrective increment is apply into the cell itself (if it is a wet cell), the neigbouring cells or the closest wet cell (if the cell is now dry). 1166 1207 1167 % 1208 1209 1168 1210 % ================================================================ 1169 1211 % Handling of icebergs … … 1196 1238 the geographical box: lonmin,lonmax,latmin,latmax 1197 1239 \item[\np{nn\_test\_icebergs}\forcode{ = 1}] 1198 In this scheme the model reads a calving file supplied in the \np{sn\_icb} parameter.1240 In this scheme, the model reads a calving file supplied in the \np{sn\_icb} parameter. 1199 1241 This should be a file with a field on the configuration grid (typically ORCA) 1200 1242 representing ice accumulation rate at each model point. … … 1234 1276 since its trajectory data may be spread across multiple files. 1235 1277 1236 %  1278 1279 1280 % ============================================================================================================= 1237 1281 % Interactions with waves (sbcwave.F90, ln_wave) 1238 % 1282 % ============================================================================================================= 1239 1283 \section[Interactions with waves (\textit{sbcwave.F90}, \texttt{ln\_wave})] 1240 1284 {Interactions with waves (\protect\mdl{sbcwave}, \protect\np{ln\_wave})} … … 1252 1296 1253 1297 Physical processes related to ocean surface waves can be accounted by setting the logical variable 1254 \np{ln\_wave} \forcode{= .true.} in \ngn{namsbc} namelist. In addition, specific flags accounting for1255 different p orcesses should be activated as explained in the following sections.1298 \np{ln\_wave} \forcode{= .true.} in \ngn{namsbc} namelist. In addition, specific flags accounting for 1299 different processes should be activated as explained in the following sections. 1256 1300 1257 1301 Wave fields can be provided either in forced or coupled mode: … … 1265 1309 1266 1310 1267 % ================================================================1311 %  1268 1312 % Neutral drag coefficient from wave model (ln_cdgw) 1269 1313 1270 % ================================================================1314 %  1271 1315 \subsection[Neutral drag coefficient from wave model (\texttt{ln\_cdgw})] 1272 1316 {Neutral drag coefficient from wave model (\protect\np{ln\_cdgw})} … … 1275 1319 The neutral surface drag coefficient provided from an external data source (\ie a wave model), 1276 1320 can be used by setting the logical variable \np{ln\_cdgw} \forcode{= .true.} in \ngn{namsbc} namelist. 1277 Then using the routine \rou{ turb\_ncar} and starting from the neutral drag coefficent provided,1321 Then using the routine \rou{sbcblk\_algo\_ncar} and starting from the neutral drag coefficent provided, 1278 1322 the drag coefficient is computed according to the stable/unstable conditions of the 1279 1323 airsea interface following \citet{large.yeager_rpt04}. 1280 1324 1281 1325 1282 % ================================================================1326 %  1283 1327 % 3D Stokes Drift (ln_sdw, nn_sdrift) 1284 % ================================================================1328 %  1285 1329 \subsection[3D Stokes Drift (\texttt{ln\_sdw}, \texttt{nn\_sdrift})] 1286 1330 {3D Stokes Drift (\protect\np{ln\_sdw, nn\_sdrift})} … … 1292 1336 As waves travel, the water particles that make up the waves travel in orbital motions but 1293 1337 without a closed path. Their movement is enhanced at the top of the orbit and slowed slightly 1294 at the bottom so the result is a net forward motion of water particles, referred to as the Stokes drift.1338 at the bottom, so the result is a net forward motion of water particles, referred to as the Stokes drift. 1295 1339 An accurate evaluation of the Stokes drift and the inclusion of related processes may lead to improved 1296 representation of surface physics in ocean general circulation models. 1340 representation of surface physics in ocean general circulation models. %GS: reference needed 1297 1341 The Stokes drift velocity $\mathbf{U}_{st}$ in deep water can be computed from the wave spectrum and may be written as: 1298 1342 … … 1309 1353 $k=\frac{2\pi}{\lambda}$ (being $\lambda$ the wavelength). \\ 1310 1354 1311 In order to evaluate the Stokes drift in a realistic ocean wave field the wave spectral shape is required1355 In order to evaluate the Stokes drift in a realistic ocean wave field, the wave spectral shape is required 1312 1356 and its computation quickly becomes expensive as the 2D spectrum must be integrated for each vertical level. 1313 1357 To simplify, it is customary to use approximations to the full Stokes profile. … … 1339 1383 1340 1384 \item[\np{nn\_sdrift} = 1]: velocity profile based on the Phillips spectrum which is considered to be a 1341 reasonable estimate of the part of the spectrum most contributing to the Stokes drift velocity near the surface1385 reasonable estimate of the part of the spectrum mostly contributing to the Stokes drift velocity near the surface 1342 1386 \citep{breivik.bidlot.ea_OM16}: 1343 1387 … … 1377 1421 1378 1422 1379 % ================================================================1423 %  1380 1424 % StokesCoriolis term (ln_stcor) 1381 % ================================================================1425 %  1382 1426 \subsection[StokesCoriolis term (\texttt{ln\_stcor})] 1383 1427 {StokesCoriolis term (\protect\np{ln\_stcor})} … … 1392 1436 1393 1437 1394 % ================================================================1438 %  1395 1439 % Waves modified stress (ln_tauwoc, ln_tauw) 1396 % ================================================================1397 \subsection[Wave modified s ress (\texttt{ln\_tauwoc}, \texttt{ln\_tauw})]1440 %  1441 \subsection[Wave modified stress (\texttt{ln\_tauwoc}, \texttt{ln\_tauw})] 1398 1442 {Wave modified sress (\protect\np{ln\_tauwoc, ln\_tauw})} 1399 1443 \label{subsec:SBC_wave_tauw} … … 1402 1446 into the waves \citep{janssen.breivik.ea_rpt13}. Therefore, when waves are growing, momentum and energy is spent and is not 1403 1447 available for forcing the mean circulation, while in the opposite case of a decaying sea 1404 state more momentum is available for forcing the ocean.1405 Only when the sea state is in equilibrium the ocean is forced by the atmospheric stress,1406 but in practice an equilibrium sea state is a fairly rare event.1448 state, more momentum is available for forcing the ocean. 1449 Only when the sea state is in equilibrium, the ocean is forced by the atmospheric stress, 1450 but in practice, an equilibrium sea state is a fairly rare event. 1407 1451 So the atmospheric stress felt by the ocean circulation $\tau_{oc,a}$ can be expressed as: 1408 1452 … … 1434 1478 1435 1479 1480 1436 1481 % ================================================================ 1437 1482 % Miscellanea options … … 1439 1484 \section{Miscellaneous options} 1440 1485 \label{sec:SBC_misc} 1486 1441 1487 1442 1488 %  … … 1446 1492 {Diurnal cycle (\protect\mdl{sbcdcy})} 1447 1493 \label{subsec:SBC_dcy} 1448 %namsbc _rnf1494 %namsbc 1449 1495 % 1450 1496 \nlst{namsbc} … … 1468 1514 1469 1515 \cite{bernie.woolnough.ea_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. 1470 Unfortunately high frequency forcing fields are rare, not to say inexistent. 1471 Nevertheless, it is possible to obtain a reasonable diurnal cycle of the SST knowning only short wave flux (SWF) at 1472 high frequency \citep{bernie.guilyardi.ea_CD07}. 1516 %Unfortunately high frequency forcing fields are rare, not to say inexistent. GS: not true anymore ! 1517 Nevertheless, it is possible to obtain a reasonable diurnal cycle of the SST knowning only short wave flux (SWF) at high frequency \citep{bernie.guilyardi.ea_CD07}. 1473 1518 Furthermore, only the knowledge of daily mean value of SWF is needed, 1474 1519 as higher frequency variations can be reconstructed from them, … … 1476 1521 The \cite{bernie.guilyardi.ea_CD07} reconstruction algorithm is available in \NEMO by 1477 1522 setting \np{ln\_dm2dc}\forcode{ = .true.} (a \textit{\ngn{namsbc}} namelist variable) when 1478 using CORE bulk formulea (\np{ln\_blk\_core}\forcode{ = .true.}) or1523 using a bulk formulation (\np{ln\_blk}\forcode{ = .true.}) or 1479 1524 the flux formulation (\np{ln\_flx}\forcode{ = .true.}). 1480 1525 The reconstruction is performed in the \mdl{sbcdcy} module. 1481 1526 The detail of the algoritm used can be found in the appendix~A of \cite{bernie.guilyardi.ea_CD07}. 1482 The algorithm preserve the daily mean incoming SWF as the reconstructed SWF at1527 The algorithm preserves the daily mean incoming SWF as the reconstructed SWF at 1483 1528 a given time step is the mean value of the analytical cycle over this time step (\autoref{fig:SBC_diurnal}). 1484 1529 The use of diurnal cycle reconstruction requires the input SWF to be daily 1485 (\ie a frequency of 24 and a time interpolation set to true in \np{sn\_qsr} namelist parameter).1486 Furthermore, it is recommended to have a least 8 surface module time step per day,1530 (\ie a frequency of 24 hours and a time interpolation set to true in \np{sn\_qsr} namelist parameter). 1531 Furthermore, it is recommended to have a least 8 surface module time steps per day, 1487 1532 that is $\rdt \ nn\_fsbc < 10,800~s = 3~h$. 1488 1533 An example of recontructed SWF is given in \autoref{fig:SBC_dcy} for a 12 reconstructed diurnal cycle, … … 1507 1552 an inconsistency between the scale of the vertical resolution and the forcing acting on that scale. 1508 1553 1554 1509 1555 %  1510 1556 % Rotation of vector pairs onto the model grid directions … … 1513 1559 \label{subsec:SBC_rotation} 1514 1560 1515 When using a flux (\np{ln\_flx}\forcode{ = .true.}) or 1516 bulk (\np{ln\_clio}\forcode{ = .true.} or \np{ln\_core}\forcode{ = .true.}) formulation, 1561 When using a flux (\np{ln\_flx}\forcode{ = .true.}) or bulk (\np{ln\_blk}\forcode{ = .true.}) formulation, 1517 1562 pairs of vector components can be rotated from eastnorth directions onto the local grid directions. 1518 1563 This is particularly useful when interpolation on the fly is used since here any vectors are likely to 1519 1564 be defined relative to a rectilinear grid. 1520 To activate this option a nonempty string is supplied in the rotation pair column of the relevant namelist.1565 To activate this option, a nonempty string is supplied in the rotation pair column of the relevant namelist. 1521 1566 The eastward component must start with "U" and the northward component with "V". 1522 1567 The remaining characters in the strings are used to identify which pair of components go together. … … 1527 1572 The rot\_rep routine from the \mdl{geo2ocean} module is used to perform the rotation. 1528 1573 1574 1529 1575 %  1530 1576 % Surface restoring to observed SST and/or SSS … … 1538 1584 % 1539 1585 1540 IOptions are defined through the \ngn{namsbc\_ssr} namelist variables.1586 Options are defined through the \ngn{namsbc\_ssr} namelist variables. 1541 1587 On forced mode using a flux formulation (\np{ln\_flx}\forcode{ = .true.}), 1542 1588 a feedback term \emph{must} be added to the surface heat flux $Q_{ns}^o$: … … 1570 1616 The SSS restoring term should be viewed as a flux correction on freshwater fluxes to 1571 1617 reduce the uncertainties we have on the observed freshwater budget. 1618 1572 1619 1573 1620 %  … … 1595 1642 This prevents deep convection to occur when trying to reach the freezing point 1596 1643 (and so ice covered area condition) while the SSS is too large. 1597 This manner of managing seaice area, just by using siIF case,1644 This manner of managing seaice area, just by using a IF case, 1598 1645 is usually referred as the \textit{iceif} model. 1599 1646 It can be found in the \mdl{sbcice{\_}if} module. … … 1602 1649 This model computes the iceocean fluxes, 1603 1650 that are combined with the airsea fluxes using the ice fraction of each model cell to 1604 provide the surface ocean fluxes.1605 Note that the activation of a seaice model is is done by defining a CPP key (\key{lim3} or \key{cice}).1651 provide the surface averaged ocean fluxes. 1652 Note that the activation of a seaice model is done by defining a CPP key (\key{si3} or \key{cice}). 1606 1653 The activation automatically overwrites the read value of nn{\_}ice to its appropriate value 1607 (\ie $2$ for LIM3 or $3$ for CICE).1654 (\ie $2$ for SI3 or $3$ for CICE). 1608 1655 \end{description} 1609 1656 1610 1657 % {Description of Iceocean interface to be added here or in LIM 2 and 3 doc ?} 1611 1658 %GS: oceanice (SI3) interface is not located in SBC directory anymore, so it should be included in SI3 doc 1659 1660 1661 %  1662 % CICEocean Interface 1663 %  1612 1664 \subsection[Interface to CICE (\textit{sbcice\_cice.F90})] 1613 1665 {Interface to CICE (\protect\mdl{sbcice\_cice})} 1614 1666 \label{subsec:SBC_cice} 1615 1667 1616 It is nowpossible to couple a regional or global NEMO configuration (without AGRIF)1668 It is possible to couple a regional or global NEMO configuration (without AGRIF) 1617 1669 to the CICE seaice model by using \key{cice}. 1618 1670 The CICE code can be obtained from \href{http://oceans11.lanl.gov/trac/CICE/}{LANL} and … … 1621 1673 and CICE CPP keys \textbf{ORCA\_GRID}, \textbf{CICE\_IN\_NEMO} and \textbf{coupled} should be used 1622 1674 (seek advice from UKMO if necessary). 1623 Currently the code is only designed to work when using the CORE forcing option for NEMO1675 Currently, the code is only designed to work when using the NCAR forcing option for NEMO %GS: still true ? 1624 1676 (with \textit{calc\_strair}\forcode{ = .true.} and \textit{calc\_Tsfc}\forcode{ = .true.} in the CICE namelist), 1625 1677 or alternatively when NEMO is coupled to the HadGAM3 atmosphere model … … 1641 1693 there is no sea ice. 1642 1694 1695 1643 1696 %  1644 1697 % Freshwater budget control … … 1648 1701 \label{subsec:SBC_fwb} 1649 1702 1650 For global ocean simulation it can be useful to introduce a control of the mean sea level in order to1703 For global ocean simulation, it can be useful to introduce a control of the mean sea level in order to 1651 1704 prevent unrealistic drift of the sea surface height due to inaccuracy in the freshwater fluxes. 1652 In \NEMO, two way of controlling the the freshwater budget. 1705 In \NEMO, two way of controlling the freshwater budget are proposed: 1706 1653 1707 \begin{description} 1654 1708 \item[\np{nn\_fwb}\forcode{ = 0}] … … 1657 1711 \item[\np{nn\_fwb}\forcode{ = 1}] 1658 1712 global mean \textit{emp} set to zero at each model time step. 1659 %Note that with a seaice 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 iceocean coupling). 1713 %GS: comment below still relevant ? 1714 %Note that with a seaice model, this technique only controls the mean sea level with linear free surface and no mass flux between ocean and ice (as it is implemented in the current iceocean coupling). 1660 1715 \item[\np{nn\_fwb}\forcode{ = 2}] 1661 1716 freshwater budget is adjusted from the previous year annual mean budget which … … 1664 1719 the change in the mean sea level at January the first and saved in the \textit{EMPav.dat} file. 1665 1720 \end{description} 1666 1667 1668 1721 1669 1722 % Griffies doc: … … 1674 1727 % The result of the normalization should be a global integrated zero net water input to the oceanice system over 1675 1728 % a chosen time scale. 1676 % How often the normalization is done is a matter of choice. In mom4p1, we choose to do so at each model time step,1729 % How often the normalization is done is a matter of choice. In mom4p1, we choose to do so at each model time step, 1677 1730 % so that there is always a zero net input of water to the oceanice system. 1678 1731 % Others choose to normalize over an annual cycle, in which case the net imbalance over an annual cycle is used … … 1689 1742 % in oceanice models. 1690 1743 1744 1691 1745 \biblio 1692 1746
Note: See TracChangeset
for help on using the changeset viewer.