8 |
|
|
9 |
C !INTERFACE: ========================================================== |
C !INTERFACE: ========================================================== |
10 |
SUBROUTINE GAD_DIFF_R( |
SUBROUTINE GAD_DIFF_R( |
11 |
I bi,bj,k, |
I bi, bj, k, |
12 |
I KappaR, |
I KappaR, |
13 |
I tracer, |
I tracer, |
14 |
O dfr, |
O dfr, |
36 |
C myThid :: thread number |
C myThid :: thread number |
37 |
INTEGER bi,bj,k |
INTEGER bi,bj,k |
38 |
_RL KappaR(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
_RL KappaR(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
39 |
_RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
_RL tracer(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
40 |
INTEGER myThid |
INTEGER myThid |
41 |
|
|
42 |
C !OUTPUT PARAMETERS: ================================================== |
C !OUTPUT PARAMETERS: ================================================== |
52 |
km1=MAX(1,k-1) |
km1=MAX(1,k-1) |
53 |
|
|
54 |
IF (k.EQ.1 .OR. k.GT.Nr) THEN |
IF (k.EQ.1 .OR. k.GT.Nr) THEN |
55 |
DO j=1-Oly,sNy+Oly |
DO j=1-OLy,sNy+OLy |
56 |
DO i=1-Olx,sNx+Olx |
DO i=1-OLx,sNx+OLx |
57 |
dfr(i,j) = 0. |
dfr(i,j) = 0. |
58 |
ENDDO |
ENDDO |
59 |
ENDDO |
ENDDO |
60 |
ELSE |
ELSE |
61 |
DO j=1-Oly,sNy+Oly |
DO j=1-OLy,sNy+OLy |
62 |
DO i=1-Olx,sNx+Olx |
DO i=1-OLx,sNx+OLx |
63 |
dfr(i,j) = -KappaR(i,j) |
dfr(i,j) = -KappaR(i,j) |
64 |
& *_rA(i,j,bi,bj)*deepFac2F(k)*rhoFacF(k) |
& *_rA(i,j,bi,bj)*deepFac2F(k)*rhoFacF(k) |
65 |
& *recip_drC(k) |
& *recip_drC(k) |
66 |
& *(tracer(i,j,k,bi,bj)-tracer(i,j,km1,bi,bj))*rkSign |
& *(tracer(i,j,k)-tracer(i,j,km1))*rkSign |
67 |
ENDDO |
ENDDO |
68 |
ENDDO |
ENDDO |
69 |
ENDIF |
ENDIF |