| 67 | noSlipFac = 0. _d 0 | noSlipFac = 0. _d 0 | 
| 68 | IF ( SEAICE_no_slip ) noSlipFac = 1. _d 0 | IF ( SEAICE_no_slip ) noSlipFac = 1. _d 0 | 
| 69 | C | C | 
|  | #ifndef SEAICE_OLD_AND_BAD_DISCRETIZATION |  | 
| 70 | DO bj=myByLo(myThid),myByHi(myThid) | DO bj=myByLo(myThid),myByHi(myThid) | 
| 71 | DO bi=myBxLo(myThid),myBxHi(myThid) | DO bi=myBxLo(myThid),myBxHi(myThid) | 
| 72 | C     abbreviations on C-points, need to do them in separate loops | C     abbreviations on C-points, need to do them in separate loops | 
| 134 |  |  | 
| 135 | ENDDO | ENDDO | 
| 136 | ENDDO | ENDDO | 
|  | #else |  | 
|  | C     this the old and incomplete discretization, here I also erroneously |  | 
|  | C     used finite-volumes to discretize the strain rates |  | 
|  | DO bj=myByLo(myThid),myByHi(myThid) |  | 
|  | DO bi=myBxLo(myThid),myBxHi(myThid) |  | 
|  | DO j=1-Oly,sNy+Oly-1 |  | 
|  | DO i=1-Olx,sNx+Olx-1 |  | 
|  | C     evaluate strain rates |  | 
|  | e11Loc(I,J,bi,bj) = _recip_dxF(I,J,bi,bj) * |  | 
|  | &         (uFld(I+1,J,bi,bj)-uFld(I,J,bi,bj)) |  | 
|  | &         -HALF* |  | 
|  | &         (vFld(I,J,bi,bj)+vFld(I,J+1,bi,bj)) |  | 
|  | &         * _tanPhiAtU(I,J,bi,bj)*recip_rSphere |  | 
|  | e22Loc(I,J,bi,bj) = _recip_dyF(I,J,bi,bj) * |  | 
|  | &         (vFld(I,J+1,bi,bj)-vFld(I,J,bi,bj)) |  | 
|  | C     one metric term is missing |  | 
|  | ENDDO |  | 
|  | ENDDO |  | 
|  | DO j=1-Oly+1,sNy+Oly |  | 
|  | DO i=1-Olx+1,sNx+Olx |  | 
|  | e12Loc(I,J,bi,bj) = HALF*( |  | 
|  | &         (uFld(I  ,J  ,bi,bj) * _dxC(I  ,J  ,bi,bj) |  | 
|  | &         -uFld(I  ,J-1,bi,bj) * _dxC(I  ,J-1,bi,bj) |  | 
|  | &         +vFld(I  ,J  ,bi,bj) * _dyC(I  ,J  ,bi,bj) |  | 
|  | &         -vFld(I-1,J  ,bi,bj) * _dyC(I-1,J  ,bi,bj)) |  | 
|  | &         * recip_rAz(I,J,bi,bj) |  | 
|  | &         + |  | 
|  | &         0.25 _d 0 * (uFld(I,J,bi,bj)+uFld(I  ,J-1,bi,bj)) |  | 
|  | &         * ( _tanPhiAtU(I,J,bi,bj) + _tanPhiAtU(I,J-1,bi,bj) ) |  | 
|  | &         *recip_rSphere |  | 
|  | &         ) |  | 
|  | &         *maskC(I  ,J  ,k,bi,bj)*maskC(I-1,J  ,k,bi,bj) |  | 
|  | &         *maskC(I  ,J-1,k,bi,bj)*maskC(I-1,J-1,k,bi,bj) |  | 
|  | C     one metric term is missing |  | 
|  | ENDDO |  | 
|  | ENDDO |  | 
|  | IF ( SEAICE_no_slip ) THEN |  | 
|  | C     no slip boundary conditions apply only to e12Loc |  | 
|  | DO j=1-Oly+1,sNy+Oly |  | 
|  | DO i=1-Olx+1,sNx+Olx |  | 
|  | hFacU = _maskW(i,j,k,bi,bj) - _maskW(i,j-1,k,bi,bj) |  | 
|  | hFacV = _maskS(i,j,k,bi,bj) - _maskS(i-1,j,k,bi,bj) |  | 
|  |  |  | 
|  | e12Loc(I,J,bi,bj) = e12Loc(I,J,bi,bj) |  | 
|  | &          + recip_rAz(i,j,bi,bj) * 2. _d 0 * |  | 
|  | &          ( hFacU * ( _dxC(i,j-1,bi,bj)*uFld(i,j  ,bi,bj) |  | 
|  | &                    + _dxC(i,j,  bi,bj)*uFld(i,j-1,bi,bj) ) |  | 
|  | &          + hFacV * ( _dyC(i-1,j,bi,bj)*vFld(i  ,j,bi,bj) |  | 
|  | &                    + _dyC(i,  j,bi,bj)*vFld(i-1,j,bi,bj) ) ) |  | 
|  | &         - hFacU |  | 
|  | &         * 0.25 _d 0 * (uFld(I,J,bi,bj)+uFld(I  ,J-1,bi,bj)) |  | 
|  | &         * ( _tanPhiAtU(I,J,bi,bj) + _tanPhiAtU(I,J-1,bi,bj) ) |  | 
|  | &         *recip_rSphere |  | 
|  | C     one metric term is missing |  | 
|  | ENDDO |  | 
|  | ENDDO |  | 
|  |  |  | 
|  | ENDIF |  | 
|  | ENDDO |  | 
|  | ENDDO |  | 
|  | #endif /* SEAICE_OLD_AND_BAD_DISCRETIZATION */ |  | 
| 137 |  |  | 
| 138 | #ifdef ALLOW_AUTODIFF_TAMC | #ifdef ALLOW_AUTODIFF_TAMC | 
| 139 | #ifdef SEAICE_DYN_STABLE_ADJOINT | #ifdef SEAICE_DYN_STABLE_ADJOINT |