52 |
C == Local variables == |
C == Local variables == |
53 |
C I, J :: Loop counters |
C I, J :: Loop counters |
54 |
INTEGER i,j,iTr |
INTEGER i,j,iTr |
55 |
_RL KbryanLewis79 |
_RL KbryanLewis79, KbryanLewisEQ |
56 |
CEOP |
CEOP |
57 |
|
|
58 |
KbryanLewis79=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf) |
KbryanLewis79=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf) |
59 |
& *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0) |
& *(atan(-(rF(k)-diffKrBL79Ho)/diffKrBL79scl)/PI+0.5 _d 0) |
60 |
|
#ifdef ALLOW_BL79_LAT_VARY |
61 |
|
KbryanLewisEQ=diffKrBLEQsurf+(diffKrBLEQdeep-diffKrBLEQsurf) |
62 |
|
& *(atan(-(rF(k)-diffKrBLEQHo)/diffKrBLEQscl)/PI+0.5 _d 0) |
63 |
|
#endif |
64 |
|
|
65 |
C Loop over tracers |
C Loop over tracers |
66 |
DO iTr=1,PTRACERS_numInUse |
DO iTr=1,PTRACERS_numInUse |
67 |
|
|
68 |
|
IF ( .NOT. PTRACERS_useKPP(iTr) ) THEN |
69 |
DO j = 1-Oly, sNy+Oly |
DO j = 1-Oly, sNy+Oly |
70 |
DO i = 1-Olx, sNx+Olx |
DO i = 1-Olx, sNx+Olx |
71 |
KappaRtr(i,j,iTr) = |
KappaRtr(i,j,iTr) = |
72 |
& IVDConvCount(i,j,k,bi,bj)*ivdc_kappa |
& IVDConvCount(i,j,k,bi,bj)*ivdc_kappa |
73 |
#if (defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL)) |
#if (defined ALLOW_3D_DIFFKR || \ |
74 |
|
(defined (ALLOW_AUTODIFF_TAMC) && defined (ALLOW_DIFFKR_CONTROL))) |
75 |
& + diffKr(i,j,k,bi,bj) |
& + diffKr(i,j,k,bi,bj) |
76 |
#else |
#else |
77 |
& + PTRACERS_diffKrNr(k,iTr) |
& + PTRACERS_diffKrNr(k,iTr) |
78 |
#endif |
#endif |
79 |
& + KbryanLewis79 |
& + KbryanLewis79 |
80 |
|
#ifdef ALLOW_BL79_LAT_VARY |
81 |
|
& + (KbryanLewisEQ-KbryanLewis79)*BL79LatArray(i,j,bi,bj) |
82 |
|
#endif |
83 |
ENDDO |
ENDDO |
84 |
ENDDO |
ENDDO |
85 |
|
ENDIF |
86 |
|
|
87 |
#ifdef ALLOW_GMREDI |
#ifdef ALLOW_GMREDI |
88 |
IF ( PTRACERS_useGMRedi(iTr) ) THEN |
IF ( PTRACERS_useGMRedi(iTr) ) THEN |