/[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.15 - (show annotations) (download)
Thu Oct 19 00:34:25 2017 UTC (6 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, HEAD
Changes since 1.14: +132 -145 lines
File MIME type: text/plain
- move retired parameter outside common block
- read namelist without IOSTAT=errIO to force to stop if there is an error

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

  ViewVC Help
Powered by ViewVC 1.1.22