/[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.3 - (hide annotations) (download)
Tue Sep 12 18:13:48 2000 UTC (23 years, 8 months ago) by heimbach
Branch: MAIN
Changes since 1.2: +6 -1 lines
File MIME type: text/plain
Updated version by D. Menemenlis.
Takes new unit and sign conventions for forcing fields into account.
Includes changes of Ralf in ecco_c30_05.09.
Yet to be fully tested.

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

  ViewVC Help
Powered by ViewVC 1.1.22