/[MITgcm]/MITgcm/pkg/kpp/KPP_PARAMS.h
ViewVC logotype

Contents of /MITgcm/pkg/kpp/KPP_PARAMS.h

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


Revision 1.3 - (show annotations) (download)
Tue Sep 12 18:13:48 2000 UTC (23 years, 8 months ago) by heimbach
Branch: MAIN
Changes since 1.2: +6 -1 lines
File MIME type: text/plain
Updated version by D. Menemenlis.
Takes new unit and sign conventions for forcing fields into account.
Includes changes of Ralf in ecco_c30_05.09.
Yet to be fully tested.

1 C $Header: /escher1/cvs/master/mitgcmuv/pkg/kpp/KPP_PARAMS.h,v 1.4 2000/09/11 23:31:25 dimitri Exp $
2
3 C /==========================================================\
4 C | KPP_PARAMS.h |
5 C | o Basic parameter header for KPP vertical mixing |
6 C | parameterization. These parameters are initialized by |
7 C | and/or read in from data.kpp file. |
8 C \==========================================================/
9
10 C Parameters used in kpp routine arguments (needed for compilation
11 C of kpp routines even if ALLOW_KPP is not defined)
12 C mdiff = number of diffusivities for local arrays
13 C imt = array dimension for local arrays
14 C Nrm1, Nrp1, Nrp2 = number of vertical levels
15
16 integer mdiff, imt, Nrm1, Nrp1, Nrp2
17 parameter (mdiff = 3)
18 #ifdef FRUGAL_KPP
19 parameter (imt = sNx*sNy)
20 #else
21 parameter (imt = (sNx+2*OLx)*(sNy+2*OLy))
22 #endif
23 parameter (Nrm1 = Nr-1)
24 parameter (Nrp1 = Nr+1)
25 parameter (Nrp2 = Nr+2)
26
27 #ifdef ALLOW_KPP
28
29 C Package on/off information
30 LOGICAL kppPackageIsOn
31 COMMON /KPP_PKG/ kppPackageIsOn
32
33 C Time invariant parameters initialized by subroutine kmixinit
34 C nzmax (nx,ny) - Maximum number of wet levels in each column
35 C pMask - Mask relating to Pressure/Tracer point grid.
36 C 0. if P point is on land.
37 C 1. if P point is in water.
38 C zgrid (0:Nr+1) - vertical levels of tracers (<=0) (m)
39 C hwide (0:Nr+1) - layer thicknesses (>=0) (m)
40 C kpp_freq - Re-computation frequency for KPP parameters (s)
41 C kpp_dumpFreq - KPP dump frequency. (s)
42 C kpp_taveFreq - KPP time-averaging frequency. (s)
43
44
45 INTEGER nzmax (1-OLx:sNx+OLx,1-OLy:sNy+OLy, nSx,nSy)
46 _RS pMask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
47 _RS zgrid (0:Nr+1)
48 _RS hwide (0:Nr+1)
49 _RL kpp_freq
50 _RL kpp_dumpFreq
51 _RL kpp_taveFreq
52
53 COMMON /kpp_i/ nzmax
54
55 COMMON /kpp_RS/ pMask, zgrid, hwide
56
57 COMMON /kpp_RL/ kpp_freq, kpp_dumpFreq, kpp_taveFreq
58
59
60 C-----------------------------------------------------------------------
61 C
62 C KPP flags and min/max permitted values for mixing parameters
63 c
64 C KPPmixingMaps - if true, include KPP diagnostic maps in STDOUT
65 C KPPwriteState - if true, write KPP state to file
66 C minKPPghat, maxKPPghat - KPP non local transport bounds (s/m^2)
67 C minKPPviscAz, maxKPPviscAz - KPP viscosity bounds (m^2/s)
68 C minKPPdiffKzT, maxKPPdiffKzT - KPP heat diffusivity bounds (m^2/s)
69 C minKPPdiffKzS, maxKPPdiffKzS - KPP tracer diffusivity bounds (m^2/s)
70 C minKPPhbl - KPPhbl minimum value (m)
71 C
72 C-----------------------------------------------------------------------
73
74 LOGICAL KPPmixingMaps, KPPwriteState
75
76 COMMON /KPP_PARM_L/
77 & KPPmixingMaps, KPPwriteState
78
79 _RS minKPPghat , maxKPPghat
80 _RS minKPPviscAz , maxKPPviscAz(Nr)
81 _RS minKPPdiffKzT, maxKPPdiffKzT
82 _RS minKPPdiffKzS, maxKPPdiffKzS, minKPPhbl
83
84 COMMON /KPP_PARM_R/
85 & minKPPghat , maxKPPghat
86 & , minKPPviscAz , maxKPPviscAz
87 & , minKPPdiffKzT, maxKPPdiffKzT
88 & , minKPPdiffKzS, maxKPPdiffKzS, minKPPhbl
89
90 c====================== file "kmixcom.h" =======================
91 c
92 c-----------------------------------------------------------------------
93 c Define various parameters and common blocks for KPP vertical-
94 c mixing scheme; used in "kppmix.F" subroutines.
95 c Constants are set in subroutine "ini_parms".
96 c-----------------------------------------------------------------------
97 c
98 c-----------------------------------------------------------------------
99 c parameters for several subroutines
100 c
101 c epsln = 1.0e-20
102 c phepsi = 1.0e-10
103 c epsilon = nondimensional extent of the surface layer = 0.1
104 c vonk = von Karmans constant = 0.4
105 c dB_dz = maximum dB/dz in mixed layer hMix = 5.2e-5 s^-2
106 c conc1,conam,concm,conc2,zetam,conas,concs,conc3,zetas
107 c = scalar coefficients
108 c-----------------------------------------------------------------------
109
110 _RS epsln,phepsi,epsilon,vonk,dB_dz,
111 $ conc1,
112 $ conam,concm,conc2,zetam,
113 $ conas,concs,conc3,zetas
114
115 common /kmixcom/ epsln,phepsi,epsilon,vonk,dB_dz,
116 $ conc1,
117 $ conam,concm,conc2,zetam,
118 $ conas,concs,conc3,zetas
119
120 c-----------------------------------------------------------------------
121 c parameters for subroutine "bldepth"
122 c
123 c
124 c to compute depth of boundary layer:
125 c
126 c Ricr = critical bulk Richardson Number = 0.3
127 c cekman = coefficient for ekman depth = 0.7
128 c cmonob = coefficient for Monin-Obukhov depth = 1.0
129 c concv = ratio of interior buoyancy frequency to
130 c buoyancy frequency at entrainment depth = 1.8
131 c hbf = fraction of bounadry layer depth to
132 c which absorbed solar radiation
133 c contributes to surface buoyancy forcing = 1.0
134 c Vtc = non-dimensional coefficient for velocity
135 c scale of turbulant velocity shear
136 c (=function of concv,concs,epsilon,vonk,Ricr)
137 c-----------------------------------------------------------------------
138
139 _RS Ricr,cekman,cmonob,concv,hbf,Vtc
140
141 common /kmixcbd/ Ricr,cekman,cmonob,concv,hbf,Vtc
142
143 c-----------------------------------------------------------------------
144 c parameters and common arrays for subroutines "kmixinit"
145 c and "wscale"
146 c
147 c
148 c to compute turbulent velocity scales:
149 c
150 c nni = number of values for zehat in the look up table
151 c nnj = number of values for ustar in the look up table
152 c
153 c wmt = lookup table for wm, the turbulent velocity scale
154 c for momentum
155 c wst = lookup table for ws, the turbulent velocity scale
156 c for scalars
157 c deltaz = delta zehat in table
158 c deltau = delta ustar in table
159 c zmin = minimum limit for zehat in table (m3/s3)
160 c zmax = maximum limit for zehat in table
161 c umin = minimum limit for ustar in table (m/s)
162 c umax = maximum limit for ustar in table
163 c-----------------------------------------------------------------------
164
165 integer nni , nnj
166 parameter (nni = 890, nnj = 480)
167
168 _RS wmt(0:nni+1,0:nnj+1), wst(0:nni+1,0:nnj+1)
169 _RS deltaz,deltau,zmin,zmax,umin,umax
170 common /kmixcws/ wmt, wst
171 $ , deltaz,deltau,zmin,zmax,umin,umax
172
173 c-----------------------------------------------------------------------
174 c parameters for subroutine "ri_iwmix"
175 c
176 c
177 c to compute vertical mixing coefficients below boundary layer:
178 c
179 c num_v_smooth_Ri = number of times Ri is vertically smoothed
180 c num_v_smooth_BV, num_z_smooth_sh, and num_m_smooth_sh are dummy
181 c variables kept for backward compatibility of the data file
182 c Riinfty = local Richardson Number limit for shear instability = 0.7
183 c BVSQcon = Brunt-Vaisala squared (1/s^2)
184 c difm0 = viscosity max due to shear instability (m^2/s)
185 c difs0 = tracer diffusivity .. (m^2/s)
186 c dift0 = heat diffusivity .. (m^2/s)
187 c difmcon = viscosity due to convective instability (m^2/s)
188 c difscon = tracer diffusivity .. (m^2/s)
189 c diftcon = heat diffusivity .. (m^2/s)
190 c-----------------------------------------------------------------------
191
192 INTEGER num_v_smooth_Ri, num_v_smooth_BV
193 INTEGER num_z_smooth_sh, num_m_smooth_sh
194 _RS Riinfty, BVSQcon
195 _RS difm0 , difs0 , dift0
196 _RS difmcon, difscon, diftcon
197
198 COMMON /kmixcri_i/ num_v_smooth_Ri, num_v_smooth_BV
199 1 , num_z_smooth_sh, num_m_smooth_sh
200
201 COMMON /kmixcri_r/ Riinfty, BVSQcon
202 1 , difm0, difs0, dift0
203 2 , difmcon, difscon, diftcon
204
205 c-----------------------------------------------------------------------
206 c parameters for subroutine "ddmix"
207 c
208 c
209 c to compute additional diffusivity due to double diffusion:
210 c
211 c Rrho0 = limit for double diffusive density ratio
212 c dsfmax = maximum diffusivity in case of salt fingering (m2/s)
213 c-----------------------------------------------------------------------
214
215 _RS Rrho0, dsfmax
216 common /kmixcdd/ Rrho0, dsfmax
217
218 c-----------------------------------------------------------------------
219 c parameters for subroutine "blmix"
220 c
221 c
222 c to compute mixing within boundary layer:
223 c
224 c cstar = proportionality coefficient for nonlocal transport
225 c cg = non-dimensional coefficient for counter-gradient term
226 c-----------------------------------------------------------------------
227
228 _RS cstar, cg
229
230 common /kmixcbm/ cstar, cg
231
232 #endif /* ALLOW_KPP */

  ViewVC Help
Powered by ViewVC 1.1.22