/[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.1 by heimbach, Wed Oct 10 16:06:41 2001 UTC revision 1.6 by heimbach, Mon Aug 1 22:31:36 2005 UTC
# Line 1  Line 1 
1  \section{Ocean vertical mixing --  \subsection{KPP: Nonlocal K-Profile Parameterization for
2  the nonlocal K-profile parameterization scheme KPP  Diapycnal Mixing}
 \label{sectionkpp}}  
3    
4    \label{sec:pkg:kpp}
5    \begin{rawhtml}
6    <!-- CMIREDIR:package_kpp: -->
7    \end{rawhtml}
8    
9    Authors: Dimitris Menemenlis and Patrick Heimbach
10    
11    \subsubsection{Introduction
12    \label{sec:pkg:kpp:intro}}
13    
14    %----------------------------------------------------------------------
15    
16    \subsubsection{KPP configuration and compiling}
17    
18    As with all MITgcm packages, KPP can be turned on or off at compile time
19    %
20    \begin{itemize}
21    %
22    \item
23    using the \texttt{packages.conf} file by adding \texttt{kpp} to it,
24    %
25    \item
26    or using \texttt{genmake2} adding
27    \texttt{-enable=kpp} or \texttt{-disable=kpp} switches
28    %
29    \end{itemize}
30    (see Section \ref{sect:buildingCode}).
31    
32    Parts of the KPP code can be enabled or disabled at compile time
33    via CPP preprocessor flags. These options are set in
34    \texttt{KPP\_OPTIONS.h}. Table \ref{tab:pkg:kpp:cpp} summarizes them.
35    
36    \begin{table}[h!]
37      \label{tab:pkg:kpp:cpp}
38      {\footnotesize
39        \begin{tabular}{|l|l|}
40          \hline
41          \textbf{CPP option}  &  \textbf{Description}  \\
42          \hline \hline
43            \texttt{\_KPP\_RL} &
44              ~ \\
45            \texttt{FRUGAL\_KPP} &
46              ~ \\
47            \texttt{KPP\_SMOOTH\_SHSQ} &
48              ~ \\
49            \texttt{KPP\_SMOOTH\_DVSQ} &
50              ~ \\
51            \texttt{KPP\_SMOOTH\_DENS} &
52              ~ \\
53            \texttt{KPP\_SMOOTH\_VISC} &
54              ~ \\
55            \texttt{KPP\_SMOOTH\_DIFF} &
56              ~ \\
57            \texttt{KPP\_ESTIMATE\_UREF} &
58              ~ \\
59            \texttt{INCLUDE\_DIAGNOSTICS\_INTERFACE\_CODE} &
60              ~ \\
61            \texttt{KPP\_GHAT} &
62              ~ \\
63            \texttt{EXCLUDE\_KPP\_SHEAR\_MIX} &
64              ~ \\
65          \hline
66        \end{tabular}
67      }
68      \caption{~}
69    \end{table}
70    
71    
72    
73    %----------------------------------------------------------------------
74    
75    \subsubsection{Run-time parameters
76    \label{sec:pkg:kpp:runtime}}
77    
78    Run-time parameters are set in files
79    \texttt{data.pkg} and \texttt{data.kpp}
80    which are read in \texttt{kpp\_readparms.F}.
81    Run-time parameters may be broken into 3 categories:
82    (i) switching on/off the package at runtime,
83    (ii) required MITgcm flags,
84    (iii) package flags and parameters.
85    
86    \paragraph{Enabling the package}
87    ~ \\
88    %
89    The KPP package is switched on at runtime by setting
90    \texttt{useKPP = .TRUE.} in \texttt{data.pkg}.
91    
92    \paragraph{Required MITgcm flags}
93    ~ \\
94    %
95    The following flags/parameters of the MITgcm dynamical
96    kernel need to be set in conjunction with KPP:
97    
98    \begin{tabular}{ll}
99    \texttt{implicitViscosity = .TRUE.} & enable implicit vertical viscosity \\
100    \texttt{implicitDiffusion = .TRUE.} & enable implicit vertical diffusion \\
101    \end{tabular}
102    
103    
104    \paragraph{Package flags and parameters}
105    ~ \\
106    %
107    \begin{table}[h!]
108      \label{tab:pkg:kpp:runtime_flags}
109      {\footnotesize
110        \begin{tabular}{|l|c|l|}
111          \hline
112          \textbf{Flag/parameter} & \textbf{default} &  \textbf{Description}  \\
113          \hline \hline
114             \multicolumn{3}{|c|}{\textit{I/O related parameters} } \\
115             \hline
116            kpp\_freq & \texttt{deltaTClock} &
117               Recomputation frequency for KPP fields \\
118            kpp\_dumpFreq & \texttt{dumpFreq} &
119               Dump frequency of KPP field snapshots \\
120            kpp\_taveFreq & \texttt{taveFreq} &
121               Averaging and dump frequency of KPP fields \\
122            KPPmixingMaps & \texttt{.FALSE.} &
123               include KPP diagnostic maps in STDOUT \\
124            KPPwriteState & \texttt{.FALSE.} &
125               write KPP state to file \\
126            KPP\_ghatUseTotalDiffus & \texttt{.FALSE.} &
127               if \texttt{.T.} compute non-local term using total vertical diffusivity \\
128            ~ & ~ &
129               if \texttt{.F.} use KPP vertical diffusivity \\
130          \hline
131          \multicolumn{3}{|c|}{\textit{Genral KPP parameters} } \\
132          \hline
133            minKPPhbl & \texttt{delRc(1)} &
134               Minimum boundary layer depth \\
135            epsilon & 0.1 &
136               nondimensional extent of the surface layer \\
137            vonk & 0.4 &
138               von Karman constant \\
139            dB\_dz & 5.2E-5 1/s$^2$ &
140               maximum dB/dz in mixed layer hMix \\
141            concs & 98.96 &
142               ~ \\
143            concv & 1.8 &
144               ~ \\
145          \hline
146          \multicolumn{3}{|c|}{\textit{Boundary layer parameters (S/R \texttt{bldepth})} } \\
147          \hline
148            Ricr & 0.3 &
149               critical bulk Richardson number \\
150            cekman & 0.7 &
151               coefficient for Ekman depth \\
152            cmonob & 1.0 &
153               coefficient for Monin-Obukhov depth \\
154            concv & 1.8 &
155               ratio of interior to  entrainment depth buoyancy frequency \\
156            hbf & 1.0 &
157               fraction of depth to which absorbed solar radiation contributes \\
158            ~ & ~ &
159               to surface buoyancy forcing \\
160            Vtc & \texttt{~} &
161               non-dim. coeff. for velocity scale of turbulant velocity shear \\
162            ~ & ~ &
163               ( = function of concv,concs,epsilon,vonk,Ricr) \\
164          \hline
165          \multicolumn{3}{|c|}{\textit{Boundary layer mixing parameters (S/R \texttt{blmix})} } \\
166          \hline
167            cstar & 10. &
168               proportionality coefficient for nonlocal transport \\
169            cg & ~ &
170               non-dimensional coefficient for counter-gradient term \\
171            ~ & ~ &
172               ( = function of cstar,vonk,concs,epsilon) \\
173          \hline
174          \multicolumn{3}{|c|}{\textit{Interior mixing parameters (S/R \texttt{Ri\_iwmix})} } \\
175          \hline
176            Riinfty & 0.7 &
177               gradient Richardson number limit for shear instability \\
178            BVDQcon & -0.2E-4 1/s$^2$ &
179               Brunt-V\"ai\"sal\"a squared \\
180            difm0 & 0.005 m$^2$/s &
181               viscosity max. due to shear instability \\
182            difs0 & 0.005 m$^2$/s &
183               tracer diffusivity max. due to shear instability \\
184            dift0 & 0.005 m$^2$/s &
185               heat diffusivity max. due to shear instability \\
186            difmcon & 0.1 &
187               viscosity due to convective instability \\
188            difscon & 0.1 &
189               tracer diffusivity due to convective instability \\
190            diftcon & 0.1 &
191               heat diffusivity due to convective instability \\
192          \hline
193          \multicolumn{3}{|c|}{\textit{Double-diffusive mixing parameters (S/R \texttt{ddmix})} } \\
194          \hline
195            Rrho0 & not used &
196               limit for double diffusive density ratio \\
197            dsfmax & not used &
198               maximum diffusivity in case of salt fingering \\
199             \hline
200          \hline
201        \end{tabular}
202      }
203      \caption{~}
204    \end{table}
205    
206    
207    
208    %----------------------------------------------------------------------
209    
210    \subsubsection{Equations
211    \label{sec:pkg:kpp:equations}}
212    
213    %----------------------------------------------------------------------
214    
215    \subsubsection{Key subroutines
216    \label{sec:pkg:kpp:subroutines}}
217    
218    \paragraph{kpp\_calc:} Top-level routine. \\
219    ~
220    
221    \paragraph{kpp\_mix:} Intermediate-level routine \\
222    ~
223    
224    \paragraph{ri\_iwmix:} ~ \\
225    %
226    Compute interior viscosity and diffusivity coefficients due to
227    %
228    \begin{itemize}
229    %
230    \item
231    shear instability (dependent on a local gradient Richardson number),
232    %
233    \item
234    to background internal wave activity, and
235    %
236    \item
237    to static instability (local Richardson number < 0).
238    %
239    \end{itemize}
240    
241    
242    \paragraph{bldepth:} ~ \\
243    %
244    The oceanic planetary boundary layer depth, \texttt{hbl}, is determined as
245    the shallowest depth where the bulk Richardson number is
246    equal to the critical value, \texttt{Ricr}.
247    
248    Bulk Richardson numbers are evaluated by computing velocity and
249    buoyancy differences between values at zgrid(kl) < 0 and surface
250    reference values.
251    In this configuration, the reference values are equal to the
252    values in the surface layer.
253    When using a very fine vertical grid, these values should be
254    computed as the vertical average of velocity and buoyancy from
255    the surface down to epsilon*zgrid(kl).
256    
257    When the bulk Richardson number at k exceeds Ricr, hbl is
258    linearly interpolated between grid levels zgrid(k) and zgrid(k-1).
259    
260    The water column and the surface forcing are diagnosed for
261    stable/ustable forcing conditions, and where hbl is relative
262    to grid points (caseA), so that conditional branches can be
263    avoided in later subroutines.
264    
265    \paragraph{blmix:} ~ \\
266    %
267    Compute boundary layer mixing coefficients.
268    Mixing coefficients within boundary layer depend on surface
269    forcing and the magnitude and gradient of interior mixing below
270    the boundary layer ("matching").
271    %
272    \begin{enumerate}
273    %
274    \item
275    compute velocity scales at hbl
276    %
277    \item
278    find the interior viscosities and derivatives at hbl
279    %
280    \item
281    compute turbulent velocity scales on the interfaces
282    %
283    \item
284    compute the dimensionless shape functions at the interfaces
285    %
286    \item
287    compute boundary layer diffusivities at the interfaces
288    %
289    \item
290    compute nonlocal transport term
291    %
292    \item
293    find diffusivities at kbl-1 grid level
294    %
295    \end{enumerate}
296    
297    \paragraph{kpp\_calc\_diff\_t/s, kpp\_calc\_visc:} ~  \\
298    %
299    Add contribution to net diffusivity/viscosity from
300    KPP diffusivity/viscosity.
301    
302    \paragraph{kpp\_transport\_t/s/ptr:} ~ \\
303    %
304    Add non local KPP transport term (ghat) to diffusive
305    temperature/salinity/passive tracer flux.
306    The nonlocal transport term is nonzero only for scalars
307    in unstable (convective) forcing conditions.
308    
309    {\footnotesize
310    \begin{verbatim}
311    
312    C     !CALLING SEQUENCE:
313    c ...
314    c  kpp_calc (TOP LEVEL ROUTINE)
315    c  |
316    c  |-- statekpp: o compute all EOS/density-related arrays
317    c  |             o uses S/R FIND_ALPHA, FIND_BETA, FIND_RHO
318    c  |
319    c  |-- kppmix
320    c  |   |--- ri_iwmix (compute interior mixing coefficients due to constant
321    c  |   |              internal wave activity, static instability,
322    c  |   |              and local shear instability).
323    c  |   |
324    c  |   |--- bldepth (diagnose boundary layer depth)
325    c  |   |
326    c  |   |--- blmix (compute boundary layer diffusivities)
327    c  |   |
328    c  |   |--- enhance (enhance diffusivity at interface kbl - 1)
329    c  |   o
330    c  |
331    c  |-- swfrac
332    c  o
333    
334    \end{verbatim}
335    }
336    
337    %----------------------------------------------------------------------
338    
339    \subsubsection{KPP diagnostics
340    \label{sec:pkg:kpp:diagnostics}}
341    
342    Diagnostics output is available via the diagnostics package
343    (see Section \ref{sec:pkg:diagnostics}).
344    Available output fields are summarized in
345    Table \ref{tab:pkg:kpp:diagnostics}.
346    
347    \begin{table}[h!]
348    \label{tab:pkg:kpp:diagnostics}
349    {\footnotesize
350    \begin{verbatim}
351    ------------------------------------------------------
352     <-Name->|Levs|grid|<--  Units   -->|<- Tile (max=80c)
353    ------------------------------------------------------
354     KPPviscA| 23 |SM  |m^2/s           |KPP vertical eddy viscosity coefficient
355     KPPdiffS| 23 |SM  |m^2/s           |Vertical diffusion coefficient for salt & tracers
356     KPPdiffT| 23 |SM  |m^2/s           |Vertical diffusion coefficient for heat
357     KPPghat | 23 |SM  |s/m^2           |Nonlocal transport coefficient
358     KPPhbl  |  1 |SM  |m               |KPP boundary layer depth, bulk Ri criterion
359     KPPmld  |  1 |SM  |m               |Mixed layer depth, dT=.8degC density criterion
360     KPPfrac |  1 |SM  |                |Short-wave flux fraction penetrating mixing layer
361    \end{verbatim}
362    }
363    \caption{~}
364    \end{table}
365    
366    %----------------------------------------------------------------------
367    
368    \subsubsection{Reference experiments}
369    
370    lab\_sea:
371    
372    natl\_box:
373    
374    %----------------------------------------------------------------------
375    
376    \subsubsection{References}

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

  ViewVC Help
Powered by ViewVC 1.1.22