91 |
_RS pW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS pW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
92 |
_RS pS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS pS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
93 |
_RS pC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RS pC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
94 |
_RL q2d(1-1:sNx+1,1-1:sNy+1,nSx,nSy) |
_RL q2d(0:sNx+1,0:sNy+1,nSx,nSy) |
95 |
#ifdef DEBUG_DIAG_CG2D |
#ifdef DEBUG_DIAG_CG2D |
96 |
CHARACTER*(10) sufx |
CHARACTER*(10) sufx |
97 |
_RL r2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RL r2d(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
98 |
#else |
#else |
99 |
_RL r2d(1-1:sNx+1,1-1:sNy+1,nSx,nSy) |
_RL r2d(0:sNx+1,0:sNy+1,nSx,nSy) |
100 |
#endif |
#endif |
101 |
_RL s2d(1-1:sNx+1,1-1:sNy+1,nSx,nSy) |
_RL s2d(0:sNx+1,0:sNy+1,nSx,nSy) |
102 |
_RL x2dm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RL x2dm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
103 |
|
|
104 |
|
#ifdef ALLOW_DEBUG |
105 |
|
IF (debugMode) CALL DEBUG_ENTER('DIAG_CG2D',myThid) |
106 |
|
#endif |
107 |
|
|
108 |
C-- Set matrice main diagnonal: |
C-- Set matrice main diagnonal: |
109 |
DO bj=myByLo(myThid),myByHi(myThid) |
DO bj=myByLo(myThid),myByHi(myThid) |
110 |
DO bi=myBxLo(myThid),myBxHi(myThid) |
DO bi=myBxLo(myThid),myBxHi(myThid) |
111 |
|
C- Initialise overlap regions (in case EXCH call do not fill them all) |
112 |
|
DO j = 1-OLy,sNy+OLy |
113 |
|
DO i = 1-OLx,sNx+OLx |
114 |
|
aC2d(i,j,bi,bj) = 0. |
115 |
|
ENDDO |
116 |
|
ENDDO |
117 |
DO j=1,sNy |
DO j=1,sNy |
118 |
DO i=1,sNx |
DO i=1,sNx |
119 |
aC2d(i,j,bi,bj) = -( ( aW2d(i,j,bi,bj)+aW2d(i+1,j,bi,bj) ) |
aC2d(i,j,bi,bj) = -( ( aW2d(i,j,bi,bj)+aW2d(i+1,j,bi,bj) ) |
166 |
C-- Initial residual calculation |
C-- Initial residual calculation |
167 |
DO bj=myByLo(myThid),myByHi(myThid) |
DO bj=myByLo(myThid),myByHi(myThid) |
168 |
DO bi=myBxLo(myThid),myBxHi(myThid) |
DO bi=myBxLo(myThid),myBxHi(myThid) |
169 |
DO j=1-1,sNy+1 |
DO j=0,sNy+1 |
170 |
DO i=1-1,sNx+1 |
DO i=0,sNx+1 |
171 |
|
r2d(i,j,bi,bj) = 0. |
172 |
s2d(i,j,bi,bj) = 0. |
s2d(i,j,bi,bj) = 0. |
173 |
x2dm(i,j,bi,bj) = x2d(i,j,bi,bj) |
x2dm(i,j,bi,bj) = x2d(i,j,bi,bj) |
174 |
ENDDO |
ENDDO |
364 |
ENDIF |
ENDIF |
365 |
c CALL EXCH_XY_RL( x2d, myThid ) |
c CALL EXCH_XY_RL( x2d, myThid ) |
366 |
|
|
367 |
|
#ifdef ALLOW_DEBUG |
368 |
|
IF (debugMode) CALL DEBUG_LEAVE('DIAG_CG2D',myThid) |
369 |
|
#endif |
370 |
|
|
371 |
RETURN |
RETURN |
372 |
END |
END |