Changeset 11435 for NEMO/trunk/doc/latex/NEMO/subfiles/chap_misc.tex
- Timestamp:
- 2019-08-14T14:45:08+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/doc/latex/NEMO/subfiles/chap_misc.tex
r11339 r11435 8 8 \label{chap:MISC} 9 9 10 \ minitoc10 \chaptertoc 11 11 12 12 \newpage … … 30 30 are much narrow than even a single ocean grid-point. 31 31 32 We describe briefly here the two methods that can be used in \NEMO to handle such32 We describe briefly here the two methods that can be used in \NEMO\ to handle such 33 33 improperly resolved straits. The methods consist of opening the strait while ensuring 34 34 that the mass exchanges through the strait are not too large by either artificially … … 46 46 (\autoref{fig:MISC_strait_hand}). This technique is sometime called "partially open face" 47 47 or "partially closed cells". The key issue here is only to reduce the faces of $T$-cell 48 (\ie change the value of the horizontal scale factors at $u$- or $v$-point) but not the48 (\ie\ change the value of the horizontal scale factors at $u$- or $v$-point) but not the 49 49 volume of the $T$-cell. Indeed, reducing the volume of strait $T$-cell can easily produce 50 50 a numerical instability at that grid point which would require a reduction of the model … … 57 57 and $\texttt{e1u}*\texttt{e2v}$ respectively. That is the original surface areas of $u$- 58 58 and $v$- cells respectively. These areas are usually defined by the corresponding product 59 within the \NEMO code but the presence of \texttt{e1e2u} and \texttt{e1e2v} in the59 within the \NEMO\ code but the presence of \texttt{e1e2u} and \texttt{e1e2v} in the 60 60 \np{cn\_domcfg} file will suppress this calculation and use the supplied fields instead. 61 61 If the model domain is provided by user-supplied code in \mdl{usrdef\_hgr}, then this … … 67 67 via code in \mdl{usrdef\_hgr}), whereever a Strait reduction is required. The choice of 68 68 whether to alter \texttt{e2u} or \texttt{e1v} depends. respectively, on whether the 69 Strait in question is North-South orientated (\eg Gibraltar) or East-West orientated (\eg69 Strait in question is North-South orientated (\eg\ Gibraltar) or East-West orientated (\eg 70 70 Lombok). 71 71 … … 98 98 \textit{Bottom}: using viscous boundary layers. 99 99 The four fmask parameters along the strait coastlines are set to a value larger than 4, 100 \ie "strong" no-slip case (see \autoref{fig:LBC_shlat}) creating a large viscous boundary layer that100 \ie\ "strong" no-slip case (see \autoref{fig:LBC_shlat}) creating a large viscous boundary layer that 101 101 allows a reduced transport through the strait. 102 102 } … … 117 117 set to zero, and the total residual for all the lakes, if 118 118 negative, will be put into the St Laurence Seaway in the area 119 shown. 119 shown. 120 120 } 121 121 \end{center} … … 141 141 to zero and put the residual flux into the ocean. 142 142 143 Prior to NEMO4 the locations of inland seas and lakes was set via144 hardcoded indices for various ORCA configurations. From NEMO4 onwards143 Prior to \NEMO\ 4 the locations of inland seas and lakes was set via 144 hardcoded indices for various ORCA configurations. From \NEMO\ 4 onwards 145 145 the inland seas and lakes are defined using mask fields in the 146 146 domain configuration file. The options are as follows. … … 189 189 190 190 There is a python routine to create the closea\_mask fields and append 191 them to the domain configuration file in the utils/tools/DOMAINcfg directory. 192 193 % ================================================================ 194 % Sub-Domain Functionality 191 them to the domain configuration file in the utils/tools/DOMAINcfg directory. 192 193 % ================================================================ 194 % Sub-Domain Functionality 195 195 % ================================================================ 196 196 \section{Sub-domain functionality} … … 205 205 subsetting operates for the j-direction only and works by optionally looking for and using 206 206 a global file attribute (named: \np{open\_ocean\_jstart}) to determine the starting j-row 207 for input. The use of this option is best explained with an example: 207 for input. The use of this option is best explained with an example: 208 208 \medskip 209 209 … … 220 220 \begin{itemize} 221 221 \item Add the new attribute to any input files requiring a j-row offset, i.e: 222 \begin{cmds} 223 ncatted -a open_ocean_jstart,global,a,d,41 eORCA1_domcfg.nc 222 \begin{cmds} 223 ncatted -a open_ocean_jstart,global,a,d,41 eORCA1_domcfg.nc 224 224 \end{cmds} 225 225 226 \item Add the logical switch \np{ln\_use\_jattr} to \n gn{namcfg} in the configuration226 \item Add the logical switch \np{ln\_use\_jattr} to \nam{cfg} in the configuration 227 227 namelist (if it is not already there) and set \np{.true.} 228 228 \end{itemize} … … 238 238 \end{cmds} 239 239 240 The domain configuration file is unique in this respect since it also contains the value 241 of \texttt{jpjglo} that is read and used by the model. Any other global, 2D and 3D, 242 netcdf, input field can be prepared for use in a reduced domain by adding the243 \texttt{open\_ocean\_jstart} attribute to the file's global attributes. In particular244 this is true for any field that is read by \NEMOusing the following optional argument to240 The domain configuration file is unique in this respect since it also contains the value of \jp{jpjglo} 241 that is read and used by the model. 242 Any other global, 2D and 3D, netcdf, input field can be prepared for use in a reduced domain by adding the 243 \texttt{open\_ocean\_jstart} attribute to the file's global attributes. 244 In particular this is true for any field that is read by \NEMO\ using the following optional argument to 245 245 the appropriate call to \np{iom\_get}. 246 246 247 \begin{forlines} 247 248 lrowattr=ln_use_jattr … … 294 295 295 296 The numerical reproducibility of simulations on distributed memory parallel computers is a critical issue. 296 In particular, within NEMOglobal summation of distributed arrays is most susceptible to rounding errors,297 In particular, within \NEMO\ global summation of distributed arrays is most susceptible to rounding errors, 297 298 and their propagation and accumulation cause uncertainty in final simulation reproducibility on 298 299 different numbers of processors. 299 300 To avoid so, based on \citet{he.ding_JS01} review of different technics, 300 301 we use a so called self-compensated summation method. 301 The idea is to estimate the roundoff error, store it in a buffer, and then add it back in the next addition. 302 The idea is to estimate the roundoff error, store it in a buffer, and then add it back in the next addition. 302 303 303 304 Suppose we need to calculate $b = a_1 + a_2 + a_3$. … … 317 318 The self-compensated summation method should be used in all summation in i- and/or j-direction. 318 319 See \mdl{closea} module for an example. 319 Note also that this implementation may be sensitive to the optimization level. 320 Note also that this implementation may be sensitive to the optimization level. 320 321 321 322 \subsection{MPP scalability} … … 339 340 This alternative method should give identical results to the default \textsc{ALLGATHER} method and 340 341 is recommended for large values of \np{jpni}. 341 The new method is activated by setting \np{ln\_nnogather} to be true (\n gn{nammpp}).342 The new method is activated by setting \np{ln\_nnogather} to be true (\nam{mpp}). 342 343 The reproducibility of results using the two methods should be confirmed for each new, 343 344 non-reference configuration. … … 350 351 %--------------------------------------------namctl------------------------------------------------------- 351 352 352 \nlst{namctl} 353 \nlst{namctl} 353 354 %-------------------------------------------------------------------------------------------------------------- 354 355 355 Options are defined through the \n gn{namctl} namelist variables.356 Options are defined through the \nam{ctl} namelist variables. 356 357 357 358 \subsection{Vector optimisation} … … 360 361 This is very a very efficient way to increase the length of vector calculations and thus 361 362 to speed up the model on vector computers. 362 363 363 364 % Add here also one word on NPROMA technique that has been found useless, since compiler have made significant progress during the last decade. 364 365 365 366 % Add also one word on NEC specific optimisation (Novercheck option for example) 366 367 367 368 \subsection{Control print} 368 369 … … 411 412 at a suitably long interval. For example: 412 413 413 \begin{verbatim} 414 \begin{verbatim} 414 415 sn_cfctl%ptimincr = 25 415 416 \end{verbatim} 416 417 417 will carry out the global communications and write the information every 25 timesteps. This 418 will carry out the global communications and write the information every 25 timesteps. This 418 419 increment also applies to the time.step file which is otherwise updated every timestep. 419 420
Note: See TracChangeset
for help on using the changeset viewer.