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

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

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

revision 1.3 by adcroft, Wed Sep 26 19:05:21 2001 UTC revision 1.7 by adcroft, Mon Nov 26 17:15:56 2001 UTC
# Line 43  C  vCoriolisTerm        :: Coriolis term Line 43  C  vCoriolisTerm        :: Coriolis term
43  C !LOCAL VARIABLES: ====================================================  C !LOCAL VARIABLES: ====================================================
44  C  i,j                  :: loop indices  C  i,j                  :: loop indices
45        INTEGER I,J        INTEGER I,J
46          _RL one
47          PARAMETER(one=1.d0)
48  CEOP  CEOP
49    
50        DO j=1-Oly+1,sNy+Oly        IF (useEnergyConservingCoriolis) THEN
51         DO i=1-Olx,sNx+Olx-1  C Energy conserving discretization
52           DO j=1-Oly+1,sNy+Oly
53            DO i=1-Olx,sNx+Olx-1
54             vCoriolisTerm(i,j) =
55         &    -0.5*( _fCori(i, j ,bi,bj)
56         &          *0.5*( uFld( i , j )+uFld(i+1, j ) )
57         &         + _fCori(i,j-1,bi,bj)
58         &          *0.5*( uFld( i ,j-1)+uFld(i+1,j-1) ) )
59            ENDDO
60           ENDDO
61          ELSE
62    C Original discretization
63           DO j=1-Oly+1,sNy+Oly
64            DO i=1-Olx,sNx+Olx-1
65          vCoriolisTerm(i,j) =          vCoriolisTerm(i,j) =
66       &    -0.5*(_fCori(i, j ,bi,bj)+_fCori(i,j-1,bi,bj))       &    -0.5*(_fCori(i, j ,bi,bj)+_fCori(i,j-1,bi,bj))
67       &   *0.25*( uFld(i, j )+uFld(i+1, j )       &   *0.25*( uFld(i, j )+uFld(i+1, j )
68       &          +uFld(i,j-1)+uFld(i+1,j-1)       &          +uFld(i,j-1)+uFld(i+1,j-1)
69       &         )       &         )
70            ENDDO
71           ENDDO
72          ENDIF
73    
74          IF (useJamartWetPoints) THEN
75    C Scale term so that only "wet" points are used
76    C Due to: Jamart and Ozer, 1986, JGR 91 (C9), 10,621-10,631
77    C         "Numerical Boundary Layers and Spurious Residual Flows"
78           DO j=1-Oly+1,sNy+Oly
79            DO i=1-Olx,sNx+Olx-1
80             vCoriolisTerm(i,j) = vCoriolisTerm(i,j)
81         & *4.d0/max(one, maskW( i , j ,k,bi,bj)+maskW(i+1, j ,k,bi,bj)
82         &               +maskW( i ,j-1,k,bi,bj)+maskW(i+1,j-1,k,bi,bj) )
83            ENDDO
84         ENDDO         ENDDO
85        ENDDO        ENDIF
86    
87        RETURN        RETURN
88        END        END

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22