/[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.2 - (show annotations) (download)
Thu Jun 29 17:39:57 2000 UTC (23 years, 11 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint30
Changes since 1.1: +6 -3 lines
File MIME type: text/plain
Added kpp_dumpFreq and kpp_taveFreq for "finer" control of I/O.

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

  ViewVC Help
Powered by ViewVC 1.1.22