38 |
#include "PTRACERS_SIZE.h" |
#include "PTRACERS_SIZE.h" |
39 |
#include "PTRACERS_PARAMS.h" |
#include "PTRACERS_PARAMS.h" |
40 |
#endif |
#endif |
41 |
|
#ifdef ALLOW_LONGSTEP |
42 |
|
#include "LONGSTEP.h" |
43 |
|
#endif |
44 |
|
|
45 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
46 |
C == Routine arguments == |
C == Routine arguments == |
85 |
#endif |
#endif |
86 |
DO j = 1-Oly,sNy+Oly |
DO j = 1-Oly,sNy+Oly |
87 |
DO i = 1-Olx,sNx+Olx |
DO i = 1-Olx,sNx+Olx |
88 |
KappaRTr(i,j,k) = |
#ifdef ALLOW_LONGSTEP |
89 |
|
IF ( trIdentity .GE. GAD_TR1) THEN |
90 |
|
KappaRTr(i,j,k) = |
91 |
|
& LS_IVDConvCount(i,j,k,bi,bj)*ivdc_kappa |
92 |
|
& + KbryanLewis79 |
93 |
|
#ifdef ALLOW_BL79_LAT_VARY |
94 |
|
& + (KbryanLewisEQ-KbryanLewis79)*BL79LatArray(i,j,bi,bj) |
95 |
|
#endif |
96 |
|
ELSE |
97 |
|
#else |
98 |
|
IF ( .TRUE. ) THEN |
99 |
|
#endif /* ALLOW_LONGSTEP */ |
100 |
|
KappaRTr(i,j,k) = |
101 |
& IVDConvCount(i,j,k,bi,bj)*ivdc_kappa |
& IVDConvCount(i,j,k,bi,bj)*ivdc_kappa |
102 |
& + KbryanLewis79 |
& + KbryanLewis79 |
103 |
#ifdef ALLOW_BL79_LAT_VARY |
#ifdef ALLOW_BL79_LAT_VARY |
104 |
& + (KbryanLewisEQ-KbryanLewis79)*BL79LatArray(i,j,bi,bj) |
& + (KbryanLewisEQ-KbryanLewis79)*BL79LatArray(i,j,bi,bj) |
105 |
#endif |
#endif |
106 |
|
ENDIF |
107 |
ENDDO |
ENDDO |
108 |
ENDDO |
ENDDO |
109 |
ENDDO |
ENDDO |
136 |
ENDDO |
ENDDO |
137 |
ENDDO |
ENDDO |
138 |
#ifdef ALLOW_PTRACERS |
#ifdef ALLOW_PTRACERS |
139 |
ELSEIF ( trIdentity.GE.GAD_TR1 |
ELSEIF ( trIdentity.GE.GAD_TR1) THEN |
|
& .AND. trIdentity.LT.GAD_TR1+PTRACERS_numInUse) THEN |
|
140 |
|
|
141 |
iTr = trIdentity - GAD_TR1 + 1 |
iTr = trIdentity - GAD_TR1 + 1 |
142 |
DO k = 1,Nr |
DO k = 1,Nr |
171 |
I bi,bj,iMin,iMax,jMin,jMax,0,Nr, |
I bi,bj,iMin,iMax,jMin,jMax,0,Nr, |
172 |
O KappaRTr, |
O KappaRTr, |
173 |
I myThid) |
I myThid) |
174 |
ELSE |
ELSEIF (trIdentity.EQ.GAD_SALINITY) THEN |
175 |
CALL KPP_CALC_DIFF_S( |
CALL KPP_CALC_DIFF_S( |
176 |
I bi,bj,iMin,iMax,jMin,jMax,0,Nr, |
I bi,bj,iMin,iMax,jMin,jMax,0,Nr, |
177 |
O KappaRTr, |
O KappaRTr, |
178 |
I myThid) |
I myThid) |
179 |
|
ELSEIF ( trIdentity.GE.GAD_TR1) THEN |
180 |
|
CALL KPP_CALC_DIFF_Ptr( |
181 |
|
I bi,bj,iMin,iMax,jMin,jMax,0,Nr, |
182 |
|
O KappaRTr, |
183 |
|
I myThid) |
184 |
ENDIF |
ENDIF |
185 |
#if (defined ALLOW_PTRACERS && ! (defined ALLOW_3D_DIFFKR || \ |
#if (defined ALLOW_PTRACERS && ! (defined ALLOW_3D_DIFFKR || \ |
186 |
(defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL)))) |
(defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL)))) |
187 |
IF ( trIdentity.GE.GAD_TR1 |
IF ( trIdentity.GE.GAD_TR1) THEN |
|
& .AND. trIdentity.LT.GAD_TR1+PTRACERS_numInUse) THEN |
|
188 |
iTr = trIdentity - GAD_TR1 + 1 |
iTr = trIdentity - GAD_TR1 + 1 |
189 |
DO k = 1,Nr |
DO k = 1,Nr |
190 |
DO j = 1-Oly, sNy+Oly |
DO j = 1-Oly, sNy+Oly |