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

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

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

revision 1.6 by heimbach, Mon Aug 1 22:31:36 2005 UTC revision 1.11 by jmc, Mon Aug 30 23:09:21 2010 UTC
# Line 1  Line 1 
1  \subsection{KPP: Nonlocal K-Profile Parameterization for  \subsection{KPP: Nonlocal K-Profile Parameterization for
2  Diapycnal Mixing}  Vertical Mixing}
3    
4  \label{sec:pkg:kpp}  \label{sec:pkg:kpp}
5  \begin{rawhtml}  \begin{rawhtml}
# Line 11  Authors: Dimitris Menemenlis and Patrick Line 11  Authors: Dimitris Menemenlis and Patrick
11  \subsubsection{Introduction  \subsubsection{Introduction
12  \label{sec:pkg:kpp:intro}}  \label{sec:pkg:kpp:intro}}
13    
14    The nonlocal K-Profile Parameterization (KPP) scheme
15    of \cite{lar-eta:94} unifies the treatment of a variety of
16    unresolved processes involved in vertical mixing.
17    To consider it as one mixing scheme is, in the view of the authors,
18    somewhat misleading since it consists of several entities
19    to deal with distinct mixing processes in the ocean's surface
20    boundary layer, and the interior:
21    %
22    \begin{enumerate}
23    %
24    \item
25    mixing in the interior is goverened by
26    shear instability (modeled as function of the local gradient
27    Richardson number), internal wave activity (assumed constant),
28    and double-diffusion (not implemented here).
29    %
30    \item
31    a boundary layer depth $h$ or \texttt{hbl} is determined
32    at each grid point, based on a critical value of turbulent
33    processes parameterized by a bulk Richardson number;
34    %
35    \item
36    mixing is strongly enhanced in the boundary layer under the
37    stabilizing or destabilizing influence of surface forcing
38    (buoyancy and momentum) enabling boundary layer properties
39    to penetrate well into the thermocline;
40    mixing is represented through a polynomial profile whose
41    coefficients are determined subject to several contraints;
42    %
43    \item
44    the boundary-layer profile is made to agree with similarity
45    theory of turbulence and is matched, in the asymptotic sense
46    (function and derivative agree at the boundary),
47    to the interior thus fixing the polynomial coefficients;
48    matching allows for some fraction of the boundary layer mixing
49    to affect the interior, and vice versa;
50    %
51    \item
52    a ``non-local'' term $\hat{\gamma}$ or \texttt{ghat}
53    which is independent of the vertical property gradient further
54    enhances mixing where the water column is unstable
55    %
56    \end{enumerate}
57    %
58    The scheme has been extensively compared to observations
59    (see e.g. \cite{lar-eta:97}) and is now coomon in many
60    ocean models.
61    
62    The current code originates in the NCAR NCOM 1-D code
63    and was kindly provided by Bill Large and Jan Morzel.
64    It has been adapted first to the MITgcm vector code and
65    subsequently to the current parallel code.
66    Adjustment were mainly in conjunction with WRAPPER requirements
67    (domain decomposition and threading capability), to enable
68    automatic differentiation of tangent linear and adjoint code
69    via TAMC.
70    
71    The following sections will describe the KPP package
72    configuration and compiling (\ref{sec:pkg:kpp:comp}),
73    the settings and choices of runtime parameters
74    (\ref{sec:pkg:kpp:runtime}),
75    more detailed description of equations to which these
76    parameters relate (\ref{sec:pkg:kpp:equations}),
77    and key subroutines where they are used %(\ref{sec:pkg:kpp:subroutines}),
78    (\ref{sec:pkg:kpp:flowchart}),
79    and diagnostics output of KPP-derived diffusivities, viscosities
80    and boundary-layer/mixed-layer depths
81    (\ref{sec:pkg:kpp:diagnostics}).
82    
83  %----------------------------------------------------------------------  %----------------------------------------------------------------------
84    
85  \subsubsection{KPP configuration and compiling}  \subsubsection{KPP configuration and compiling
86    \label{sec:pkg:kpp:comp}}
87    
88  As with all MITgcm packages, KPP can be turned on or off at compile time  As with all MITgcm packages, KPP can be turned on or off at compile time
89  %  %
# Line 26  using the \texttt{packages.conf} file by Line 96  using the \texttt{packages.conf} file by
96  or using \texttt{genmake2} adding  or using \texttt{genmake2} adding
97  \texttt{-enable=kpp} or \texttt{-disable=kpp} switches  \texttt{-enable=kpp} or \texttt{-disable=kpp} switches
98  %  %
99    \item
100    \textit{Required packages and CPP options:} \\
101    No additional packages are required, but the MITgcm kernel flag
102    enabling the penetration of shortwave radiation below
103    the surface layer needs to be set in \texttt{CPP\_OPTIONS.h}
104    as follows: \\
105    \texttt{\#define SHORTWAVE\_HEATING}
106    %
107  \end{itemize}  \end{itemize}
108  (see Section \ref{sect:buildingCode}).  (see Section \ref{sec:buildingCode}).
109    
110  Parts of the KPP code can be enabled or disabled at compile time  Parts of the KPP code can be enabled or disabled at compile time
111  via CPP preprocessor flags. These options are set in  via CPP preprocessor flags. These options are set in
112  \texttt{KPP\_OPTIONS.h}. Table \ref{tab:pkg:kpp:cpp} summarizes them.  \texttt{KPP\_OPTIONS.h}. Table \ref{tab:pkg:kpp:cpp} summarizes them.
113    
114  \begin{table}[h!]  \begin{table}[!ht]
115    \centering
116    \label{tab:pkg:kpp:cpp}    \label{tab:pkg:kpp:cpp}
117    {\footnotesize    {\footnotesize
118      \begin{tabular}{|l|l|}      \begin{tabular}{|l|l|}
# Line 69  via CPP preprocessor flags. These option Line 148  via CPP preprocessor flags. These option
148  \end{table}  \end{table}
149    
150    
   
151  %----------------------------------------------------------------------  %----------------------------------------------------------------------
152    
153  \subsubsection{Run-time parameters  \subsubsection{Run-time parameters
# Line 104  kernel need to be set in conjunction wit Line 182  kernel need to be set in conjunction wit
182  \paragraph{Package flags and parameters}  \paragraph{Package flags and parameters}
183  ~ \\  ~ \\
184  %  %
185  \begin{table}[h!]  Table \ref{tab:pkg:kpp:runtime_flags} summarizes the
186    runtime flags that are set in \texttt{data.pkg}, and
187    their default values.
188    
189    \begin{table}[!ht]
190    \centering
191    \label{tab:pkg:kpp:runtime_flags}    \label{tab:pkg:kpp:runtime_flags}
192    {\footnotesize    {\footnotesize
193      \begin{tabular}{|l|c|l|}      \begin{tabular}{|l|c|l|}
# Line 207  kernel need to be set in conjunction wit Line 290  kernel need to be set in conjunction wit
290    
291  %----------------------------------------------------------------------  %----------------------------------------------------------------------
292    
293  \subsubsection{Equations  \subsubsection{Equations and key routines
294  \label{sec:pkg:kpp:equations}}  \label{sec:pkg:kpp:equations}}
295    
296  %----------------------------------------------------------------------  We restrict ourselves to writing out only the essential equations
297    that relate to main processes and parameters mentioned above.
298    We closely follow the notation of \cite{lar-eta:94}.
299    
300  \subsubsection{Key subroutines  \paragraph{KPP\_CALC:} Top-level routine. \\
301  \label{sec:pkg:kpp:subroutines}}  ~
302    
303  \paragraph{kpp\_calc:} Top-level routine. \\  \paragraph{KPP\_MIX:} Intermediate-level routine \\
304  ~  ~
305    
306  \paragraph{kpp\_mix:} Intermediate-level routine \\  \paragraph{BLMIX: Mixing in the boundary layer} ~ \\
307    %
308  ~  ~
309    
310  \paragraph{ri\_iwmix:} ~ \\  The vertical fluxes $\overline{wx}$
311    of momentum and tracer properties $X$
312    is composed of a gradient-flux term (proportional to
313    the vertical property divergence $\partial_z X$), and
314    a ``nonlocal'' term $\gamma_x$ that enhances the
315    gradient-flux mixing coefficient $K_x$
316    %
317    \begin{equation}
318    \overline{wx}(d) \, = \, -K_x \left(
319    \frac{\partial X}{\partial z} \, - \, \gamma_x \right)
320    \end{equation}
321    
322    \begin{itemize}
323    %
324    \item
325    \textit{Boundary layer mixing profile} \\
326    %
327    It is expressed as the product of the boundary layer depth $h$,
328    a depth-dependent turbulent velocity scale $w_x(\sigma)$ and a
329    non-dimensional shape function $G(\sigma)$
330    %
331    \begin{equation}
332    K_x(\sigma) \, = \, h \, w_x(\sigma) \, G(\sigma)
333    \end{equation}
334    %
335    with dimensionless vertical coordinate $\sigma = d/h$.
336    For details of $ w_x(\sigma)$ and $G(\sigma)$ we refer to
337    \cite{lar-eta:94}.
338    
339    %
340    \item
341    \textit{Nonlocal mixing term} \\
342    %
343    The nonlocal transport term $\gamma$ is nonzero only for
344    tracers in unstable (convective) forcing conditions.
345    Thus, depending on the  stability parameter $\zeta = d/L$
346    (with depth $d$, Monin-Obukhov length scale $L$)
347    it has the following form:
348    %
349    \begin{eqnarray}
350    \begin{array}{cl}
351    \gamma_x \, = \, 0 & \zeta \, \ge \, 0 \\
352    ~ & ~ \\
353    \left.
354    \begin{array}{c}
355    \gamma_m \, = \, 0 \\
356     ~ \\
357    \gamma_s \, = \, C_s
358    \frac{\overline{w s_0}}{w_s(\sigma) h} \\
359     ~ \\
360    \gamma_{\theta} \, = \, C_s
361    \frac{\overline{w \theta_0}+\overline{w \theta_R}}{w_s(\sigma) h} \\
362    \end{array}
363    \right\}
364    &
365    \zeta \, < \, 0 \\
366    \end{array}
367    \end{eqnarray}
368    
369    \end{itemize}
370    
371    In practice, the routine peforms the following tasks:
372    %
373    \begin{enumerate}
374    %
375    \item
376    compute velocity scales at hbl
377    %
378    \item
379    find the interior viscosities and derivatives at hbl
380    %
381    \item
382    compute turbulent velocity scales on the interfaces
383    %
384    \item
385    compute the dimensionless shape functions at the interfaces
386    %
387    \item
388    compute boundary layer diffusivities at the interfaces
389    %
390    \item
391    compute nonlocal transport term
392    %
393    \item
394    find diffusivities at kbl-1 grid level
395    %
396    \end{enumerate}
397    
398    \paragraph{RI\_IWMIX: Mixing in the interior} ~ \\
399  %  %
400  Compute interior viscosity and diffusivity coefficients due to  Compute interior viscosity and diffusivity coefficients due to
401  %  %
# Line 234  shear instability (dependent on a local Line 408  shear instability (dependent on a local
408  to background internal wave activity, and  to background internal wave activity, and
409  %  %
410  \item  \item
411  to static instability (local Richardson number < 0).  to static instability (local Richardson number $<$ 0).
412  %  %
413  \end{itemize}  \end{itemize}
414    
415    TO BE CONTINUED.
416    
417  \paragraph{bldepth:} ~ \\  \paragraph{BLDEPTH: Boundary layer depth calculation:} ~ \\
418  %  %
419  The oceanic planetary boundary layer depth, \texttt{hbl}, is determined as  The oceanic planetary boundary layer depth, \texttt{hbl}, is determined as
420  the shallowest depth where the bulk Richardson number is  the shallowest depth where the bulk Richardson number is
# Line 262  stable/ustable forcing conditions, and w Line 437  stable/ustable forcing conditions, and w
437  to grid points (caseA), so that conditional branches can be  to grid points (caseA), so that conditional branches can be
438  avoided in later subroutines.  avoided in later subroutines.
439    
440  \paragraph{blmix:} ~ \\  TO BE CONTINUED.
 %  
 Compute boundary layer mixing coefficients.  
 Mixing coefficients within boundary layer depend on surface  
 forcing and the magnitude and gradient of interior mixing below  
 the boundary layer ("matching").  
 %  
 \begin{enumerate}  
 %  
 \item  
 compute velocity scales at hbl  
 %  
 \item  
 find the interior viscosities and derivatives at hbl  
 %  
 \item  
 compute turbulent velocity scales on the interfaces  
 %  
 \item  
 compute the dimensionless shape functions at the interfaces  
 %  
 \item  
 compute boundary layer diffusivities at the interfaces  
 %  
 \item  
 compute nonlocal transport term  
 %  
 \item  
 find diffusivities at kbl-1 grid level  
 %  
 \end{enumerate}  
441    
442  \paragraph{kpp\_calc\_diff\_t/s, kpp\_calc\_visc:} ~  \\  \paragraph{KPP\_CALC\_DIFF\_T/\_S, KPP\_CALC\_VISC:} ~  \\
443  %  %
444  Add contribution to net diffusivity/viscosity from  Add contribution to net diffusivity/viscosity from
445  KPP diffusivity/viscosity.  KPP diffusivity/viscosity.
446    
447  \paragraph{kpp\_transport\_t/s/ptr:} ~ \\  TO BE CONTINUED.
448    
449    \paragraph{KPP\_TRANSPORT\_T/\_S/\_PTR:} ~ \\
450  %  %
451  Add non local KPP transport term (ghat) to diffusive  Add non local KPP transport term (ghat) to diffusive
452  temperature/salinity/passive tracer flux.  temperature/salinity/passive tracer flux.
453  The nonlocal transport term is nonzero only for scalars  The nonlocal transport term is nonzero only for scalars
454  in unstable (convective) forcing conditions.  in unstable (convective) forcing conditions.
455    
456    TO BE CONTINUED.
457    
458    \paragraph{Implicit time integration} ~ \\
459    %
460    TO BE CONTINUED.
461    
462    
463    \paragraph{Penetration of shortwave radiation} ~ \\
464    %
465    TO BE CONTINUED.
466    
467    
468    %----------------------------------------------------------------------
469    
470    \subsubsection{Flow chart
471    \label{sec:pkg:kpp:flowchart}}
472    
473    
474  {\footnotesize  {\footnotesize
475  \begin{verbatim}  \begin{verbatim}
476    
# Line 341  c  o Line 506  c  o
506    
507  Diagnostics output is available via the diagnostics package  Diagnostics output is available via the diagnostics package
508  (see Section \ref{sec:pkg:diagnostics}).  (see Section \ref{sec:pkg:diagnostics}).
509  Available output fields are summarized in  Available output fields are summarized here:
 Table \ref{tab:pkg:kpp:diagnostics}.  
510    
 \begin{table}[h!]  
 \label{tab:pkg:kpp:diagnostics}  
 {\footnotesize  
511  \begin{verbatim}  \begin{verbatim}
512  ------------------------------------------------------  ------------------------------------------------------
513   <-Name->|Levs|grid|<--  Units   -->|<- Tile (max=80c)   <-Name->|Levs|grid|<--  Units   -->|<- Tile (max=80c)
# Line 359  Table \ref{tab:pkg:kpp:diagnostics}. Line 520  Table \ref{tab:pkg:kpp:diagnostics}.
520   KPPmld  |  1 |SM  |m               |Mixed layer depth, dT=.8degC density criterion   KPPmld  |  1 |SM  |m               |Mixed layer depth, dT=.8degC density criterion
521   KPPfrac |  1 |SM  |                |Short-wave flux fraction penetrating mixing layer   KPPfrac |  1 |SM  |                |Short-wave flux fraction penetrating mixing layer
522  \end{verbatim}  \end{verbatim}
 }  
 \caption{~}  
 \end{table}  
523    
524  %----------------------------------------------------------------------  %----------------------------------------------------------------------
525    
# Line 374  natl\_box: Line 532  natl\_box:
532  %----------------------------------------------------------------------  %----------------------------------------------------------------------
533    
534  \subsubsection{References}  \subsubsection{References}
535    
536    \subsubsection{Experiments and tutorials that use kpp}
537    \label{sec:pkg:kpp:experiments}
538    
539    \begin{itemize}
540    \item{Labrador Sea experiment, in lab\_sea verification directory }
541    \end{itemize}

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

  ViewVC Help
Powered by ViewVC 1.1.22