_V_viscosity.dox
1/*! \page Vertical_Viscosity Vertical Viscosity
2
3The vertical viscosity is composed of several components.
4
5-# The vertical diffusivity computations for the background and shear
6mixing all save contributions to the viscosity with an assumed turbulent
7Prandtl number of 1.0, though this can be changed with the PRANDTL_BKGND and
8PRANDTL_TURB parameters, respectively.
9-# If the ePBL scheme is used, it contributes to the vertical viscosity
10with a Prandtl number of PRANDTL_EPBL.
11-# If the CVMix scheme is used, it contributes to the vertical viscosity
12with a Prandtl number of PRANDTL_CONV.
13-# If the tidal mixing scheme is used, it contributes to the vertical
14viscosity with a Prandtl number of PRANDTL_TIDAL.
15
16\section set_viscous_BBL Viscous Bottom Boundary Layer
17
18A drag law is used, either linearized about an assumed bottom velocity or using the
19actual near-bottom velocities combined with an assumed unresolved velocity. The bottom
20boundary layer thickness is limited by a combination of stratification and rotation, as
21in the paper of \cite killworth1999. It is not necessary to calculate the
22thickness and viscosity every time step; instead previous values may be used.
23
24If set_visc_CS\%bottomdraglaw is True then a bottom boundary layer viscosity and thickness
25are calculated so that the bottom stress is
26\f[
27\mathbf{\tau}_b = C_d | U_{bbl} | \mathbf{u}_{bbl}
28\f]
29If set_visc_CS\%bottomdraglaw is True then the term \f$|U_{bbl}|\f$ is set equal to the
30value in set_visc_CS.drag_bg_vel so that \f$C_d |U_{bbl}|\f$ becomes a Rayleigh bottom drag.
31Otherwise \f$|U_{bbl}|\f$ is found by averaging the flow over the bottom set_visc_CS\%hbbl
32of the model, adding the amplitude of tides set_visc_CS\%tideamp and a constant
33set_visc_CS\%drag_bg_vel. For these calculations the vertical grid at the velocity
34component locations is found by
35\f[
36\begin{array}{ll}
37\frac{2 h^- h^+}{h^- + h^+} & u \left( h^+ - h^-\right) >= 0
38\\
39\frac{1}{2} \left( h^- + h^+ \right) & u \left( h^+ - h^-\right) < 0
40\end{array}
41\f]
42which biases towards the thin cell if the thin cell is upwind. Biasing the grid toward
43thin upwind cells helps increase the effect of viscosity and inhibits flow out of these
44thin cells.
45
46After diagnosing \f$|U_{bbl}|\f$ over a fixed depth an active viscous boundary layer
47thickness is found using the ideas of \cite killworth1999 (hereafter KW99).
48KW99 solve the equation
49\f[
50\left( \frac{h_{bbl}}{h_f} \right)^2 + \frac{h_{bbl}}{h_N} = 1
51\f]
52for the boundary layer depth \f$h_{bbl}\f$. Here
53\f[
54h_f = \frac{C_n u_*}{f}
55\f]
56is the rotation controlled boundary layer depth in the absence of stratification.
57\f$u_*\f$ is the surface friction speed given by
58\f[
59u_*^2 = C_d |U_{bbl}|^2
60\f]
61and is a function of near bottom model flow.
62\f[
63h_N = \frac{C_i u_*}{N} = \frac{ (C_i u_* )^2 }{g^\prime}
64\f]
65is the stratification controlled boundary layer depth. The non-dimensional parameters
66\f$C_n=0.5\f$ and \f$C_i=20\f$ are suggested by \cite zilitinkevich1996.
67
68If a Richardson number dependent mixing scheme is being used, as indicated by
69set_visc_CS\%rino_mix, then the boundary layer thickness is bounded to be no larger
70than a half of set_visc_CS\%hbbl .
71
72A BBL viscosity is calculated so that the no-slip boundary condition in the vertical
73viscosity solver implies the stress \f$\mathbf{\tau}_b\f$:
74
75\f[
76 K_{bbl} = \frac{1}{2} h_{bbl} \sqrt{C_{drag}} \, u^\ast
77\f]
78
79\section section_Channel_drag Channel Drag
80
81The channel drag is an extra Rayleigh drag applied to those layers
82within the bottom boundary layer. It is called channel drag because it
83accounts for curvature of the bottom, applying the drag proportionally
84to how much of each cell is within the bottom boundary layer.
85The bottom shape is approximated as locally parabolic. The
86bottom drag is applied to each layer with a factor \f$R_k\f$, the sum
87of which is 1 over all the layers.
88
89\image html channel_drag.png "Example of layers intersecting a sloping bottom, with the blue showing the fraction of the cell over which bottom drag is applied."
90\imagelatex{channel_drag.png,Example of layers intersecting a sloping bottom\, with the blue showing the fraction of the cell over which bottom drag is applied.,\includegraphics[width=\textwidth\,height=\textheight/2\,keepaspectratio=true]}
91
92The velocity that is actually subject to the bottom drag may be
93substantially lower than the mean layer velocity, especially if only
94a small fraction of the layer's width is subject to the bottom drag.
95
96The code begins by finding the arithmetic mean of the water depths to
97find the depth at the velocity points. It then uses these to construct
98a parabolic bottom shape, valid for \f$I - \frac{1}{2}\f$ to \f$I +
99\frac{1}{2}\f$. The parabola is:
100
101\f[
102 D(x) = a x^2 + b x + D - \frac{a}{12}
103\f]
104
105For sufficiently small curvature \f$a\f$, one can drop the quadratic
106term and assume a linear function instead. We want a form that matches
107the traditional bottom drag when the bottom is flat.
108
109We defined the open fraction of each cell as \f$l(k) \equiv L(k)/L_{Tot}\f$,
110where terms of order \f$l^2\f$ will be dropped.
111
112Hallberg (personal communication) shows how they came up with the form used in the code, in which the
113\f$R_k\f$ above are set to:
114
115\f[
116 R_k = \gamma_k l_{k-1/2} \left[ \frac{12 c_{Smag} h_k}{12 c_{Smag} k_k + c_d \gamma_k (1 - \gamma_k)
117 (1 - \frac{3}{2} \gamma_k) l^2_{k-1/2} L_{Tot}} \right]
118\f]
119with the definition \f$\gamma_k \equiv (l_{k-1/2} - l_{k+1/2})/l_{k-1/2}\f$. This ensures that \f$\sum^N_{k=1}
120\gamma_k l_{k-1/2} = 1\f$ since \f$l_{1/2} = 1\f$ and \f$l_{N+1/2} = 0\f$.
121
122*/