/[MITgcm]/manual/s_phys_pkgs/text/obcs.tex
ViewVC logotype

Diff of /manual/s_phys_pkgs/text/obcs.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.9 by mlosch, Thu Mar 3 07:46:09 2011 UTC revision 1.13 by mlosch, Mon May 2 09:11:20 2011 UTC
# Line 153  their default values. Line 153  their default values.
153             ~ \\             ~ \\
154          useOBCSbalance & \code{.FALSE.} &          useOBCSbalance & \code{.FALSE.} &
155             ~ \\             ~ \\
156             OBCS\_balanceFacN/S/E/W & 0 & factor(s) determining the details             OBCS\_balanceFacN/S/E/W & 1 & factor(s) determining the details
157             of the balaning code \\             of the balaning code \\
158          useOrlanskiNorth/South/EastWest & \code{.FALSE.} &          useOrlanskiNorth/South/EastWest & \code{.FALSE.} &
159             turn on Orlanski boundary conditions for individual boundary\\             turn on Orlanski boundary conditions for individual boundary\\
# Line 364  function along the open boundary) $\bar{ Line 364  function along the open boundary) $\bar{
364  $\chi_{ob}$ (note: passive tracers are currently not implemented and  $\chi_{ob}$ (note: passive tracers are currently not implemented and
365  the code stops when package \code{ptracers} is used together with this  the code stops when package \code{ptracers} is used together with this
366  option). Currently, the code vertically averages the normal velocity  option). Currently, the code vertically averages the normal velocity
367  as specified. From these prescribed values the code computes the  as specified in \code{OB[E,W]u} or \code{OB[N,S]v}. From these
368  boundary values for the next timestep $n+1$ as follows (as an  prescribed values the code computes the boundary values for the next
369  example, we use the notation for an eastern or western boundary):  timestep $n+1$ as follows (as an example, we use the notation for an
370    eastern or western boundary):
371  \begin{itemize}  \begin{itemize}
372  \item $u^{n+1}(y,z) = \bar{u}_{ob}(y) + u'(y,z)$, where $u_{n}'$ is the  \item $u^{n+1}(y,z) = \bar{u}_{ob}(y) + (u')^{n}(y,z)$, where $(u')^{n}$
373    deviation from the vertically averaged velocity one grid point    is the deviation from the vertically averaged velocity at timestep
374    inward from the boundary.    $n$ one grid point inward from the boundary.
375  \item If $u^{n+1}$ is directed into the model domain, the boudary  \item If $u^{n+1}$ is directed into the model domain, the boudary
376    value for tracer $\chi$ is restored to the prescribed values:    value for tracer $\chi$ is restored to the prescribed values:
377    \[\chi^{n+1} =   \chi^{n} + \frac{\Delta{t}}{\tau_\chi} (\chi_{ob} -    \[\chi^{n+1} =   \chi^{n} + \frac{\Delta{t}}{\tau_\chi} (\chi_{ob} -
378    \chi^{n}),\] where $\tau_\chi$ is the relaxation time    \chi^{n}),\] where $\tau_\chi$ is the relaxation time
379    scale \texttt{T/SrelaxStevens}.    scale \texttt{T/SrelaxStevens}. The new $\chi^{n+1}$ is then subject
380  \item If $u^{n+1}$ is directed out of the model domain, the tracer is    to the advection by $u^{n+1}$.
381    advected out of the domain with $u^{n+1}+c$, where $c$ is a phase  \item If $u^{n+1}$ is directed out of the model domain, the tracer
382    velocity estimated as    $\chi^{n+1}$ on the boundary at timestep $n+1$ is estimated from
383    $\frac{1}{2}\frac{\partial\chi}{\partial{t}}/\frac{\partial\chi}{\partial{x}}$.    advection advected out of the domain with $u^{n+1}+c$, where $c$ is
384      a phase velocity estimated as
385      $\frac{1}{2}\frac{\partial\chi}{\partial{t}}/\frac{\partial\chi}{\partial{x}}$. The
386      numerical scheme is (as an example for an eastern boundary):
387      \[\chi_{i_{b},j,k}^{n+1} =   \chi_{i_{b},j,k}^{n} + \Delta{t}
388      (u^{n+1}+c)_{i_{b},j,k}\frac{\chi_{i_{b},j,k}^{n}
389        - \chi_{i_{b}-1,j,k}^{n}}{\Delta{x}_{i_{b},j}^{C}}\mbox{, if }u_{i_{b},j,k}^{n+1}>0,
390      \] where $i_{b}$ is the boundary index.
391    
392    For test purposes, the phase velocity contribution or the entire    For test purposes, the phase velocity contribution or the entire
393    advection can    advection can be turned off by setting the corresponding parameters
   be turned off by setting the corresponding parameters  
