13 |
C mdiff - number of diffusivities for local arrays |
C mdiff - number of diffusivities for local arrays |
14 |
C Nrm1, Nrp1, Nrp2 - number of vertical levels |
C Nrm1, Nrp1, Nrp2 - number of vertical levels |
15 |
C imt - array dimension for local arrays |
C imt - array dimension for local arrays |
|
C ibot, itop, jbot, jtop - array dimension indices |
|
16 |
|
|
17 |
integer mdiff, Nrm1, Nrp1, Nrp2 |
integer mdiff, Nrm1, Nrp1, Nrp2 |
18 |
integer imt, ibot, itop, jbot, jtop |
integer imt |
19 |
parameter( mdiff = 3 ) |
parameter( mdiff = 3 ) |
20 |
parameter( Nrm1 = Nr-1 ) |
parameter( Nrm1 = Nr-1 ) |
21 |
parameter( Nrp1 = Nr+1 ) |
parameter( Nrp1 = Nr+1 ) |
22 |
parameter( Nrp2 = Nr+2 ) |
parameter( Nrp2 = Nr+2 ) |
|
#ifdef FRUGAL_KPP |
|
|
parameter( imt=(sNx+2)*(sNy+2) ) |
|
|
parameter( ibot=0, itop=sNx+1, jbot=0, jtop=sNy+1 ) |
|
|
#else |
|
23 |
parameter( imt=(sNx+2*OLx)*(sNy+2*OLy) ) |
parameter( imt=(sNx+2*OLx)*(sNy+2*OLy) ) |
|
parameter( ibot=1-OLx, itop=sNx+OLx, jbot=1-OLy, jtop=sNy+OLy ) |
|
|
#endif |
|
24 |
|
|
25 |
#ifdef ALLOW_KPP |
#ifdef ALLOW_KPP |
26 |
|
|
36 |
C kpp_dumpFreq - KPP dump frequency. (s) |
C kpp_dumpFreq - KPP dump frequency. (s) |
37 |
C kpp_taveFreq - KPP time-averaging frequency. (s) |
C kpp_taveFreq - KPP time-averaging frequency. (s) |
38 |
|
|
|
|
|
39 |
INTEGER nzmax ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy ) |
INTEGER nzmax ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy ) |
40 |
c _KPP_RL pMask ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, Nr, nSx, nSy ) |
c _RL pMask ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, Nr, nSx, nSy ) |
41 |
_KPP_RL zgrid ( 0:Nr+1 ) |
_RL zgrid ( 0:Nr+1 ) |
42 |
_KPP_RL hwide ( 0:Nr+1 ) |
_RL hwide ( 0:Nr+1 ) |
43 |
_RL kpp_freq |
_RL kpp_freq |
44 |
_RL kpp_dumpFreq |
_RL kpp_dumpFreq |
45 |
_RL kpp_taveFreq |
_RL kpp_taveFreq |
58 |
C KPPmixingMaps - if true, include KPP diagnostic maps in STDOUT |
C KPPmixingMaps - if true, include KPP diagnostic maps in STDOUT |
59 |
C KPPwriteState - if true, write KPP state to file |
C KPPwriteState - if true, write KPP state to file |
60 |
C minKPPhbl - KPPhbl minimum value (m) |
C minKPPhbl - KPPhbl minimum value (m) |
61 |
|
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 |
|
C LimitHblStable - if TRUE (the default), limits the depth of the |
67 |
|
C hbl under stable conditions. |
68 |
C |
C |
69 |
C----------------------------------------------------------------------- |
C----------------------------------------------------------------------- |
70 |
|
|
71 |
LOGICAL KPPmixingMaps, KPPwriteState |
LOGICAL KPPmixingMaps, KPPwriteState, KPP_ghatUseTotalDiffus |
72 |
|
LOGICAL LimitHblStable |
73 |
COMMON /KPP_PARM_L/ |
COMMON /KPP_PARM_L/ |
74 |
& KPPmixingMaps, KPPwriteState |
& KPPmixingMaps, KPPwriteState, KPP_ghatUseTotalDiffus, |
75 |
|
& LimitHblStable |
|
_KPP_RL minKPPhbl |
|
76 |
|
|
77 |
COMMON /KPP_PARM_R/ |
_RL minKPPhbl |
78 |
& minKPPhbl |
COMMON /KPP_PARM_R/ 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 |
_KPP_RL epsln,phepsi,epsilon,vonk,dB_dz, |
_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 |
_KPP_RL Ricr,cekman,cmonob,concv,Vtc |
_RL Ricr,cekman,cmonob,concv,Vtc |
130 |
_RL hbf |
_RL hbf |
131 |
|
|
132 |
common /kpp_bldepth1/ Ricr,cekman,cmonob,concv,Vtc |
common /kpp_bldepth1/ Ricr,cekman,cmonob,concv,Vtc |
157 |
integer nni , nnj |
integer nni , nnj |
158 |
parameter (nni = 890, nnj = 480) |
parameter (nni = 890, nnj = 480) |
159 |
|
|
160 |
_KPP_RL wmt(0:nni+1,0:nnj+1), wst(0:nni+1,0:nnj+1) |
_RL wmt(0:nni+1,0:nnj+1), wst(0:nni+1,0:nnj+1) |
161 |
_KPP_RL deltaz,deltau,zmin,zmax,umin,umax |
_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 |
|
|
181 |
c diftcon = heat diffusivity .. (m^2/s) |
c diftcon = heat diffusivity .. (m^2/s) |
182 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
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 |
|
_KPP_RL Riinfty, BVSQcon |
|
|
_KPP_RL difm0 , difs0 , dift0 |
|
|
_KPP_RL difmcon, difscon, diftcon |
|
|
|
|
186 |
COMMON /kmixcri_i/ num_v_smooth_Ri, num_v_smooth_BV |
COMMON /kmixcri_i/ num_v_smooth_Ri, num_v_smooth_BV |
187 |
1 , num_z_smooth_sh, num_m_smooth_sh |
1 , num_z_smooth_sh, num_m_smooth_sh |
188 |
|
|
189 |
|
_RL Riinfty, BVSQcon |
190 |
|
_RL difm0 , difs0 , dift0 |
191 |
|
_RL difmcon, difscon, diftcon |
192 |
COMMON /kmixcri_r/ Riinfty, BVSQcon |
COMMON /kmixcri_r/ Riinfty, BVSQcon |
193 |
1 , difm0, difs0, dift0 |
1 , difm0, difs0, dift0 |
194 |
2 , difmcon, difscon, diftcon |
2 , difmcon, difscon, diftcon |
203 |
c dsfmax = maximum diffusivity in case of salt fingering (m2/s) |
c dsfmax = maximum diffusivity in case of salt fingering (m2/s) |
204 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
205 |
|
|
206 |
_KPP_RL Rrho0, dsfmax |
_RL Rrho0, dsfmax |
207 |
common /kmixcdd/ Rrho0, dsfmax |
common /kmixcdd/ Rrho0, dsfmax |
208 |
|
|
209 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
216 |
c cg = non-dimensional coefficient for counter-gradient term |
c cg = non-dimensional coefficient for counter-gradient term |
217 |
c----------------------------------------------------------------------- |
c----------------------------------------------------------------------- |
218 |
|
|
219 |
_KPP_RL cstar, cg |
_RL cstar, cg |
|
|
|
220 |
common /kmixcbm/ cstar, cg |
common /kmixcbm/ cstar, cg |
221 |
|
|
222 |
#endif /* ALLOW_KPP */ |
#endif /* ALLOW_KPP */ |