44 |
C === Local variables === |
C === Local variables === |
45 |
C i,j,bi,bj - Loop counters |
C i,j,bi,bj - Loop counters |
46 |
INTEGER i, j, bi, bj |
INTEGER i, j, bi, bj |
47 |
|
C hFacU, hFacV - determine the no-slip boundary condition |
48 |
|
INTEGER k |
49 |
|
_RS hFacU, hFacV |
50 |
|
|
51 |
|
|
52 |
C |
C |
53 |
DO bj=myByLo(myThid),myByHi(myThid) |
DO bj=myByLo(myThid),myByHi(myThid) |
75 |
& *recip_rSphere |
& *recip_rSphere |
76 |
& ) |
& ) |
77 |
C one metric term is missing |
C one metric term is missing |
|
CML e12(I,J,bi,bj)=HALF*( |
|
|
CML & (uFld(I,J+1,bi,bj)+uFld(I+1,J+1,bi,bj) |
|
|
CML & -uFld(I,J-1,bi,bj)-uFld(I+1,J-1,bi,bj)) |
|
|
CML & * 1. _d 0 / (dyC(I,J,bi,bj) + dyC(I,J-1,bi,bj)) |
|
|
CML & + |
|
|
CML & (vFld(I+1,J+1,bi,bj)+vFld(I+1,J,bi,bj) |
|
|
CML & -vFld(I-1,J+1,bi,bj)-vFld(I-1,J,bi,bj)) |
|
|
CML & * 1. _d 0 / (dxC(I,J,bi,bj) + dxC(I-1,J,bi,bj)) |
|
|
CML & +HALF* |
|
|
CML & (uFld(I, J, bi,bj)+uFld(I+1,J, bi,bj)) |
|
|
CML & * _tanPhiAtU(I,J,bi,bj)*recip_rSphere) |
|
78 |
ENDDO |
ENDDO |
79 |
ENDDO |
ENDDO |
80 |
|
IF ( SEAICE_no_slip ) THEN |
81 |
|
C no slip boundary conditions are applied as a body force |
82 |
|
C following mom_u/v_sidedrag |
83 |
|
k = 1 |
84 |
|
DO j=1-Oly+1,sNy+Oly-1 |
85 |
|
DO i=1-Olx+1,sNx+Olx-1 |
86 |
|
hFacU = _maskW(i,j,k,bi,bj) - _maskW(i,j-1,k,bi,bj) |
87 |
|
hFacV = _maskS(i,j,k,bi,bj) - _maskS(i-1,j,k,bi,bj) |
88 |
|
|
89 |
|
e12(I,J,bi,bj)= e12(I,J,bi,bj) |
90 |
|
& + HALF*( recip_rAz(i,j,bi,bj) |
91 |
|
& *( hFacU * ( _dxC(i,j ,bi,bj)*uFld(i,j ,bi,bj) |
92 |
|
& + _dxC(i,j-1,bi,bj)*uFld(i,j-1,bi,bj) ) |
93 |
|
& + hFacV * ( _dyC(i ,j,bi,bj)*vFld(i ,j,bi,bj) |
94 |
|
& + _dyC(i-1,j,bi,bj)*vFld(i-1,j,bi,bj) ) ) |
95 |
|
& - hFacU |
96 |
|
& * 0.25 _d 0 * (uFld(I,J,bi,bj)+uFld(I ,J-1,bi,bj)) |
97 |
|
& * ( _tanPhiAtU(I,J,bi,bj) + _tanPhiAtU(I,J-1,bi,bj) ) |
98 |
|
& *recip_rSphere |
99 |
|
& ) |
100 |
|
C one metric term is missing |
101 |
|
ENDDO |
102 |
|
ENDDO |
103 |
|
|
104 |
|
ENDIF |
105 |
ENDDO |
ENDDO |
106 |
ENDDO |
ENDDO |
107 |
#endif /* SEAICE_ALLOW_DYNAMICS */ |
#endif /* SEAICE_ALLOW_DYNAMICS */ |