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 14644 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_LBC.tex – NEMO

Ignore:
Timestamp:
2021-03-26T15:33:49+01:00 (3 years ago)
Author:
sparonuz
Message:

Merge trunk -r14642:HEAD

Location:
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final

    • Property svn:externals
      •  

        old new  
        99 
        1010# SETTE 
        11 ^/utils/CI/sette_wave@13990         sette 
         11^/utils/CI/sette@14244        sette 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles

    • Property svn:ignore
      •  

        old new  
         1*.aux 
         2*.bbl 
         3*.blg 
         4*.fdb* 
         5*.fls 
         6*.idx 
         7*.ilg 
        18*.ind 
        2 *.ilg 
         9*.lo* 
         10*.out 
         11*.pdf 
         12*.pyg 
         13*.tdo 
         14*.toc 
         15*.xdv 
         16cache* 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/doc/latex/NEMO/subfiles/chap_LBC.tex

    r14200 r14644  
    55\chapter{Lateral Boundary Condition (LBC)} 
    66\label{chap:LBC} 
    7  
    8 \thispagestyle{plain} 
    97 
    108\chaptertoc 
     
    161159 
    162160%% ================================================================================================= 
    163 \section[Model domain boundary condition (\forcode{jperio})]{Model domain boundary condition (\protect\jp{jperio})} 
     161\section{Model domain boundary condition} 
    164162\label{sec:LBC_jperio} 
    165163 
     
    170168 
    171169%% ================================================================================================= 
    172 \subsection[Closed, cyclic (\forcode{=0,1,2,7})]{Closed, cyclic (\protect\jp{jperio}\forcode{=0,1,2,7})} 
     170\subsection{Closed, cyclic (\forcode{l_Iperio,l_jperio})} 
    173171\label{subsec:LBC_jperio012} 
    174172 
    175173The choice of closed or cyclic model domain boundary condition is made by 
    176 setting \jp{jperio} to 0, 1, 2 or 7 in namelist \nam{cfg}{cfg}. 
     174setting \forcode{l_Iperio,l_jperio} to true or false in namelist \nam{cfg}{cfg}. 
    177175Each time such a boundary condition is needed, it is set by a call to routine \mdl{lbclnk}. 
    178176The computation of momentum and tracer trends proceeds from $i=2$ to $i=jpi-1$ and from $j=2$ to $j=jpj-1$, 
     
    183181\begin{description} 
    184182 
    185 \item [For closed boundary (\jp{jperio}\forcode{=0})], solid walls are imposed at all model boundaries: 
     183\item [For closed boundary (\forcode{l_Iperio = .false.,l_jperio = .false.})], solid walls are imposed at all model boundaries: 
    186184  first and last rows and columns are set to zero. 
    187185 
    188 \item [For cyclic east-west boundary (\jp{jperio}\forcode{=1})], first and last rows are set to zero (closed) whilst the first column is set to 
     186\item [For cyclic east-west boundary (\forcode{l_Iperio = .true.,l_jperio = .false.})], first and last rows are set to zero (closed) whilst the first column is set to 
    189187  the value of the last-but-one column and the last column to the value of the second one 
    190188  (\autoref{fig:LBC_jperio}-a). 
    191189  Whatever flows out of the eastern (western) end of the basin enters the western (eastern) end. 
    192190 
    193 \item [For cyclic north-south boundary (\jp{jperio}\forcode{=2})], first and last columns are set to zero (closed) whilst the first row is set to 
     191\item [For cyclic north-south boundary (\forcode{l_Iperio = .false.,l_jperio = .true.})], first and last columns are set to zero (closed) whilst the first row is set to 
    194192  the value of the last-but-one row and the last row to the value of the second one 
    195193  (\autoref{fig:LBC_jperio}-a). 
    196194  Whatever flows out of the northern (southern) end of the basin enters the southern (northern) end. 
    197195 
    198 \item [Bi-cyclic east-west and north-south boundary (\jp{jperio}\forcode{=7})] combines cases 1 and 2. 
     196\item [Bi-cyclic east-west and north-south boundary (\forcode{l_Iperio = .true.,l_jperio = .true.})] combines cases 1 and 2. 
    199197 
    200198\end{description} 
     
    209207 
    210208%% ================================================================================================= 
    211 \subsection[North-fold (\forcode{=3,6})]{North-fold (\protect\jp{jperio}\forcode{=3,6})} 
     209\subsection{North-fold (\forcode{l_NFold = .true.})} 
    212210\label{subsec:LBC_north_fold} 
    213211 
     
    222220  \includegraphics[width=0.66\textwidth]{LBC_North_Fold_T} 
    223221  \caption[North fold boundary in ORCA 2\deg, 1/4\deg and 1/12\deg]{ 
    224     North fold boundary with a $T$-point pivot and cyclic east-west boundary condition ($jperio=4$), 
     222    North fold boundary with a $T$-point pivot and cyclic east-west boundary condition ($c\_NFtype='T'$), 
    225223    as used in ORCA 2\deg, 1/4\deg and 1/12\deg. 
    226224    Pink shaded area corresponds to the inner domain mask (see text).} 
     
    288286Each processor is independent and without message passing or synchronous process, programs run alone and access just its own local memory. 
    289287For this reason, 
    290 the main model dimensions are now the local dimensions of the subdomain (pencil) that are named \jp{jpi}, \jp{jpj}, \jp{jpk}. 
     288the main model dimensions are now the local dimensions of the subdomain (pencil) that are named \texttt{jpi}, \texttt{jpj}, \texttt{jpk}. 
    291289These dimensions include the internal domain and the overlapping rows. 
    292 The number of rows to exchange (known as the halo) is usually set to one (nn\_hls=1, in \mdl{par\_oce}, 
     290The number of rows to exchange (known as the halo) is usually set to one (\forcode{nn_hls=1}, in \mdl{par\_oce}, 
    293291and must be kept to one until further notice). 
    294 The whole domain dimensions are named \jp{jpiglo}, \jp{jpjglo} and \jp{jpk}. 
     292The whole domain dimensions are named \texttt{jpiglo}, \texttt{jpjglo} and \texttt{jpk}. 
    295293The relationship between the whole domain and a sub-domain is: 
    296294\begin{gather*} 
     
    299297\end{gather*} 
    300298 
    301 One also defines variables nldi and nlei which correspond to the internal domain bounds, and the variables nimpp and njmpp which are the position of the (1,1) grid-point in the global domain (\autoref{fig:LBC_mpp}). Note that since the version 4, there is no more extra-halo area as defined in \autoref{fig:LBC_mpp} so \jp{jpi} is now always equal to nlci and \jp{jpj} equal to nlcj. 
     299One also defines variables nldi and nlei which correspond to the internal domain bounds, and the variables nimpp and njmpp which are the position of the (1,1) grid-point in the global domain (\autoref{fig:LBC_mpp}). Note that since the version 4, there is no more extra-halo area as defined in \autoref{fig:LBC_mpp} so \texttt{jpi} is now always equal to nlci and \texttt{jpj} equal to nlcj. 
    302300 
    303301An element of $T_{l}$, a local array (subdomain) corresponds to an element of $T_{g}$, 
     
    309307with $1 \leq i \leq jpi$, $1  \leq j \leq jpj $ , and  $1  \leq k \leq jpk$. 
    310308 
    311 The 1-d arrays $mig(1:\jp{jpi})$ and $mjg(1:\jp{jpj})$, defined in \rou{dom\_glo} routine (\mdl{domain} module), should be used to get global domain indices from local domain indices. The 1-d arrays, $mi0(1:\jp{jpiglo})$, $mi1(1:\jp{jpiglo})$ and $mj0(1:\jp{jpjglo})$, $mj1(1:\jp{jpjglo})$ have the reverse purpose and should be used to define loop indices expressed in global domain indices (see examples in \mdl{dtastd} module).\\ 
     309The 1-d arrays $mig(1:\texttt{jpi})$ and $mjg(1:\texttt{jpj})$, defined in \rou{dom\_glo} routine (\mdl{domain} module), should be used to get global domain indices from local domain indices. The 1-d arrays, $mi0(1:\texttt{jpiglo})$, $mi1(1:\texttt{jpiglo})$ and $mj0(1:\texttt{jpjglo})$, $mj1(1:\texttt{jpjglo})$ have the reverse purpose and should be used to define loop indices expressed in global domain indices (see examples in \mdl{dtastd} module).\\ 
    312310 
    313311The \NEMO\ model computes equation terms with the help of mask arrays (0 on land points and 1 on sea points). It is therefore possible that an MPI subdomain contains only land points. To save ressources, we try to supress from the computational domain as much land subdomains as possible. For example if $N_{mpi}$ processes are allocated to NEMO, the domain decomposition will be given by the following equation: 
     
    372370The number of boundary sets is defined by \np{nb_bdy}{nb\_bdy}. 
    373371Each boundary set can be either defined as a series of straight line segments directly in the namelist 
    374 (\np[=.false.]{ln_coords_file}{ln\_coords\_file}, and a namelist block \forcode{&nambdy_index} must be included for each set) or read in from a file (\np[=.true.]{ln_coords_file}{ln\_coords\_file}, and a ``\ifile{coordinates.bdy}'' file must be provided). 
    375 The coordinates.bdy file is analagous to the usual \NEMO\ ``\ifile{coordinates}'' file. 
     372(\np[=.false.]{ln_coords_file}{ln\_coords\_file}, and a namelist block \forcode{&nambdy_index} must be included for each set) or read in from a file (\np[=.true.]{ln_coords_file}{ln\_coords\_file}, and a ``\textit{coordinates.bdy.nc}'' file must be provided). 
     373The coordinates.bdy file is analagous to the usual \NEMO\ ``\textit{coordinates.nc}'' file. 
    376374In the example above, there are two boundary sets, the first of which is defined via a file and 
    377375the second is defined in the namelist. 
     
    570568 
    571569The boundary geometry for each set may be defined in a namelist \forcode{&nambdy_index} or 
    572 by reading in a ``\ifile{coordinates.bdy}'' file. 
    573 The \texttt{nambdy\_index} namelist defines a series of straight-line segments for north, east, south and west boundaries. 
    574 One \texttt{nambdy\_index} namelist block is needed for each boundary condition defined by indexes. 
     570by reading in a ``\textit{coordinates.bdy.nc}'' file. 
     571The \forcode{&nambdy_index} namelist defines a series of straight-line segments for north, east, south and west boundaries. 
     572One \forcode{&nambdy_index} namelist block is needed for each boundary condition defined by indexes. 
    575573For the northern boundary, \texttt{nbdysegn} gives the number of segments, 
    576 \jp{jpjnob} gives the $j$ index for each segment and \jp{jpindt} and 
    577 \jp{jpinft} give the start and end $i$ indices for each segment with similar for the other boundaries. 
     574\texttt{jpjnob} gives the $j$ index for each segment and \texttt{jpindt} and 
     575\texttt{jpinft} give the start and end $i$ indices for each segment with similar for the other boundaries. 
    578576These segments define a list of $T$ grid points along the outermost row of the boundary ($nbr\,=\, 1$). 
    579577The code deduces the $U$ and $V$ points and also the points for $nbr\,>\, 1$ if \np[>1]{nn_rimwidth}{nn\_rimwidth}. 
    580578 
    581 The boundary geometry may also be defined from a ``\ifile{coordinates.bdy}'' file. 
     579The boundary geometry may also be defined from a ``\textit{coordinates.bdy.nc}'' file. 
    582580\autoref{fig:LBC_nc_header} gives an example of the header information from such a file, based on the description of geometrical setup given above. 
    583581The file should contain the index arrays for each of the $T$, $U$ and $V$ grids. 
     
    633631  \centering 
    634632  \includegraphics[width=0.66\textwidth]{LBC_nc_header} 
    635   \caption[Header for a \protect\ifile{coordinates.bdy} file]{ 
    636     Example of the header for a \protect\ifile{coordinates.bdy} file} 
     633  \caption[Header for a \textit{coordinates.bdy.nc} file]{ 
     634    Example of the header for a \textit{coordinates.bdy.nc} file} 
    637635  \label{fig:LBC_nc_header} 
    638636\end{figure} 
     
    684682\texttt{<constituent>\_z1} and \texttt{<constituent>\_z2} for the real and imaginary parts of 
    685683SSH, respectively, are expected to be available in file 
    686 \ifile{<input>\_grid\_T}, variables \texttt{<constituent>\_u1} and 
     684\textit{<input>\_grid\_T.nc}, variables \texttt{<constituent>\_u1} and 
    687685\texttt{<constituent>\_u2} for the real and imaginary parts of u, respectively, in file 
    688 \ifile{<input>\_grid\_U}, and \texttt{<constituent>\_v1} and 
     686\textit{<input>\_grid\_U.nc}, and \texttt{<constituent>\_v1} and 
    689687\texttt{<constituent>\_v2} for the real and imaginary parts of v, respectively, in file 
    690 \ifile{<input>\_grid\_V}; when data along open boundary segments is used, 
     688\textit{<input>\_grid\_V.nc}; when data along open boundary segments is used, 
    691689variables \texttt{z1} and \texttt{z2} (real and imaginary part of SSH) are 
    692 expected to be available in file \ifile{<input><constituent>\_grid\_T}, 
     690expected to be available in file \textit{<input><constituent>\_grid\_T.nc}, 
    693691variables \texttt{u1} and \texttt{u2} (real and imaginary part of u) in file 
    694 \ifile{<input><constituent>\_grid\_U}, and variables \texttt{v1} and \texttt{v2} 
     692\textit{<input><constituent>\_grid\_U.nc}, and variables \texttt{v1} and \texttt{v2} 
    695693(real and imaginary part of v) in file 
    696 \ifile{<input><constituent>\_grid\_V}.\par 
     694\textit{<input><constituent>\_grid\_V.nc}.\par 
    697695 
    698696Note that the barotropic velocity components are assumed to be defined 
Note: See TracChangeset for help on using the changeset viewer.