/[MITgcm]/MITgcm/model/src/cg2d.F
ViewVC logotype

Diff of /MITgcm/model/src/cg2d.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.12 by cnh, Tue Sep 8 01:37:49 1998 UTC revision 1.13 by cnh, Tue Sep 29 18:50:56 1998 UTC
# Line 66  C     I, J, N     - Loop counters ( N co Line 66  C     I, J, N     - Loop counters ( N co
66        REAL    rhsMax        REAL    rhsMax
67        REAL    rhsNorm        REAL    rhsNorm
68    
69          INTEGER OLw
70          INTEGER OLe
71          INTEGER OLn
72          INTEGER OLs
73          INTEGER exchWidthX
74          INTEGER exchWidthY
75          INTEGER myNz
76    
77    
78  CcnhDebugStarts  CcnhDebugStarts
79        CHARACTER*(MAX_LEN_FNAM) suff        CHARACTER*(MAX_LEN_FNAM) suff
80  CcnhDebugEnds  CcnhDebugEnds
# Line 149  C--   Initial residual calculation Line 158  C--   Initial residual calculation
158          ENDDO          ENDDO
159         ENDDO         ENDDO
160        ENDDO        ENDDO
161        _EXCH_XY_R8( cg2d_r, myThid )  C     _EXCH_XY_R8( cg2d_r, myThid )
162        _EXCH_XY_R8( cg2d_s, myThid )         OLw        = 1
163           OLe        = 1
164           OLn        = 1
165           OLs        = 1
166           exchWidthX = 1
167           exchWidthY = 1
168           myNz       = 1
169           CALL EXCH_RL( cg2d_r,
170         I            OLw, OLe, OLs, OLn, myNz,
171         I            exchWidthX, exchWidthY,
172         I            FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )
173    C     _EXCH_XY_R8( cg2d_s, myThid )
174           OLw        = 1
175           OLe        = 1
176           OLn        = 1
177           OLs        = 1
178           exchWidthX = 1
179           exchWidthY = 1
180           myNz       = 1
181           CALL EXCH_RL( cg2d_s,
182         I            OLw, OLe, OLs, OLn, myNz,
183         I            exchWidthX, exchWidthY,
184         I            FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )
185        sumRHSBuf(1,myThid) = sumRHS        sumRHSBuf(1,myThid) = sumRHS
186        _GLOBAL_SUM_R8( sumRHSBuf , sumRHS, myThid )        _GLOBAL_SUM_R8( sumRHSBuf , sumRHS, myThid )
187        sumRHS = sumRHSBuf(1,1)        sumRHS = sumRHSBuf(1,1)
# Line 158  C--   Initial residual calculation Line 189  C--   Initial residual calculation
189  C     WRITE(6,*) ' mythid, err = ', mythid, SQRT(err)  C     WRITE(6,*) ' mythid, err = ', mythid, SQRT(err)
190        _GLOBAL_SUM_R8( errBuf    , err   , myThid )        _GLOBAL_SUM_R8( errBuf    , err   , myThid )
191        err    = errBuf(1,1)        err    = errBuf(1,1)
192          
193          _BEGIN_MASTER( myThid )
194        write(0,*) 'cg2d: Sum(rhs) = ',sumRHS        write(0,*) 'cg2d: Sum(rhs) = ',sumRHS
195          _END_MASTER( )
196    
197        actualIts      = 0        actualIts      = 0
198        actualResidual = SQRT(err)        actualResidual = SQRT(err)
# Line 221  CcnhDebugEnds Line 255  CcnhDebugEnds
255    
256  C--    Do exchanges that require messages i.e. between  C--    Do exchanges that require messages i.e. between
257  C--    processes.  C--    processes.
258         _EXCH_XY_R8( cg2d_s, myThid )  C      _EXCH_XY_R8( cg2d_s, myThid )
259           OLw        = 1
260           OLe        = 1
261           OLn        = 1
262           OLs        = 1
263           exchWidthX = 1
264           exchWidthY = 1
265           myNz       = 1
266           CALL EXCH_RL( cg2d_s,
267         I            OLw, OLe, OLs, OLn, myNz,
268         I            exchWidthX, exchWidthY,
269         I            FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )
270    
271    
272  C==    Evaluate laplace operator on conjugate gradient vector  C==    Evaluate laplace operator on conjugate gradient vector
273  C==    q = A.s  C==    q = A.s
# Line 279  C      Now compute "interior" points. Line 325  C      Now compute "interior" points.
325         actualIts      = it2d         actualIts      = it2d
326         actualResidual = err         actualResidual = err
327         IF ( err .LT. cg2dTargetResidual ) GOTO 11         IF ( err .LT. cg2dTargetResidual ) GOTO 11
328         _EXCH_XY_R8(cg2d_r, myThid )  C      _EXCH_XY_R8(cg2d_r, myThid )
329           OLw        = 1
330           OLe        = 1
331           OLn        = 1
332           OLs        = 1
333           exchWidthX = 1
334           exchWidthY = 1
335           myNz       = 1
336           CALL EXCH_RL( cg2d_r,
337         I             OLw, OLe, OLs, OLn, myNz,
338         I             exchWidthX, exchWidthY,
339         I             FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )
340    
341     10 CONTINUE     10 CONTINUE
342     11 CONTINUE     11 CONTINUE
343    

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.22