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

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

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


Revision 1.8 - (hide annotations) (download)
Sun Jul 18 01:18:56 2004 UTC (19 years, 10 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint54d_post, checkpoint54e_post, checkpoint55, checkpoint54f_post, checkpoint55c_post, checkpoint55b_post, checkpoint55a_post, checkpoint54c_post
Changes since 1.7: +5 -4 lines
File MIME type: text/plain
replace pMask by maskC

1 jmc 1.8 C $Header: /u/gcmpack/MITgcm/pkg/kpp/KPP_PARAMS.h,v 1.7 2001/02/04 14:38:50 cnh Exp $
2     C $Name: $
3 adcroft 1.1
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 heimbach 1.5 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 adcroft 1.1 #ifdef FRUGAL_KPP
25 heimbach 1.5 parameter( imt=(sNx+2)*(sNy+2) )
26     parameter( ibot=0, itop=sNx+1, jbot=0, jtop=sNy+1 )
27 adcroft 1.1 #else
28 heimbach 1.5 parameter( imt=(sNx+2*OLx)*(sNy+2*OLy) )
29     parameter( ibot=1-OLx, itop=sNx+OLx, jbot=1-OLy, jtop=sNy+OLy )
30 adcroft 1.1 #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 jmc 1.8 C Note: use now maskC since pMask is identical to maskC
40 adcroft 1.1 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 adcroft 1.2 C kpp_dumpFreq - KPP dump frequency. (s)
44     C kpp_taveFreq - KPP time-averaging frequency. (s)
45 heimbach 1.3
46 adcroft 1.1
47 heimbach 1.5 INTEGER nzmax ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy )
48 jmc 1.8 c _KPP_RL pMask ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, Nr, nSx, nSy )
49 heimbach 1.5 _KPP_RL zgrid ( 0:Nr+1 )
50     _KPP_RL hwide ( 0:Nr+1 )
51 adcroft 1.1 _RL kpp_freq
52 adcroft 1.2 _RL kpp_dumpFreq
53     _RL kpp_taveFreq
54 adcroft 1.1
55 heimbach 1.5 COMMON /kpp_i/ nzmax
56 adcroft 1.1
57 jmc 1.8 COMMON /kpp_r1/ zgrid, hwide
58 adcroft 1.1
59 heimbach 1.5 COMMON /kpp_r2/ kpp_freq, kpp_dumpFreq, kpp_taveFreq
60 adcroft 1.1
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 heimbach 1.5 _KPP_RL minKPPhbl
78 adcroft 1.1
79     COMMON /KPP_PARM_R/
80 heimbach 1.5 & minKPPhbl
81 adcroft 1.1
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 heimbach 1.5 _KPP_RL epsln,phepsi,epsilon,vonk,dB_dz,
103 adcroft 1.1 $ 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 heimbach 1.5 _KPP_RL Ricr,cekman,cmonob,concv,Vtc
132     _RL hbf
133 adcroft 1.1
134 heimbach 1.5 common /kpp_bldepth1/ Ricr,cekman,cmonob,concv,Vtc
135     common /kpp_bldepth2/ hbf
136 adcroft 1.1
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 heimbach 1.5 _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 adcroft 1.1 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 heimbach 1.5 _KPP_RL Riinfty, BVSQcon
189     _KPP_RL difm0 , difs0 , dift0
190     _KPP_RL difmcon, difscon, diftcon
191 adcroft 1.1
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 heimbach 1.5 _KPP_RL Rrho0, dsfmax
210 adcroft 1.1 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 heimbach 1.5 _KPP_RL cstar, cg
223 adcroft 1.1
224     common /kmixcbm/ cstar, cg
225    
226     #endif /* ALLOW_KPP */

  ViewVC Help
Powered by ViewVC 1.1.22