/[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.50 by jahn, Tue Jan 8 23:59:39 2008 UTC revision 1.51 by jmc, Tue Apr 28 18:01:14 2009 UTC
# Line 116  C--   Initialise inverter Line 116  C--   Initialise inverter
116        eta_qrNM1 = 1. _d 0        eta_qrNM1 = 1. _d 0
117    
118  CcnhDebugStarts  CcnhDebugStarts
119  C     _EXCH_XY_R8( cg2d_b, myThid )  C     _EXCH_XY_RL( cg2d_b, myThid )
120  C     CALL PLOT_FIELD_XYRL( cg2d_b, 'CG2D.0 CG2D_B' , 1, myThid )  C     CALL PLOT_FIELD_XYRL( cg2d_b, 'CG2D.0 CG2D_B' , 1, myThid )
121  C     suff = 'unnormalised'  C     suff = 'unnormalised'
122  C     CALL WRITE_FLD_XY_RL (  'cg2d_b.',suff,    cg2d_b, 1, myThid)  C     CALL WRITE_FLD_XY_RL (  'cg2d_b.',suff,    cg2d_b, 1, myThid)
# Line 139  C--   Normalise RHS Line 139  C--   Normalise RHS
139        IF (cg2dNormaliseRHS) THEN        IF (cg2dNormaliseRHS) THEN
140  C-  Normalise RHS :  C-  Normalise RHS :
141  #ifdef LETS_MAKE_JAM  #ifdef LETS_MAKE_JAM
142  C     _GLOBAL_MAX_R8( rhsMax, myThid )  C     _GLOBAL_MAX_RL( rhsMax, myThid )
143        rhsMax=1.        rhsMax=1.
144  #else  #else
145        _GLOBAL_MAX_R8( rhsMax, myThid )        _GLOBAL_MAX_RL( rhsMax, myThid )
146  #endif  #endif
147        rhsNorm = 1. _d 0        rhsNorm = 1. _d 0
148        IF ( rhsMax .NE. 0. ) rhsNorm = 1. _d 0 / rhsMax        IF ( rhsMax .NE. 0. ) rhsNorm = 1. _d 0 / rhsMax
# Line 160  C- end Normalise RHS Line 160  C- end Normalise RHS
160        ENDIF        ENDIF
161    
162  C--   Update overlaps  C--   Update overlaps
163        _EXCH_XY_R8( cg2d_b, myThid )        _EXCH_XY_RL( cg2d_b, myThid )
164        _EXCH_XY_R8( cg2d_x, myThid )        _EXCH_XY_RL( cg2d_x, myThid )
165  CcnhDebugStarts  CcnhDebugStarts
166  C     CALL PLOT_FIELD_XYRL( cg2d_b, 'CG2D.1 CG2D_B' , 1, myThid )  C     CALL PLOT_FIELD_XYRL( cg2d_b, 'CG2D.1 CG2D_B' , 1, myThid )
167  C     suff = 'normalised'  C     suff = 'normalised'
# Line 233  c       err    = err    + errTile(bi,bj) Line 233  c       err    = err    + errTile(bi,bj)
233        ENDDO        ENDDO
234        CALL GLOBAL_SUM_SINGLECPU_RL(localBuf, sumRHS, myThid)        CALL GLOBAL_SUM_SINGLECPU_RL(localBuf, sumRHS, myThid)
235  #else  #else
236  c      _GLOBAL_SUM_R8( sumRHS, myThid )  c      _GLOBAL_SUM_RL( sumRHS, myThid )
237  c      _GLOBAL_SUM_R8( err   , myThid )  c      _GLOBAL_SUM_RL( err   , myThid )
238         CALL GLOBAL_SUM_TILE_RL( sumRHStile, sumRHS, myThid )         CALL GLOBAL_SUM_TILE_RL( sumRHStile, sumRHS, myThid )
239         CALL GLOBAL_SUM_TILE_RL( errTile,    err,    myThid )         CALL GLOBAL_SUM_TILE_RL( errTile,    err,    myThid )
240  #endif  #endif
# Line 301  c        eta_qrN = eta_qrN + eta_qrNtile Line 301  c        eta_qrN = eta_qrN + eta_qrNtile
301  #ifdef CG2D_SINGLECPU_SUM  #ifdef CG2D_SINGLECPU_SUM
302         CALL GLOBAL_SUM_SINGLECPU_RL( localBuf,eta_qrN,myThid )         CALL GLOBAL_SUM_SINGLECPU_RL( localBuf,eta_qrN,myThid )
303  #else  #else
304  c      _GLOBAL_SUM_R8(eta_qrN, myThid)  c      _GLOBAL_SUM_RL(eta_qrN, myThid)
305         CALL GLOBAL_SUM_TILE_RL( eta_qrNtile,eta_qrN,myThid )         CALL GLOBAL_SUM_TILE_RL( eta_qrNtile,eta_qrN,myThid )
306  #endif  #endif
307  CcnhDebugStarts  CcnhDebugStarts
# Line 326  CcnhDebugEnds Line 326  CcnhDebugEnds
326    
327  C--    Do exchanges that require messages i.e. between  C--    Do exchanges that require messages i.e. between
328  C--    processes.  C--    processes.
329  C      _EXCH_XY_R8( cg2d_s, myThid )  C      _EXCH_XY_RL( cg2d_s, myThid )
330  #ifdef LETS_MAKE_JAM  #ifdef LETS_MAKE_JAM
331        CALL EXCH_XY_O1_R8_JAM( cg2d_s )        CALL EXCH_XY_O1_R8_JAM( cg2d_s )
332  #else  #else
# Line 372  c        alpha = alpha + alphaTile(bi,bj Line 372  c        alpha = alpha + alphaTile(bi,bj
372  #ifdef CG2D_SINGLECPU_SUM  #ifdef CG2D_SINGLECPU_SUM
373         CALL GLOBAL_SUM_SINGLECPU_RL(localBuf, alpha, myThid)         CALL GLOBAL_SUM_SINGLECPU_RL(localBuf, alpha, myThid)
374  #else  #else
375  c      _GLOBAL_SUM_R8(alpha,myThid)  c      _GLOBAL_SUM_RL(alpha,myThid)
376         CALL GLOBAL_SUM_TILE_RL( alphaTile,  alpha,  myThid )         CALL GLOBAL_SUM_TILE_RL( alphaTile,  alpha,  myThid )
377  #endif  #endif
378  CcnhDebugStarts  CcnhDebugStarts
# Line 408  c        err = err + errTile(bi,bj) Line 408  c        err = err + errTile(bi,bj)
408  #ifdef CG2D_SINGLECPU_SUM  #ifdef CG2D_SINGLECPU_SUM
409         CALL GLOBAL_SUM_SINGLECPU_RL(localBuf, err, myThid)         CALL GLOBAL_SUM_SINGLECPU_RL(localBuf, err, myThid)
410  #else  #else
411  c      _GLOBAL_SUM_R8( err   , myThid )  c      _GLOBAL_SUM_RL( err   , myThid )
412         CALL GLOBAL_SUM_TILE_RL( errTile,    err,    myThid )         CALL GLOBAL_SUM_TILE_RL( errTile,    err,    myThid )
413  #endif  #endif
414         err = SQRT(err)         err = SQRT(err)
# Line 450  C--   Un-normalise the answer Line 450  C--   Un-normalise the answer
450    
451  C     The following exchange was moved up to solve_for_pressure  C     The following exchange was moved up to solve_for_pressure
452  C     for compatibility with TAMC.  C     for compatibility with TAMC.
453  C     _EXCH_XY_R8(cg2d_x, myThid )  C     _EXCH_XY_RL(cg2d_x, myThid )
454  c     _BEGIN_MASTER( myThid )  c     _BEGIN_MASTER( myThid )
455  c      WRITE(*,'(A,I6,1PE30.14)') ' CG2D iters, err = ',  c      WRITE(*,'(A,I6,1PE30.14)') ' CG2D iters, err = ',
456  c    & actualIts, actualResidual  c    & actualIts, actualResidual
# Line 482  C        ENDDO Line 482  C        ENDDO
482  C       ENDDO  C       ENDDO
483  C      ENDDO  C      ENDDO
484  C     ENDDO  C     ENDDO
485  C     _GLOBAL_SUM_R8( err   , myThid )  C     _GLOBAL_SUM_RL( err   , myThid )
486  C     write(*,*) 'cg2d: Ax - b = ',SQRT(err)  C     write(*,*) 'cg2d: Ax - b = ',SQRT(err)
487  CcnhDebugEnds  CcnhDebugEnds
488    

Legend:
Removed from v.1.50  
changed lines
  Added in v.1.51

  ViewVC Help
Powered by ViewVC 1.1.22