/[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.34 by cnh, Wed Sep 26 18:09:14 2001 UTC revision 1.34.6.2 by heimbach, Fri Mar 7 23:10:20 2003 UTC
# Line 183  C--   Initial residual calculation Line 183  C--   Initial residual calculation
183       &    -aS2d(I  ,J  ,bi,bj)*cg2d_x(I  ,J  ,bi,bj)       &    -aS2d(I  ,J  ,bi,bj)*cg2d_x(I  ,J  ,bi,bj)
184       &    -aS2d(I  ,J+1,bi,bj)*cg2d_x(I  ,J  ,bi,bj)       &    -aS2d(I  ,J+1,bi,bj)*cg2d_x(I  ,J  ,bi,bj)
185       &    -freeSurfFac*_rA(i,j,bi,bj)*recip_Bo(i,j,bi,bj)*       &    -freeSurfFac*_rA(i,j,bi,bj)*recip_Bo(i,j,bi,bj)*
186       &     cg2d_x(I  ,J  ,bi,bj)/deltaTMom/deltaTMom*cg2dNorm       &     cg2d_x(I  ,J  ,bi,bj)/deltaTMom/deltaTfreesurf*cg2dNorm
187       &    )       &    )
188            err            = err            +            err            = err            +
189       &     cg2d_r(I,J,bi,bj)*cg2d_r(I,J,bi,bj)       &     cg2d_r(I,J,bi,bj)*cg2d_r(I,J,bi,bj)
# Line 197  C     _EXCH_XY_R8( cg2d_r, myThid ) Line 197  C     _EXCH_XY_R8( cg2d_r, myThid )
197  #ifdef LETS_MAKE_JAM  #ifdef LETS_MAKE_JAM
198        CALL EXCH_XY_O1_R8_JAM( cg2d_r )        CALL EXCH_XY_O1_R8_JAM( cg2d_r )
199  #else  #else
200         OLw        = 1        CALL EXCH_XY_RL( cg2d_r, myThid )
        OLe        = 1  
        OLn        = 1  
        OLs        = 1  
        exchWidthX = 1  
        exchWidthY = 1  
        myNz       = 1  
       IF (useCubedSphereExchange) THEN  
        CALL EXCH_RL_CUBE( cg2d_r,  
      I            OLw, OLe, OLs, OLn, myNz,  
      I            exchWidthX, exchWidthY,  
      I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )  
       ELSE  
        CALL EXCH_RL( cg2d_r,  
      I            OLw, OLe, OLs, OLn, myNz,  
      I            exchWidthX, exchWidthY,  
      I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )  
       ENDIF  
201  #endif  #endif
202  C     _EXCH_XY_R8( cg2d_s, myThid )  C     _EXCH_XY_R8( cg2d_s, myThid )
203  #ifdef LETS_MAKE_JAM  #ifdef LETS_MAKE_JAM
204        CALL EXCH_XY_O1_R8_JAM( cg2d_s )        CALL EXCH_XY_O1_R8_JAM( cg2d_s )
205  #else  #else
206         OLw        = 1        CALL EXCH_XY_RL( cg2d_s, myThid )
        OLe        = 1  
        OLn        = 1  
        OLs        = 1  
        exchWidthX = 1  
        exchWidthY = 1  
        myNz       = 1  
       IF (useCubedSphereExchange) THEN  
        CALL EXCH_RL_CUBE( cg2d_s,  
      I            OLw, OLe, OLs, OLn, myNz,  
      I            exchWidthX, exchWidthY,  
      I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )  
       ELSE  
        CALL EXCH_RL( cg2d_s,  
      I            OLw, OLe, OLs, OLn, myNz,  
      I            exchWidthX, exchWidthY,  
      I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )  
       ENDIF  
