9 |
|
|
10 |
C Parameters used in kpp routine arguments (needed for compilation |
C Parameters used in kpp routine arguments (needed for compilation |
11 |
C of kpp routines even if ALLOW_KPP is not defined) |
C of kpp routines even if ALLOW_KPP is not defined) |
12 |
C mdiff = number of diffusivities for local arrays |
C mdiff - number of diffusivities for local arrays |
13 |
C imt = array dimension for local arrays |
C Nrm1, Nrp1, Nrp2 - number of vertical levels |
14 |
C Nrm1, Nrp1, Nrp2 = number of vertical levels |
C imt - array dimension for local arrays |
15 |
|
C ibot, itop, jbot, jtop - array dimension indices |
16 |
integer mdiff, imt, Nrm1, Nrp1, Nrp2 |
|
17 |
parameter (mdiff = 3) |
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 |
#ifdef FRUGAL_KPP |
#ifdef FRUGAL_KPP |
24 |
parameter (imt = sNx*sNy) |
parameter( imt=(sNx+2)*(sNy+2) ) |
25 |
|
parameter( ibot=0, itop=sNx+1, jbot=0, jtop=sNy+1 ) |
26 |
#else |
#else |
27 |
parameter (imt = (sNx+2*OLx)*(sNy+2*OLy)) |
parameter( imt=(sNx+2*OLx)*(sNy+2*OLy) ) |
28 |
|
parameter( ibot=1-OLx, itop=sNx+OLx, jbot=1-OLy, jtop=sNy+OLy ) |
29 |
#endif |
#endif |
|
parameter (Nrm1 = Nr-1) |
|
|
parameter (Nrp1 = Nr+1) |
|
|
parameter (Nrp2 = Nr+2) |
|
30 |
|
|
31 |
#ifdef ALLOW_KPP |
#ifdef ALLOW_KPP |
32 |
|
|
42 |
C kpp_taveFreq - KPP time-averaging frequency. (s) |
C kpp_taveFreq - KPP time-averaging frequency. (s) |
43 |
|
|
44 |
|
|
45 |
INTEGER nzmax (1-OLx:sNx+OLx,1-OLy:sNy+OLy, nSx,nSy) |
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) |
_KPP_RL pMask ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, Nr, nSx, nSy ) |
47 |
_RS zgrid (0:Nr+1) |
_KPP_RL zgrid ( 0:Nr+1 ) |
48 |
_RS hwide (0:Nr+1) |
_KPP_RL hwide ( 0:Nr+1 ) |
49 |
_RL kpp_freq |
_RL kpp_freq |
50 |
_RL kpp_dumpFreq |
_RL kpp_dumpFreq |
51 |
_RL kpp_taveFreq |
_RL kpp_taveFreq |
52 |
|
|
53 |
COMMON /kpp_i/ nzmax |
COMMON /kpp_i/ nzmax |
54 |
|
|
55 |
COMMON /kpp_RS/ pMask, zgrid, hwide |
COMMON /kpp_r1/ pMask, zgrid, hwide |
56 |
|
|
57 |
COMMON /kpp_RL/ kpp_freq, kpp_dumpFreq, kpp_taveFreq |
COMMON /kpp_r2/ kpp_freq, kpp_dumpFreq, kpp_taveFreq |
58 |
|
|
59 |
|
|
60 |
C----------------------------------------------------------------------- |
C----------------------------------------------------------------------- |
63 |
c |
c |
64 |
C KPPmixingMaps - if true, include KPP diagnostic maps in STDOUT |
C KPPmixingMaps - if true, include KPP diagnostic maps in STDOUT |
65 |
C KPPwriteState - if true, write KPP state to file |
C KPPwriteState - if true, write KPP state to file |
|
C minKPPghat, maxKPPghat - KPP non local transport bounds (s/m^2) |
|
|
C minKPPviscAz, maxKPPviscAz - KPP viscosity bounds (m^2/s) |
|
|
C minKPPdiffKzT, maxKPPdiffKzT - KPP heat diffusivity bounds (m^2/s) |
|
|
C minKPPdiffKzS, maxKPPdiffKzS - KPP tracer diffusivity bounds (m^2/s) |
|
66 |
C minKPPhbl - KPPhbl minimum value (m) |
C minKPPhbl - KPPhbl minimum value (m) |
67 |
C |
C |
68 |
C----------------------------------------------------------------------- |
C----------------------------------------------------------------------- |
72 |
COMMON /KPP_PARM_L/ |
COMMON /KPP_PARM_L/ |
73 |
& KPPmixingMaps, KPPwriteState |
& KPPmixingMaps, KPPwriteState |
74 |
|
|
75 |
_RS minKPPghat , maxKPPghat |
_KPP_RL minKPPhbl |
|
_RS minKPPviscAz , maxKPPviscAz(Nr) |
|
|
_RS minKPPdiffKzT, maxKPPdiffKzT |
|
|
_RS minKPPdiffKzS, maxKPPdiffKzS, minKPPhbl |
|
76 |
|
|
77 |
COMMON /KPP_PARM_R/ |
COMMON /KPP_PARM_R/ |
78 |
& minKPPghat , maxKPPghat |
& minKPPhbl |
|
& , minKPPviscAz , maxKPPviscAz |
|
|
& , minKPPdiffKzT, maxKPPdiffKzT |
|
|
& , minKPPdiffKzS, maxKPPdiffKzS, minKPPhbl |
|
79 |
|
|
80 |
c====================== file "kmixcom.h" ======================= |
c====================== file "kmixcom.h" ======================= |
81 |
c |
c |
97 |
c = scalar coefficients |
c = scalar coefficients |
98 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
99 |
|
|
100 |
_RS epsln,phepsi,epsilon,vonk,dB_dz, |
_KPP_RL epsln,phepsi,epsilon,vonk,dB_dz, |
101 |
$ conc1, |
$ conc1, |
102 |
$ conam,concm,conc2,zetam, |
$ conam,concm,conc2,zetam, |
103 |
$ conas,concs,conc3,zetas |
$ conas,concs,conc3,zetas |
126 |
c (=function of concv,concs,epsilon,vonk,Ricr) |
c (=function of concv,concs,epsilon,vonk,Ricr) |
127 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
128 |
|
|
129 |
_RS Ricr,cekman,cmonob,concv,hbf,Vtc |
_KPP_RL Ricr,cekman,cmonob,concv,Vtc |
130 |
|
_RL hbf |
131 |
|
|
132 |
common /kmixcbd/ Ricr,cekman,cmonob,concv,hbf,Vtc |
common /kpp_bldepth1/ Ricr,cekman,cmonob,concv,Vtc |
133 |
|
common /kpp_bldepth2/ hbf |
134 |
|
|
135 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
136 |
c parameters and common arrays for subroutines "kmixinit" |
c parameters and common arrays for subroutines "kmixinit" |
157 |
integer nni , nnj |
integer nni , nnj |
158 |
parameter (nni = 890, nnj = 480) |
parameter (nni = 890, nnj = 480) |
159 |
|
|
160 |
_RS wmt(0:nni+1,0:nnj+1), wst(0:nni+1,0:nnj+1) |
_KPP_RL wmt(0:nni+1,0:nnj+1), wst(0:nni+1,0:nnj+1) |
161 |
_RS deltaz,deltau,zmin,zmax,umin,umax |
_KPP_RL deltaz,deltau,zmin,zmax,umin,umax |
162 |
common /kmixcws/ wmt, wst |
common /kmixcws/ wmt, wst |
163 |
$ , deltaz,deltau,zmin,zmax,umin,umax |
$ , deltaz,deltau,zmin,zmax,umin,umax |
164 |
|
|
183 |
|
|
184 |
INTEGER num_v_smooth_Ri, num_v_smooth_BV |
INTEGER num_v_smooth_Ri, num_v_smooth_BV |
185 |
INTEGER num_z_smooth_sh, num_m_smooth_sh |
INTEGER num_z_smooth_sh, num_m_smooth_sh |
186 |
_RS Riinfty, BVSQcon |
_KPP_RL Riinfty, BVSQcon |
187 |
_RS difm0 , difs0 , dift0 |
_KPP_RL difm0 , difs0 , dift0 |
188 |
_RS difmcon, difscon, diftcon |
_KPP_RL difmcon, difscon, diftcon |
189 |
|
|
190 |
COMMON /kmixcri_i/ num_v_smooth_Ri, num_v_smooth_BV |
COMMON /kmixcri_i/ num_v_smooth_Ri, num_v_smooth_BV |
191 |
1 , num_z_smooth_sh, num_m_smooth_sh |
1 , num_z_smooth_sh, num_m_smooth_sh |
204 |
c dsfmax = maximum diffusivity in case of salt fingering (m2/s) |
c dsfmax = maximum diffusivity in case of salt fingering (m2/s) |
205 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
206 |
|
|
207 |
_RS Rrho0, dsfmax |
_KPP_RL Rrho0, dsfmax |
208 |
common /kmixcdd/ Rrho0, dsfmax |
common /kmixcdd/ Rrho0, dsfmax |
209 |
|
|
210 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
217 |
c cg = non-dimensional coefficient for counter-gradient term |
c cg = non-dimensional coefficient for counter-gradient term |
218 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
219 |
|
|
220 |
_RS cstar, cg |
_KPP_RL cstar, cg |
221 |
|
|
222 |
common /kmixcbm/ cstar, cg |
common /kmixcbm/ cstar, cg |
223 |
|
|