/[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.6 by mlosch, Fri Feb 25 17:26:17 2011 UTC revision 1.7 by mlosch, Mon Feb 28 08:28:47 2011 UTC
# Line 11  Alistair Adcroft, Patrick Heimbach, Sama Line 11  Alistair Adcroft, Patrick Heimbach, Sama
11  \subsubsection{Introduction  \subsubsection{Introduction
12  \label{sec:pkg:obcs:intro}}  \label{sec:pkg:obcs:intro}}
13    
14    The OBCS-package is fundamental to regional ocean modelling with the
15    MITgcm, but because there are so many details to be considered in
16    regional ocean modelling that this package cannot accomodate all
17    imaginable and possible options. Therefore, for a regional simulation
18    with very particular details, it is recommended to familiarize oneself
19    not only with the compile- and runtime-options of this package, but
20    also with the code itself. In many cases it will be necessary to adapt
21    the obcs-code (in particular \code{S/R OBCS\_CALC}) to the application
22    in question; in these cases the obcs-package (together with the
23    rbcs-package, section \ref{sec:pkg:rbcs}) is a very
24    useful infrastructure for implementing special regional models.
25    
26  %----------------------------------------------------------------------  %----------------------------------------------------------------------
27    
# Line 291  prescribed time-constant or time-varying Line 301  prescribed time-constant or time-varying
301  use prescribed boundary fields to compute Stevens boundary conditions.  use prescribed boundary fields to compute Stevens boundary conditions.
302  \end{itemize}  \end{itemize}
303    
   
304  \paragraph{ORLANSKI:} ~ \\  \paragraph{ORLANSKI:} ~ \\
305  %  %
306  Orlanski radiation conditions \citep{orl:76}, examples can be found in  Orlanski radiation conditions \citep{orl:76}, examples can be found in
# Line 317  open boundary: Line 326  open boundary:
326  \item If non-hydrostatic dynamics are used  \item If non-hydrostatic dynamics are used
327    (\ref{sec:non-hydrostatic}), additional files    (\ref{sec:non-hydrostatic}), additional files
328    \code{OB[N/S/E/W]wFile} for the vertical velocity $w$ with    \code{OB[N/S/E/W]wFile} for the vertical velocity $w$ with
329    dimensions $(N_{x/y}\times N_r\times\mbox{time levels})$ may be    dimensions $(N_{x/y}\times N_r\times\mbox{time levels})$ can be
330    specified.    specified.
331  \item If \code{useSEAICE=.TRUE.} then additional files  \item If \code{useSEAICE=.TRUE.} then additional files
332    \code{OB[N/S/E/W][a,h,sl,sn,uice,vice]} for sea ice area, thickness    \code{OB[N/S/E/W][a,h,sl,sn,uice,vice]} for sea ice area, thickness
333    (\code{HEFF}), seaice salinity, snow and ice velocities    (\code{HEFF}), seaice salinity, snow and ice velocities
334    $(N_{x/y}\times\mbox{time levels})$ may be specified.    $(N_{x/y}\times\mbox{time levels})$ can be specified.
335  \end{itemize}  \end{itemize}
336  When the \code{exf}-package is used, the time levels are controlled  As in \code{S/R external\_fields\_load} or the \code{exf}-package, the
337  for each boundary separately in the same way as the \code{exf}-fields  code reads two time levels for each variable, e.g.\ \code{OBNu0} and
338  in \code{data.exf}, namelist \code{EXF\_NML\_OBCS}. The runtime flags  \code{OBNu1}, and interpolates linearly between these time levels to
339    obtain the value \code{OBNu} at the current model time (step). When the
340    \code{exf}-package is used, the time levels are controlled for each
341    boundary separately in the same way as the \code{exf}-fields in
342    \code{data.exf}, namelist \code{EXF\_NML\_OBCS}. The runtime flags
343  follow the above naming conventions, e.g. for the western boundary the  follow the above naming conventions, e.g. for the western boundary the
344  corresponding flags are \code{OBCWstartdate1/2} and  corresponding flags are \code{OBCWstartdate1/2} and
345  \code{OBCWperiod}. Sea-ice boundary values are controlled separately  \code{OBCWperiod}. Sea-ice boundary values are controlled separately
346  with \code{siobWstartdate1/2} and \code{siobWperiod}.  with \code{siobWstartdate1/2} and \code{siobWperiod}.  When the
347  When the \code{exf}-package is not used, the time levels are  \code{exf}-package is not used, the time levels are controlled by the
348  controlled by the runtime flags \code{externForcingPeriod} and  runtime flags \code{externForcingPeriod} and \code{externForcingCycle}
349  \code{externForcingCycle} in \code{data}, see \code{verification/exp4}  in \code{data}, see \code{verification/exp4} for an example.
 for an example.  
350    
351  \paragraph{OBCS\_CALC\_STEVENS:} ~ \\  \paragraph{OBCS\_CALC\_STEVENS:} ~ \\
352  (THE IMPLEMENTATION OF THESE BOUNDARY CONDITIONS IS NOT COMPLETE. SO  (THE IMPLEMENTATION OF THESE BOUNDARY CONDITIONS IS NOT COMPLETE. SO
# Line 367  example, we use the notation for an east Line 379  example, we use the notation for an east
379    \texttt{useStevensPhaseVel} and \texttt{useStevensAdvection} to    \texttt{useStevensPhaseVel} and \texttt{useStevensAdvection} to
380    \texttt{.FALSE.}.\end{itemize} See \citet{stevens:90} for details.    \texttt{.FALSE.}.\end{itemize} See \citet{stevens:90} for details.
381    
382  \paragraph{OBCS\_BALANCE} ~ \\  \paragraph{OBCS\_BALANCE:} ~ \\
383  %  %
384  ~  This is not (yet) a separate routine in the code, but it may become
385    one to make this code more transparent. The code is part of
386    \code{S/R~OBCS\_CALC}. When turned on (\code{ALLOW\_OBCS\_BALANCE}
387    defined in \code{OBCS\_OPTIONS.h} and \code{useOBCSbalance=.true.} in
388    \code{data.obcs/OBCS\_PARM01}), the normal velocities across each of
389    the four boundaries are modified separately, so that the net volume
390    transport across \emph{each} boundary is zero. For example, for the
391    western boundary at $i=i_{b}$, the modified velocity is:
392    \[
393    u(y,z) - \int_{\mbox{western boundary}}u\,dy\,dz \approx OBNu(j,k) - \sum_{j,k}
394    OBNu(j,k) h_{w}(i_{b},j,k)\Delta{y_G(i_{b},j)}\Delta{z(k)}.
395    \]
396    This also ensures a net total inflow of zero through all boundaries to
397    make it a useful flag to prevent infinite sea-level change within the
398    domain, but the flag is \emph{not} useful if you want to simulate,
399    say, a sector of the Southern Ocean with a strong ACC entering through
400    the western and leaving through the eastern boundary, because this
401    flag will make sure that the strong inflow is removed. It is
402    recommended that this part of the code is adapted to the particular
403    needs of the simulation in question.
404    
405  \paragraph{OBCS\_APPLY\_*:} ~ \\  \paragraph{OBCS\_APPLY\_*:} ~ \\
406  ~  ~
# Line 425  Table \ref{tab:pkg:obcs:diagnostics}. Line 456  Table \ref{tab:pkg:obcs:diagnostics}.
456  %----------------------------------------------------------------------  %----------------------------------------------------------------------
457    
458  \subsubsection{Reference experiments}  \subsubsection{Reference experiments}
459    In the directory \code{verifcation}, the following experiments use
460    \code{obcs}:
461    \begin{itemize}
462    \item \code{exp4}: box with 4 open boundaries, simulating flow over a
463      Gaussian bump based on \citet{adcroft:97}, also tests
464      Stevens-boundary conditions;
465    \item \code{dome}: based on ``Denmark Strait Overflow Model
466      Experiment'', use Orlanski-BCs;
467    \item \code{internal\_wave}: uses a heavily modified \code{S/R~OBCS\_CALC}
468    \item \code{seaice\_obcs}: simple example who to use the sea-ice
469      related code, based on \code{lab\_sea};
470    \item \code{tutorial\_plume\_on\_slope}: uses Orlanski-BCs, see also
471      section~\ref{sec:eg-gravityplume}.
472    \end{itemize}
473    
474    
475    
# Line 436  Table \ref{tab:pkg:obcs:diagnostics}. Line 481  Table \ref{tab:pkg:obcs:diagnostics}.
481  \label{sec:pkg:obcs:experiments}  \label{sec:pkg:obcs:experiments}
482    
483  \begin{itemize}  \begin{itemize}
484  \item{Ocean experiment in exp4 verification directory. }  \item \code{tutorial\_plume\_on\_slope} (section~\ref{sec:eg-gravityplume})
485  \end{itemize}  \end{itemize}
486    
487    

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22