207  #endif  #endif
208         _GLOBAL_SUM_R8( sumRHS, myThid )         _GLOBAL_SUM_R8( sumRHS, myThid )
209         _GLOBAL_SUM_R8( err   , myThid )         _GLOBAL_SUM_R8( err   , myThid )
# Line 315  C      _EXCH_XY_R8( cg2d_s, myThid ) Line 281  C      _EXCH_XY_R8( cg2d_s, myThid )
281  #ifdef LETS_MAKE_JAM  #ifdef LETS_MAKE_JAM
282        CALL EXCH_XY_O1_R8_JAM( cg2d_s )        CALL EXCH_XY_O1_R8_JAM( cg2d_s )
283  #else  #else
284         OLw        = 1        CALL EXCH_XY_RL( cg2d_s, myThid )
        OLe        = 1  
        OLn        = 1  
        OLs        = 1  
        exchWidthX = 1  
        exchWidthY = 1  
        myNz       = 1  
       IF (useCubedSphereExchange) THEN  
        CALL EXCH_RL_CUBE( cg2d_s,  
      I            OLw, OLe, OLs, OLn, myNz,  
      I            exchWidthX, exchWidthY,  
      I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )  
       ELSE  
        CALL EXCH_RL( cg2d_s,  
      I            OLw, OLe, OLs, OLn, myNz,  
      I            exchWidthX, exchWidthY,  
      I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )  
       ENDIF  
285  #endif  #endif
286    
287  C==    Evaluate laplace operator on conjugate gradient vector  C==    Evaluate laplace operator on conjugate gradient vector
# Line 352  C==    q = A.s Line 301  C==    q = A.s
301       &    -aS2d(I  ,J  ,bi,bj)*cg2d_s(I  ,J  ,bi,bj)       &    -aS2d(I  ,J  ,bi,bj)*cg2d_s(I  ,J  ,bi,bj)
302       &    -aS2d(I  ,J+1,bi,bj)*cg2d_s(I  ,J  ,bi,bj)       &    -aS2d(I  ,J+1,bi,bj)*cg2d_s(I  ,J  ,bi,bj)
303       &    -freeSurfFac*_rA(i,j,bi,bj)*recip_Bo(i,j,bi,bj)*       &    -freeSurfFac*_rA(i,j,bi,bj)*recip_Bo(i,j,bi,bj)*
304       &     cg2d_s(I  ,J  ,bi,bj)/deltaTMom/deltaTMom*cg2dNorm       &     cg2d_s(I  ,J  ,bi,bj)/deltaTMom/deltaTfreesurf*cg2dNorm
305            alpha = alpha+cg2d_s(I,J,bi,bj)*cg2d_q(I,J,bi,bj)            alpha = alpha+cg2d_s(I,J,bi,bj)*cg2d_q(I,J,bi,bj)
306            ENDDO            ENDDO
307           ENDDO           ENDDO
# Line 391  C      _EXCH_XY_R8(cg2d_r, myThid ) Line 340  C      _EXCH_XY_R8(cg2d_r, myThid )
340  #ifdef LETS_MAKE_JAM  #ifdef LETS_MAKE_JAM
341        CALL EXCH_XY_O1_R8_JAM( cg2d_r )        CALL EXCH_XY_O1_R8_JAM( cg2d_r )
342  #else  #else
343         OLw        = 1        CALL EXCH_XY_RL( cg2d_r, myThid )
        OLe        = 1  
        OLn        = 1  
        OLs        = 1  
        exchWidthX = 1  
        exchWidthY = 1  
        myNz       = 1  
       IF (useCubedSphereExchange) THEN  
        CALL EXCH_RL_CUBE( cg2d_r,  
      I            OLw, OLe, OLs, OLn, myNz,  
      I            exchWidthX, exchWidthY,  
      I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )  
       ELSE  
        CALL EXCH_RL( cg2d_r,  
      I            OLw, OLe, OLs, OLn, myNz,  
      I            exchWidthX, exchWidthY,  
      I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )  
       ENDIF  
344  #endif  #endif
345    
346     10 CONTINUE     10 CONTINUE

Legend:
Removed from v.1.34  
changed lines
  Added in v.1.34.6.2

  ViewVC Help
Powered by ViewVC 1.1.22