/[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.11 - (hide annotations) (download)
Thu Apr 19 04:51:59 2007 UTC (17 years, 1 month ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint59
Changes since 1.10: +2 -10 lines
File MIME type: text/plain
FRUGAL_KPP option removed due to popular undemand

1 dimitri 1.11 C $Header: /u/gcmpack/MITgcm/pkg/kpp/KPP_PARAMS.h,v 1.10 2004/10/20 21:54:17 jmc Exp $
2 jmc 1.8 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    
17     integer mdiff, Nrm1, Nrp1, Nrp2
18 dimitri 1.11 integer imt
19 heimbach 1.5 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 adcroft 1.1
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 jmc 1.8 C Note: use now maskC since pMask is identical to maskC
33 adcroft 1.1 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 adcroft 1.2 C kpp_dumpFreq - KPP dump frequency. (s)
37     C kpp_taveFreq - KPP time-averaging frequency. (s)
38 heimbach 1.3
39 heimbach 1.5 INTEGER nzmax ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy )
40 jmc 1.8 c _KPP_RL pMask ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, Nr, nSx, nSy )
41 heimbach 1.5 _KPP_RL zgrid ( 0:Nr+1 )
42     _KPP_RL hwide ( 0:Nr+1 )
43 adcroft 1.1 _RL kpp_freq
44 adcroft 1.2 _RL kpp_dumpFreq
45     _RL kpp_taveFreq
46 adcroft 1.1
47 heimbach 1.5 COMMON /kpp_i/ nzmax
48 adcroft 1.1
49 jmc 1.8 COMMON /kpp_r1/ zgrid, hwide
50 adcroft 1.1
51 heimbach 1.5 COMMON /kpp_r2/ kpp_freq, kpp_dumpFreq, kpp_taveFreq
52 adcroft 1.1
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 jmc 1.10 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 adcroft 1.1 C
67     C-----------------------------------------------------------------------
68    
69 jmc 1.10 LOGICAL KPPmixingMaps, KPPwriteState, KPP_ghatUseTotalDiffus
70 adcroft 1.1
71     COMMON /KPP_PARM_L/
72 jmc 1.10 & KPPmixingMaps, KPPwriteState, KPP_ghatUseTotalDiffus
73 adcroft 1.1
74 heimbach 1.5 _KPP_RL minKPPhbl
75 adcroft 1.1
76     COMMON /KPP_PARM_R/
77 heimbach 1.5 & minKPPhbl
78 adcroft 1.1
79     c====================== file "kmixcom.h" =======================
80     c
81     c-----------------------------------------------------------------------
82     c Define various parameters and common blocks for KPP vertical-
83     c mixing scheme; used in "kppmix.F" subroutines.
84     c Constants are set in subroutine "ini_parms".
85     c-----------------------------------------------------------------------
86     c
87     c-----------------------------------------------------------------------
88     c parameters for several subroutines
89     c
90     c epsln = 1.0e-20
91     c phepsi = 1.0e-10
92     c epsilon = nondimensional extent of the surface layer = 0.1
93     c vonk = von Karmans constant = 0.4
94     c dB_dz = maximum dB/dz in mixed layer hMix = 5.2e-5 s^-2
95     c conc1,conam,concm,conc2,zetam,conas,concs,conc3,zetas
96     c = scalar coefficients
97     c-----------------------------------------------------------------------
98    
99 heimbach 1.5 _KPP_RL epsln,phepsi,epsilon,vonk,dB_dz,
100 adcroft 1.1 $ conc1,
101     $ conam,concm,conc2,zetam,
102     $ conas,concs,conc3,zetas
103    
104     common /kmixcom/ epsln,phepsi,epsilon,vonk,dB_dz,
105     $ conc1,
106     $ conam,concm,conc2,zetam,
107     $ conas,concs,conc3,zetas
108    
109     c-----------------------------------------------------------------------
110     c parameters for subroutine "bldepth"
111     c
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 heimbach 1.5 _KPP_RL Ricr,cekman,cmonob,concv,Vtc
129     _RL hbf
130 adcroft 1.1
131 heimbach 1.5 common /kpp_bldepth1/ Ricr,cekman,cmonob,concv,Vtc
132     common /kpp_bldepth2/ hbf
133 adcroft 1.1
134     c-----------------------------------------------------------------------
135     c parameters and common arrays for subroutines "kmixinit"
136     c and "wscale"
137     c
138     c
139     c to compute turbulent velocity scales:
140     c
141     c nni = number of values for zehat in the look up table
142     c nnj = number of values for ustar in the look up table
143     c
144     c wmt = lookup table for wm, the turbulent velocity scale
145     c for momentum
146     c wst = lookup table for ws, the turbulent velocity scale
147     c for scalars
148     c deltaz = delta zehat in table
149     c deltau = delta ustar in table
150     c zmin = minimum limit for zehat in table (m3/s3)
151     c zmax = maximum limit for zehat in table
152     c umin = minimum limit for ustar in table (m/s)
153     c umax = maximum limit for ustar in table
154     c-----------------------------------------------------------------------
155    
156     integer nni , nnj
157     parameter (nni = 890, nnj = 480)
158    
159 heimbach 1.5 _KPP_RL wmt(0:nni+1,0:nnj+1), wst(0:nni+1,0:nnj+1)
160     _KPP_RL deltaz,deltau,zmin,zmax,umin,umax
161 adcroft 1.1 common /kmixcws/ wmt, wst
162     $ , deltaz,deltau,zmin,zmax,umin,umax
163    
164     c-----------------------------------------------------------------------
165     c parameters for subroutine "ri_iwmix"
166     c
167     c
168     c to compute vertical mixing coefficients below boundary layer:
169     c
170     c num_v_smooth_Ri = number of times Ri is vertically smoothed
171     c num_v_smooth_BV, num_z_smooth_sh, and num_m_smooth_sh are dummy
172     c variables kept for backward compatibility of the data file
173     c Riinfty = local Richardson Number limit for shear instability = 0.7
174     c BVSQcon = Brunt-Vaisala squared (1/s^2)
175     c difm0 = viscosity max due to shear instability (m^2/s)
176     c difs0 = tracer diffusivity .. (m^2/s)
177     c dift0 = heat diffusivity .. (m^2/s)
178     c difmcon = viscosity due to convective instability (m^2/s)
179     c difscon = tracer diffusivity .. (m^2/s)
180     c diftcon = heat diffusivity .. (m^2/s)
181     c-----------------------------------------------------------------------
182    
183     INTEGER num_v_smooth_Ri, num_v_smooth_BV
184     INTEGER num_z_smooth_sh, num_m_smooth_sh
185 heimbach 1.5 _KPP_RL Riinfty, BVSQcon
186     _KPP_RL difm0 , difs0 , dift0
187     _KPP_RL difmcon, difscon, diftcon
188 adcroft 1.1
189     COMMON /kmixcri_i/ num_v_smooth_Ri, num_v_smooth_BV
190     1 , num_z_smooth_sh, num_m_smooth_sh
191    
192     COMMON /kmixcri_r/ Riinfty, BVSQcon
193     1 , difm0, difs0, dift0
194     2 , difmcon, difscon, diftcon
195    
196     c-----------------------------------------------------------------------
197     c parameters for subroutine "ddmix"
198     c
199     c
200     c to compute additional diffusivity due to double diffusion:
201     c
202     c Rrho0 = limit for double diffusive density ratio
203     c dsfmax = maximum diffusivity in case of salt fingering (m2/s)
204     c-----------------------------------------------------------------------
205    
206 heimbach 1.5 _KPP_RL Rrho0, dsfmax
207 adcroft 1.1 common /kmixcdd/ Rrho0, dsfmax
208    
209     c-----------------------------------------------------------------------
210     c parameters for subroutine "blmix"
211     c
212     c
213     c to compute mixing within boundary layer:
214     c
215     c cstar = proportionality coefficient for nonlocal transport
216     c cg = non-dimensional coefficient for counter-gradient term
217     c-----------------------------------------------------------------------
218    
219 heimbach 1.5 _KPP_RL cstar, cg
220 adcroft 1.1
221     common /kmixcbm/ cstar, cg
222    
223     #endif /* ALLOW_KPP */
224 edhill 1.9
225    
226     CEH3 ;;; Local Variables: ***
227     CEH3 ;;; mode:fortran ***
228     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22