29 |
C !INPUT PARAMETERS: =================================================== |
C !INPUT PARAMETERS: =================================================== |
30 |
C bi,bj :: tile indices |
C bi,bj :: tile indices |
31 |
C k :: vertical level |
C k :: vertical level |
32 |
C uFld :: zonal flow |
C uFld :: zonal flow |
33 |
C vFld :: meridional flow |
C vFld :: meridional flow |
34 |
C myThid :: my Thread Id number |
C myThid :: my Thread Id number |
35 |
INTEGER bi,bj,k |
INTEGER bi,bj,k |
36 |
_RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
_RL uFld(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy) |
50 |
IF ( k.GT.1 .AND. K.LE.Nr ) THEN |
IF ( k.GT.1 .AND. K.LE.Nr ) THEN |
51 |
DO j=1-Olx,sNy+Oly-1 |
DO j=1-Olx,sNy+Oly-1 |
52 |
DO i=1-Olx,sNx+Olx-1 |
DO i=1-Olx,sNx+Olx-1 |
53 |
wMetricTerms(i,j) = |
wMetricTerms(i,j) = -gravitySign*horiVertRatio |
54 |
& -gravitySign*recip_rSphere*( |
& *recip_rSphere*recip_deepFacF(k)*( |
55 |
& ( (uFld( i ,j,k-1,bi,bj)*uFld( i ,j,k-1,bi,bj) |
& ( (uFld( i ,j,k-1,bi,bj)*uFld( i ,j,k-1,bi,bj) |
56 |
& +uFld(i+1,j,k-1,bi,bj)*uFld(i+1,j,k-1,bi,bj)) |
& +uFld(i+1,j,k-1,bi,bj)*uFld(i+1,j,k-1,bi,bj)) |
57 |
& + (vFld(i, j ,k-1,bi,bj)*vFld(i, j ,k-1,bi,bj) |
& + (vFld(i, j ,k-1,bi,bj)*vFld(i, j ,k-1,bi,bj) |
61 |
& +uFld(i+1,j, k ,bi,bj)*uFld(i+1,j, k ,bi,bj)) |
& +uFld(i+1,j, k ,bi,bj)*uFld(i+1,j, k ,bi,bj)) |
62 |
& + (vFld(i, j , k ,bi,bj)*vFld(i, j , k ,bi,bj) |
& + (vFld(i, j , k ,bi,bj)*vFld(i, j , k ,bi,bj) |
63 |
& +vFld(i,j+1, k ,bi,bj)*vFld(i,j+1, k ,bi,bj)) |
& +vFld(i,j+1, k ,bi,bj)*vFld(i,j+1, k ,bi,bj)) |
64 |
& ) )*0.25 _d 0 * horiVertRatio |
& ) )*0.25 _d 0 |
65 |
ENDDO |
ENDDO |
66 |
ENDDO |
ENDDO |
67 |
ELSE |
ELSE |