/[MITgcm]/MITgcm/pkg/mom_vecinv/mom_vecinv.F
ViewVC logotype

Diff of /MITgcm/pkg/mom_vecinv/mom_vecinv.F

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

revision 1.28 by jmc, Tue Nov 2 01:04:08 2004 UTC revision 1.30 by jmc, Fri Nov 5 19:23:06 2004 UTC
# Line 66  C     == Functions == Line 66  C     == Functions ==
66        EXTERNAL DIFFERENT_MULTIPLE        EXTERNAL DIFFERENT_MULTIPLE
67    
68  C     == Local variables ==  C     == Local variables ==
       _RL      aF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
69        _RL      vF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL      vF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
70        _RL      vrF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL      vrF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
71        _RL      uCf (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL      uCf (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
72        _RL      vCf (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL      vCf (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
73        _RL      mT (1-OLx:sNx+OLx,1-OLy:sNy+OLy)  c     _RL      mT (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
       _RL      pF (1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
74        _RL del2u(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL del2u(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
75        _RL del2v(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL del2v(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
76        _RL tension(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL tension(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
77        _RL strain(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL strain(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
78        _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
79        _RS r_hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RS r_hFacZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
       _RS xA(1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
       _RS yA(1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
80        _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
81        _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
82        _RL dStar(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL dStar(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
# Line 89  C     == Local variables == Line 85  C     == Local variables ==
85        _RL vDiss(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL vDiss(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
86  C     I,J,K - Loop counters  C     I,J,K - Loop counters
87        INTEGER i,j,k        INTEGER i,j,k
 C     rVelMaskOverride - Factor for imposing special surface boundary conditions  
 C                        ( set according to free-surface condition ).  
 C     hFacROpen        - Lopped cell factos used tohold fraction of open  
 C     hFacRClosed        and closed cell wall.  
       _RL  rVelMaskOverride  
88  C     xxxFac - On-off tracer parameters used for switching terms off.  C     xxxFac - On-off tracer parameters used for switching terms off.
       _RL  uDudxFac  
       _RL  AhDudxFac  
       _RL  A4DuxxdxFac  
       _RL  vDudyFac  
       _RL  AhDudyFac  
       _RL  A4DuyydyFac  
       _RL  rVelDudrFac  
89        _RL  ArDudrFac        _RL  ArDudrFac
       _RL  fuFac  
90        _RL  phxFac        _RL  phxFac
91        _RL  mtFacU  c     _RL  mtFacU
       _RL  uDvdxFac  
       _RL  AhDvdxFac  
       _RL  A4DvxxdxFac  
       _RL  vDvdyFac  
       _RL  AhDvdyFac  
       _RL  A4DvyydyFac  
       _RL  rVelDvdrFac  
92        _RL  ArDvdrFac        _RL  ArDvdrFac
       _RL  fvFac  
93        _RL  phyFac        _RL  phyFac
94        _RL  vForcFac  c     _RL  mtFacV
       _RL  mtFacV  
       _RL wVelBottomOverride  
95        LOGICAL bottomDragTerms        LOGICAL bottomDragTerms
96        LOGICAL writeDiag        LOGICAL writeDiag
97        _RL KE(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL KE(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
# Line 139  C--   (at least in part) Line 112  C--   (at least in part)
112        fVerV(1,1,kUp) = fVerV(1,1,kUp)        fVerV(1,1,kUp) = fVerV(1,1,kUp)
113  #endif  #endif
114    
       rVelMaskOverride=1.  
       IF ( k .EQ. 1 ) rVelMaskOverride=freeSurfFac  
       wVelBottomOverride=1.  
       IF (k.EQ.Nr) wVelBottomOverride=0.  
115        writeDiag = DIFFERENT_MULTIPLE(diagFreq, myTime,        writeDiag = DIFFERENT_MULTIPLE(diagFreq, myTime,
116       &                                         myTime-deltaTClock)       &                                         myTime-deltaTClock)
117    
# Line 164  C       write(*,*) 'offsets = ',(offsets Line 133  C       write(*,*) 'offsets = ',(offsets
133  C     Initialise intermediate terms  C     Initialise intermediate terms
134        DO J=1-OLy,sNy+OLy        DO J=1-OLy,sNy+OLy
135         DO I=1-OLx,sNx+OLx         DO I=1-OLx,sNx+OLx
         aF(i,j)   = 0.  
136          vF(i,j)   = 0.          vF(i,j)   = 0.
137          vrF(i,j)  = 0.          vrF(i,j)  = 0.
138          uCf(i,j)   = 0.          uCf(i,j)   = 0.
139          vCf(i,j)   = 0.          vCf(i,j)   = 0.
140          mT(i,j)   = 0.  c       mT(i,j)   = 0.
         pF(i,j)   = 0.  
141          del2u(i,j) = 0.          del2u(i,j) = 0.
142          del2v(i,j) = 0.          del2v(i,j) = 0.
143          dStar(i,j) = 0.          dStar(i,j) = 0.
# Line 189  C     Initialise intermediate terms Line 156  C     Initialise intermediate terms
156    
157  C--   Term by term tracer parmeters  C--   Term by term tracer parmeters
158  C     o U momentum equation  C     o U momentum equation
       uDudxFac     = afFacMom*1.  
       AhDudxFac    = vfFacMom*1.  
       A4DuxxdxFac  = vfFacMom*1.  
       vDudyFac     = afFacMom*1.  
       AhDudyFac    = vfFacMom*1.  
       A4DuyydyFac  = vfFacMom*1.  
       rVelDudrFac  = afFacMom*1.  
159        ArDudrFac    = vfFacMom*1.        ArDudrFac    = vfFacMom*1.
160        mTFacU       = mtFacMom*1.  c     mTFacU       = mtFacMom*1.
       fuFac        = cfFacMom*1.  
161        phxFac       = pfFacMom*1.        phxFac       = pfFacMom*1.
162  C     o V momentum equation  C     o V momentum equation
       uDvdxFac     = afFacMom*1.  
       AhDvdxFac    = vfFacMom*1.  
       A4DvxxdxFac  = vfFacMom*1.  
       vDvdyFac     = afFacMom*1.  
       AhDvdyFac    = vfFacMom*1.  
       A4DvyydyFac  = vfFacMom*1.  
       rVelDvdrFac  = afFacMom*1.  
163        ArDvdrFac    = vfFacMom*1.        ArDvdrFac    = vfFacMom*1.
164        mTFacV       = mtFacMom*1.  c     mTFacV       = mtFacMom*1.
       fvFac        = cfFacMom*1.  
165        phyFac       = pfFacMom*1.        phyFac       = pfFacMom*1.
       vForcFac     = foFacMom*1.  
166    
167        IF (     no_slip_bottom        IF (     no_slip_bottom
168       &    .OR. bottomDragQuadratic.NE.0.       &    .OR. bottomDragQuadratic.NE.0.
# Line 231  C-- with stagger time stepping, grad Phi Line 181  C-- with stagger time stepping, grad Phi
181  C--   Calculate open water fraction at vorticity points  C--   Calculate open water fraction at vorticity points
182        CALL MOM_CALC_HFACZ(bi,bj,k,hFacZ,r_hFacZ,myThid)        CALL MOM_CALC_HFACZ(bi,bj,k,hFacZ,r_hFacZ,myThid)
183    
 C---- Calculate common quantities used in both U and V equations  
 C     Calculate tracer cell face open areas  
       DO j=1-OLy,sNy+OLy  
        DO i=1-OLx,sNx+OLx  
         xA(i,j) = _dyG(i,j,bi,bj)  
      &   *drF(k)*_hFacW(i,j,k,bi,bj)  
         yA(i,j) = _dxG(i,j,bi,bj)  
      &   *drF(k)*_hFacS(i,j,k,bi,bj)  
        ENDDO  
       ENDDO  
   
184  C     Make local copies of horizontal flow field  C     Make local copies of horizontal flow field
185        DO j=1-OLy,sNy+OLy        DO j=1-OLy,sNy+OLy
186         DO i=1-OLx,sNx+OLx         DO i=1-OLx,sNx+OLx
# Line 265  c     CALL MOM_VI_HFACZ_DISS(bi,bj,k,hFa Line 204  c     CALL MOM_VI_HFACZ_DISS(bi,bj,k,hFa
204    
205        IF (momViscosity) THEN        IF (momViscosity) THEN
206  C      Calculate del^2 u and del^2 v for bi-harmonic term  C      Calculate del^2 u and del^2 v for bi-harmonic term
207         IF (viscA4.NE.0.         IF ( (viscA4.NE.0. .AND. no_slip_sides)
208         &     .OR. viscA4D.NE.0. .OR. viscA4Z.NE.0.
209       &     .OR. viscA4Grid.NE.0.       &     .OR. viscA4Grid.NE.0.
210       &     .OR. viscC4leith.NE.0.       &     .OR. viscC4leith.NE.0.
211       &    ) THEN       &    ) THEN

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.30

  ViewVC Help
Powered by ViewVC 1.1.22