/[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.22 by adcroft, Fri Jul 30 16:00:55 1999 UTC revision 1.23 by adcroft, Tue Mar 14 16:09:41 2000 UTC
# Line 109  C--   Normalise RHS Line 109  C--   Normalise RHS
109          ENDDO          ENDDO
110         ENDDO         ENDDO
111        ENDDO        ENDDO
112    #ifdef LETS_MAKE_JAM
113        _GLOBAL_MAX_R8( rhsMax, myThid )        _GLOBAL_MAX_R8( rhsMax, myThid )
114    C     rhsMax=1.
115    #else
116          _GLOBAL_MAX_R8( rhsMax, myThid )
117    #endif
118        rhsNorm = 1. _d 0        rhsNorm = 1. _d 0
119        IF ( rhsMax .NE. 0. ) rhsNorm = 1. _d 0 / rhsMax        IF ( rhsMax .NE. 0. ) rhsNorm = 1. _d 0 / rhsMax
120        DO bj=myByLo(myThid),myByHi(myThid)        DO bj=myByLo(myThid),myByHi(myThid)
# Line 161  C--   Initial residual calculation Line 166  C--   Initial residual calculation
166         ENDDO         ENDDO
167        ENDDO        ENDDO
168  C     _EXCH_XY_R8( cg2d_r, myThid )  C     _EXCH_XY_R8( cg2d_r, myThid )
169    #ifdef LETS_MAKE_JAM
170          CALL EXCH_XY_O1_R8_JAM( cg2d_r )
171    #else
172         OLw        = 1         OLw        = 1
173         OLe        = 1         OLe        = 1
174         OLn        = 1         OLn        = 1
# Line 172  C     _EXCH_XY_R8( cg2d_r, myThid ) Line 180  C     _EXCH_XY_R8( cg2d_r, myThid )
180       I            OLw, OLe, OLs, OLn, myNz,       I            OLw, OLe, OLs, OLn, myNz,
181       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
182       I            FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )       I            FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )
183    #endif
184  C     _EXCH_XY_R8( cg2d_s, myThid )  C     _EXCH_XY_R8( cg2d_s, myThid )
185    #ifdef LETS_MAKE_JAM
186          CALL EXCH_XY_O1_R8_JAM( cg2d_s )
187    #else
188         OLw        = 1         OLw        = 1
189         OLe        = 1         OLe        = 1
190         OLn        = 1         OLn        = 1
# Line 184  C     _EXCH_XY_R8( cg2d_s, myThid ) Line 196  C     _EXCH_XY_R8( cg2d_s, myThid )
196       I            OLw, OLe, OLs, OLn, myNz,       I            OLw, OLe, OLs, OLn, myNz,
197       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
198       I            FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )       I            FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )
199    #endif
200        _GLOBAL_SUM_R8( sumRHS, myThid )        _GLOBAL_SUM_R8( sumRHS, myThid )
201  C     WRITE(6,*) ' mythid, err = ', mythid, SQRT(err)  C     WRITE(6,*) ' mythid, err = ', mythid, SQRT(err)
202        _GLOBAL_SUM_R8( err   , myThid )        _GLOBAL_SUM_R8( err   , myThid )
# Line 255  CcnhDebugEnds Line 268  CcnhDebugEnds
268  C--    Do exchanges that require messages i.e. between  C--    Do exchanges that require messages i.e. between
269  C--    processes.  C--    processes.
270  C      _EXCH_XY_R8( cg2d_s, myThid )  C      _EXCH_XY_R8( cg2d_s, myThid )
271    #ifdef LETS_MAKE_JAM
272          CALL EXCH_XY_O1_R8_JAM( cg2d_s )
273    #else
274         OLw        = 1         OLw        = 1
275         OLe        = 1         OLe        = 1
276         OLn        = 1         OLn        = 1
# Line 266  C      _EXCH_XY_R8( cg2d_s, myThid ) Line 282  C      _EXCH_XY_R8( cg2d_s, myThid )
282       I            OLw, OLe, OLs, OLn, myNz,       I            OLw, OLe, OLs, OLn, myNz,
283       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
284       I            FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )       I            FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )
285    #endif
286    
287  C==    Evaluate laplace operator on conjugate gradient vector  C==    Evaluate laplace operator on conjugate gradient vector
288  C==    q = A.s  C==    q = A.s
# Line 321  C      Now compute "interior" points. Line 337  C      Now compute "interior" points.
337         actualResidual = err         actualResidual = err
338         IF ( err .LT. cg2dTargetResidual ) GOTO 11         IF ( err .LT. cg2dTargetResidual ) GOTO 11
339  C      _EXCH_XY_R8(cg2d_r, myThid )  C      _EXCH_XY_R8(cg2d_r, myThid )
340    #ifdef LETS_MAKE_JAM
341          CALL EXCH_XY_O1_R8_JAM( cg2d_r )
342    #else
343         OLw        = 1         OLw        = 1
344         OLe        = 1         OLe        = 1
345         OLn        = 1         OLn        = 1
# Line 332  C      _EXCH_XY_R8(cg2d_r, myThid ) Line 351  C      _EXCH_XY_R8(cg2d_r, myThid )
351       I             OLw, OLe, OLs, OLn, myNz,       I             OLw, OLe, OLs, OLn, myNz,
352       I             exchWidthX, exchWidthY,       I             exchWidthX, exchWidthY,
353       I             FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )       I             FORWARD_SIMULATION, EXCH_IGNORE_CORNERS, myThid )
354    #endif
355    
356     10 CONTINUE     10 CONTINUE
357     11 CONTINUE     11 CONTINUE

Legend:
Removed from v.1.22  
changed lines
  Added in v.1.23

  ViewVC Help
Powered by ViewVC 1.1.22