--- manual/s_algorithm/text/spatial-discrete.tex 2001/08/08 16:15:21 1.1 +++ manual/s_algorithm/text/spatial-discrete.tex 2001/08/08 22:19:02 1.2 @@ -1,52 +1,352 @@ -% $Header: /home/ubuntu/mnt/e9_copy/manual/s_algorithm/text/spatial-discrete.tex,v 1.1 2001/08/08 16:15:21 adcroft Exp $ +% $Header: /home/ubuntu/mnt/e9_copy/manual/s_algorithm/text/spatial-discrete.tex,v 1.2 2001/08/08 22:19:02 adcroft Exp $ % $Name: $ \section{Spatial discretization of the dynamical equations} +Spatial discretization is carried out using the finite volume +method. This amounts to a grid-point method (namely second-order +centered finite difference) in the fluid interior but allows +boundaries to intersect a regular grid allowing a more accurate +representation of the position of the boundary. We treat the +horizontal and veritical directions as seperable and thus slightly +differently. + +Initialization of grid data is controlled by subroutine {\em +INI\_GRID} which in calls {\em INI\_VERTICAL\_GRID} to initialize the +vertical grid, and then either of {\em INI\_CARTESIAN\_GRID}, {\em +INI\_SPHERICAL\_POLAR\_GRID} or {\em INI\_CURV\-ILINEAR\_GRID} to +initialize the horizontal grid for cartesian, spherical-polar or +curvilinear coordinates respectively. + +The reciprocals of all grid quantities are pre-calculated and this is +done in subroutine {\em INI\_MASKS\_ETC} which is called later by +subroutine {\em INITIALIZE\_FIXED}. + +All grid descriptors are global arrays and stored in common blocks in +{\em GRID.h} and a generally declared as {\em \_RS}. + +\fbox{ \begin{minipage}{4.75in} +{\em S/R INI\_GRID} ({\em model/src/ini\_grid.F}) + +{\em S/R INI\_MASKS\_ETC} ({\em model/src/ini\_masks\_etc.F}) + +grid data: ({\em model/inc/GRID.h}) +\end{minipage} } + + +\subsection{The finite volume method: finite volumes versus finite difference} + +The finite volume method is used to discretize the equations in +space. The expression ``finite volume'' actually has two meanings; one +involves invocation of the weak formulation (e.g. integral +formulation) and the other involves non-linear expressions for +interpolation of data (e.g. flux limiters). We use both but they can +and will be ddiscussed seperately. The finite volume method discretizes by invoking the weak formulation of the equations or integral form. For example, the 1-D advection-diffusion equation: +\begin{displaymath} +\partial_t \theta + \partial_x ( u \theta - \kappa \partial_x \theta ) = 0 +\end{displaymath} +can be discretized by integrating of finite lengths $\Delta x$: +\begin{displaymath} +\Delta x \partial_t \theta + \delta_i ( F ) = 0 +\end{displaymath} +is exact but where the flux +\begin{displaymath} +F = u \overline{\theta} - \frac{\kappa}{\Delta x_c} \partial_i \theta +\end{displaymath} +is approximate. The method for obtained $\overline{\theta}$ is +unspecified and non-lienar finite volume methods can be invoked. + +.... INCOMPLETE + \subsection{C grid staggering of variables} \begin{figure} \centerline{ \resizebox{!}{2in}{ \includegraphics{part2/cgrid3d.eps}} } -\label{fig-cgrid3d} \caption{Three dimensional staggering of velocity components. This facilitates the natural discretization of the continuity and tracer equations. } +\label{fig:cgrid3d} \end{figure} +The basic algorithm employed for stepping forward the momentum +equations is based on retaining non-divergence of the flow at all +times. This is most naturally done if the components of flow are +staggered in space in the form of an Arakawa C grid \cite{Arakawa70}. + +Fig. \ref{fig:cgrid3d} shows the components of flow ($u$,$v$,$w$) +staggered in space such that the zonal component falls on the +interface between continiuty cells in the zonal direction. Similarly +for the meridional and vertical directions. The continiuty cell is +synonymous with tracer cells (they are one and the same). + + + + \subsection{Horizontal grid} \begin{figure} \centerline{ \begin{tabular}{cc} - \resizebox{!}{2in}{ \includegraphics{part2/hgrid-Ac.eps}} -& \resizebox{!}{2in}{ \includegraphics{part2/hgrid-Az.eps}} + \raisebox{1.5in}{a)}\resizebox{!}{2in}{ \includegraphics{part2/hgrid-Ac.eps}} +& \raisebox{1.5in}{b)}\resizebox{!}{2in}{ \includegraphics{part2/hgrid-Az.eps}} \\ - \resizebox{!}{2in}{ \includegraphics{part2/hgrid-Au.eps}} -& \resizebox{!}{2in}{ \includegraphics{part2/hgrid-Av.eps}} + \raisebox{1.5in}{c)}\resizebox{!}{2in}{ \includegraphics{part2/hgrid-Au.eps}} +& \raisebox{1.5in}{d)}\resizebox{!}{2in}{ \includegraphics{part2/hgrid-Av.eps}} \end{tabular} } -\label{fig-hgrid} -\caption{Three dimensional staggering of velocity components. This -facilitates the natural discretization of the continuity and tracer -equations. } +\caption{ +Staggering of horizontal grid descriptors (lengths and areas). The +grid lines indicate the tracer cell boundaries and are the reference +grid for all panels. a) The area of a tracer cell, $A_c$, is bordered +by the lengths $\Delta x_g$ and $\Delta y_g$. b) The area of a +vorticity cell, $A_\zeta$, is bordered by the lengths $\Delta x_c$ and +$\Delta y_c$. c) The area of a u cell, $A_c$, is bordered by the +lengths $\Delta x_v$ and $\Delta y_f$. d) The area of a v cell, $A_c$, +is bordered by the lengths $\Delta x_f$ and $\Delta y_u$.} +\label{fig:hgrid} \end{figure} +The model domain is decomposed into tiles and within each tile a +quasi-regular grid is used. A tile is the basic unit of domain +decomposition for parallelization but may be used whether parallized +or not; see section \ref{sect:tiles} for more details. Although the +tiles may be patched together in an unstructured manner +(i.e. irregular or non-tessilating pattern), the interior of tiles is +a structered grid of quadrilateral cells. The horizontal coordinate +system is orthogonal curvilinear meaning we can not necessarily treat +the two horizontal directions as seperable. Instead, each cell in the +horizontal grid is described by the length of it's sides and it's +area. + +The grid information is quite general and describes any of the +available coordinates systems, cartesian, spherical-polar or +curvilinear. All that is necessary to distinguish between the +coordinate systems is to initialize the grid data (discriptors) +appropriately. + +\marginpar{Caution!} +In the following, we refer to the orientation of quantities on the +computational grid using geographic terminology such as points of the +compass. This is purely for convenience but should note be confused +with the actual geographic orientation of model quantities. + +\marginpar{$A_c$: {\bf rAc}} +\marginpar{$\Delta x_g$: {\bf DXg}} +\marginpar{$\Delta y_g$: {\bf DYg}} +Fig.~\ref{fig:hgrid}a shows the tracer cell (synonymous with the +continuity cell). The length of the southern edge, $\Delta x_g$, +western edge, $\Delta y_g$ and surface area, $A_c$, presented in the +vertical are stored in arrays {\bf DXg}, {\bf DYg} and {\bf rAc}. The +``g'' suffix indicates that the lengths are along the defining grid +boundaries. The ``c'' suffix associates the quantity with the cell +centers. The quantities are staggered in space and the indexing is +such that {\bf DXg(i,j)} is positioned to the south of {\bf rAc(i,j)} +and {\bf DYg(i,j)} positioned to the west. + +\marginpar{$A_\zeta$: {\bf rAz}} +\marginpar{$\Delta x_c$: {\bf DXc}} +\marginpar{$\Delta y_c$: {\bf DYc}} +Fig.~\ref{fig:hgrid}b shows the vorticity cell. The length of the +southern edge, $\Delta x_c$, western edge, $\Delta y_c$ and surface +area, $A_\zeta$, presented in the vertical are stored in arrays {\bf +DXg}, {\bf DYg} and {\bf rAz}. The ``z'' suffix indicates that the +lengths are measured between the cell centers and the ``$\zeta$'' suffix +associates points with the vorticity points. The quantities are +staggered in space and the indexing is such that {\bf DXc(i,j)} is +positioned to the north of {\bf rAc(i,j)} and {\bf DYc(i,j)} positioned +to the east. + +\marginpar{$A_w$: {\bf rAw}} +\marginpar{$\Delta x_v$: {\bf DXv}} +\marginpar{$\Delta y_f$: {\bf DYf}} +Fig.~\ref{fig:hgrid}c shows the ``u'' or western (w) cell. The length of +the southern edge, $\Delta x_v$, eastern edge, $\Delta y_f$ and +surface area, $A_w$, presented in the vertical are stored in arrays +{\bf DXv}, {\bf DYf} and {\bf rAw}. The ``v'' suffix indicates that +the length is measured between the v-points, the ``f'' suffix +indicates that the length is measured between the (tracer) cell faces +and the ``w'' suffix associates points with the u-points (w stands for +west). The quantities are staggered in space and the indexing is such +that {\bf DXv(i,j)} is positioned to the south of {\bf rAw(i,j)} and +{\bf DYf(i,j)} positioned to the east. + +\marginpar{$A_s$: {\bf rAs}} +\marginpar{$\Delta x_f$: {\bf DXf}} +\marginpar{$\Delta y_u$: {\bf DYu}} +Fig.~\ref{fig:hgrid}d shows the ``v'' or southern (s) cell. The length of +the northern edge, $\Delta x_f$, western edge, $\Delta y_u$ and +surface area, $A_s$, presented in the vertical are stored in arrays +{\bf DXf}, {\bf DYu} and {\bf rAs}. The ``u'' suffix indicates that +the length is measured between the u-points, the ``f'' suffix +indicates that the length is measured between the (tracer) cell faces +and the ``s'' suffix associates points with the v-points (s stands for +south). The quantities are staggered in space and the indexing is such +that {\bf DXf(i,j)} is positioned to the north of {\bf rAs(i,j)} and +{\bf DYu(i,j)} positioned to the west. + +\fbox{ \begin{minipage}{4.75in} +{\em S/R INI\_CARTESIAN\_GRID} ({\em +model/src/ini\_cartesian\_grid.F}) + +{\em S/R INI\_SPHERICAL\_POLAR\_GRID} ({\em +model/src/ini\_spherical\_polar\_grid.F}) + +{\em S/R INI\_CURVILINEAR\_GRID} ({\em +model/src/ini\_curvilinear\_grid.F}) + +$A_c$, $A_\zeta$, $A_w$, $A_s$: {\bf rAc}, {\bf rAz}, {\bf rAw}, {\bf rAs} +({\em GRID.h}) + +$\Delta x_g$, $\Delta y_g$: {\bf DXg}, {\bf DYg} ({\em GRID.h}) + +$\Delta x_c$, $\Delta y_c$: {\bf DXc}, {\bf DYc} ({\em GRID.h}) + +$\Delta x_f$, $\Delta y_f$: {\bf DXf}, {\bf DYf} ({\em GRID.h}) + +$\Delta x_v$, $\Delta y_u$: {\bf DXv}, {\bf DYu} ({\em GRID.h}) + +\end{minipage} } + +\subsubsection{Reciprocals of horizontal grid descriptors} + +%\marginpar{$A_c^{-1}$: {\bf RECIP\_rAc}} +%\marginpar{$A_\zeta^{-1}$: {\bf RECIP\_rAz}} +%\marginpar{$A_w^{-1}$: {\bf RECIP\_rAw}} +%\marginpar{$A_s^{-1}$: {\bf RECIP\_rAs}} +Lengths and areas appear in the denominator of expressions as much as +in the numerator. For efficiency and portability, we pre-calculate the +reciprocal of the horizontal grid quantities so that in-line divisions +can be avoided. + +%\marginpar{$\Delta x_g^{-1}$: {\bf RECIP\_DXg}} +%\marginpar{$\Delta y_g^{-1}$: {\bf RECIP\_DYg}} +%\marginpar{$\Delta x_c^{-1}$: {\bf RECIP\_DXc}} +%\marginpar{$\Delta y_c^{-1}$: {\bf RECIP\_DYc}} +%\marginpar{$\Delta x_f^{-1}$: {\bf RECIP\_DXf}} +%\marginpar{$\Delta y_f^{-1}$: {\bf RECIP\_DYf}} +%\marginpar{$\Delta x_v^{-1}$: {\bf RECIP\_DXv}} +%\marginpar{$\Delta y_u^{-1}$: {\bf RECIP\_DYu}} +For each grid descriptor (array) there is a reciprocal named using the +prefix {\bf RECIP\_}. This doubles the amount of storage in {\em +GRID.h} but they are all only 2-D descriptors. + +\fbox{ \begin{minipage}{4.75in} +{\em S/R INI\_MASKS\_ETC} ({\em +model/src/ini\_masks\_etc.F}) + +$A_c^{-1}$: {\bf RECIP\_Ac} ({\em GRID.h}) + +$A_\zeta^{-1}$: {\bf RECIP\_Az} ({\em GRID.h}) + +$A_w^{-1}$: {\bf RECIP\_Aw} ({\em GRID.h}) + +$A_s^{-1}$: {\bf RECIP\_As} ({\em GRID.h}) + +$\Delta x_g^{-1}$, $\Delta y_g^{-1}$: {\bf RECIP\_DXg}, {\bf RECIP\_DYg} ({\em GRID.h}) + +$\Delta x_c^{-1}$, $\Delta y_c^{-1}$: {\bf RECIP\_DXc}, {\bf RECIP\_DYc} ({\em GRID.h}) + +$\Delta x_f^{-1}$, $\Delta y_f^{-1}$: {\bf RECIP\_DXf}, {\bf RECIP\_DYf} ({\em GRID.h}) + +$\Delta x_v^{-1}$, $\Delta y_u^{-1}$: {\bf RECIP\_DXv}, {\bf RECIP\_DYu} ({\em GRID.h}) + +\end{minipage} } + +\subsubsection{Cartesian coordinates} + +Cartesian coordinates are selected when the logical flag {\bf +using\-Cartes\-ianGrid} in namelist {\em PARM04} is set to true. The grid +spacing can be set to uniform via scalars {\bf dXspacing} and {\bf +dYspacing} in namelist {\em PARM04} or to variable resolution by the +vectors {\bf DELX} and {\bf DELY}. Units are normally +meters. Non-dimensional coordinates can be used by interpretting the +gravitational constant as the Rayleigh number. + +\subsubsection{Spherical-polar coordinates} + +Spherical coordinates are selected when the logical flag {\bf +using\-Spherical\-PolarGrid} in namelist {\em PARM04} is set to true. The +grid spacing can be set to uniform via scalars {\bf dXspacing} and +{\bf dYspacing} in namelist {\em PARM04} or to variable resolution by +the vectors {\bf DELX} and {\bf DELY}. Units of these namelist +variables are alway degrees. The horizontal grid descriptors are +calculated from these namelist variables have units of meters. + +\subsubsection{Curvilinear coordinates} + +Curvilinear coordinates are selected when the logical flag {\bf +using\-Curvil\-inear\-Grid} in namelist {\em PARM04} is set to true. The +grid spacing can not be set via the namelist. Instead, the grid +descriptors are read from data files, one for each descriptor. As for +other grids, the horizontal grid descriptors have units of meters. + + \subsection{Vertical grid} \begin{figure} \centerline{ \begin{tabular}{cc} - \raisebox{4in}{a)} - \resizebox{!}{4in}{ \includegraphics{part2/vgrid-cellcentered.eps}} -& - \raisebox{4in}{b)} - \resizebox{!}{4in}{ \includegraphics{part2/vgrid-accurate.eps}} + \raisebox{4in}{a)} \resizebox{!}{4in}{ + \includegraphics{part2/vgrid-cellcentered.eps}} & \raisebox{4in}{b)} + \resizebox{!}{4in}{ \includegraphics{part2/vgrid-accurate.eps}} \end{tabular} } -\label{fig-vgrid} \caption{Two versions of the vertical grid. a) The cell centered approach where the interface depths are specified and the tracer points centered in between the interfaces. b) The interface centered approach where tracer levels are specified and the w-interfaces are centered in between.} +\label{fig:vgrid} \end{figure} +As for the horizontal grid, we use the suffixes ``c'' and ``f'' to +indicates faces and centers. Fig.~\ref{fig:vgrid}a shows the default +vertical grid used by the model. +\marginpar{$\Delta r_f$: {\bf DRf}} +\marginpar{$\Delta r_c$: {\bf DRc}} +$\Delta r_f$ is the difference in $r$ +(vertical coordinate) between the faces (i.e. $\Delta r_f \equiv - +\delta_k r$ where the minus sign appears due to the convention that the +surface layer has index $k=1$.). + +The vertical grid is calculated in subroutine {\em +INI\_VERTICAL\_GRID} and specified via the vector {\bf DELR} in +namelist {\em PARM04}. The units of ``r'' are either meters or Pascals +depending on the isomorphism being used which in turn is dependent +only on the choise of equation of state. + +There are alternative namelist vectors {\bf DELZ} and {\bf DELP} which +dictate whether z- or +\marginpar{Caution!} +p- coordinates are to be used but we intend to +phase this out since they are redundant. + +The reciprocals $\Delta r_f^{-1}$ and $\Delta r_c^{-1}$ are +pre-calculated (also in subroutine {\em INI\_VERTICAL\_GRID}). All +vertical grid descriptors are stored in common blocks in {\em GRID.h}. + +The above grid (Fig.~\ref{fig:vgrid}a) is known as the cell centered +approach because the tracer points are at cell centers; the cell +centers are mid-way between the cell interfaces. An alternative, the +vertex or interface centered approach, is shown in +Fig.~\ref{fig:vgrid}b. Here, the interior interfaces are positioned +mid-way between the tracer nodes (no longer cell centers). This +approach is formally more accurate for evaluation of hydrostatic +pressure and vertical advection but historically the cell centered +approach has been used. An alternative form of subroutine {\em +INI\_VERTICAL\_GRID} is used to select the interface centered approach +but no run time option is currently available. + +\fbox{ \begin{minipage}{4.75in} +{\em S/R INI\_VERTICAL\_GRID} ({\em +model/src/ini\_vertical\_grid.F}) + +$\Delta r_f$: {\bf DRf} ({\em GRID.h}) + +$\Delta r_c$: {\bf DRc} ({\em GRID.h}) + +$\Delta r_f^{-1}$: {\bf RECIP\_DRf} ({\em GRID.h}) + +$\Delta r_c^{-1}$: {\bf RECIP\_DRc} ({\em GRID.h}) + +\end{minipage} } + \subsection{Continuity and horizontal pressure gradient terms} @@ -59,6 +359,7 @@ \delta_i \Delta y_g \Delta r_f h_w u + \delta_j \Delta x_g \Delta r_f h_s v + \delta_k {\cal A}_c w & = & {\cal A}_c \delta_k (P-E)_{r=0} +\label{eq:discrete-continuity} \end{eqnarray} where the continuity equation has been most naturally discretized by staggering the three components of velocity as shown in @@ -154,7 +455,7 @@ CALC\_MOM\_RHS} a collected into the global arrays {\bf Gu}, {\bf Gv}, and {\bf Gw}. -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R CALC\_MOM\_RHS} ({\em pkg/mom\_fluxform/calc\_mom\_rhs.F}) $G_u$: {\bf Gu} ({\em DYNVARS.h}) @@ -199,7 +500,7 @@ $u^2$ and $v^2$ and $w^2$ so that advection of momentum correctly conserves kinetic energy. -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_U\_ADV\_UU} ({\em mom\_u\_adv\_uu.F}) {\em S/R MOM\_U\_ADV\_VU} ({\em mom\_u\_adv\_vu.F}) @@ -263,7 +564,7 @@ useNonconservingCoriolis} to {\em true} which otherwise defaults to {\em false}). -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_CDSCHEME} ({\em mom\_cdscheme.F}) {\em S/R MOM\_U\_CORIOLIS} ({\em mom\_u\_coriolis.F}) @@ -304,7 +605,7 @@ where $\tan{\phi}$ is evaluated at the $u$ and $v$ points respectively. -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_U\_METRIC\_SPHERE} ({\em mom\_u\_metric\_sphere.F}) {\em S/R MOM\_V\_METRIC\_SPHERE} ({\em mom\_v\_metric\_sphere.F}) @@ -339,7 +640,7 @@ \frac{1}{a} ( {\overline{u}^{ik}}^2 + {\overline{v}^{jk}}^2 ) \end{eqnarray} -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_U\_METRIC\_NH} ({\em mom\_u\_metric\_nh.F}) {\em S/R MOM\_V\_METRIC\_NH} ({\em mom\_v\_metric\_nh.F}) @@ -391,7 +692,7 @@ of $m^2 s^{-1}$. The bi-harmonic viscosity coefficient, $A_4$ ({\bf viscA4}), has units of $m^4 s^{-1}$. -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_U\_XVISCFLUX} ({\em mom\_u\_xviscflux.F}) {\em S/R MOM\_U\_YVISCFLUX} ({\em mom\_u\_yviscflux.F}) @@ -434,7 +735,7 @@ assumes that the bathymetry at velocity points is deeper than at neighbouring vorticity points, e.g. $1-h_w < 1-h_\zeta$ -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_U\_SIDEDRAG} ({\em mom\_u\_sidedrag.F}) {\em S/R MOM\_V\_SIDEDRAG} ({\em mom\_v\_sidedrag.F}) @@ -471,7 +772,7 @@ \cite{Waojz}). It is well known how to do this properly (see Griffies \cite{Griffies}) and is on the list of to-do's. -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_U\_RVISCLFUX} ({\em mom\_u\_rviscflux.F}) {\em S/R MOM\_V\_RVISCLFUX} ({\em mom\_v\_rviscflux.F}) @@ -509,7 +810,7 @@ of the order 0.0002 $m s^{-1}$. $C_d$ ({\bf bottomDragQuadratic}) is dimensionless with typical values in the range 0.001--0.003. -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_U\_BOTTOMDRAG} ({\em mom\_u\_bottomdrag.F}) {\em S/R MOM\_V\_BOTTOMDRAG} ({\em mom\_v\_bottomdrag.F}) @@ -609,7 +910,7 @@ + G_w^{h-dissip} + G_w^{v-dissip} \end{eqnarray} -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R CALC\_MOM\_RHS} ({\em pkg/mom\_vecinv/calc\_mom\_rhs.F}) $G_u$: {\bf Gu} ({\em DYNVARS.h}) @@ -634,7 +935,7 @@ where ${\cal A}_\zeta$ is the area of the vorticity cell presented in the vertical and $\Gamma$ is the circulation about that cell. -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_VI\_CALC\_RELVORT3} ({\em mom\_vi\_calc\_relvort3.F}) $\zeta_3$: {\bf vort3} (local to {\em calc\_mom\_rhs.F}) @@ -649,7 +950,7 @@ + \epsilon_{nh} \overline{ w^2 }^k ) \end{equation} -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_VI\_CALC\_KE} ({\em mom\_vi\_calc\_ke.F}) $KE$: {\bf KE} (local to {\em calc\_mom\_rhs.F}) @@ -705,7 +1006,7 @@ relative/absolute vorticity, centered/upwind/high order advection is available only through commented subroutine calls. -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_VI\_CORIOLIS} ({\em mom\_vi\_coriolis.F}) {\em S/R MOM\_VI\_U\_CORIOLIS} ({\em mom\_vi\_u\_coriolis.F}) @@ -736,7 +1037,7 @@ }^k \end{eqnarray} -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_VI\_U\_VERTSHEAR} ({\em mom\_vi\_u\_vertshear.F}) {\em S/R MOM\_VI\_V\_VERTSHEAR} ({\em mom\_vi\_v\_vertshear.F}) @@ -759,7 +1060,7 @@ %\frac{1}{\Delta r_c} h_c \delta_k ( \phi' + KE ) \end{eqnarray} -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_VI\_U\_GRAD\_KE} ({\em mom\_vi\_u\_grad\_ke.F}) {\em S/R MOM\_VI\_V\_GRAD\_KE} ({\em mom\_vi\_v\_grad\_ke.F}) @@ -782,7 +1083,7 @@ + \delta_j \Delta x_g h_s v ) \end{equation} -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_VI\_CALC\_HDIV} ({\em mom\_vi\_calc\_hdiv.F}) $D$: {\bf hDiv} (local to {\em calc\_mom\_rhs.F}) @@ -813,7 +1114,7 @@ - \delta_j \Delta x_c \nabla^2 u ) \end{eqnarray} -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_VI\_HDISSIP} ({\em mom\_vi\_hdissip.F}) $G_u^{h-dissip}$: {\bf uDiss} (local to {\em calc\_mom\_rhs.F}) @@ -839,7 +1140,7 @@ \tau_{23} & = & A_v \frac{1}{\Delta r_c} \delta_k v \end{eqnarray} -\fbox{ \begin{minipage}{4.25in} +\fbox{ \begin{minipage}{4.75in} {\em S/R MOM\_U\_RVISCLFUX} ({\em mom\_u\_rviscflux.F}) {\em S/R MOM\_V\_RVISCLFUX} ({\em mom\_v\_rviscflux.F})