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

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

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

revision 1.4 by cnh, Thu May 21 18:26:36 1998 UTC revision 1.5 by cnh, Mon May 25 16:17:36 1998 UTC
# Line 56  C     aS2d: integral in Z Ay/dY Line 56  C     aS2d: integral in Z Ay/dY
56            DO I=1,sNx            DO I=1,sNx
57             faceArea = dyG(I,J,bi,bj)*dzF(K)*HFacW(I,J,K,bi,bj)             faceArea = dyG(I,J,bi,bj)*dzF(K)*HFacW(I,J,K,bi,bj)
58             aW2d(I,J,bi,bj) = aW2d(I,J,bi,bj) +             aW2d(I,J,bi,bj) = aW2d(I,J,bi,bj) +
59       &      gravity*faceArea*rDxC(I,J,bi,bj)       &      gBaro*faceArea*rDxC(I,J,bi,bj)
60             faceArea = dxG(I,J,bi,bj)*dzF(K)*HFacS(I,J,K,bi,bj)             faceArea = dxG(I,J,bi,bj)*dzF(K)*HFacS(I,J,K,bi,bj)
61             aS2d(I,J,bi,bj) = aS2d(I,J,bi,bj) +             aS2d(I,J,bi,bj) = aS2d(I,J,bi,bj) +
62       &      gravity*faceArea*rDyC(I,J,bi,bj)       &      gBaro*faceArea*rDyC(I,J,bi,bj)
63            ENDDO            ENDDO
64           ENDDO           ENDDO
65          ENDDO          ENDDO
# Line 78  C     aS2d: integral in Z Ay/dY Line 78  C     aS2d: integral in Z Ay/dY
78        ELSE        ELSE
79         myNorm = 1. _d 0         myNorm = 1. _d 0
80        ENDIF        ENDIF
       _BEGIN_MASTER( myThid )  
81         cg2dNorm = myNorm         cg2dNorm = myNorm
82          _BEGIN_MASTER( myThid )
83  CcnhDebugStarts  CcnhDebugStarts
84         WRITE(msgBuf,'(A,F)') '// CG2D normalisation factor = ', cg2dNorm         WRITE(msgBuf,'(A,F)') '// CG2D normalisation factor = ', cg2dNorm
85         CALL PRINT_MESSAGE( msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)         CALL PRINT_MESSAGE( msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)
# Line 132  C           defaults to 0.51 but can be Line 132  C           defaults to 0.51 but can be
132            aC = -(            aC = -(
133       &     aW2d(I,J,bi,bj) + aW2d(I+1,J  ,bi,bj)       &     aW2d(I,J,bi,bj) + aW2d(I+1,J  ,bi,bj)
134       &    +aS2d(I,J,bi,bj) + aS2D(I  ,J+1,bi,bj)       &    +aS2d(I,J,bi,bj) + aS2D(I  ,J+1,bi,bj)
135         &    +freeSurfFac*myNorm*
136         &     zA(I,J,bi,bj)/deltaTMom/deltaTMom
137       &    )       &    )
138            aCs = -(            aCs = -(
139       &     aW2d(I,J-1,bi,bj) + aW2d(I+1,J-1,bi,bj)       &     aW2d(I,J-1,bi,bj) + aW2d(I+1,J-1,bi,bj)
140       &    +aS2d(I,J-1,bi,bj) + aS2d(I  ,J  ,bi,bj)       &    +aS2d(I,J-1,bi,bj) + aS2d(I  ,J  ,bi,bj)
141         &    +freeSurfFac*myNorm*
142         &     zA(I,J-1,bi,bj)/deltaTMom/deltaTMom
143       &    )       &    )
144            aCw = -(            aCw = -(
145       &     aW2d(I-1,J,bi,bj) + aW2d(I  ,J  ,bi,bj)       &     aW2d(I-1,J,bi,bj) + aW2d(I  ,J  ,bi,bj)
146       &    +aS2d(I-1,J,bi,bj) + aS2d(I-1,J+1,bi,bj)       &    +aS2d(I-1,J,bi,bj) + aS2d(I-1,J+1,bi,bj)
147         &    +freeSurfFac*myNorm*
148         &     zA(I-1,J,bi,bj)/deltaTMom/deltaTMom
149       &    )       &    )
150            IF ( aC .EQ. 0. ) THEN            IF ( aC .EQ. 0. ) THEN
151              pC(I,J,bi,bj) = 0. _d 0              pC(I,J,bi,bj) = 0. _d 0
# Line 158  C           defaults to 0.51 but can be Line 164  C           defaults to 0.51 but can be
164             pS(I,J,bi,bj) =             pS(I,J,bi,bj) =
165       &     -aS2d(I  ,J  ,bi,bj)/((cg2dpcOffDFac *(aCs+aC))**2 )       &     -aS2d(I  ,J  ,bi,bj)/((cg2dpcOffDFac *(aCs+aC))**2 )
166            ENDIF            ENDIF
167              pC(I,J,bi,bj) = 1.
168              pW(I,J,bi,bj) = 0.
169              pS(I,J,bi,bj) = 0.
170           ENDDO           ENDDO
171          ENDDO          ENDDO
172         ENDDO         ENDDO
# Line 167  C--   Update overlap regions Line 176  C--   Update overlap regions
176        _EXCH_XY_R4(pW, myThid)        _EXCH_XY_R4(pW, myThid)
177        _EXCH_XY_R4(pS, myThid)        _EXCH_XY_R4(pS, myThid)
178    
179  C--   Set default values for initial guess  C--   Set default values for initial guess and RHS
180        IF ( startTime .EQ. 0 ) THEN        IF ( startTime .EQ. 0 ) THEN
181         DO bj=myByLo(myThid),myByHi(myThid)         DO bj=myByLo(myThid),myByHi(myThid)
182          DO bi=myBxLo(myThid),myBxHi(myThid)          DO bi=myBxLo(myThid),myBxHi(myThid)
183           DO J=1,sNy           DO J=1,sNy
184            DO I=1,sNx            DO I=1,sNx
185             cg2d_x(I,J,bi,bj) = 0. _d 0             cg2d_x(I,J,bi,bj) = 0. _d 0
186               cg2d_b(I,J,bi,bj) = 0. _d 0
187            ENDDO            ENDDO
188           ENDDO           ENDDO
189          ENDDO          ENDDO
190         ENDDO         ENDDO
191  C--    Update overlap regions  C--    Update overlap regions
192         _EXCH_XY_R8(cg2d_x, myThid)         _EXCH_XY_R8(cg2d_x, myThid)
193           _EXCH_XY_R8(cg2d_b, myThid)
194        ENDIF        ENDIF
195    
196        RETURN        RETURN

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22