/[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.9 - (show annotations) (download)
Thu Oct 7 19:31:14 2004 UTC (19 years, 7 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint55g_post, checkpoint55d_post, checkpoint55d_pre, checkpoint55h_post, checkpoint55f_post, checkpoint55e_post
Changes since 1.8: +6 -1 lines
File MIME type: text/plain
 o further mnc-ification
   - add kpp to mnc output (both snapshot and timeave)
   - add verification/lab_sea to the list with mnc setups
 o reformat files for ProTeX

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

  ViewVC Help
Powered by ViewVC 1.1.22