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 11799 for NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_misc.tex – NEMO

Ignore:
Timestamp:
2019-10-25T16:27:34+02:00 (4 years ago)
Author:
mocavero
Message:

Update the branch to v4.0.1 of the trunk

Location:
NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc

    • Property svn:externals set to
      ^/utils/badges badges
      ^/utils/logos logos
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex

    • Property svn:ignore deleted
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO

    • Property svn:externals set to
      ^/utils/figures/NEMO figures
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles

    • Property svn:ignore
      •  

        old new  
        1 *.aux 
        2 *.bbl 
        3 *.blg 
        4 *.dvi 
        5 *.fdb* 
        6 *.fls 
        7 *.idx 
         1*.ind 
        82*.ilg 
        9 *.ind 
        10 *.log 
        11 *.maf 
        12 *.mtc* 
        13 *.out 
        14 *.pdf 
        15 *.toc 
        16 _minted-* 
  • NEMO/branches/2019/dev_r11470_HPC_12_mpi3/doc/latex/NEMO/subfiles/chap_misc.tex

    r11435 r11799  
    22 
    33\begin{document} 
    4 % ================================================================ 
    5 % Chapter --- Miscellaneous Topics 
    6 % ================================================================ 
     4 
    75\chapter{Miscellaneous Topics} 
    86\label{chap:MISC} 
    97 
     8\thispagestyle{plain} 
     9 
    1010\chaptertoc 
    1111 
    12 \newpage 
    13  
    14 % ================================================================ 
    15 % Representation of Unresolved Straits 
    16 % ================================================================ 
     12\paragraph{Changes record} ~\\ 
     13 
     14{\footnotesize 
     15  \begin{tabularx}{\textwidth}{l||X|X} 
     16    Release & Author(s) & Modifications \\ 
     17    \hline 
     18    {\em   4.0} & {\em ...} & {\em ...} \\ 
     19    {\em   3.6} & {\em ...} & {\em ...} \\ 
     20    {\em   3.4} & {\em ...} & {\em ...} \\ 
     21    {\em <=3.4} & {\em ...} & {\em ...} 
     22  \end{tabularx} 
     23} 
     24 
     25\clearpage 
     26 
     27%% ================================================================================================= 
    1728\section{Representation of unresolved straits} 
    1829\label{sec:MISC_strait} 
     
    2738balance the net evaporation occurring over the Mediterranean region. 
    2839This problem occurs even in eddy permitting simulations. 
    29 For example, in ORCA 1/4\deg several straits of the Indonesian archipelago (Ombai, Lombok...) 
     40For example, in ORCA 1/4\deg\ several straits of the Indonesian archipelago (Ombai, Lombok...) 
    3041are much narrow than even a single ocean grid-point. 
    3142 
     
    3647lateral friction. 
    3748 
    38 % ------------------------------------------------------------------------------------------------------------- 
    39 %       Hand made geometry changes 
    40 % ------------------------------------------------------------------------------------------------------------- 
     49%% ================================================================================================= 
    4150\subsection{Hand made geometry changes} 
    4251\label{subsec:MISC_strait_hand} 
     
    5362\begin{itemize} 
    5463 
    55 \item Add \texttt{e1e2u} and \texttt{e1e2v} arrays to the \np{cn\_domcfg} file. These 2D 
     64\item Add \texttt{e1e2u} and \texttt{e1e2v} arrays to the \np{cn_domcfg}{cn\_domcfg} file. These 2D 
    5665arrays should contain the products of the unaltered values of: $\texttt{e1u}*\texttt{e2u}$ 
    5766and $\texttt{e1u}*\texttt{e2v}$ respectively. That is the original surface areas of $u$- 
    5867and $v$- cells respectively.  These areas are usually defined by the corresponding product 
    5968within the \NEMO\ code but the presence of \texttt{e1e2u} and \texttt{e1e2v} in the 
    60 \np{cn\_domcfg} file will suppress this calculation and use the supplied fields instead. 
     69\np{cn_domcfg}{cn\_domcfg} file will suppress this calculation and use the supplied fields instead. 
    6170If the model domain is provided by user-supplied code in \mdl{usrdef\_hgr}, then this 
    6271routine should also return \texttt{e1e2u} and \texttt{e1e2v} and set the integer return 
     
    6473will suppress the calculation of the areas. 
    6574 
    66 \item Change values of \texttt{e2u} or \texttt{e1v} (either in the \np{cn\_domcfg} file or 
     75\item Change values of \texttt{e2u} or \texttt{e1v} (either in the \np{cn_domcfg}{cn\_domcfg} file or 
    6776via code in  \mdl{usrdef\_hgr}), whereever a Strait reduction is required. The choice of 
    6877whether to alter \texttt{e2u} or \texttt{e1v} depends. respectively,  on whether the 
     
    7180 
    7281\end{itemize} 
    73  
    7482 
    7583The second method is to increase the viscous boundary layer thickness by a local increase 
     
    8492\texttt{fmask} for any other configuration. 
    8593 
    86 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    8794\begin{figure}[!tbp] 
    88   \begin{center} 
    89     \includegraphics[width=\textwidth]{Fig_Gibraltar} 
    90     \includegraphics[width=\textwidth]{Fig_Gibraltar2} 
    91     \caption{ 
    92       \protect\label{fig:MISC_strait_hand} 
    93       Example of the Gibraltar strait defined in a $1^{\circ} \times 1^{\circ}$ mesh. 
    94       \textit{Top}: using partially open cells. 
    95       The meridional scale factor at $v$-point is reduced on both sides of the strait to account for 
    96       the real width of the strait (about 20 km). 
    97       Note that the scale factors of the strait $T$-point remains unchanged. 
    98       \textit{Bottom}: using viscous boundary layers. 
    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 that 
    101       allows a reduced transport through the strait. 
    102     } 
    103   \end{center} 
     95  \centering 
     96  \includegraphics[width=0.66\textwidth]{Fig_Gibraltar} 
     97  \includegraphics[width=0.66\textwidth]{Fig_Gibraltar2} 
     98  \caption[Two methods to defined the Gibraltar strait]{ 
     99    Example of the Gibraltar strait defined in a 1\deg\ $\times$ 1\deg\ mesh. 
     100    \textit{Top}: using partially open cells. 
     101    The meridional scale factor at $v$-point is reduced on both sides of the strait to 
     102    account for the real width of the strait (about 20 km). 
     103    Note that the scale factors of the strait $T$-point remains unchanged. 
     104    \textit{Bottom}: using viscous boundary layers. 
     105    The four fmask parameters along the strait coastlines are set to a value larger than 4, 
     106    \ie\ "strong" no-slip case (see \autoref{fig:LBC_shlat}) creating a large viscous boundary layer 
     107    that allows a reduced transport through the strait.} 
     108  \label{fig:MISC_strait_hand} 
    104109\end{figure} 
    105 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    106  
    107 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     110 
    108111\begin{figure}[!tbp] 
    109   \begin{center} 
    110     \includegraphics[width=\textwidth]{Fig_closea_mask_example} 
    111     \caption{ 
    112       \protect\label{fig:closea_mask_example} 
    113       Example of mask fields for the closea module. \textit{Left}: a 
    114       closea\_mask field; \textit{Right}: a closea\_mask\_rnf 
    115       field. In this example, if ln\_closea is set to .true., the mean 
    116       freshwater flux over each of the American Great Lakes will be 
    117       set to zero, and the total residual for all the lakes, if 
    118       negative, will be put into the St Laurence Seaway in the area 
    119       shown. 
    120     } 
    121   \end{center} 
     112  \centering 
     113  \includegraphics[width=0.66\textwidth]{Fig_closea_mask_example} 
     114  \caption[Mask fields for the \protect\mdl{closea} module]{ 
     115    Example of mask fields for the \protect\mdl{closea} module. 
     116    \textit{Left}: a closea\_mask field; 
     117    \textit{Right}: a closea\_mask\_rnf field. 
     118    In this example, if \protect\np{ln_closea}{ln\_closea} is set to \forcode{.true.}, 
     119    the mean freshwater flux over each of the American Great Lakes will be set to zero, 
     120    and the total residual for all the lakes, if negative, will be put into 
     121    the St Laurence Seaway in the area shown.} 
     122  \label{fig:MISC_closea_mask_example} 
    122123\end{figure} 
    123 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
    124  
    125 % ================================================================ 
    126 % Closed seas 
    127 % ================================================================ 
    128 \section[Closed seas (\textit{closea.F90})] 
    129 {Closed seas (\protect\mdl{closea})} 
     124 
     125%% ================================================================================================= 
     126\section[Closed seas (\textit{closea.F90})]{Closed seas (\protect\mdl{closea})} 
    130127\label{sec:MISC_closea} 
    131128 
     
    147144 
    148145\begin{enumerate} 
    149 \item{{\bfseries No ``closea\_mask'' field is included in domain configuration 
     146\item {{\bfseries No ``closea\_mask'' field is included in domain configuration 
    150147  file.} In this case the closea module does nothing.} 
    151148 
    152 \item{{\bfseries A field called closea\_mask is included in the domain 
     149\item {{\bfseries A field called closea\_mask is included in the domain 
    153150configuration file and ln\_closea=.false. in namelist namcfg.} In this 
    154151case the inland seas defined by the closea\_mask field are filled in 
     
    156153closea\_mask that is nonzero is set to be a land point.} 
    157154 
    158 \item{{\bfseries A field called closea\_mask is included in the domain 
     155\item {{\bfseries A field called closea\_mask is included in the domain 
    159156configuration file and ln\_closea=.true. in namelist namcfg.} Each 
    160157inland sea or group of inland seas is set to a positive integer value 
    161 in the closea\_mask field (see Figure \ref{fig:closea_mask_example} 
     158in the closea\_mask field (see \autoref{fig:MISC_closea_mask_example} 
    162159for an example). The net surface flux over each inland sea or group of 
    163160inland seas is set to zero each timestep and the residual flux is 
     
    165162closea\_mask is zero).} 
    166163 
    167 \item{{\bfseries Fields called closea\_mask and closea\_mask\_rnf are 
     164\item {{\bfseries Fields called closea\_mask and closea\_mask\_rnf are 
    168165included in the domain configuration file and ln\_closea=.true. in 
    169166namelist namcfg.} This option works as for option 3, except that if 
     
    174171by the closea\_mask\_rnf field. Each mapping is defined by a positive 
    175172integer value for the inland sea(s) and the corresponding runoff 
    176 points. An example is given in Figure 
    177 \ref{fig:closea_mask_example}. If no mapping is provided for a 
     173points. An example is given in 
     174\autoref{fig:MISC_closea_mask_example}. If no mapping is provided for a 
    178175particular inland sea then the residual is spread over the global 
    179176ocean.} 
    180177 
    181 \item{{\bfseries Fields called closea\_mask and closea\_mask\_emp are 
     178\item {{\bfseries Fields called closea\_mask and closea\_mask\_emp are 
    182179included in the domain configuration file and ln\_closea=.true. in 
    183180namelist namcfg.} This option works the same as option 4 except that 
     
    191188them to the domain configuration file in the utils/tools/DOMAINcfg directory. 
    192189 
    193 % ================================================================ 
    194 % Sub-Domain Functionality 
    195 % ================================================================ 
     190%% ================================================================================================= 
    196191\section{Sub-domain functionality} 
    197192\label{sec:MISC_zoom} 
    198193 
     194%% ================================================================================================= 
    199195\subsection{Simple subsetting of input files via NetCDF attributes} 
    200196 
     
    204200maintain different sets of input fields for use with or without active ice cavities.  This 
    205201subsetting operates for the j-direction only and works by optionally looking for and using 
    206 a global file attribute (named: \np{open\_ocean\_jstart}) to determine the starting j-row 
     202a global file attribute (named: \np{open_ocean_jstart}{open\_ocean\_jstart}) to determine the starting j-row 
    207203for input.  The use of this option is best explained with an example: 
    208204\medskip 
     
    211207configuration using the extended grid domain configuration file: \ifile{eORCA1\_domcfg.nc} 
    212208This file define a horizontal domain of 362x332.  The first row with 
    213 open ocean wet points in the non-isf bathymetry for this set is row 42 (\fortran indexing) 
    214 then the formally correct setting for \np{open\_ocean\_jstart} is 41.  Using this value as 
     209open ocean wet points in the non-isf bathymetry for this set is row 42 (\fortran\ indexing) 
     210then the formally correct setting for \np{open_ocean_jstart}{open\_ocean\_jstart} is 41.  Using this value as 
    215211the first row to be read will result in a 362x292 domain which is the same size as the 
    216212original ORCA1 domain.  Thus the extended domain configuration file can be used with all 
     
    219215 
    220216\begin{itemize} 
    221 \item  Add the new attribute to any input files requiring a j-row offset, i.e: 
     217\item Add the new attribute to any input files requiring a j-row offset, i.e: 
    222218\begin{cmds} 
    223219ncatted  -a open_ocean_jstart,global,a,d,41 eORCA1_domcfg.nc 
    224220\end{cmds} 
    225221 
    226 \item Add the logical switch \np{ln\_use\_jattr} to \nam{cfg} in the configuration 
    227 namelist (if it is not already there) and set \np{.true.} 
     222\item Add the logical switch \np{ln_use_jattr}{ln\_use\_jattr} to \nam{cfg}{cfg} in the configuration 
     223namelist (if it is not already there) and set \forcode{.true.} 
    228224\end{itemize} 
    229225 
    230226\noindent Note that with this option, the j-size of the global domain is (extended 
    231 j-size minus \np{open\_ocean\_jstart} + 1 ) and this must match the \texttt{jpjglo} value 
     227j-size minus \np{open_ocean_jstart}{open\_ocean\_jstart} + 1 ) and this must match the \texttt{jpjglo} value 
    232228for the configuration. This means an alternative version of \ifile{eORCA1\_domcfg.nc} must 
    233 be created for when \np{ln\_use\_jattr} is active. The \texttt{ncap2} tool provides a 
     229be created for when \np{ln_use_jattr}{ln\_use\_jattr} is active. The \texttt{ncap2} tool provides a 
    234230convenient way of achieving this: 
    235231 
     
    243239\texttt{open\_ocean\_jstart} attribute to the file's global attributes. 
    244240In particular this is true for any field that is read by \NEMO\ using the following optional argument to 
    245 the appropriate call to \np{iom\_get}. 
     241the appropriate call to \np{iom_get}{iom\_get}. 
    246242 
    247243\begin{forlines} 
     
    257253conditions. Experimenting with this remains an exercise for the user. 
    258254 
    259 % ================================================================ 
    260 % Accuracy and Reproducibility 
    261 % ================================================================ 
    262 \section[Accuracy and reproducibility (\textit{lib\_fortran.F90})] 
    263 {Accuracy and reproducibility (\protect\mdl{lib\_fortran})} 
     255%% ================================================================================================= 
     256\section[Accuracy and reproducibility (\textit{lib\_fortran.F90})]{Accuracy and reproducibility (\protect\mdl{lib\_fortran})} 
    264257\label{sec:MISC_fortran} 
    265258 
    266 \subsection[Issues with intrinsinc SIGN function (\texttt{\textbf{key\_nosignedzero}})] 
    267 {Issues with intrinsinc SIGN function (\protect\key{nosignedzero})} 
     259%% ================================================================================================= 
     260\subsection[Issues with intrinsinc SIGN function (\texttt{\textbf{key\_nosignedzero}})]{Issues with intrinsinc SIGN function (\protect\key{nosignedzero})} 
    268261\label{subsec:MISC_sign} 
    269262 
    270 The SIGN(A, B) is the \fortran intrinsic function delivers the magnitude of A with the sign of B. 
     263The SIGN(A, B) is the \fortran\ intrinsic function delivers the magnitude of A with the sign of B. 
    271264For example, SIGN(-3.0,2.0) has the value 3.0. 
    272265The problematic case is when the second argument is zero, because, on platforms that support IEEE arithmetic, 
     
    280273and the processor is capable of distinguishing between positive and negative zero, 
    281274and B is negative real zero. 
    282 Then SIGN delivers a negative result where, under \fninety rules, it used to return a positive result. 
     275Then SIGN delivers a negative result where, under \fninety\ rules, it used to return a positive result. 
    283276This change may be especially sensitive for the ice model, 
    284277so we overwrite the intrinsinc function with our own function simply performing :   \\ 
     
    290283some computers/compilers. 
    291284 
    292  
     285%% ================================================================================================= 
    293286\subsection{MPP reproducibility} 
    294287\label{subsec:MISC_glosum} 
     
    320313Note also that this implementation may be sensitive to the optimization level. 
    321314 
     315%% ================================================================================================= 
    322316\subsection{MPP scalability} 
    323317\label{subsec:MISC_mppsca} 
     
    339333be set at all the locations actually required by each individual for the fold operation. 
    340334This alternative method should give identical results to the default \textsc{ALLGATHER} method and 
    341 is recommended for large values of \np{jpni}. 
    342 The new method is activated by setting \np{ln\_nnogather} to be true (\nam{mpp}). 
     335is recommended for large values of \np{jpni}{jpni}. 
     336The new method is activated by setting \np{ln_nnogather}{ln\_nnogather} to be true (\nam{mpp}{mpp}). 
    343337The reproducibility of results using the two methods should be confirmed for each new, 
    344338non-reference configuration. 
    345339 
    346 % ================================================================ 
    347 % Model optimisation, Control Print and Benchmark 
    348 % ================================================================ 
     340%% ================================================================================================= 
    349341\section{Model optimisation, control print and benchmark} 
    350342\label{sec:MISC_opt} 
    351 %--------------------------------------------namctl------------------------------------------------------- 
    352  
    353 \nlst{namctl} 
    354 %-------------------------------------------------------------------------------------------------------------- 
    355  
    356 Options are defined through the  \nam{ctl} namelist variables. 
    357  
     343 
     344\begin{listing} 
     345  \nlst{namctl} 
     346  \caption{\forcode{&namctl}} 
     347  \label{lst:namctl} 
     348\end{listing} 
     349 
     350Options are defined through the  \nam{ctl}{ctl} namelist variables. 
     351 
     352%% ================================================================================================= 
    358353\subsection{Vector optimisation} 
    359354 
     
    366361% Add also one word on NEC specific optimisation (Novercheck option for example) 
    367362 
     363%% ================================================================================================= 
    368364\subsection{Control print} 
    369365 
    370 The \np{ln\_ctl} switch was originally used as a debugging option in two modes: 
     366The \np{ln_ctl}{ln\_ctl} switch was originally used as a debugging option in two modes: 
    371367 
    372368\begin{enumerate} 
    373 \item{\np{ln\_ctl}: compute and print the trends averaged over the interior domain in all TRA, DYN, LDF and 
     369\item {\np{ln_ctl}{ln\_ctl}: compute and print the trends averaged over the interior domain in all TRA, DYN, LDF and 
    374370ZDF modules. 
    375371This option is very helpful when diagnosing the origin of an undesired change in model results. } 
    376372 
    377 \item{also \np{ln\_ctl} but using the nictl and njctl namelist parameters to check the source of differences between 
     373\item {also \np{ln_ctl}{ln\_ctl} but using the nictl and njctl namelist parameters to check the source of differences between 
    378374mono and multi processor runs.} 
    379375\end{enumerate} 
    380376 
    381377However, in recent versions it has also been used to force all processors to assume the 
    382 reporting role. Thus when \np{ln\_ctl} is true all processors produce their own versions 
     378reporting role. Thus when \np{ln_ctl}{ln\_ctl} is true all processors produce their own versions 
    383379of files such as: ocean.output, layout.dat, etc.  All such files, beyond the the normal 
    384380reporting processor (narea == 1), are named with a \_XXXX extension to their name, where 
     
    386382such as run.stat (and its netCDF counterpart: run.stat.nc) and tracer.stat contain global 
    387383information and are only ever produced by the reporting master (narea == 1). For version 
    388 4.0 a start has been made to return \np{ln\_ctl} to its original function by introducing 
     3844.0 a start has been made to return \np{ln_ctl}{ln\_ctl} to its original function by introducing 
    389385a new control structure which allows finer control over which files are produced. This 
    390386feature is still evolving but it does already allow the user to: select individually the 
     
    419415increment also applies to the time.step file which is otherwise updated every timestep. 
    420416 
    421 % ================================================================ 
    422 \biblio 
    423  
    424 \pindex 
     417\onlyinsubfile{\input{../../global/epilogue}} 
    425418 
    426419\end{document} 
Note: See TracChangeset for help on using the changeset viewer.