90 |
#else |
#else |
91 |
& *(GM_isopycK |
& *(GM_isopycK |
92 |
#ifdef GM_VISBECK_VARIABLE_K |
#ifdef GM_VISBECK_VARIABLE_K |
93 |
cph & +0.5*(VisbeckK(i,j,bi,bj)+VisbeckK(i,j-1,bi,bj)) |
cph & +op5*(VisbeckK(i,j,bi,bj)+VisbeckK(i,j-1,bi,bj)) |
94 |
#endif |
#endif |
95 |
& ) |
& ) |
96 |
#endif /* GM_NON_UNITY_DIAGONAL */ |
#endif /* GM_NON_UNITY_DIAGONAL */ |
108 |
DO i=iMin,iMax |
DO i=iMin,iMax |
109 |
|
|
110 |
C- Vertical gradients interpolated to V points |
C- Vertical gradients interpolated to V points |
111 |
dTdz = 0.5*( |
dTdz = op5*( |
112 |
& +0.5*recip_drC(k)* |
& +op5*recip_drC(k)* |
113 |
& ( maskC(i,j-1,k,bi,bj)* |
& ( maskC(i,j-1,k,bi,bj)* |
114 |
& (Tracer(i,j-1,km1,bi,bj)-Tracer(i,j-1,k,bi,bj)) |
& (Tracer(i,j-1,km1,bi,bj)-Tracer(i,j-1,k,bi,bj)) |
115 |
& +maskC(i, j ,k,bi,bj)* |
& +maskC(i, j ,k,bi,bj)* |
116 |
& (Tracer(i, j ,km1,bi,bj)-Tracer(i, j ,k,bi,bj)) |
& (Tracer(i, j ,km1,bi,bj)-Tracer(i, j ,k,bi,bj)) |
117 |
& ) |
& ) |
118 |
& +0.5*recip_drC(kp1)* |
& +op5*recip_drC(kp1)* |
119 |
& ( maskC(i,j-1,kp1,bi,bj)* |
& ( maskC(i,j-1,kp1,bi,bj)* |
120 |
& (Tracer(i,j-1,k,bi,bj)-Tracer(i,j-1,kp1,bi,bj)) |
& (Tracer(i,j-1,k,bi,bj)-Tracer(i,j-1,kp1,bi,bj)) |
121 |
& +maskC(i, j ,kp1,bi,bj)* |
& +maskC(i, j ,kp1,bi,bj)* |
141 |
& -GM_PsiY(i,j,k,bi,bj) ) |
& -GM_PsiY(i,j,k,bi,bj) ) |
142 |
& *maskS(i,j,k,bi,bj) |
& *maskS(i,j,k,bi,bj) |
143 |
df(i,j) = df(i,j) |
df(i,j) = df(i,j) |
144 |
& +vTrans*0.5*(Tracer(i,j,k,bi,bj)+Tracer(i,j-1,k,bi,bj)) |
& +vTrans*op5*(Tracer(i,j,k,bi,bj)+Tracer(i,j-1,k,bi,bj)) |
145 |
ENDDO |
ENDDO |
146 |
ENDDO |
ENDDO |
147 |
ENDIF |
ENDIF |