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

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

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

revision 1.1 by jmc, Thu Dec 15 21:09:00 2005 UTC revision 1.2 by jmc, Thu Feb 23 20:55:49 2006 UTC
# Line 39  C     == Local variables == Line 39  C     == Local variables ==
39        INTEGER iMin,iMax,jMin,jMax        INTEGER iMin,iMax,jMin,jMax
40        INTEGER i,j        INTEGER i,j
41        _RL     gWtmp(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL     gWtmp(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
42          _RL     tmpFac, nh_Fac, igwFac
43  CEOP  CEOP
44    
45        iMin = 1        iMin = 1
# Line 46  CEOP Line 47  CEOP
47        jMin = 1        jMin = 1
48        jMax = sNy        jMax = sNy
49    
50          igwFac = 0.
51          IF ( implicitIntGravWave ) igwFac = horiVertRatio*horiVertRatio
52    
53  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
54    
55  C     tile loops :  C     tile loops :
56        DO bj=myByLo(myThid),myByHi(myThid)        DO bj=myByLo(myThid),myByHi(myThid)
57         DO bi=myBxLo(myThid),myBxHi(myThid)         DO bi=myBxLo(myThid),myBxHi(myThid)
58    
59           IF ( nonHydrostatic ) THEN
60            nh_Fac = 0.
61            IF ( nh_Am2.NE.0. ) nh_Fac = 1. _d 0 / nh_Am2
62    
63            k = 1
64            DO j=1-Oly,sNy+Oly
65              DO i=1-Olx,sNx+Olx
66                gW(i,j,k,bi,bj) = wVel(i,j,k,bi,bj)
67              ENDDO
68            ENDDO
69    
70          DO k=2,Nr          DO k=2,Nr
71    
72           DO j=jMin,jMax  C     apply mask to gW and keep a copy of wVel in gW:
73            DO i=iMin,iMax           DO j=1-Oly,sNy+Oly
74             gWtmp(i,j) = gW(i,j,k,bi,bj)            DO i=1-Olx,sNx+Olx
75                gWtmp(i,j) = gW(i,j,k,bi,bj)
76       &             *maskC(i,j,k,bi,bj)*maskC(i,j,k-1,bi,bj)       &             *maskC(i,j,k,bi,bj)*maskC(i,j,k-1,bi,bj)
77                gW(i,j,k,bi,bj) = wVel(i,j,k,bi,bj)
78            ENDDO            ENDDO
79           ENDDO           ENDDO
80    C     Step forward vertical velocity
81  C     Step forward vertical velocity (and keep a copy in gW)           tmpFac = nh_Fac + igwFac*dBdrRef(k)*deltaTMom*dTtracerLev(k)
82             IF (tmpFac.GT.0. ) tmpFac = 1. _d 0 / tmpFac
83           DO j=jMin,jMax           DO j=jMin,jMax
84            DO i=iMin,iMax            DO i=iMin,iMax
             gW(i,j,k,bi,bj) = wVel(i,j,k,bi,bj)  
85              wVel(i,j,k,bi,bj) = wVel(i,j,k,bi,bj)              wVel(i,j,k,bi,bj) = wVel(i,j,k,bi,bj)
86       &                        + deltaTmom*nh_Am2*gWtmp(i,j)       &                        + deltaTmom*tmpFac*gWtmp(i,j)
87            ENDDO            ENDDO
88           ENDDO           ENDDO
89    
# Line 86  C     impact. This is purely for diagnos Line 103  C     impact. This is purely for diagnos
103          ENDIF          ENDIF
104  #endif /* ALLOW_OBCS */  #endif /* ALLOW_OBCS */
105    
106           ELSEIF ( implicitIntGravWave ) THEN
107    C     keep a copy of wVel in gW:
108            DO k=1,Nr
109             DO j=1-Oly,sNy+Oly
110              DO i=1-Olx,sNx+Olx
111                gW(i,j,k,bi,bj) = wVel(i,j,k,bi,bj)
112              ENDDO
113             ENDDO
114            ENDDO
115    
116    C-    End if nonHydrostatic / elseif implicitIntGravWave
117           ENDIF
118    
119  C-    End of bi,bj loops  C-    End of bi,bj loops
120         ENDDO         ENDDO
121        ENDDO        ENDDO

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22