45 |
INTEGER I,J |
INTEGER I,J |
46 |
CEOP |
CEOP |
47 |
|
|
48 |
DO j=1-Oly,sNy+Oly-1 |
IF (useEnergyConservingCoriolis) THEN |
49 |
DO i=1-Olx+1,sNx+Olx |
C Energy conserving discretization |
50 |
uCoriolisTerm(i,j) = |
DO j=1-Oly,sNy+Oly-1 |
51 |
|
DO i=1-Olx+1,sNx+Olx |
52 |
|
uCoriolisTerm(i,j) = |
53 |
|
& 0.5*( _fCori( i ,j,bi,bj) |
54 |
|
& *0.5*( vFld( i ,j)+vFld( i ,j+1) ) |
55 |
|
& + _fCori(i-1,j,bi,bj) |
56 |
|
& *0.5*( vFld(i-1,j)+vFld(i-1,j+1) ) ) |
57 |
|
ENDDO |
58 |
|
ENDDO |
59 |
|
ELSE |
60 |
|
C Original discretization |
61 |
|
DO j=1-Oly,sNy+Oly-1 |
62 |
|
DO i=1-Olx+1,sNx+Olx |
63 |
|
uCoriolisTerm(i,j) = |
64 |
& 0.5*( _fCori( i ,j,bi,bj) + |
& 0.5*( _fCori( i ,j,bi,bj) + |
65 |
& _fCori(i-1,j,bi,bj) ) |
& _fCori(i-1,j,bi,bj) ) |
66 |
& *0.25*( |
& *0.25*( |
67 |
& vFld( i ,j)+vFld( i ,j+1) |
& vFld( i ,j)+vFld( i ,j+1) |
68 |
& +vFld(i-1,j)+vFld(i-1,j+1) |
& +vFld(i-1,j)+vFld(i-1,j+1) |
69 |
& ) |
& ) |
70 |
|
ENDDO |
71 |
ENDDO |
ENDDO |
72 |
ENDDO |
ENDIF |
73 |
|
|
74 |
RETURN |
RETURN |
75 |
END |
END |