/[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.5 by jmc, Sun Nov 29 03:12:32 2009 UTC revision 1.6 by jmc, Sat Jan 23 00:04:03 2010 UTC
# Line 37  C     == Routine Arguments == Line 37  C     == Routine Arguments ==
37  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
38  C     == Local variables ==  C     == Local variables ==
39        INTEGER iMin,iMax,jMin,jMax        INTEGER iMin,iMax,jMin,jMax
40        INTEGER i,j,k        INTEGER i, j, k, km1
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        _RL     tmpFac, nh_Fac, igwFac
43  CEOP  CEOP
# Line 56  C---+----1----+----2----+----3----+----4 Line 56  C---+----1----+----2----+----3----+----4
56          nh_Fac = 0.          nh_Fac = 0.
57          IF ( nh_Am2.NE.0. ) nh_Fac = 1. _d 0 / nh_Am2          IF ( nh_Am2.NE.0. ) nh_Fac = 1. _d 0 / nh_Am2
58    
59          k = 1          DO k=1,Nr
60          DO j=1-Oly,sNy+Oly           km1 = MAX( k-1, 1 )
           DO i=1-Olx,sNx+Olx  
             gW(i,j,k,bi,bj) = wVel(i,j,k,bi,bj)  
           ENDDO  
         ENDDO  
   
         DO k=2,Nr  
61    
62           IF ( implicitNHPress.NE.1. _d 0 ) THEN           IF ( implicitNHPress.NE.1. _d 0 ) THEN
63  C--   add explicit part of NH pressure gradient:  C--   add explicit part of NH pressure gradient:
64            tmpFac = pfFacMom*(1. _d 0 - implicitNHPress)            tmpFac = pfFacMom*(1. _d 0 - implicitNHPress)
65       &                     *wUnit2rVel(k)*wUnit2rVel(k)       &           * wUnit2rVel(k)*wUnit2rVel(k)*recip_rhoFacF(k)
66       &                     *recip_rhoFacF(k)            IF ( k.GE.2 ) THEN
67            DO j=jMin,jMax             DO j=jMin,jMax
68             DO i=iMin,iMax              DO i=iMin,iMax
69              gW(i,j,k,bi,bj) = gW(i,j,k,bi,bj)               gW(i,j,k,bi,bj) = gW(i,j,k,bi,bj)
70       &             - tmpFac*rkSign*recip_drC(k)       &              - tmpFac*rkSign*recip_drC(k)
71       &             *( phi_nh(i,j,k,bi,bj) - phi_nh(i,j,k-1,bi,bj) )       &              *( phi_nh(i,j,k,bi,bj) - phi_nh(i,j,k-1,bi,bj) )
72                ENDDO
73             ENDDO             ENDDO
74            ENDDO            ELSEIF ( selectNHfreeSurf.GE.1 ) THEN
75               DO j=jMin,jMax
76                DO i=iMin,iMax
77                 gW(i,j,k,bi,bj) = gW(i,j,k,bi,bj)
78         &              - tmpFac*rkSign*recip_drC(k)
79         &              *( phi_nh(i,j,k,bi,bj) - dPhiNH(i,j,bi,bj) )
80                ENDDO
81               ENDDO
82              ENDIF
83           ENDIF           ENDIF
84  C     apply mask to gW and keep a copy of wVel in gW:  C     apply mask to gW and keep a copy of wVel in gW:
85           DO j=1-Oly,sNy+Oly           DO j=1-Oly,sNy+Oly
86            DO i=1-Olx,sNx+Olx            DO i=1-Olx,sNx+Olx
87              gWtmp(i,j) = gW(i,j,k,bi,bj)              gWtmp(i,j) = gW(i,j,k,bi,bj)
88       &             *maskC(i,j,k,bi,bj)*maskC(i,j,k-1,bi,bj)       &             *maskC(i,j,k,bi,bj)*maskC(i,j,km1,bi,bj)
89              gW(i,j,k,bi,bj) = wVel(i,j,k,bi,bj)              gW(i,j,k,bi,bj) = wVel(i,j,k,bi,bj)
90            ENDDO            ENDDO
91           ENDDO           ENDDO

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

  ViewVC Help
Powered by ViewVC 1.1.22