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 |
IF (useEnergyConservingCoriolis) THEN |
IF (useEnergyConservingCoriolis) THEN |
52 |
DO j=1-Oly+1,sNy+Oly |
DO j=1-Oly+1,sNy+Oly |
53 |
DO i=1-Olx,sNx+Olx-1 |
DO i=1-Olx,sNx+Olx-1 |
54 |
vCoriolisTerm(i,j) = |
vCoriolisTerm(i,j) = |
55 |
& 0.5*( _fCori(i, j ,bi,bj) |
& -0.5*( _fCori(i, j ,bi,bj) |
56 |
& *0.5*( uFld( i , j )+uFld(i+1, j ) ) |
& *0.5*( uFld( i , j )+uFld(i+1, j ) ) |
57 |
& + _fCori(i,j-1,bi,bj) |
& + _fCori(i,j-1,bi,bj) |
58 |
& *0.5*( uFld( i ,j-1)+uFld(i+1,j-1) ) ) |
& *0.5*( uFld( i ,j-1)+uFld(i+1,j-1) ) ) |
70 |
ENDDO |
ENDDO |
71 |
ENDDO |
ENDDO |
72 |
ENDIF |
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 |
85 |
|
ENDIF |
86 |
|
|
87 |
RETURN |
RETURN |
88 |
END |
END |