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

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

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

revision 1.8 by jmc, Thu Apr 28 14:57:22 2005 UTC revision 1.9 by jmc, Sat Oct 1 19:17:17 2005 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "MOM_VECINV_OPTIONS.h"  #include "MOM_VECINV_OPTIONS.h"
5    
6        SUBROUTINE MOM_VI_U_CORIOLIS(        SUBROUTINE MOM_VI_U_CORIOLIS(
7       I        bi,bj,k,       I        bi,bj,k,
8       I        vFld,omega3,hFacZ,r_hFacZ,       I        vFld,omega3,hFacZ,r_hFacZ,
9       O        uCoriolisTerm,       O        uCoriolisTerm,
# Line 36  C     == Local variables == Line 36  C     == Local variables ==
36        _RS epsil        _RS epsil
37        PARAMETER ( use_original_hFac=.FALSE. )        PARAMETER ( use_original_hFac=.FALSE. )
38    
39        epsil = 1. _d -9        epsil = 1. _d -9
40    
41        DO J=1-Oly,sNy+Oly-1        DO J=1-Oly,sNy+Oly-1
42         DO I=2-Olx,sNx+Olx         DO I=2-Olx,sNx+Olx
43          IF ( use_original_hFac ) THEN          IF ( use_original_hFac ) THEN
44           vBarXY=0.25*(           vBarXY=0.25*(
45       &       vFld( i , j )*dxG( i , j ,bi,bj)*hFacS( i , j ,k,bi,bj)       &      (vFld( i , j )*dxG( i , j ,bi,bj)*hFacS( i , j ,k,bi,bj)
46       &      +vFld( i ,j+1)*dxG( i ,j+1,bi,bj)*hFacS( i ,j+1,k,bi,bj)       &      +vFld(i-1, j )*dxG(i-1, j ,bi,bj)*hFacS(i-1, j ,k,bi,bj))
47       &      +vFld(i-1, j )*dxG(i-1, j ,bi,bj)*hFacS(i-1, j ,k,bi,bj)       &     +(vFld( i ,j+1)*dxG( i ,j+1,bi,bj)*hFacS( i ,j+1,k,bi,bj)
48       &      +vFld(i-1,j+1)*dxG(i-1,j+1,bi,bj)*hFacS(i-1,j+1,k,bi,bj))       &      +vFld(i-1,j+1)*dxG(i-1,j+1,bi,bj)*hFacS(i-1,j+1,k,bi,bj)))
49           IF (upwindVorticity) THEN           IF (upwindVorticity) THEN
50            IF (vBarXY.GT.0.) THEN            IF (vBarXY.GT.0.) THEN
51             vort3u=omega3(I,J)*r_hFacZ(i,j)             vort3u=omega3(I,J)*r_hFacZ(i,j)
# Line 78  C     == Local variables == Line 78  C     == Local variables ==
78          ELSE          ELSE
79  c--      test a different formulation (relatively to hFac)  c--      test a different formulation (relatively to hFac)
80           vBarXY=0.5*(           vBarXY=0.5*(
81       &       vFld( i , j )*dxG( i , j ,bi,bj)*hFacZ(i,j)       &      (vFld( i , j )*dxG( i , j ,bi,bj)*hFacZ(i,j)
82       &      +vFld(i-1, j )*dxG(i-1, j ,bi,bj)*hFacZ(i,j)       &      +vFld(i-1, j )*dxG(i-1, j ,bi,bj)*hFacZ(i,j)  )
83       &      +vFld( i ,j+1)*dxG( i ,j+1,bi,bj)*hFacZ(i,j+1)       &     +(vFld( i ,j+1)*dxG( i ,j+1,bi,bj)*hFacZ(i,j+1)
84       &      +vFld(i-1,j+1)*dxG(i-1,j+1,bi,bj)*hFacZ(i,j+1)       &      +vFld(i-1,j+1)*dxG(i-1,j+1,bi,bj)*hFacZ(i,j+1))
85       &              )/MAX( epsil, hFacZ(i,j)+hFacZ(i,j+1) )       &              )/MAX( epsil, hFacZ(i,j)+hFacZ(i,j+1) )
86           IF (upwindVorticity) THEN           IF (upwindVorticity) THEN
87            IF (vBarXY.GT.0.) THEN            IF (vBarXY.GT.0.) THEN
88             vort3u=omega3(i,j)             vort3u=omega3(i,j)
# Line 90  c--      test a different formulation (r Line 90  c--      test a different formulation (r
90             vort3u=omega3(i,j+1)             vort3u=omega3(i,j+1)
91            ENDIF            ENDIF
92           ELSE           ELSE
93             vort3u=0.5*(omega3(i,j)+omega3(i,j+1))             vort3u=0.5*(omega3(i,j)+omega3(i,j+1))
94           ENDIF           ENDIF
95          ENDIF          ENDIF
96    
97          IF (useJamartMomAdv)          IF (useJamartMomAdv)
98       &   vBarXY = vBarXY * 4. _d 0 * hFacW(i,j,k,bi,bj)       &   vBarXY = vBarXY * 4. _d 0 * hFacW(i,j,k,bi,bj)
99       &   / MAX( epsil, hFacS( i , j ,k,bi,bj)+hFacS(i-1, j ,k,bi,bj)       &   / MAX( epsil, (hFacS(i, j ,k,bi,bj)+hFacS(i-1, j ,k,bi,bj))
100       &                +hFacS( j ,i+1,k,bi,bj)+hFacS(i-1,j+1,k,bi,bj) )       &                +(hFacS(i,j+1,k,bi,bj)+hFacS(i-1,j+1,k,bi,bj)) )
101    
102          uCoriolisTerm(i,j)=          uCoriolisTerm(i,j)=
103       &   +vort3u*vBarXY*recip_dxC(i,j,bi,bj)*_maskW(i,j,k,bi,bj)       &   +vort3u*vBarXY*recip_dxC(i,j,bi,bj)*_maskW(i,j,k,bi,bj)
104  cph *note* put these comments after end of continued line  cph *note* put these comments after end of continued line
105  cph        to ensure TAMC compatibility  cph        to ensure TAMC compatibility
106  C high order vorticity advection term  C high order vorticity advection term

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22