40 |
C I, J - Loop counters |
C I, J - Loop counters |
41 |
INTEGER I, J |
INTEGER I, J |
42 |
_RL dTdx,dTdy |
_RL dTdx,dTdy |
43 |
|
_RL rTrans |
44 |
|
|
45 |
C Surface flux is zero |
C Surface flux is zero |
46 |
IF (useGMRedi .AND. K.GT.1) THEN |
IF (useGMRedi .AND. K.GT.1) THEN |
82 |
C- Off-diagonal components of vertical flux |
C- Off-diagonal components of vertical flux |
83 |
df(i,j) = df(i,j) |
df(i,j) = df(i,j) |
84 |
& - _rA(i,j,bi,bj) |
& - _rA(i,j,bi,bj) |
85 |
& *(GM_background_K |
& *( Kwx(i,j,k,bi,bj)*dTdx +Kwy(i,j,k,bi,bj)*dTdy ) |
|
#ifdef GM_VISBECK_VARIABLE_K |
|
|
& +VisbeckK(i,j,bi,bj) |
|
|
#endif |
|
|
& )*( Kwx(i,j,k,bi,bj)*dTdx +Kwy(i,j,k,bi,bj)*dTdy ) |
|
86 |
|
|
87 |
ENDDO |
ENDDO |
88 |
ENDDO |
ENDDO |
89 |
|
|
90 |
|
#ifdef GM_BOLUS_ADVEC |
91 |
|
IF (GM_AdvForm) THEN |
92 |
|
DO j=jMin,jMax |
93 |
|
DO i=iMin,iMax |
94 |
|
rTrans = |
95 |
|
& dyG(i+1,j,bi,bj)*GM_PsiX(i+1,j,k,bi,bj) |
96 |
|
& -dyG( i ,j,bi,bj)*GM_PsiX( i ,j,k,bi,bj) |
97 |
|
& +dxG(i,j+1,bi,bj)*GM_PsiY(i,j+1,k,bi,bj) |
98 |
|
& -dxG(i, j ,bi,bj)*GM_PsiY(i, j ,k,bi,bj) |
99 |
|
df(i,j) = df(i,j) |
100 |
|
& +rTrans*0.5 |
101 |
|
& *(Tracer(i,j,k,bi,bj)+Tracer(i,j,k-1,bi,bj)) |
102 |
|
ENDDO |
103 |
|
ENDDO |
104 |
|
ENDIF |
105 |
|
#endif /* GM_BOLUS_ADVEC */ |
106 |
|
|
107 |
c IF (.NOT.implicitDiffusion) THEN |
c IF (.NOT.implicitDiffusion) THEN |
108 |
c |
c |
109 |
c This vertical diffusion term is currently implemented |
c This vertical diffusion term is currently implemented |