/[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.5 - (hide annotations) (download)
Mon Nov 13 16:37:02 2000 UTC (23 years, 6 months ago) by heimbach
Branch: MAIN
CVS Tags: branch-atmos-merge-shapiro, branch-atmos-merge-freeze, branch-atmos-merge-start, checkpoint33, checkpoint32, branch-atmos-merge-zonalfilt, branch-atmos-merge-phase5, branch-atmos-merge-phase4, branch-atmos-merge-phase7, branch-atmos-merge-phase6, branch-atmos-merge-phase1, branch-atmos-merge-phase3, branch-atmos-merge-phase2
Branch point for: branch-atmos-merge
Changes since 1.4: +37 -41 lines
File MIME type: text/plain
Modified and fixed version. Tested with verification/natl_box.

1 heimbach 1.5 C $Header: /escher1/cvs/master/mitgcmuv/pkg/kpp/KPP_PARAMS.h,v 1.11 2000/10/24 19:06:38 dimitri Exp $
2 adcroft 1.1
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 heimbach 1.5 C mdiff - number of diffusivities for local arrays
13     C Nrm1, Nrp1, Nrp2 - number of vertical levels
14     C imt - array dimension for local arrays
15     C ibot, itop, jbot, jtop - array dimension indices
16    
17     integer mdiff, Nrm1, Nrp1, Nrp2
18     integer imt, ibot, itop, jbot, jtop
19     parameter( mdiff = 3 )
20     parameter( Nrm1 = Nr-1 )
21     parameter( Nrp1 = Nr+1 )
22     parameter( Nrp2 = Nr+2 )
23 adcroft 1.1 #ifdef FRUGAL_KPP
24 heimbach 1.5 parameter( imt=(sNx+2)*(sNy+2) )
25     parameter( ibot=0, itop=sNx+1, jbot=0, jtop=sNy+1 )
26 adcroft 1.1 #else
27 heimbach 1.5 parameter( imt=(sNx+2*OLx)*(sNy+2*OLy) )
28     parameter( ibot=1-OLx, itop=sNx+OLx, jbot=1-OLy, jtop=sNy+OLy )
29 adcroft 1.1 #endif
30    
31     #ifdef ALLOW_KPP
32    
33     C Time invariant parameters initialized by subroutine kmixinit
34     C nzmax (nx,ny) - Maximum number of wet levels in each column
35     C pMask - Mask relating to Pressure/Tracer point grid.
36     C 0. if P point is on land.
37     C 1. if P point is in water.
38     C zgrid (0:Nr+1) - vertical levels of tracers (<=0) (m)
39     C hwide (0:Nr+1) - layer thicknesses (>=0) (m)
40     C kpp_freq - Re-computation frequency for KPP parameters (s)
41 adcroft 1.2 C kpp_dumpFreq - KPP dump frequency. (s)
42     C kpp_taveFreq - KPP time-averaging frequency. (s)
43 heimbach 1.3
44 adcroft 1.1
45 heimbach 1.5 INTEGER nzmax ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy )
46     _KPP_RL pMask ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, Nr, nSx, nSy )
47     _KPP_RL zgrid ( 0:Nr+1 )
48     _KPP_RL hwide ( 0:Nr+1 )
49 adcroft 1.1 _RL kpp_freq
50 adcroft 1.2 _RL kpp_dumpFreq
51     _RL kpp_taveFreq
52 adcroft 1.1
53 heimbach 1.5 COMMON /kpp_i/ nzmax
54 adcroft 1.1
55 heimbach 1.5 COMMON /kpp_r1/ pMask, zgrid, hwide
56 adcroft 1.1
57 heimbach 1.5 COMMON /kpp_r2/ kpp_freq, kpp_dumpFreq, kpp_taveFreq
58 adcroft 1.1
59    
60     C-----------------------------------------------------------------------
61     C
62     C KPP flags and min/max permitted values for mixing parameters
63     c
64     C KPPmixingMaps - if true, include KPP diagnostic maps in STDOUT
65     C KPPwriteState - if true, write KPP state to file
66     C minKPPhbl - KPPhbl minimum value (m)
67     C
68     C-----------------------------------------------------------------------
69    
70     LOGICAL KPPmixingMaps, KPPwriteState
71    
72     COMMON /KPP_PARM_L/
73     & KPPmixingMaps, KPPwriteState
74    
75 heimbach 1.5 _KPP_RL minKPPhbl
76 adcroft 1.1
77     COMMON /KPP_PARM_R/
78 heimbach 1.5 & minKPPhbl
79 adcroft 1.1
80     c====================== file "kmixcom.h" =======================
81     c
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 "ini_parms".
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 heimbach 1.5 _KPP_RL epsln,phepsi,epsilon,vonk,dB_dz,
101 adcroft 1.1 $ 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
114     c to compute depth of boundary layer:
115     c
116     c Ricr = critical bulk Richardson Number = 0.3
117     c cekman = coefficient for ekman depth = 0.7
118     c cmonob = coefficient for Monin-Obukhov depth = 1.0
119     c concv = ratio of interior buoyancy frequency to
120     c buoyancy frequency at entrainment depth = 1.8
121     c hbf = fraction of bounadry layer depth to
122     c which absorbed solar radiation
123     c contributes to surface buoyancy forcing = 1.0
124     c Vtc = non-dimensional coefficient for velocity
125     c scale of turbulant velocity shear
126     c (=function of concv,concs,epsilon,vonk,Ricr)
127     c-----------------------------------------------------------------------
128    
129 heimbach 1.5 _KPP_RL Ricr,cekman,cmonob,concv,Vtc
130     _RL hbf
131 adcroft 1.1
132 heimbach 1.5 common /kpp_bldepth1/ Ricr,cekman,cmonob,concv,Vtc
133     common /kpp_bldepth2/ hbf
134 adcroft 1.1
135     c-----------------------------------------------------------------------
136     c parameters and common arrays for subroutines "kmixinit"
137     c and "wscale"
138     c
139     c
140     c to compute turbulent velocity scales:
141     c
142     c nni = number of values for zehat in the look up table
143     c nnj = number of values for ustar in the look up table
144     c
145     c wmt = lookup table for wm, the turbulent velocity scale
146     c for momentum
147     c wst = lookup table for ws, the turbulent velocity scale
148     c for scalars
149     c deltaz = delta zehat in table
150     c deltau = delta ustar in table
151     c zmin = minimum limit for zehat in table (m3/s3)
152     c zmax = maximum limit for zehat in table
153     c umin = minimum limit for ustar in table (m/s)
154     c umax = maximum limit for ustar in table
155     c-----------------------------------------------------------------------
156    
157     integer nni , nnj
158     parameter (nni = 890, nnj = 480)
159    
160 heimbach 1.5 _KPP_RL wmt(0:nni+1,0:nnj+1), wst(0:nni+1,0:nnj+1)
161     _KPP_RL deltaz,deltau,zmin,zmax,umin,umax
162 adcroft 1.1 common /kmixcws/ wmt, wst
163     $ , deltaz,deltau,zmin,zmax,umin,umax
164    
165     c-----------------------------------------------------------------------
166     c parameters for subroutine "ri_iwmix"
167     c
168     c
169     c to compute vertical mixing coefficients below boundary layer:
170     c
171     c num_v_smooth_Ri = number of times Ri is vertically smoothed
172     c num_v_smooth_BV, num_z_smooth_sh, and num_m_smooth_sh are dummy
173     c variables kept for backward compatibility of the data file
174     c Riinfty = local Richardson Number limit for shear instability = 0.7
175     c BVSQcon = Brunt-Vaisala squared (1/s^2)
176     c difm0 = viscosity max due to shear instability (m^2/s)
177     c difs0 = tracer diffusivity .. (m^2/s)
178     c dift0 = heat diffusivity .. (m^2/s)
179     c difmcon = viscosity due to convective instability (m^2/s)
180     c difscon = tracer diffusivity .. (m^2/s)
181     c diftcon = heat diffusivity .. (m^2/s)
182     c-----------------------------------------------------------------------
183    
184     INTEGER num_v_smooth_Ri, num_v_smooth_BV
185     INTEGER num_z_smooth_sh, num_m_smooth_sh
186 heimbach 1.5 _KPP_RL Riinfty, BVSQcon
187     _KPP_RL difm0 , difs0 , dift0
188     _KPP_RL difmcon, difscon, diftcon
189 adcroft 1.1
190     COMMON /kmixcri_i/ num_v_smooth_Ri, num_v_smooth_BV
191     1 , num_z_smooth_sh, num_m_smooth_sh
192    
193     COMMON /kmixcri_r/ Riinfty, BVSQcon
194     1 , difm0, difs0, dift0
195     2 , difmcon, difscon, diftcon
196    
197     c-----------------------------------------------------------------------
198     c parameters for subroutine "ddmix"
199     c
200     c
201     c to compute additional diffusivity due to double diffusion:
202     c
203     c Rrho0 = limit for double diffusive density ratio
204     c dsfmax = maximum diffusivity in case of salt fingering (m2/s)
205     c-----------------------------------------------------------------------
206    
207 heimbach 1.5 _KPP_RL Rrho0, dsfmax
208 adcroft 1.1 common /kmixcdd/ Rrho0, dsfmax
209    
210     c-----------------------------------------------------------------------
211     c parameters for subroutine "blmix"
212     c
213     c
214     c to compute mixing within boundary layer:
215     c
216     c cstar = proportionality coefficient for nonlocal transport
217     c cg = non-dimensional coefficient for counter-gradient term
218     c-----------------------------------------------------------------------
219    
220 heimbach 1.5 _KPP_RL cstar, cg
221 adcroft 1.1
222     common /kmixcbm/ cstar, cg
223    
224     #endif /* ALLOW_KPP */

  ViewVC Help
Powered by ViewVC 1.1.22