394    \texttt{useStevensPhaseVel} and \texttt{useStevensAdvection} to    \texttt{useStevensPhaseVel} and \texttt{useStevensAdvection} to
395    \texttt{.FALSE.}.\end{itemize} See \citet{stevens:90} for details.    \texttt{.FALSE.}.\end{itemize} See \citet{stevens:90} for details.
396    
397  \paragraph{OBCS\_BALANCE:} ~ \\  \paragraph{OBCS\_BALANCE\_FLOW:} ~ \\
398  %  %
399  This is not (yet) a separate routine in the code, but it may become  When turned on (\code{ALLOW\_OBCS\_BALANCE}
 one to make this code more transparent. The code is part of  
 \code{S/R~OBCS\_CALC}. When turned on (\code{ALLOW\_OBCS\_BALANCE}  
400  defined in \code{OBCS\_OPTIONS.h} and \code{useOBCSbalance=.true.} in  defined in \code{OBCS\_OPTIONS.h} and \code{useOBCSbalance=.true.} in
401  \code{data.obcs/OBCS\_PARM01}), the normal velocities across each of  \code{data.obcs/OBCS\_PARM01}), this routine balances the net flow
402  the four boundaries are modified separately, so that the net volume  across the open boundaries. By default the net flow across the
403  transport across \emph{each} boundary is zero. For example, for the  boundaries is computed and all normal velocities on boundaries are
404  western boundary at $i=i_{b}$, the modified velocity is:  adjusted to obtain zero net inflow.
405    
406    This behavior can be controlled with the runtime flags
407    \code{OBCS\_balanceFacN/S/E/W}. The values of these flags determine
408    how the net inflow is redistributed as small correction velocities
409    between the individual sections. A value ``\code{-1}'' balances an
410    individual boundary, values $>0$ determine the relative size of the
411    correction. For example, the values
412    \begin{tabbing}
413     \code{OBCS\_balanceFacE}\code{ = 1.,} \\
414     \code{OBCS\_balanceFacW}\code{ = -1.,} \\
415     \code{OBCS\_balanceFacN}\code{ = 2.,} \\
416     \code{OBCS\_balanceFacS}\code{ = 0.,}
417    \end{tabbing}
418    make the model
419    \begin{itemize}
420    \item correct Western \code{OBWu} by substracting a uniform velocity to
421    ensure zero net transport through the Western open boundary;
422    \item correct Eastern and Northern normal flow, with the Northern
423      velocity correction two times larger than the Eastern correction, but
424      \emph{not} the Southern normal flow, to ensure that the total inflow through
425      East, Northern, and Southern open boundary is balanced.
426    \end{itemize}
427    
428    The old method of balancing the net flow for all sections individually
429    can be recovered by setting all flags to -1. Then the normal
430    velocities across each of the four boundaries are modified separately,
431    so that the net volume transport across \emph{each} boundary is
432    zero. For example, for the western boundary at $i=i_{b}$, the modified
433    velocity is:
434  \[  \[
435  u(y,z) - \int_{\mbox{western boundary}}u\,dy\,dz \approx OBNu(j,k) - \sum_{j,k}  u(y,z) - \int_{\mbox{western boundary}}u\,dy\,dz \approx OBNu(j,k) - \sum_{j,k}
436  OBNu(j,k) h_{w}(i_{b},j,k)\Delta{y_G(i_{b},j)}\Delta{z(k)}.  OBNu(j,k) h_{w}(i_{b},j,k)\Delta{y_G(i_{b},j)}\Delta{z(k)}.
437  \]  \]
438  This also ensures a net total inflow of zero through all boundaries to  This also ensures a net total inflow of zero through all boundaries,
439  make it a useful flag to prevent infinite sea-level change within the  but this combination of flags is \emph{not} useful if you want to
440  domain, but the flag is \emph{not} useful if you want to simulate,  simulate, say, a sector of the Southern Ocean with a strong ACC
441  say, a sector of the Southern Ocean with a strong ACC entering through  entering through the western and leaving through the eastern boundary,
442  the western and leaving through the eastern boundary, because this  because the value of ``\code{-1}'' for these flags will make sure that
443  flag will make sure that the strong inflow is removed. It is  the strong inflow is removed. Clearly, gobal balancing with
444  recommended that this part of the code is adapted to the particular  \code{OBCS\_balanceFacE/W/N/S} $\ge0$ is the preferred method.
 needs of the simulation in question.  
445    
446  \paragraph{OBCS\_APPLY\_*:} ~ \\  \paragraph{OBCS\_APPLY\_*:} ~ \\
447  ~  ~
448    
449  \paragraph{OBCS\_SPONGE} Setting sponge layer characteristics \\  \paragraph{OBCS\_SPONGE:} ~ \\
450  %  %
451  ~  The sponge layer code (turned on with \code{ALLOW\_OBCS\_SPONGE} and
452    \code{useOBCSsponge}) adds a relaxation term to the right-hand-side of
453    the momentum and tracer equations. The variables are relaxed towards
454    the boundary values with a relaxation time scale that increases
455    linearly with distance from the boundary
456    \[
457    G_{\chi}^{\mbox{(sponge)}} =
458    - \frac{\chi - [( L - \delta{L} ) \chi_{BC} + \delta{L}\chi]/L}
459    {[(L-\delta{L})\tau_{b}+\delta{L}\tau_{i}]/L}
460    = - \frac{\chi - [( 1 - l ) \chi_{BC} + l\chi]}
461    {[(1-l)\tau_{b}+l\tau_{i}]}
462    \]
463    where $\chi$ is the model variable (U/V/T/S) in the interior,
464    $\chi_{BC}$ the boundary value, $L$ the thickness of the sponge layer
465    (runtime parameter \code{spongeThickness} in number of grid points),
466    $\delta{L}\in[0,L]$ ($\frac{\delta{L}}{L}=l\in[0,1]$) the distance from the boundary (also in grid points), and
467    $\tau_{b}$ (runtime parameters \code{Urelaxobcsbound} and
468    \code{Vrelaxobcsbound}) and $\tau_{i}$ (runtime parameters
469    \code{Urelaxobcsinner} and \code{Vrelaxobcsinner}) the relaxation time
470    scales on the boundary and at the interior termination of the sponge
471    layer. The parameters \code{Urelaxobcsbound/inner} set the relaxation
472    time scales for the Eastern and Western boundaries,
473    \code{Vrelaxobcsbound/inner} for the Northern and Southern boundaries.
474    
475  \paragraph{OB's with nonlinear free surface} ~ \\  \paragraph{OB's with nonlinear free surface} ~ \\
476  %  %

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.22