Changeset 11435 for NEMO/trunk/doc/latex/NEMO/subfiles/chap_LBC.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_LBC.tex
r11179 r11435 3 3 \begin{document} 4 4 % ================================================================ 5 % Chapter — Lateral Boundary Condition (LBC) 5 % Chapter — Lateral Boundary Condition (LBC) 6 6 % ================================================================ 7 7 \chapter{Lateral Boundary Condition (LBC)} 8 8 \label{chap:LBC} 9 9 10 \ minitoc10 \chaptertoc 11 11 12 12 \newpage … … 22 22 %--------------------------------------------nam_lbc------------------------------------------------------- 23 23 24 \nlst{namlbc} 24 \nlst{namlbc} 25 25 %-------------------------------------------------------------------------------------------------------------- 26 26 27 %The lateral ocean boundary conditions contiguous to coastlines are Neumann conditions for heat and salt (no flux across boundaries) and Dirichlet conditions for momentum (ranging from free-slip to "strong" no-slip). They are handled automatically by the mask system (see \autoref{subsec:DOM_msk}). 28 29 %OPA allows land and topography grid points in the computational domain due to the presence of continents or islands, and includes the use of a full or partial step representation of bottom topography. The computation is performed over the whole domain, \ie we do not try to restrict the computation to ocean-only points. This choice has two motivations. Firstly, working on ocean only grid points overloads the code and harms the code readability. Secondly, and more importantly, it drastically reduces the vector portion of the computation, leading to a dramatic increase of CPU time requirement on vector computers. The current section describes how the masking affects the computation of the various terms of the equations with respect to the boundary condition at solid walls. The process of defining which areas are to be masked is described in \autoref{subsec:DOM_msk}. 30 31 Options are defined through the \ngn{namlbc} namelist variables. 27 %The lateral ocean boundary conditions contiguous to coastlines are Neumann conditions for heat and salt 28 %(no flux across boundaries) and Dirichlet conditions for momentum (ranging from free-slip to "strong" no-slip). 29 %They are handled automatically by the mask system (see \autoref{subsec:DOM_msk}). 30 31 %OPA allows land and topography grid points in the computational domain due to the presence of continents or islands, 32 %and includes the use of a full or partial step representation of bottom topography. 33 %The computation is performed over the whole domain, \ie\ we do not try to restrict the computation to ocean-only points. 34 %This choice has two motivations. 35 %Firstly, working on ocean only grid points overloads the code and harms the code readability. 36 %Secondly, and more importantly, it drastically reduces the vector portion of the computation, 37 %leading to a dramatic increase of CPU time requirement on vector computers. 38 %The current section describes how the masking affects the computation of the various terms of the equations 39 %with respect to the boundary condition at solid walls. 40 %The process of defining which areas are to be masked is described in \autoref{subsec:DOM_msk}. 41 42 Options are defined through the \nam{lbc} namelist variables. 32 43 The discrete representation of a domain with complex boundaries (coastlines and bottom topography) leads to 33 44 arrays that include large portions where a computation is not required as the model variables remain at zero. … … 41 52 Since most of the boundary conditions consist of a zero flux across the solid boundaries, 42 53 they can be simply applied by multiplying variables by the correct mask arrays, 43 \ie the mask array of the grid point where the flux is evaluated.54 \ie\ the mask array of the grid point where the flux is evaluated. 44 55 For example, the heat flux in the \textbf{i}-direction is evaluated at $u$-points. 45 56 Evaluating this quantity as, … … 52 63 (where mask$_{u}$ is the mask array at a $u$-point) ensures that the heat flux is zero inside land and 53 64 at the boundaries, since mask$_{u}$ is zero at solid boundaries which in this case are defined at $u$-points 54 (normal velocity $u$ remains zero at the coast) (\autoref{fig:LBC_uv}). 65 (normal velocity $u$ remains zero at the coast) (\autoref{fig:LBC_uv}). 55 66 56 67 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 104 115 \item[free-slip boundary condition (\np{rn\_shlat}\forcode{ = 0}):] the tangential velocity at 105 116 the coastline is equal to the offshore velocity, 106 \ie the normal derivative of the tangential velocity is zero at the coast,117 \ie\ the normal derivative of the tangential velocity is zero at the coast, 107 118 so the vorticity: mask$_{f}$ array is set to zero inside the land and just at the coast 108 119 (\autoref{fig:LBC_shlat}-a). … … 114 125 the closest ocean velocity gridpoint were of the same magnitude but in the opposite direction 115 126 (\autoref{fig:LBC_shlat}-b). 116 Therefore, the vorticity along the coastlines is given by: 127 Therefore, the vorticity along the coastlines is given by: 117 128 118 129 \[ … … 130 141 131 142 \item["partial" free-slip boundary condition (0$<$\np{rn\_shlat}$<$2):] the tangential velocity at 132 the coastline is smaller than the offshore velocity, \ie there is a lateral friction but143 the coastline is smaller than the offshore velocity, \ie\ there is a lateral friction but 133 144 not strong enough to make the tangential velocity at the coast vanish (\autoref{fig:LBC_shlat}-c). 134 145 This can be selected by providing a value of mask$_{f}$ strictly inbetween $0$ and $2$. … … 149 160 % ================================================================ 150 161 \section[Model domain boundary condition (\texttt{jperio})] 151 {Model domain boundary condition (\protect\ np{jperio})}162 {Model domain boundary condition (\protect\jp{jperio})} 152 163 \label{sec:LBC_jperio} 153 164 … … 155 166 closed, cyclic east-west, cyclic north-south, a north-fold, and combination closed-north fold or 156 167 bi-cyclic east-west and north-fold. 157 The north-fold boundary condition is associated with the 3-pole ORCA mesh. 168 The north-fold boundary condition is associated with the 3-pole ORCA mesh. 158 169 159 170 % ------------------------------------------------------------------------------------------------------------- 160 % Closed, cyclic (\ np{jperio}\forcode{ = 0..2})171 % Closed, cyclic (\jp{jperio}\forcode{ = 0..2}) 161 172 % ------------------------------------------------------------------------------------------------------------- 162 173 \subsection[Closed, cyclic (\forcode{jperio = [0127]})] 163 {Closed, cyclic (\protect\ np{jperio}\forcode{ = [0127]})}174 {Closed, cyclic (\protect\jp{jperio}\forcode{ = [0127]})} 164 175 \label{subsec:LBC_jperio012} 165 176 166 177 The choice of closed or cyclic model domain boundary condition is made by 167 setting \ np{jperio} to 0, 1, 2 or 7 in namelist \ngn{namcfg}.178 setting \jp{jperio} to 0, 1, 2 or 7 in namelist \nam{cfg}. 168 179 Each time such a boundary condition is needed, it is set by a call to routine \mdl{lbclnk}. 169 180 The computation of momentum and tracer trends proceeds from $i=2$ to $i=jpi-1$ and from $j=2$ to $j=jpj-1$, 170 \ie in the model interior.181 \ie\ in the model interior. 171 182 To choose a lateral model boundary condition is to specify the first and last rows and columns of 172 the model variables. 183 the model variables. 173 184 174 185 \begin{description} 175 186 176 \item[For closed boundary (\ np{jperio}\forcode{ = 0})],187 \item[For closed boundary (\jp{jperio}\forcode{ = 0})], 177 188 solid walls are imposed at all model boundaries: 178 189 first and last rows and columns are set to zero. 179 190 180 \item[For cyclic east-west boundary (\ np{jperio}\forcode{ = 1})],191 \item[For cyclic east-west boundary (\jp{jperio}\forcode{ = 1})], 181 192 first and last rows are set to zero (closed) whilst the first column is set to 182 193 the value of the last-but-one column and the last column to the value of the second one … … 184 195 Whatever flows out of the eastern (western) end of the basin enters the western (eastern) end. 185 196 186 \item[For cyclic north-south boundary (\ np{jperio}\forcode{ = 2})],197 \item[For cyclic north-south boundary (\jp{jperio}\forcode{ = 2})], 187 198 first and last columns are set to zero (closed) whilst the first row is set to 188 199 the value of the last-but-one row and the last row to the value of the second one … … 190 201 Whatever flows out of the northern (southern) end of the basin enters the southern (northern) end. 191 202 192 \item[Bi-cyclic east-west and north-south boundary (\ np{jperio}\forcode{ = 7})] combines cases 1 and 2.203 \item[Bi-cyclic east-west and north-south boundary (\jp{jperio}\forcode{ = 7})] combines cases 1 and 2. 193 204 194 205 \end{description} … … 207 218 208 219 % ------------------------------------------------------------------------------------------------------------- 209 % North fold (\textit{jperio = 3 }to $6)$ 220 % North fold (\textit{jperio = 3 }to $6)$ 210 221 % ------------------------------------------------------------------------------------------------------------- 211 222 \subsection[North-fold (\forcode{jperio = [3-6]})] 212 {North-fold (\protect\ np{jperio}\forcode{ = [3-6]})}223 {North-fold (\protect\jp{jperio}\forcode{ = [3-6]})} 213 224 \label{subsec:LBC_north_fold} 214 225 … … 216 227 a three-polar ORCA grid. 217 228 Such a grid has two poles in the northern hemisphere (\autoref{fig:MISC_ORCA_msh}, 218 and thus requires a specific treatment illustrated in \autoref{fig:North_Fold_T}. 229 and thus requires a specific treatment illustrated in \autoref{fig:North_Fold_T}. 219 230 Further information can be found in \mdl{lbcnfd} module which applies the north fold boundary condition. 220 231 … … 234 245 235 246 % ==================================================================== 236 % Exchange with neighbouring processors 247 % Exchange with neighbouring processors 237 248 % ==================================================================== 238 249 \section[Exchange with neighbouring processors (\textit{lbclnk.F90}, \textit{lib\_mpp.F90})] … … 272 283 After a computation, a communication phase starts: 273 284 each processor sends to its neighbouring processors the update values of the points corresponding to 274 the interior overlapping area to its neighbouring sub-domain (\ie the innermost of the two overlapping rows).285 the interior overlapping area to its neighbouring sub-domain (\ie\ the innermost of the two overlapping rows). 275 286 The communication is done through the Message Passing Interface (MPI). 276 287 The data exchanges between processors are required at the very place where 277 288 lateral domain boundary conditions are set in the mono-domain computation: 278 289 the \rou{lbc\_lnk} routine (found in \mdl{lbclnk} module) which manages such conditions is interfaced with 279 routines found in \mdl{lib\_mpp} module when running on an MPP computer (\ie when \key{mpp\_mpi} defined).290 routines found in \mdl{lib\_mpp} module when running on an MPP computer (\ie\ when \key{mpp\_mpi} defined). 280 291 It has to be pointed out that when using the MPP version of the model, 281 292 the east-west cyclic boundary condition is done implicitly, … … 297 308 The i-axis is divided by \jp{jpni} and 298 309 the j-axis by \jp{jpnj} for a number of processors \jp{jpnij} most often equal to $jpni \times jpnj$ 299 (parameters set in \n gn{nammpp} namelist).310 (parameters set in \nam{mpp} namelist). 300 311 Each processor is independent and without message passing or synchronous process, 301 312 programs run alone and access just its own local memory. … … 304 315 These dimensions include the internal domain and the overlapping rows. 305 316 The number of rows to exchange (known as the halo) is usually set to one (\jp{jpreci}=1, in \mdl{par\_oce}). 306 The whole domain dimensions are named \ np{jpiglo}, \np{jpjglo} and \jp{jpk}.317 The whole domain dimensions are named \jp{jpiglo}, \jp{jpjglo} and \jp{jpk}. 307 318 The relationship between the whole domain and a sub-domain is: 308 319 \[ … … 312 323 where \jp{jpni}, \jp{jpnj} are the number of processors following the i- and j-axis. 313 324 314 One also defines variables nldi and nlei which correspond to the internal domain bounds, 315 and the variables nimpp and njmpp which are the position of the (1,1) grid-point in the global domain. 325 One also defines variables nldi and nlei which correspond to the internal domain bounds, 326 and the variables nimpp and njmpp which are the position of the (1,1) grid-point in the global domain. 316 327 An element of $T_{l}$, a local array (subdomain) corresponds to an element of $T_{g}$, 317 a global array (whole domain) by the relationship: 328 a global array (whole domain) by the relationship: 318 329 \[ 319 330 % \label{eq:lbc_nimpp} … … 337 348 338 349 339 The \NEMO model computes equation terms with the help of mask arrays (0 on land points and 1 on sea points).350 The \NEMO\ model computes equation terms with the help of mask arrays (0 on land points and 1 on sea points). 340 351 It is easily readable and very efficient in the context of a computer with vectorial architecture. 341 352 However, in the case of a scalar processor, computations over the land regions become more expensive in 342 terms of CPU time. 353 terms of CPU time. 343 354 It is worse when we use a complex configuration with a realistic bathymetry like the global ocean where 344 355 more than 50 \% of points are land points. … … 349 360 The user then chooses optimal parameters \jp{jpni}, \jp{jpnj} and \jp{jpnij} with $jpnij < jpni \times jpnj$, 350 361 leading to the elimination of $jpni \times jpnj - jpnij$ land processors. 351 When those parameters are specified in \n gn{nammpp} namelist,362 When those parameters are specified in \nam{mpp} namelist, 352 363 the algorithm in the \rou{inimpp2} routine sets each processor's parameters (nbound, nono, noea,...) so that 353 364 the land-only processors are not taken into account. 354 365 355 \gmcomment{Note that the inimpp2 routine is general so that the original inimpp 366 \gmcomment{Note that the inimpp2 routine is general so that the original inimpp 356 367 routine should be suppressed from the code.} 357 368 … … 360 371 Note that this is a problem for the meshmask file which requires to be defined over the whole domain. 361 372 Therefore, user should not eliminate land processors when creating a meshmask file 362 (\ie when setting a non-zero value to \np{nn\_msh}).373 (\ie\ when setting a non-zero value to \np{nn\_msh}). 363 374 364 375 %>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 381 392 382 393 % ==================================================================== 383 % Unstructured open boundaries BDY 394 % Unstructured open boundaries BDY 384 395 % ==================================================================== 385 396 \section{Unstructured open boundary conditions (BDY)} … … 388 399 %-----------------------------------------nambdy-------------------------------------------- 389 400 390 \nlst{nambdy} 401 \nlst{nambdy} 391 402 %----------------------------------------------------------------------------------------------- 392 403 %-----------------------------------------nambdy_dta-------------------------------------------- 393 404 394 \nlst{nambdy_dta} 405 \nlst{nambdy_dta} 395 406 %----------------------------------------------------------------------------------------------- 396 407 397 Options are defined through the \n gn{nambdy} \ngn{nambdy\_dta} namelist variables.398 The BDY module is the core implementation of open boundary conditions for regional configurations on 408 Options are defined through the \nam{bdy} \nam{bdy\_dta} namelist variables. 409 The BDY module is the core implementation of open boundary conditions for regional configurations on 399 410 temperature, salinity, barotropic and baroclinic velocities, as well as ice concentration, ice and snow thicknesses). 400 411 401 The BDY module was modelled on the OBC module (see NEMO3.4) and shares many features and412 The BDY module was modelled on the OBC module (see \NEMO\ 3.4) and shares many features and 402 413 a similar coding structure \citep{chanut_rpt05}. 403 414 The specification of the location of the open boundary is completely flexible and 404 allows for example the open boundary to follow an isobath or other irregular contour. 405 Boundary data files used with versions of NEMOprior to Version 3.4 may need to be re-ordered to work with this version.415 allows for example the open boundary to follow an isobath or other irregular contour. 416 Boundary data files used with versions of \NEMO\ prior to Version 3.4 may need to be re-ordered to work with this version. 406 417 See the section on the Input Boundary Data Files for details. 407 418 … … 415 426 Each boundary set may be defined as a set of straight line segments in a namelist 416 427 (\np{ln\_coords\_file}\forcode{ = .false.}) or read in from a file (\np{ln\_coords\_file}\forcode{ = .true.}). 417 If the set is defined in a namelist, then the namelists \n gn{nambdy\_index} must be included separately, one for each set.428 If the set is defined in a namelist, then the namelists \nam{bdy\_index} must be included separately, one for each set. 418 429 If the set is defined by a file, then a ``\ifile{coordinates.bdy}'' file must be provided. 419 The coordinates.bdy file is analagous to the usual NEMO``\ifile{coordinates}'' file.430 The coordinates.bdy file is analagous to the usual \NEMO\ ``\ifile{coordinates}'' file. 420 431 In the example above, there are two boundary sets, the first of which is defined via a file and 421 432 the second is defined in a namelist. … … 423 434 424 435 For each boundary set a boundary condition has to be chosen for the barotropic solution 425 (``u2d'':sea-surface height and barotropic velocities), for the baroclinic velocities (``u3d''), 436 (``u2d'':sea-surface height and barotropic velocities), for the baroclinic velocities (``u3d''), 426 437 for the active tracers \footnote{The BDY module does not deal with passive tracers at this version} (``tra''), and sea-ice (``ice''). 427 438 For each set of variables there is a choice of algorithm and a choice for the data, 428 eg. for the active tracers the algorithm is set by \np{cn\_tra} and the choice of data is set by \np{nn\_tra\_dta}.\\ 439 eg. for the active tracers the algorithm is set by \np{cn\_tra} and the choice of data is set by \np{nn\_tra\_dta}.\\ 429 440 430 441 The choice of algorithm is currently as follows: … … 436 447 \item[\forcode{'neumann'}:] Value at the boundary are duplicated (No gradient). Only available for baroclinic velocity and tracer variables. 437 448 \item[\forcode{'frs'}:] Flow Relaxation Scheme (FRS) available for all variables. 438 \item[\forcode{'Orlanski'}:] Orlanski radiation scheme (fully oblique) for barotropic, baroclinic and tracer variables. 439 \item[\forcode{'Orlanski_npo'}:] Orlanski radiation scheme for barotropic, baroclinic and tracer variables. 449 \item[\forcode{'Orlanski'}:] Orlanski radiation scheme (fully oblique) for barotropic, baroclinic and tracer variables. 450 \item[\forcode{'Orlanski_npo'}:] Orlanski radiation scheme for barotropic, baroclinic and tracer variables. 440 451 \item[\forcode{'flather'}:] Flather radiation scheme for the barotropic variables only. 441 452 \end{description} … … 443 454 The main choice for the boundary data is to use initial conditions as boundary data 444 455 (\np{nn\_tra\_dta}\forcode{ = 0}) or to use external data from a file (\np{nn\_tra\_dta}\forcode{ = 1}). 445 In case the 3d velocity data contain the total velocity (ie, baroclinic and barotropic velocity), 456 In case the 3d velocity data contain the total velocity (ie, baroclinic and barotropic velocity), 446 457 the bdy code can derived baroclinic and barotropic velocities by setting \np{ln\_full\_vel}\forcode{ = .true. } 447 458 For the barotropic solution there is also the option to use tidal harmonic forcing either by 448 459 itself (\np{nn\_dyn2d\_dta}\forcode{ = 2}) or in addition to other external data (\np{nn\_dyn2d\_dta}\forcode{ = 3}).\\ 449 Sea-ice salinity, temperature and age data at the boundary are constant and defined repectively by \np{rn\_ice\_sal}, \np{rn\_ice\_tem} and \np{rn\_ice\_age}. 450 451 If external boundary data is required then the \n gn{nambdy\_dta} namelist must be defined.452 One \n gn{nambdy\_dta} namelist is required for each boundary set in the order in which460 Sea-ice salinity, temperature and age data at the boundary are constant and defined repectively by \np{rn\_ice\_sal}, \np{rn\_ice\_tem} and \np{rn\_ice\_age}. 461 462 If external boundary data is required then the \nam{bdy\_dta} namelist must be defined. 463 One \nam{bdy\_dta} namelist is required for each boundary set in the order in which 453 464 the boundary sets are defined in nambdy. 454 In the example given, two boundary sets have been defined. The first one is reading data file in the \n gn{nambdy\_dta} namelist shown above465 In the example given, two boundary sets have been defined. The first one is reading data file in the \nam{bdy\_dta} namelist shown above 455 466 and the second one is using data from intial condition (no namelist bloc needed). 456 467 The boundary data is read in using the fldread module, 457 so the \n gn{nambdy\_dta} namelist is in the format required for fldread.468 so the \nam{bdy\_dta} namelist is in the format required for fldread. 458 469 For each variable required, the filename, the frequency of the files and 459 470 the frequency of the data in the files is given. … … 461 472 462 473 There is currently an option to vertically interpolate the open boundary data onto the native grid at run-time. 463 If \np{nn\_bdy\_jpk} $< -1$, it is assumed that the lateral boundary data are already on the native grid. 464 However, if \np{nn\_bdy\_jpk} is set to the number of vertical levels present in the boundary data, 465 a bilinear interpolation onto the native grid will be triggered at runtime. 466 For this to be successful the additional variables: $gdept$, $gdepu$, $gdepv$, $e3t$, $e3u$ and $e3v$, are required to be present in the lateral boundary files. 467 These correspond to the depths and scale factors of the input data, 474 If \np{nn\_bdy\_jpk} $< -1$, it is assumed that the lateral boundary data are already on the native grid. 475 However, if \np{nn\_bdy\_jpk} is set to the number of vertical levels present in the boundary data, 476 a bilinear interpolation onto the native grid will be triggered at runtime. 477 For this to be successful the additional variables: $gdept$, $gdepu$, $gdepv$, $e3t$, $e3u$ and $e3v$, are required to be present in the lateral boundary files. 478 These correspond to the depths and scale factors of the input data, 468 479 the latter used to make any adjustment to the velocity fields due to differences in the total water depths between the two vertical grids.\\ 469 480 … … 474 485 Tidal harmonic forcing is also used. 475 486 The second set is defined in a namelist. 476 FRS conditions are applied on temperature and salinity and climatological data is read from initial condition files. 487 FRS conditions are applied on temperature and salinity and climatological data is read from initial condition files. 477 488 478 489 %---------------------------------------------- … … 505 516 is relaxed towards the external conditions over the rest of the FRS zone. 506 517 The application of a relaxation zone helps to prevent spurious reflection of 507 outgoing signals from the model boundary. 518 outgoing signals from the model boundary. 508 519 509 520 The function $\alpha$ is specified as a $tanh$ function: … … 534 545 Note that the sea-surface height gradient in \autoref{eq:bdy_fla1} is a spatial gradient across the model boundary, 535 546 so that $\eta_{e}$ is defined on the $T$ points with $nbr=1$ and $\eta$ is defined on the $T$ points with $nbr=2$. 536 $U$ and $U_{e}$ are defined on the $U$ or $V$ points with $nbr=1$, \ie between the two $T$ grid points.547 $U$ and $U_{e}$ are defined on the $U$ or $V$ points with $nbr=1$, \ie\ between the two $T$ grid points. 537 548 538 549 %---------------------------------------------- … … 575 586 \end{equation} 576 587 577 Generally the relaxation time scale at inward propagation points \np{(rn\_time\_dmp}) is set much shorter than the time scale at outward propagation588 Generally the relaxation time scale at inward propagation points (\np{rn\_time\_dmp}) is set much shorter than the time scale at outward propagation 578 589 points (\np{rn\_time\_dmp\_out}) so that the solution is constrained more strongly by the external data at inward propagation points. 579 See \autoref{subsec:BDY_relaxation} for detailed on the spatial shape of the scaling.\\ 580 The ``normal propagation of oblique radiation'' or NPO approximation (called \forcode{'orlanski_npo'}) involves assuming 590 See \autoref{subsec:BDY_relaxation} for detailed on the spatial shape of the scaling.\\ 591 The ``normal propagation of oblique radiation'' or NPO approximation (called \forcode{'orlanski_npo'}) involves assuming 581 592 that $c_y$ is zero in equation (\autoref{eq:wave_continuous}), but including 582 593 this term in the denominator of equation (\autoref{eq:cx}). Both versions of the scheme are options in BDY. Equations … … 587 598 \label{subsec:BDY_relaxation} 588 599 589 In addition to a specific boundary condition specified as \np{cn\_tra} and \np{cn\_dyn3d}, relaxation on baroclinic velocities and tracers variables are available. 600 In addition to a specific boundary condition specified as \np{cn\_tra} and \np{cn\_dyn3d}, relaxation on baroclinic velocities and tracers variables are available. 590 601 It is control by the namelist parameter \np{ln\_tra\_dmp} and \np{ln\_dyn3d\_dmp} for each boundary set. 591 602 592 The relaxation time scale value (\np{rn\_time\_dmp} and \np{rn\_time\_dmp\_out}, $\tau$) are defined at the boundaries itself. 603 The relaxation time scale value (\np{rn\_time\_dmp} and \np{rn\_time\_dmp\_out}, $\tau$) are defined at the boundaries itself. 593 604 This time scale ($\alpha$) is weighted by the distance ($d$) from the boundary over \np{nn\_rimwidth} cells ($N$): 594 605 … … 597 608 \] 598 609 599 The same scaling is applied in the Orlanski damping. 610 The same scaling is applied in the Orlanski damping. 600 611 601 612 %---------------------------------------------- … … 610 621 the point is increasingly further away from the edge of the model domain. 611 622 A set of $nbi$, $nbj$, and $nbr$ arrays is defined for each of the $T$, $U$ and $V$ grids. 612 Figure \autoref{fig:LBC_bdy_geom} shows an example of an irregular boundary. 623 Figure \autoref{fig:LBC_bdy_geom} shows an example of an irregular boundary. 613 624 614 625 The boundary geometry for each set may be defined in a namelist nambdy\_index or 615 626 by reading in a ``\ifile{coordinates.bdy}'' file. 616 627 The nambdy\_index namelist defines a series of straight-line segments for north, east, south and west boundaries. 617 One nambdy\_index namelist bloc is needed for each boundary condition defined by indexes. 618 For the northern boundary, \ np{nbdysegn} gives the number of segments,619 \ np{jpjnob} gives the $j$ index for each segment and \np{jpindt} and620 \ np{jpinft} give the start and end $i$ indices for each segment with similar for the other boundaries.628 One nambdy\_index namelist bloc is needed for each boundary condition defined by indexes. 629 For the northern boundary, \texttt{nbdysegn} gives the number of segments, 630 \jp{jpjnob} gives the $j$ index for each segment and \jp{jpindt} and 631 \jp{jpinft} give the start and end $i$ indices for each segment with similar for the other boundaries. 621 632 These segments define a list of $T$ grid points along the outermost row of the boundary ($nbr\,=\, 1$). 622 633 The code deduces the $U$ and $V$ points and also the points for $nbr\,>\, 1$ if \np{nn\_rimwidth}\forcode{ > 1}. … … 629 640 Typically this file will be used to generate external boundary data via interpolation and so 630 641 will also contain the latitudes and longitudes of each point as shown. 631 However, this is not necessary to run the model. 642 However, this is not necessary to run the model. 632 643 633 644 For some choices of irregular boundary the model domain may contain areas of ocean which … … 658 669 a time dimension; 659 670 $xb$ which is the index of the boundary data point in the horizontal; 660 and $yb$ which is a degenerate dimension of 1 to enable the file to be read by the standard NEMOI/O routines.661 The 3D fields also have a depth dimension. 671 and $yb$ which is a degenerate dimension of 1 to enable the file to be read by the standard \NEMO\ I/O routines. 672 The 3D fields also have a depth dimension. 662 673 663 674 From Version 3.4 there are new restrictions on the order in which the boundary points are defined … … 670 681 \item All the data for a particular boundary set must be in the same order. 671 682 (Prior to 3.4 it was possible to define barotropic data in a different order to 672 the data for tracers and baroclinic velocities). 683 the data for tracers and baroclinic velocities). 673 684 \end{enumerate} 674 685 … … 697 708 This is controlled by the \np{ln\_vol} parameter in the namelist. 698 709 A value of \np{ln\_vol}\forcode{ = .false.} indicates that this option is not used. 699 Two options to control the volume are available (\np{nn\_volctl}). 710 Two options to control the volume are available (\np{nn\_volctl}). 700 711 If \np{nn\_volctl}\forcode{ = 0} then a correction is applied to the normal barotropic velocities around the boundary at 701 712 each timestep to ensure that the integrated volume flow through the boundary is zero. … … 713 724 %-----------------------------------------nambdy_tide-------------------------------------------- 714 725 715 \nlst{nambdy_tide} 726 \nlst{nambdy_tide} 716 727 %----------------------------------------------------------------------------------------------- 717 728 718 729 Tidal forcing at open boundaries requires the activation of surface 719 tides (i.e., in \n gn{nam\_tide}, \np{ln\_tide} needs to be set to730 tides (i.e., in \nam{\_tide}, \np{ln\_tide} needs to be set to 720 731 \forcode{.true.} and the required constituents need to be activated by 721 including their names in the \np{c name} array; see732 including their names in the \np{clname} array; see 722 733 \autoref{sec:SBC_tide}). Specific options related to the reading in of 723 734 the complex harmonic amplitudes of elevation (SSH) and barotropic 724 735 velocity (u,v) at open boundaries are defined through the 725 \n gn{nambdy\_tide} namelist parameters.\\736 \nam{bdy\_tide} namelist parameters.\\ 726 737 727 738 The tidal harmonic data at open boundaries can be specified in two
Note: See TracChangeset
for help on using the changeset viewer.