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

Diff of /MITgcm/pkg/mom_fluxform/mom_fluxform.F

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

revision 1.15 by jmc, Sat Oct 11 16:37:55 2003 UTC revision 1.20 by afe, Thu Oct 21 21:14:02 2004 UTC
# Line 122  C     uDudxFac, AhDudxFac, etc ... indiv Line 122  C     uDudxFac, AhDudxFac, etc ... indiv
122        _RL  vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL  vFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
123        _RL  rTransU(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL  rTransU(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
124        _RL  rTransV(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL  rTransV(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
125          _RL KE(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
126          _RL viscAhD(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
127          _RL viscAhZ(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
128          _RL viscA4D(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
129          _RL viscA4Z(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
130          _RL vort3(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
131          _RL hDiv(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
132          _RL strain(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
133          _RL tension(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
134  C     I,J,K - Loop counters  C     I,J,K - Loop counters
135  C     rVelMaskOverride - Factor for imposing special surface boundary conditions  C     rVelMaskOverride - Factor for imposing special surface boundary conditions
136  C                        ( set according to free-surface condition ).  C                        ( set according to free-surface condition ).
# Line 155  C     xxxFac - On-off tracer parameters Line 164  C     xxxFac - On-off tracer parameters
164        INTEGER km1,kp1        INTEGER km1,kp1
165        _RL wVelBottomOverride        _RL wVelBottomOverride
166        LOGICAL bottomDragTerms        LOGICAL bottomDragTerms
       _RL KE(1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
167  CEOP  CEOP
168    
169        km1=MAX(1,k-1)        km1=MAX(1,k-1)
# Line 179  C     Initialise intermediate terms Line 187  C     Initialise intermediate terms
187          fMer(i,j) = 0.          fMer(i,j) = 0.
188          rTransU(i,j) = 0.          rTransU(i,j) = 0.
189          rTransV(i,j) = 0.          rTransV(i,j) = 0.
190  #ifdef ALLOW_AUTODIFF_TAMC          strain(i,j) = 0.
191  C- jmc: this is wrong, but at least with #ifdef/endif TAMC, it does not break          tension(i,j) = 0.
 C       the forward code ; (same thing in mom_vectinv)  
         fVerU(i,j,1) = 0. _d 0  
         fVerU(i,j,2) = 0. _d 0  
         fVerV(i,j,1) = 0. _d 0  
         fVerV(i,j,2) = 0. _d 0  
 #endif  
192         ENDDO         ENDDO
193        ENDDO        ENDDO
194    
# Line 261  C     Calculate velocity field "volume t Line 263  C     Calculate velocity field "volume t
263         ENDDO         ENDDO
264        ENDDO        ENDDO
265    
266        CALL MOM_CALC_KE(bi,bj,k,uFld,vFld,KE,myThid)        CALL MOM_CALC_KE(bi,bj,k,3,uFld,vFld,KE,myThid)
267    
268    c     IF (viscAstrain.NE.0. .OR. viscAtension.NE.0.) THEN
269             CALL MOM_CALC_TENSION(bi,bj,k,uFld,vFld,
270         O                         tension,
271         I                         myThid)
272             CALL MOM_CALC_STRAIN(bi,bj,k,uFld,vFld,hFacZ,
273         O                        strain,
274         I                        myThid)
275    c     ENDIF
276    
277  C---  First call (k=1): compute vertical adv. flux fVerU(kUp) & fVerV(kUp)  C---  First call (k=1): compute vertical adv. flux fVerU(kUp) & fVerV(kUp)
278        IF (momAdvection.AND.k.EQ.1) THEN        IF (momAdvection.AND.k.EQ.1) THEN
# Line 297  C---  Calculate vertical transports (at Line 308  C---  Calculate vertical transports (at
308       I                       myTime, myIter, myThid)       I                       myTime, myIter, myThid)
309        ENDIF        ENDIF
310    
311    c     IF (momViscosity) THEN
312    c    &  CALL MOM_CALC_VISCOSITY(bi,bj,k,
313    c    I                         uFld,vFld,
314    c    O                         viscAhD,viscAhZ,myThid)
315    
316  C---- Zonal momentum equation starts here  C---- Zonal momentum equation starts here
317    
# Line 440  C      o Non-hydrosatic metric terms Line 455  C      o Non-hydrosatic metric terms
455           gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+mTFacU*mT(i,j)           gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+mTFacU*mT(i,j)
456          ENDDO          ENDDO
457         ENDDO         ENDDO
458                                                                                    
459          ENDIF
460          IF (usingCylindricalGrid) THEN
461             CALL MOM_U_METRIC_CYLINDER(bi,bj,k,uFld,vFld,mT,myThid)
462             DO j=jMin,jMax
463              DO i=iMin,iMax
464                 gU(i,j,k,bi,bj) = gU(i,j,k,bi,bj)+mTFacU*mT(i,j)
465              ENDDO
466           ENDDO
467                                                                                    
468        ENDIF        ENDIF
   
469  C--   Set du/dt on boundaries to zero  C--   Set du/dt on boundaries to zero
470        DO j=jMin,jMax        DO j=jMin,jMax
471         DO i=iMin,iMax         DO i=iMin,iMax
# Line 593  C      o Spherical polar grid metric ter Line 617  C      o Spherical polar grid metric ter
617          ENDDO          ENDDO
618         ENDDO         ENDDO
619        ENDIF        ENDIF
620          IF (usingCylindricalGrid) THEN
621             CALL MOM_V_METRIC_CYLINDER(bi,bj,k,uFld,vFld,mT,myThid)
622             DO j=jMin,jMax
623                DO i=iMin,iMax
624                   gV(i,j,k,bi,bj) = gV(i,j,k,bi,bj)+mTFacV*mT(i,j)
625                ENDDO
626             ENDDO
627          ENDIF
628    
629  C--   Set dv/dt on boundaries to zero  C--   Set dv/dt on boundaries to zero
630        DO j=jMin,jMax        DO j=jMin,jMax

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.20

  ViewVC Help
Powered by ViewVC 1.1.22