/[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.12 - (show annotations) (download)
Mon Apr 23 21:09:19 2007 UTC (17 years, 1 month ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint60, checkpoint61, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint61f, checkpoint61n, checkpoint59j, checkpoint61e, checkpoint61g, checkpoint61d, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i
Changes since 1.11: +17 -22 lines
File MIME type: text/plain
replaced _KPP_RL with _RL

1 C $Header: /u/gcmpack/MITgcm/pkg/kpp/KPP_PARAMS.h,v 1.11 2007/04/19 04:51:59 dimitri 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
54 C-----------------------------------------------------------------------
55 C
56 C KPP flags and min/max permitted values for mixing parameters
57 c
58 C KPPmixingMaps - if true, include KPP diagnostic maps in STDOUT
59 C KPPwriteState - if true, write KPP state to file
60 C minKPPhbl - KPPhbl minimum value (m)
61 C KPP_ghatUseTotalDiffus -
62 C if T : Compute the non-local term using
63 C the total vertical diffusivity ;
64 C if F (=default): use KPP vertical diffusivity
65 C Note: prior to checkpoint55h_post, was using the total Kz
66 C
67 C-----------------------------------------------------------------------
68
69 LOGICAL KPPmixingMaps, KPPwriteState, KPP_ghatUseTotalDiffus
70 COMMON /KPP_PARM_L/
71 & KPPmixingMaps, KPPwriteState, KPP_ghatUseTotalDiffus
72
73 _RL minKPPhbl
74 COMMON /KPP_PARM_R/ minKPPhbl
75
76 c====================== file "kmixcom.h" =======================
77 c
78 c-----------------------------------------------------------------------
79 c Define various parameters and common blocks for KPP vertical-
80 c mixing scheme; used in "kppmix.F" subroutines.
81 c Constants are set in subroutine "ini_parms".
82 c-----------------------------------------------------------------------
83 c
84 c-----------------------------------------------------------------------
85 c parameters for several subroutines
86 c
87 c epsln = 1.0e-20
88 c phepsi = 1.0e-10
89 c epsilon = nondimensional extent of the surface layer = 0.1
90 c vonk = von Karmans constant = 0.4
91 c dB_dz = maximum dB/dz in mixed layer hMix = 5.2e-5 s^-2
92 c conc1,conam,concm,conc2,zetam,conas,concs,conc3,zetas
93 c = scalar coefficients
94 c-----------------------------------------------------------------------
95
96 _RL epsln,phepsi,epsilon,vonk,dB_dz,
97 $ conc1,
98 $ conam,concm,conc2,zetam,
99 $ conas,concs,conc3,zetas
100
101 common /kmixcom/ epsln,phepsi,epsilon,vonk,dB_dz,
102 $ conc1,
103 $ conam,concm,conc2,zetam,
104 $ conas,concs,conc3,zetas
105
106 c-----------------------------------------------------------------------
107 c parameters for subroutine "bldepth"
108 c
109 c
110 c to compute depth of boundary layer:
111 c
112 c Ricr = critical bulk Richardson Number = 0.3
113 c cekman = coefficient for ekman depth = 0.7
114 c cmonob = coefficient for Monin-Obukhov depth = 1.0
115 c concv = ratio of interior buoyancy frequency to
116 c buoyancy frequency at entrainment depth = 1.8
117 c hbf = fraction of bounadry layer depth to
118 c which absorbed solar radiation
119 c contributes to surface buoyancy forcing = 1.0
120 c Vtc = non-dimensional coefficient for velocity
121 c scale of turbulant velocity shear
122 c (=function of concv,concs,epsilon,vonk,Ricr)
123 c-----------------------------------------------------------------------
124
125 _RL Ricr,cekman,cmonob,concv,Vtc
126 _RL hbf
127
128 common /kpp_bldepth1/ Ricr,cekman,cmonob,concv,Vtc
129 common /kpp_bldepth2/ hbf
130
131 c-----------------------------------------------------------------------
132 c parameters and common arrays for subroutines "kmixinit"
133 c and "wscale"
134 c
135 c
136 c to compute turbulent velocity scales:
137 c
138 c nni = number of values for zehat in the look up table
139 c nnj = number of values for ustar in the look up table
140 c
141 c wmt = lookup table for wm, the turbulent velocity scale
142 c for momentum
143 c wst = lookup table for ws, the turbulent velocity scale
144 c for scalars
145 c deltaz = delta zehat in table
146 c deltau = delta ustar in table
147 c zmin = minimum limit for zehat in table (m3/s3)
148 c zmax = maximum limit for zehat in table
149 c umin = minimum limit for ustar in table (m/s)
150 c umax = maximum limit for ustar in table
151 c-----------------------------------------------------------------------
152
153 integer nni , nnj
154 parameter (nni = 890, nnj = 480)
155
156 _RL wmt(0:nni+1,0:nnj+1), wst(0:nni+1,0:nnj+1)
157 _RL deltaz,deltau,zmin,zmax,umin,umax
158 common /kmixcws/ wmt, wst
159 $ , deltaz,deltau,zmin,zmax,umin,umax
160
161 c-----------------------------------------------------------------------
162 c parameters for subroutine "ri_iwmix"
163 c
164 c
165 c to compute vertical mixing coefficients below boundary layer:
166 c
167 c num_v_smooth_Ri = number of times Ri is vertically smoothed
168 c num_v_smooth_BV, num_z_smooth_sh, and num_m_smooth_sh are dummy
169 c variables kept for backward compatibility of the data file
170 c Riinfty = local Richardson Number limit for shear instability = 0.7
171 c BVSQcon = Brunt-Vaisala squared (1/s^2)
172 c difm0 = viscosity max due to shear instability (m^2/s)
173 c difs0 = tracer diffusivity .. (m^2/s)
174 c dift0 = heat diffusivity .. (m^2/s)
175 c difmcon = viscosity due to convective instability (m^2/s)
176 c difscon = tracer diffusivity .. (m^2/s)
177 c diftcon = heat diffusivity .. (m^2/s)
178 c-----------------------------------------------------------------------
179
180 INTEGER num_v_smooth_Ri, num_v_smooth_BV
181 INTEGER num_z_smooth_sh, num_m_smooth_sh
182 COMMON /kmixcri_i/ num_v_smooth_Ri, num_v_smooth_BV
183 1 , num_z_smooth_sh, num_m_smooth_sh
184
185 _RL Riinfty, BVSQcon
186 _RL difm0 , difs0 , dift0
187 _RL difmcon, difscon, diftcon
188 COMMON /kmixcri_r/ Riinfty, BVSQcon
189 1 , difm0, difs0, dift0
190 2 , difmcon, difscon, diftcon
191
192 c-----------------------------------------------------------------------
193 c parameters for subroutine "ddmix"
194 c
195 c
196 c to compute additional diffusivity due to double diffusion:
197 c
198 c Rrho0 = limit for double diffusive density ratio
199 c dsfmax = maximum diffusivity in case of salt fingering (m2/s)
200 c-----------------------------------------------------------------------
201
202 _RL Rrho0, dsfmax
203 common /kmixcdd/ Rrho0, dsfmax
204
205 c-----------------------------------------------------------------------
206 c parameters for subroutine "blmix"
207 c
208 c
209 c to compute mixing within boundary layer:
210 c
211 c cstar = proportionality coefficient for nonlocal transport
212 c cg = non-dimensional coefficient for counter-gradient term
213 c-----------------------------------------------------------------------
214
215 _RL cstar, cg
216 common /kmixcbm/ cstar, cg
217
218 #endif /* ALLOW_KPP */
219
220
221 CEH3 ;;; Local Variables: ***
222 CEH3 ;;; mode:fortran ***
223 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22