/[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.13 by mlosch, Mon May 2 09:11:20 2011 UTC revision 1.18 by mlosch, Wed Jun 15 13:40:53 2016 UTC
# Line 233  $j$ specifies the Northern/Southern OB p Line 233  $j$ specifies the Northern/Southern OB p
233  and for each meridional position $j=1,\ldots,N_y$, a zonal index  and for each meridional position $j=1,\ldots,N_y$, a zonal index
234  $i$ specifies the Eastern/Western OB position.  $i$ specifies the Eastern/Western OB position.
235  For Northern/Southern OB this defines an $N_x$-dimensional  For Northern/Southern OB this defines an $N_x$-dimensional
236  ``row'' array $\tt OB\_Jnorth(Ny)$ / $\tt OB\_Jsouth(Ny)$,  ``row'' array $\tt OB\_Jnorth(Nx)$ / $\tt OB\_Jsouth(Nx)$,
237  and an $N_y$-dimenisonal  and an $N_y$-dimenisonal
238  ``column'' array $\tt OB\_Ieast(Nx)$ / $\tt OB\_Iwest(Nx)$.  ``column'' array $\tt OB\_Ieast(Ny)$ / $\tt OB\_Iwest(Ny)$.
239  Positions determined in this way allows Northern/Southern  Positions determined in this way allows Northern/Southern
240  OBs to be at variable $j$ (or $y$) positions, and Eastern/Western  OBs to be at variable $j$ (or $y$) positions, and Eastern/Western
241  OBs at variable $i$ (or $x$) positions.  OBs at variable $i$ (or $x$) positions.
# Line 268  points relative to the Northern/Eastern Line 268  points relative to the Northern/Eastern
268  eg. $\tt OB\_Jnorth(3)=-1$  means that the point $\tt (3,Ny)$  eg. $\tt OB\_Jnorth(3)=-1$  means that the point $\tt (3,Ny)$
269  is a northern OB.  is a northern OB.
270    
271    \noindent\textbf{Simple examples:} For a model grid with $ N_{x}\times
272    N_{y} = 120\times144$ horizontal grid points with four open boundaries
273    along the four egdes of the domain, the simplest way of specifying the
274    boundary points in \code{data.obcs} is:
275    \begin{verbatim}
276      OB_Ieast = 144*-1,
277    # or OB_Ieast = 144*120,
278      OB_Iwest = 144*1,
279      OB_Jnorth = 120*-1,
280    # or OB_Jnorth = 120*144,
281      OB_Jsouth = 120*1,
282    \end{verbatim}
283    If only the first $50$ grid points of the southern boundary are
284    boundary points:
285    \begin{verbatim}
286      OB_Jsouth(1:50) = 50*1,
287    \end{verbatim}
288    
289  \noindent  \noindent
290  \textsf{Add special comments for case \#define NONLIN\_FRSURF,  \textsf{Add special comments for case \#define NONLIN\_FRSURF,
291  see obcs\_ini\_fixed.F}  see obcs\_ini\_fixed.F}
# Line 279  see obcs\_ini\_fixed.F} Line 297  see obcs\_ini\_fixed.F}
297    
298  \paragraph{OBCS\_READPARMS:} ~ \\  \paragraph{OBCS\_READPARMS:} ~ \\
299  Set OB positions through arrays  Set OB positions through arrays
300  {\tt OB\_Jnorth(Ny), OB\_Jsouth(Ny), OB\_Ieast(Nx), OB\_Iwest(Nx)},  {\tt OB\_Jnorth(Nx), OB\_Jsouth(Nx), OB\_Ieast(Ny), OB\_Iwest(Ny)},
301  and runtime flags (see Table \ref{tab:pkg:obcs:runtime_flags}).  and runtime flags (see Table \ref{tab:pkg:obcs:runtime_flags}).
302    
303  \paragraph{OBCS\_CALC:} ~ \\  \paragraph{OBCS\_CALC:} ~ \\
# Line 356  runtime flags \code{externForcingPeriod} Line 374  runtime flags \code{externForcingPeriod}
374  in \code{data}, see \code{verification/exp4} for an example.  in \code{data}, see \code{verification/exp4} for an example.
375    
376  \paragraph{OBCS\_CALC\_STEVENS:} ~ \\  \paragraph{OBCS\_CALC\_STEVENS:} ~ \\
377  (THE IMPLEMENTATION OF THESE BOUNDARY CONDITIONS IS NOT COMPLETE. SO  (THE IMPLEMENTATION OF THESE BOUNDARY CONDITIONS IS NOT
378  FAR ONLY EASTERN AND WESTERN BOUNDARIES ARE SUPPORTED.) \\  COMPLETE. PASSIVE TRACERS, SEA ICE AND NON-LINEAR FREE SURFACE ARE NOT
379    SUPPORTED PROPERLY.) \\
380  The boundary conditions following \citet{stevens:90} require the  The boundary conditions following \citet{stevens:90} require the
381  vertically averaged normal velocity (originally specified as a stream  vertically averaged normal velocity (originally specified as a stream
382  function along the open boundary) $\bar{u}_{ob}$ and the tracer fields  function along the open boundary) $\bar{u}_{ob}$ and the tracer fields
# Line 369  prescribed values the code computes the Line 388  prescribed values the code computes the
388  timestep $n+1$ as follows (as an example, we use the notation for an  timestep $n+1$ as follows (as an example, we use the notation for an
389  eastern or western boundary):  eastern or western boundary):
390  \begin{itemize}  \begin{itemize}
391  \item $u^{n+1}(y,z) = \bar{u}_{ob}(y) + (u')^{n}(y,z)$, where $(u')^{n}$  \item $u^{n+1}(y,z) = \bar{u}_{ob}(y) + (u')^{n}(y,z)$, where
392    is the deviation from the vertically averaged velocity at timestep    $(u')^{n}$ is the deviation from the vertically averaged velocity at
393    $n$ one grid point inward from the boundary.    timestep $n$ on the boundary. $(u')^{n}$ is computed in the previous
394      time step $n$ from the intermediate velocity $u^*$ prior to the
395      correction step (see section \ref{sec:time_stepping}, e.g.,
396      eq.\,(\ref{eq:ustar-backward-free-surface})).
397      % and~(\ref{eq:vstar-backward-free-surface})).
398      (This velocity is not
399      available at the beginning of the next time step $n+1$, when
400      S/R~OBCS\_CALC/OBCS\_CALC\_STEVENS are called, therefore it needs to
401      be saved in S/R~DYNAMICS by calling S/R~OBCS\_SAVE\_UV\_N and also
402      stored in a separate restart files
403      \verb+pickup_stevens[N/S/E/W].${iteration}.data+)
404    %  Define CPP-flag OBCS\_STEVENS\_USE\_INTERIOR\_VELOCITY to use the
405    %  velocity one grid point inward from the boundary.
406  \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
407    value for tracer $\chi$ is restored to the prescribed values:    value for tracer $\chi$ is restored to the prescribed values:
408    \[\chi^{n+1} =   \chi^{n} + \frac{\Delta{t}}{\tau_\chi} (\chi_{ob} -    \[\chi^{n+1} =   \chi^{n} + \frac{\Delta{t}}{\tau_\chi} (\chi_{ob} -
# Line 380  eastern or western boundary): Line 411  eastern or western boundary):
411    to the advection by $u^{n+1}$.    to the advection by $u^{n+1}$.
412  \item If $u^{n+1}$ is directed out of the model domain, the tracer  \item If $u^{n+1}$ is directed out of the model domain, the tracer
413    $\chi^{n+1}$ on the boundary at timestep $n+1$ is estimated from    $\chi^{n+1}$ on the boundary at timestep $n+1$ is estimated from
414    advection advected out of the domain with $u^{n+1}+c$, where $c$ is    advection out of the domain with $u^{n+1}+c$, where $c$ is
415    a phase velocity estimated as    a phase velocity estimated as
416    $\frac{1}{2}\frac{\partial\chi}{\partial{t}}/\frac{\partial\chi}{\partial{x}}$. The    $\frac{1}{2}\frac{\partial\chi}{\partial{t}}/\frac{\partial\chi}{\partial{x}}$. The
417    numerical scheme is (as an example for an eastern boundary):    numerical scheme is (as an example for an eastern boundary):
418    \[\chi_{i_{b},j,k}^{n+1} =   \chi_{i_{b},j,k}^{n} + \Delta{t}    \[\chi_{i_{b},j,k}^{n+1} =   \chi_{i_{b},j,k}^{n} + \Delta{t}
419    (u^{n+1}+c)_{i_{b},j,k}\frac{\chi_{i_{b},j,k}^{n}    (u^{n+1}+c)_{i_{b},j,k}\frac{\chi_{i_{b},j,k}^{n}
420      - \chi_{i_{b}-1,j,k}^{n}}{\Delta{x}_{i_{b},j}^{C}}\mbox{, if }u_{i_{b},j,k}^{n+1}>0,      - \chi_{i_{b}-1,j,k}^{n}}{\Delta{x}_{i_{b},j}^{C}}\mbox{, if }u_{i_{b},j,k}^{n+1}>0,
421    \] where $i_{b}$ is the boundary index.    \] where $i_{b}$ is the boundary index.\\
   
422    For test purposes, the phase velocity contribution or the entire    For test purposes, the phase velocity contribution or the entire
423    advection can be turned off by setting the corresponding parameters    advection can be turned off by setting the corresponding parameters
424    \texttt{useStevensPhaseVel} and \texttt{useStevensAdvection} to    \texttt{useStevensPhaseVel} and \texttt{useStevensAdvection} to
425    \texttt{.FALSE.}.\end{itemize} See \citet{stevens:90} for details.    \texttt{.FALSE.}.
426    \end{itemize}
427    See \citet{stevens:90} for details. With this boundary condition
428    specifying the exact net transport across the open boundary is simple,
429    so that balancing the flow with (S/R~OBCS\_BALANCE\_FLOW, see next
430    paragraph) is usually not necessary.
431    
432  \paragraph{OBCS\_BALANCE\_FLOW:} ~ \\  \paragraph{OBCS\_BALANCE\_FLOW:} ~ \\
433  %  %

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

  ViewVC Help
Powered by ViewVC 1.1.22