New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 921 for trunk/NEMO/LIM_SRC_3/limrhg.F90 – NEMO

Ignore:
Timestamp:
2008-05-13T10:28:52+02:00 (16 years ago)
Author:
rblod
Message:

Correct indentation and print for debug in LIM3, see ticket #134, step I

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/LIM_SRC_3/limrhg.F90

    r888 r921  
    139139         zc1           ,             & !: ice mass 
    140140         zusw          ,             & !: temporary weight for the computation 
    141                                        !: of ice strength 
     141                                !: of ice strength 
    142142         u_oce1, v_oce1,             & !: ocean u/v component on U points                            
    143143         u_oce2, v_oce2,             & !: ocean u/v component on V points 
     
    180180         zresr                         !: Local error on velocity 
    181181 
    182 ! 
    183 !------------------------------------------------------------------------------! 
    184 ! 1) Ice-Snow mass (zc1), ice strength (zpresh)                                ! 
    185 !------------------------------------------------------------------------------! 
    186 ! 
     182      ! 
     183      !------------------------------------------------------------------------------! 
     184      ! 1) Ice-Snow mass (zc1), ice strength (zpresh)                                ! 
     185      !------------------------------------------------------------------------------! 
     186      ! 
    187187      ! Put every vector to 0 
    188188      zpresh(:,:) = 0.0 ; zc1(:,:) = 0.0 
     
    203203            ! tmi = 1 where there is ice or on land 
    204204            tmi(ji,jj)    = 1.0 - ( 1.0 - MAX( 0.0 , SIGN ( 1.0 , vt_i(ji,jj) - & 
    205                                     epsd ) ) ) * tms(ji,jj) 
     205               epsd ) ) ) * tms(ji,jj) 
    206206         END DO 
    207207      END DO 
     
    213213!CDIR NOVERRCHK 
    214214         DO ji = 2, jpim1 !RB caution no fs_ (ji+1,jj+1) 
    215              zstms          =  tms(ji+1,jj+1) * wght(ji+1,jj+1,2,2) + & 
    216                 &              tms(ji,jj+1)   * wght(ji+1,jj+1,1,2) + & 
    217                 &              tms(ji+1,jj)   * wght(ji+1,jj+1,2,1) + & 
    218                 &              tms(ji,jj)     * wght(ji+1,jj+1,1,1) 
    219              zusw(ji,jj)    = 1.0 / MAX( zstms, epsd ) 
    220              zpreshc(ji,jj) = (  zpresh(ji+1,jj+1) * wght(ji+1,jj+1,2,2) + & 
    221                 &                zpresh(ji,jj+1)   * wght(ji+1,jj+1,1,2) + & 
    222                 &                zpresh(ji+1,jj)   * wght(ji+1,jj+1,2,1) + &  
    223                 &                zpresh(ji,jj)     * wght(ji+1,jj+1,1,1)   & 
    224                 &             ) * zusw(ji,jj) 
     215            zstms          =  tms(ji+1,jj+1) * wght(ji+1,jj+1,2,2) + & 
     216               &              tms(ji,jj+1)   * wght(ji+1,jj+1,1,2) + & 
     217               &              tms(ji+1,jj)   * wght(ji+1,jj+1,2,1) + & 
     218               &              tms(ji,jj)     * wght(ji+1,jj+1,1,1) 
     219            zusw(ji,jj)    = 1.0 / MAX( zstms, epsd ) 
     220            zpreshc(ji,jj) = (  zpresh(ji+1,jj+1) * wght(ji+1,jj+1,2,2) + & 
     221               &                zpresh(ji,jj+1)   * wght(ji+1,jj+1,1,2) + & 
     222               &                zpresh(ji+1,jj)   * wght(ji+1,jj+1,2,1) + &  
     223               &                zpresh(ji,jj)     * wght(ji+1,jj+1,1,1)   & 
     224               &             ) * zusw(ji,jj) 
    225225         END DO 
    226226      END DO 
    227227 
    228228      CALL lbc_lnk( zpreshc(:,:), 'F', 1. ) 
    229 ! 
    230 !------------------------------------------------------------------------------! 
    231 ! 2) Wind / ocean stress, mass terms, coriolis terms 
    232 !------------------------------------------------------------------------------! 
    233 ! 
     229      ! 
     230      !------------------------------------------------------------------------------! 
     231      ! 2) Wind / ocean stress, mass terms, coriolis terms 
     232      !------------------------------------------------------------------------------! 
     233      ! 
    234234      !  Wind stress, coriolis and mass terms on the sides of the squares         
    235235      !  zfrld1: lead fraction on U-points                                       
     
    244244      !  u_oce2: ocean u component on v points                          
    245245      !  v_oce2: ocean v component on v points                         
    246           
     246 
    247247      DO jj = k_j1+1, k_jpj-1 
    248248         DO ji = fs_2, fs_jpim1 
     
    255255            ! Leads area. 
    256256            zfrld1(ji,jj) = ( zt12 * ( 1.0 - at_i(ji,jj) ) + & 
    257      &                        zt11 * ( 1.0 - at_i(ji+1,jj) ) ) / ( zt11 + zt12 + epsd ) 
     257               &                        zt11 * ( 1.0 - at_i(ji+1,jj) ) ) / ( zt11 + zt12 + epsd ) 
    258258            zfrld2(ji,jj) = ( zt22 * ( 1.0 - at_i(ji,jj) ) + & 
    259      &                        zt21 * ( 1.0 - at_i(ji,jj+1) ) ) / ( zt21 + zt22 + epsd ) 
     259               &                        zt21 * ( 1.0 - at_i(ji,jj+1) ) ) / ( zt21 + zt22 + epsd ) 
    260260 
    261261            ! Mass, coriolis coeff. and currents 
     
    263263            zmass2(ji,jj) = ( zt22*zc1(ji,jj) + zt21*zc1(ji,jj+1) ) / (zt21+zt22+epsd) 
    264264            zcorl1(ji,jj) = zmass1(ji,jj) * ( e1t(ji+1,jj)*fcor(ji,jj) + & 
    265                                               e1t(ji,jj)*fcor(ji+1,jj) ) & 
    266                                            / (e1t(ji,jj) + e1t(ji+1,jj) + epsd ) 
     265               e1t(ji,jj)*fcor(ji+1,jj) ) & 
     266               / (e1t(ji,jj) + e1t(ji+1,jj) + epsd ) 
    267267            zcorl2(ji,jj) = zmass2(ji,jj) * ( e2t(ji,jj+1)*fcor(ji,jj) + & 
    268                                               e2t(ji,jj)*fcor(ji,jj+1) ) & 
    269                                           / ( e2t(ji,jj+1) + e2t(ji,jj) + epsd ) 
     268               e2t(ji,jj)*fcor(ji,jj+1) ) & 
     269               / ( e2t(ji,jj+1) + e2t(ji,jj) + epsd ) 
    270270            ! 
    271271            u_oce1(ji,jj)  = u_oce(ji,jj) 
     
    274274            ! Ocean has no slip boundary condition 
    275275            v_oce1(ji,jj)  = 0.5*( (v_oce(ji,jj)+v_oce(ji,jj-1))*e1t(ji,jj)    & 
    276                 &                 +(v_oce(ji+1,jj)+v_oce(ji+1,jj-1))*e1t(ji+1,jj)) & 
    277                 &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj)   
     276               &                 +(v_oce(ji+1,jj)+v_oce(ji+1,jj-1))*e1t(ji+1,jj)) & 
     277               &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj)   
    278278 
    279279            u_oce2(ji,jj)  = 0.5*((u_oce(ji,jj)+u_oce(ji-1,jj))*e2t(ji,jj)     & 
    280                 &                 +(u_oce(ji,jj+1)+u_oce(ji-1,jj+1))*e2t(ji,jj+1)) & 
    281                 &                / (e2t(ji,jj+1)+e2t(ji,jj)) * tmv(ji,jj) 
     280               &                 +(u_oce(ji,jj+1)+u_oce(ji-1,jj+1))*e2t(ji,jj+1)) & 
     281               &                / (e2t(ji,jj+1)+e2t(ji,jj)) * tmv(ji,jj) 
    282282 
    283283            ! Wind stress. 
     
    302302      END DO 
    303303 
    304 ! 
    305 !------------------------------------------------------------------------------! 
    306 ! 3) Solution of the momentum equation, iterative procedure 
    307 !------------------------------------------------------------------------------! 
    308 ! 
     304      ! 
     305      !------------------------------------------------------------------------------! 
     306      ! 3) Solution of the momentum equation, iterative procedure 
     307      !------------------------------------------------------------------------------! 
     308      ! 
    309309      ! Time step for subcycling 
    310310      dtevp  = rdt_ice / nevp 
     
    319319      zs12(:,:) = stress12_i(:,:) 
    320320 
    321                                                       !----------------------! 
     321      !----------------------! 
    322322      DO jter = 1 , nevp                              !    loop over jter    ! 
    323                                                       !----------------------!         
     323         !----------------------!         
    324324         DO jj = k_j1, k_jpj-1 
    325325            zu_ice(:,jj) = u_ice(:,jj) ! velocity at previous time step 
    326326            zv_ice(:,jj) = v_ice(:,jj) 
    327          END DO       
     327         END DO 
    328328 
    329329         DO jj = k_j1+1, k_jpj-1 
    330330            DO ji = fs_2, fs_jpim1 
    331331 
    332           
    333          !- Divergence, tension and shear (Section a. Appendix B of Hunke & Dukowicz, 2002) 
    334          !- zdd(:,:), zdt(:,:): divergence and tension at centre of grid cells 
    335          !- zds(:,:): shear on northeast corner of grid cells 
    336                  ! 
    337                  !- IMPORTANT REMINDER: Dear Gurvan, note that, the way these terms are coded,  
    338                  !                      there are many repeated calculations.  
    339                  !                      Speed could be improved by regrouping terms. For 
    340                  !                      the moment, however, the stress is on clarity of coding to avoid 
    341                  !                      bugs (Martin, for Miguel). 
    342                  ! 
    343                  !- ALSO: arrays zdd, zdt, zds and delta could  
    344                  !  be removed in the future to minimise memory demand. 
    345                  ! 
    346                  !- MORE NOTES: Note that we are calculating deformation rates and stresses on the corners of 
    347                  !              grid cells, exactly as in the B grid case. For simplicity, the indexation on 
    348                  !              the corners is the same as in the B grid. 
    349                  ! 
    350                  ! 
    351                  zdd(ji,jj) = ( e2u(ji,jj)*u_ice(ji,jj)                      & 
    352                     &          -e2u(ji-1,jj)*u_ice(ji-1,jj)                  & 
    353                     &          +e1v(ji,jj)*v_ice(ji,jj)                      & 
    354                     &          -e1v(ji,jj-1)*v_ice(ji,jj-1)                  & 
    355                     &          )                                             & 
    356                     &         / area(ji,jj) 
    357  
    358                  zdt(ji,jj) = ( ( u_ice(ji,jj)/e2u(ji,jj)                    & 
    359                     &            -u_ice(ji-1,jj)/e2u(ji-1,jj)                & 
    360                     &           )*e2t(ji,jj)*e2t(ji,jj)                      & 
    361                     &          -( v_ice(ji,jj)/e1v(ji,jj)                    & 
    362                     &            -v_ice(ji,jj-1)/e1v(ji,jj-1)                & 
    363                     &           )*e1t(ji,jj)*e1t(ji,jj)                      & 
    364                     &         )                                              & 
    365                     &        / area(ji,jj) 
    366  
    367                  ! 
    368                  zds(ji,jj) = ( ( u_ice(ji,jj+1)/e1u(ji,jj+1)                & 
    369                     &            -u_ice(ji,jj)/e1u(ji,jj)                    & 
    370                     &           )*e1f(ji,jj)*e1f(ji,jj)                      & 
    371                     &          +( v_ice(ji+1,jj)/e2v(ji+1,jj)                & 
    372                     &            -v_ice(ji,jj)/e2v(ji,jj)                    & 
    373                     &           )*e2f(ji,jj)*e2f(ji,jj)                      & 
    374                     &         )                                              & 
    375                     &        / ( e1f(ji,jj) * e2f(ji,jj) ) * ( 2.0 - tmf(ji,jj) ) & 
    376                     &        * tmi(ji,jj) * tmi(ji,jj+1)                     & 
    377                     &        * tmi(ji+1,jj) * tmi(ji+1,jj+1) 
    378  
    379   
    380                  v_ice1(ji,jj)  = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji+1,jj)   & 
    381                     &                 +(v_ice(ji+1,jj)+v_ice(ji+1,jj-1))*e1t(ji,jj)) & 
    382                     &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj)  
    383  
    384                  u_ice2(ji,jj)  = 0.5*( (u_ice(ji,jj)+u_ice(ji-1,jj))*e2t(ji,jj+1)   & 
    385                     &                 +(u_ice(ji,jj+1)+u_ice(ji-1,jj+1))*e2t(ji,jj)) & 
    386                     &               /(e2t(ji,jj+1)+e2t(ji,jj)) * tmv(ji,jj) 
    387  
    388               END DO 
    389            END DO 
    390            CALL lbc_lnk( v_ice1(:,:), 'U', -1. ) 
    391            CALL lbc_lnk( u_ice2(:,:), 'V', -1. ) 
    392  
    393 !CDIR NOVERRCHK 
    394            DO jj = k_j1+1, k_jpj-1 
    395 !CDIR NOVERRCHK 
    396               DO ji = fs_2, fs_jpim1 
    397  
    398                  !- Calculate Delta at centre of grid cells 
    399                  zdst       = (  e2u( ji  , jj   ) * v_ice1(ji,jj)            & 
    400                     &          - e2u( ji-1, jj   ) * v_ice1(ji-1,jj)          & 
    401                     &          + e1v( ji  , jj   ) * u_ice2(ji,jj)            & 
    402                     &          - e1v( ji  , jj-1 ) * u_ice2(ji,jj-1)          & 
    403                     &          )                                              & 
    404                     &         / area(ji,jj) 
    405  
    406                  delta = SQRT( zdd(ji,jj)*zdd(ji,jj) +                        &  
    407      &                       ( zdt(ji,jj)*zdt(ji,jj) + zdst*zdst ) * usecc2 )   
    408                  deltat(ji,jj) = MAX( SQRT(zdd(ji,jj)**2 +                    & 
    409                                  (zdt(ji,jj)**2 + zdst**2)*usecc2), creepl ) 
    410  
    411                  !-Calculate stress tensor components zs1 and zs2  
    412                  !-at centre of grid cells (see section 3.5 of CICE user's guide). 
    413                  zs1(ji,jj) = ( zs1(ji,jj) & 
    414                     &          - dtotel*( ( 1.0 - alphaevp) * zs1(ji,jj) +    & 
    415                     &            ( delta / deltat(ji,jj) - zdd(ji,jj) / deltat(ji,jj) ) & 
    416                                  * zpresh(ji,jj) ) )                          &        
    417                     &        / ( 1.0 + alphaevp * dtotel ) 
    418  
    419                  zs2(ji,jj) = ( zs2(ji,jj)   & 
    420                     &          - dtotel*((1.0-alphaevp)*ecc2*zs2(ji,jj) -  & 
    421                                  zdt(ji,jj)/deltat(ji,jj)*zpresh(ji,jj)) ) & 
    422                     &        / ( 1.0 + alphaevp*ecc2*dtotel ) 
    423  
    424               END DO 
    425            END DO 
    426  
    427            CALL lbc_lnk( zs1(:,:), 'T', 1. ) 
    428            CALL lbc_lnk( zs2(:,:), 'T', 1. ) 
    429  
    430 !CDIR NOVERRCHK 
    431            DO jj = k_j1+1, k_jpj-1 
    432 !CDIR NOVERRCHK 
    433               DO ji = fs_2, fs_jpim1 
    434                  !- Calculate Delta on corners 
    435                  zddc  =      ( ( v_ice1(ji,jj+1)/e1u(ji,jj+1)                & 
    436                     &            -v_ice1(ji,jj)/e1u(ji,jj)                    & 
    437                     &           )*e1f(ji,jj)*e1f(ji,jj)                       & 
    438                     &          +( u_ice2(ji+1,jj)/e2v(ji+1,jj)                & 
    439                     &            -u_ice2(ji,jj)/e2v(ji,jj)                    & 
    440                     &           )*e2f(ji,jj)*e2f(ji,jj)                       & 
    441                     &         )                                               & 
    442                     &        / ( e1f(ji,jj) * e2f(ji,jj) ) 
    443  
    444                  zdtc  =      (-( v_ice1(ji,jj+1)/e1u(ji,jj+1)                & 
    445                     &            -v_ice1(ji,jj)/e1u(ji,jj)                    & 
    446                     &           )*e1f(ji,jj)*e1f(ji,jj)                       & 
    447                     &          +( u_ice2(ji+1,jj)/e2v(ji+1,jj)                & 
    448                     &            -u_ice2(ji,jj)/e2v(ji,jj)                    & 
    449                     &           )*e2f(ji,jj)*e2f(ji,jj)                       & 
    450                     &         )                                               & 
    451                     &        / ( e1f(ji,jj) * e2f(ji,jj) ) 
    452  
    453                  deltac(ji,jj) = SQRT(zddc**2+(zdtc**2+zds(ji,jj)**2)*usecc2) + creepl 
    454  
    455                  !-Calculate stress tensor component zs12 at corners (see section 3.5 of CICE user's guide). 
    456                  zs12(ji,jj) = ( zs12(ji,jj)      & 
    457                     &        - dtotel*( (1.0-alphaevp)*ecc2*zs12(ji,jj) - zds(ji,jj) / & 
    458                     &          ( 2.0*deltac(ji,jj) ) * zpreshc(ji,jj))) & 
    459                     &         / ( 1.0 + alphaevp*ecc2*dtotel )  
    460  
    461               END DO ! ji 
    462            END DO ! jj 
    463  
    464            CALL lbc_lnk( zs12(:,:), 'F', 1. ) 
    465  
    466            ! Ice internal stresses (Appendix C of Hunke and Dukowicz, 2002) 
    467            DO jj = k_j1+1, k_jpj-1 
    468               DO ji = fs_2, fs_jpim1 
    469                 !- contribution of zs1, zs2 and zs12 to zf1 
    470                 zf1(ji,jj) = 0.5*( (zs1(ji+1,jj)-zs1(ji,jj))*e2u(ji,jj) & 
    471                    &              +(zs2(ji+1,jj)*e2t(ji+1,jj)**2-zs2(ji,jj)*e2t(ji,jj)**2)/e2u(ji,jj) & 
    472                    &              +2.0*(zs12(ji,jj)*e1f(ji,jj)**2-zs12(ji,jj-1)*e1f(ji,jj-1)**2)/e1u(ji,jj) & 
    473                    &             ) / ( e1u(ji,jj)*e2u(ji,jj) ) 
    474                 ! contribution of zs1, zs2 and zs12 to zf2 
    475                 zf2(ji,jj) = 0.5*( (zs1(ji,jj+1)-zs1(ji,jj))*e1v(ji,jj) & 
    476                    &              -(zs2(ji,jj+1)*e1t(ji,jj+1)**2 - zs2(ji,jj)*e1t(ji,jj)**2)/e1v(ji,jj) & 
    477                    &              + 2.0*(zs12(ji,jj)*e2f(ji,jj)**2 -    & 
    478                                     zs12(ji-1,jj)*e2f(ji-1,jj)**2)/e2v(ji,jj) & 
    479                    &             ) / ( e1v(ji,jj)*e2v(ji,jj) ) 
    480               END DO 
    481            END DO 
     332                
     333               !- Divergence, tension and shear (Section a. Appendix B of Hunke & Dukowicz, 2002) 
     334               !- zdd(:,:), zdt(:,:): divergence and tension at centre of grid cells 
     335               !- zds(:,:): shear on northeast corner of grid cells 
     336               ! 
     337               !- IMPORTANT REMINDER: Dear Gurvan, note that, the way these terms are coded,  
     338               !                      there are many repeated calculations.  
     339               !                      Speed could be improved by regrouping terms. For 
     340               !                      the moment, however, the stress is on clarity of coding to avoid 
     341               !                      bugs (Martin, for Miguel). 
     342               ! 
     343               !- ALSO: arrays zdd, zdt, zds and delta could  
     344               !  be removed in the future to minimise memory demand. 
     345               ! 
     346               !- MORE NOTES: Note that we are calculating deformation rates and stresses on the corners of 
     347               !              grid cells, exactly as in the B grid case. For simplicity, the indexation on 
     348               !              the corners is the same as in the B grid. 
     349               ! 
     350               ! 
     351               zdd(ji,jj) = ( e2u(ji,jj)*u_ice(ji,jj)                      & 
     352                  &          -e2u(ji-1,jj)*u_ice(ji-1,jj)                  & 
     353                  &          +e1v(ji,jj)*v_ice(ji,jj)                      & 
     354                  &          -e1v(ji,jj-1)*v_ice(ji,jj-1)                  & 
     355                  &          )                                             & 
     356                  &         / area(ji,jj) 
     357 
     358               zdt(ji,jj) = ( ( u_ice(ji,jj)/e2u(ji,jj)                    & 
     359                  &            -u_ice(ji-1,jj)/e2u(ji-1,jj)                & 
     360                  &           )*e2t(ji,jj)*e2t(ji,jj)                      & 
     361                  &          -( v_ice(ji,jj)/e1v(ji,jj)                    & 
     362                  &            -v_ice(ji,jj-1)/e1v(ji,jj-1)                & 
     363                  &           )*e1t(ji,jj)*e1t(ji,jj)                      & 
     364                  &         )                                              & 
     365                  &        / area(ji,jj) 
     366 
     367               ! 
     368               zds(ji,jj) = ( ( u_ice(ji,jj+1)/e1u(ji,jj+1)                & 
     369                  &            -u_ice(ji,jj)/e1u(ji,jj)                    & 
     370                  &           )*e1f(ji,jj)*e1f(ji,jj)                      & 
     371                  &          +( v_ice(ji+1,jj)/e2v(ji+1,jj)                & 
     372                  &            -v_ice(ji,jj)/e2v(ji,jj)                    & 
     373                  &           )*e2f(ji,jj)*e2f(ji,jj)                      & 
     374                  &         )                                              & 
     375                  &        / ( e1f(ji,jj) * e2f(ji,jj) ) * ( 2.0 - tmf(ji,jj) ) & 
     376                  &        * tmi(ji,jj) * tmi(ji,jj+1)                     & 
     377                  &        * tmi(ji+1,jj) * tmi(ji+1,jj+1) 
     378 
     379 
     380               v_ice1(ji,jj)  = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji+1,jj)   & 
     381                  &                 +(v_ice(ji+1,jj)+v_ice(ji+1,jj-1))*e1t(ji,jj)) & 
     382                  &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj)  
     383 
     384               u_ice2(ji,jj)  = 0.5*( (u_ice(ji,jj)+u_ice(ji-1,jj))*e2t(ji,jj+1)   & 
     385                  &                 +(u_ice(ji,jj+1)+u_ice(ji-1,jj+1))*e2t(ji,jj)) & 
     386                  &               /(e2t(ji,jj+1)+e2t(ji,jj)) * tmv(ji,jj) 
     387 
     388            END DO 
     389         END DO 
     390         CALL lbc_lnk( v_ice1(:,:), 'U', -1. ) 
     391         CALL lbc_lnk( u_ice2(:,:), 'V', -1. ) 
     392 
     393!CDIR NOVERRCHK 
     394         DO jj = k_j1+1, k_jpj-1 
     395!CDIR NOVERRCHK 
     396            DO ji = fs_2, fs_jpim1 
     397 
     398               !- Calculate Delta at centre of grid cells 
     399               zdst       = (  e2u( ji  , jj   ) * v_ice1(ji,jj)            & 
     400                  &          - e2u( ji-1, jj   ) * v_ice1(ji-1,jj)          & 
     401                  &          + e1v( ji  , jj   ) * u_ice2(ji,jj)            & 
     402                  &          - e1v( ji  , jj-1 ) * u_ice2(ji,jj-1)          & 
     403                  &          )                                              & 
     404                  &         / area(ji,jj) 
     405 
     406               delta = SQRT( zdd(ji,jj)*zdd(ji,jj) +                        &  
     407                  &                       ( zdt(ji,jj)*zdt(ji,jj) + zdst*zdst ) * usecc2 )   
     408               deltat(ji,jj) = MAX( SQRT(zdd(ji,jj)**2 +                    & 
     409                  (zdt(ji,jj)**2 + zdst**2)*usecc2), creepl ) 
     410 
     411               !-Calculate stress tensor components zs1 and zs2  
     412               !-at centre of grid cells (see section 3.5 of CICE user's guide). 
     413               zs1(ji,jj) = ( zs1(ji,jj) & 
     414                  &          - dtotel*( ( 1.0 - alphaevp) * zs1(ji,jj) +    & 
     415                  &            ( delta / deltat(ji,jj) - zdd(ji,jj) / deltat(ji,jj) ) & 
     416                  * zpresh(ji,jj) ) )                          &        
     417                  &        / ( 1.0 + alphaevp * dtotel ) 
     418 
     419               zs2(ji,jj) = ( zs2(ji,jj)   & 
     420                  &          - dtotel*((1.0-alphaevp)*ecc2*zs2(ji,jj) -  & 
     421                  zdt(ji,jj)/deltat(ji,jj)*zpresh(ji,jj)) ) & 
     422                  &        / ( 1.0 + alphaevp*ecc2*dtotel ) 
     423 
     424            END DO 
     425         END DO 
     426 
     427         CALL lbc_lnk( zs1(:,:), 'T', 1. ) 
     428         CALL lbc_lnk( zs2(:,:), 'T', 1. ) 
     429 
     430!CDIR NOVERRCHK 
     431         DO jj = k_j1+1, k_jpj-1 
     432!CDIR NOVERRCHK 
     433            DO ji = fs_2, fs_jpim1 
     434               !- Calculate Delta on corners 
     435               zddc  =      ( ( v_ice1(ji,jj+1)/e1u(ji,jj+1)                & 
     436                  &            -v_ice1(ji,jj)/e1u(ji,jj)                    & 
     437                  &           )*e1f(ji,jj)*e1f(ji,jj)                       & 
     438                  &          +( u_ice2(ji+1,jj)/e2v(ji+1,jj)                & 
     439                  &            -u_ice2(ji,jj)/e2v(ji,jj)                    & 
     440                  &           )*e2f(ji,jj)*e2f(ji,jj)                       & 
     441                  &         )                                               & 
     442                  &        / ( e1f(ji,jj) * e2f(ji,jj) ) 
     443 
     444               zdtc  =      (-( v_ice1(ji,jj+1)/e1u(ji,jj+1)                & 
     445                  &            -v_ice1(ji,jj)/e1u(ji,jj)                    & 
     446                  &           )*e1f(ji,jj)*e1f(ji,jj)                       & 
     447                  &          +( u_ice2(ji+1,jj)/e2v(ji+1,jj)                & 
     448                  &            -u_ice2(ji,jj)/e2v(ji,jj)                    & 
     449                  &           )*e2f(ji,jj)*e2f(ji,jj)                       & 
     450                  &         )                                               & 
     451                  &        / ( e1f(ji,jj) * e2f(ji,jj) ) 
     452 
     453               deltac(ji,jj) = SQRT(zddc**2+(zdtc**2+zds(ji,jj)**2)*usecc2) + creepl 
     454 
     455               !-Calculate stress tensor component zs12 at corners (see section 3.5 of CICE user's guide). 
     456               zs12(ji,jj) = ( zs12(ji,jj)      & 
     457                  &        - dtotel*( (1.0-alphaevp)*ecc2*zs12(ji,jj) - zds(ji,jj) / & 
     458                  &          ( 2.0*deltac(ji,jj) ) * zpreshc(ji,jj))) & 
     459                  &         / ( 1.0 + alphaevp*ecc2*dtotel )  
     460 
     461            END DO ! ji 
     462         END DO ! jj 
     463 
     464         CALL lbc_lnk( zs12(:,:), 'F', 1. ) 
     465 
     466         ! Ice internal stresses (Appendix C of Hunke and Dukowicz, 2002) 
     467         DO jj = k_j1+1, k_jpj-1 
     468            DO ji = fs_2, fs_jpim1 
     469               !- contribution of zs1, zs2 and zs12 to zf1 
     470               zf1(ji,jj) = 0.5*( (zs1(ji+1,jj)-zs1(ji,jj))*e2u(ji,jj) & 
     471                  &              +(zs2(ji+1,jj)*e2t(ji+1,jj)**2-zs2(ji,jj)*e2t(ji,jj)**2)/e2u(ji,jj) & 
     472                  &              +2.0*(zs12(ji,jj)*e1f(ji,jj)**2-zs12(ji,jj-1)*e1f(ji,jj-1)**2)/e1u(ji,jj) & 
     473                  &             ) / ( e1u(ji,jj)*e2u(ji,jj) ) 
     474               ! contribution of zs1, zs2 and zs12 to zf2 
     475               zf2(ji,jj) = 0.5*( (zs1(ji,jj+1)-zs1(ji,jj))*e1v(ji,jj) & 
     476                  &              -(zs2(ji,jj+1)*e1t(ji,jj+1)**2 - zs2(ji,jj)*e1t(ji,jj)**2)/e1v(ji,jj) & 
     477                  &              + 2.0*(zs12(ji,jj)*e2f(ji,jj)**2 -    & 
     478                  zs12(ji-1,jj)*e2f(ji-1,jj)**2)/e2v(ji,jj) & 
     479                  &             ) / ( e1v(ji,jj)*e2v(ji,jj) ) 
     480            END DO 
     481         END DO 
    482482         ! 
    483483         ! Computation of ice velocity 
     
    485485         ! Both the Coriolis term and the ice-ocean drag are solved semi-implicitly. 
    486486         ! 
    487            IF (MOD(jter,2).eq.0) THEN  
    488  
    489 !CDIR NOVERRCHK 
    490               DO jj = k_j1+1, k_jpj-1 
    491 !CDIR NOVERRCHK 
    492                  DO ji = fs_2, fs_jpim1 
    493                     zmask        = (1.0-MAX(rzero,SIGN(rone,-zmass1(ji,jj))))*tmu(ji,jj) 
    494                     zsang        = SIGN ( 1.0 , fcor(ji,jj) ) * sangvg 
    495                     z0           = zmass1(ji,jj)/dtevp 
    496  
    497                     ! SB modif because ocean has no slip boundary condition 
    498                     zv_ice1       = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji,jj)         & 
    499                       &                 +(v_ice(ji+1,jj)+v_ice(ji+1,jj-1))*e1t(ji+1,jj))   & 
    500                       &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj) 
    501                     za           = rhoco*SQRT((u_ice(ji,jj)-u_oce1(ji,jj))**2 + & 
    502                                               (zv_ice1-v_oce1(ji,jj))**2) * (1.0-zfrld1(ji,jj)) 
    503                     zr           = z0*u_ice(ji,jj) + zf1(ji,jj) + za1ct(ji,jj) + & 
    504                                    za*(cangvg*u_oce1(ji,jj)-zsang*v_oce1(ji,jj)) 
    505                     zcca         = z0+za*cangvg 
    506                     zccb         = zcorl1(ji,jj)+za*zsang 
    507                     u_ice(ji,jj) = (zr+zccb*zv_ice1)/(zcca+epsd)*zmask  
    508  
    509                  END DO 
    510               END DO 
    511  
    512               CALL lbc_lnk( u_ice(:,:), 'U', -1. ) 
    513  
    514 !CDIR NOVERRCHK 
    515               DO jj = k_j1+1, k_jpj-1 
    516 !CDIR NOVERRCHK 
    517                  DO ji = fs_2, fs_jpim1 
    518  
    519                     zmask        = (1.0-MAX(rzero,SIGN(rone,-zmass2(ji,jj))))*tmv(ji,jj) 
    520                     zsang        = SIGN(1.0,fcor(ji,jj))*sangvg 
    521                     z0           = zmass2(ji,jj)/dtevp 
    522                     ! SB modif because ocean has no slip boundary condition 
    523                     zu_ice2       = 0.5*( (u_ice(ji,jj)+u_ice(ji-1,jj))*e2t(ji,jj)     & 
    524                 &                 + (u_ice(ji,jj+1)+u_ice(ji-1,jj+1))*e2t(ji,jj+1))   & 
    525                 &               /(e2t(ji,jj+1)+e2t(ji,jj)) * tmv(ji,jj) 
    526                     za           = rhoco*SQRT((zu_ice2-u_oce2(ji,jj))**2 + &  
    527                                    (v_ice(ji,jj)-v_oce2(ji,jj))**2)*(1.0-zfrld2(ji,jj)) 
    528                     zr           = z0*v_ice(ji,jj) + zf2(ji,jj) + & 
    529                                    za2ct(ji,jj) + za*(cangvg*v_oce2(ji,jj)+zsang*u_oce2(ji,jj)) 
    530                     zcca         = z0+za*cangvg 
    531                     zccb         = zcorl2(ji,jj)+za*zsang 
    532                     v_ice(ji,jj) = (zr-zccb*zu_ice2)/(zcca+epsd)*zmask 
    533  
    534                  END DO 
    535               END DO 
    536  
    537               CALL lbc_lnk( v_ice(:,:), 'V', -1. ) 
     487         IF (MOD(jter,2).eq.0) THEN  
     488 
     489!CDIR NOVERRCHK 
     490            DO jj = k_j1+1, k_jpj-1 
     491!CDIR NOVERRCHK 
     492               DO ji = fs_2, fs_jpim1 
     493                  zmask        = (1.0-MAX(rzero,SIGN(rone,-zmass1(ji,jj))))*tmu(ji,jj) 
     494                  zsang        = SIGN ( 1.0 , fcor(ji,jj) ) * sangvg 
     495                  z0           = zmass1(ji,jj)/dtevp 
     496 
     497                  ! SB modif because ocean has no slip boundary condition 
     498                  zv_ice1       = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji,jj)         & 
     499                     &                 +(v_ice(ji+1,jj)+v_ice(ji+1,jj-1))*e1t(ji+1,jj))   & 
     500                     &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj) 
     501                  za           = rhoco*SQRT((u_ice(ji,jj)-u_oce1(ji,jj))**2 + & 
     502                     (zv_ice1-v_oce1(ji,jj))**2) * (1.0-zfrld1(ji,jj)) 
     503                  zr           = z0*u_ice(ji,jj) + zf1(ji,jj) + za1ct(ji,jj) + & 
     504                     za*(cangvg*u_oce1(ji,jj)-zsang*v_oce1(ji,jj)) 
     505                  zcca         = z0+za*cangvg 
     506                  zccb         = zcorl1(ji,jj)+za*zsang 
     507                  u_ice(ji,jj) = (zr+zccb*zv_ice1)/(zcca+epsd)*zmask  
     508 
     509               END DO 
     510            END DO 
     511 
     512            CALL lbc_lnk( u_ice(:,:), 'U', -1. ) 
     513 
     514!CDIR NOVERRCHK 
     515            DO jj = k_j1+1, k_jpj-1 
     516!CDIR NOVERRCHK 
     517               DO ji = fs_2, fs_jpim1 
     518 
     519                  zmask        = (1.0-MAX(rzero,SIGN(rone,-zmass2(ji,jj))))*tmv(ji,jj) 
     520                  zsang        = SIGN(1.0,fcor(ji,jj))*sangvg 
     521                  z0           = zmass2(ji,jj)/dtevp 
     522                  ! SB modif because ocean has no slip boundary condition 
     523                  zu_ice2       = 0.5*( (u_ice(ji,jj)+u_ice(ji-1,jj))*e2t(ji,jj)     & 
     524                     &                 + (u_ice(ji,jj+1)+u_ice(ji-1,jj+1))*e2t(ji,jj+1))   & 
     525                     &               /(e2t(ji,jj+1)+e2t(ji,jj)) * tmv(ji,jj) 
     526                  za           = rhoco*SQRT((zu_ice2-u_oce2(ji,jj))**2 + &  
     527                     (v_ice(ji,jj)-v_oce2(ji,jj))**2)*(1.0-zfrld2(ji,jj)) 
     528                  zr           = z0*v_ice(ji,jj) + zf2(ji,jj) + & 
     529                     za2ct(ji,jj) + za*(cangvg*v_oce2(ji,jj)+zsang*u_oce2(ji,jj)) 
     530                  zcca         = z0+za*cangvg 
     531                  zccb         = zcorl2(ji,jj)+za*zsang 
     532                  v_ice(ji,jj) = (zr-zccb*zu_ice2)/(zcca+epsd)*zmask 
     533 
     534               END DO 
     535            END DO 
     536 
     537            CALL lbc_lnk( v_ice(:,:), 'V', -1. ) 
    538538 
    539539         ELSE  
    540540!CDIR NOVERRCHK 
    541               DO jj = k_j1+1, k_jpj-1 
    542 !CDIR NOVERRCHK 
    543                  DO ji = fs_2, fs_jpim1 
    544                     zmask        = (1.0-MAX(rzero,SIGN(rone,-zmass2(ji,jj))))*tmv(ji,jj) 
    545                     zsang        = SIGN(1.0,fcor(ji,jj))*sangvg 
    546                     z0           = zmass2(ji,jj)/dtevp 
    547                     ! SB modif because ocean has no slip boundary condition 
    548                     zu_ice2       = 0.5*( (u_ice(ji,jj)+u_ice(ji-1,jj))*e2t(ji,jj)      & 
    549                        &                 +(u_ice(ji,jj+1)+u_ice(ji-1,jj+1))*e2t(ji,jj+1))   & 
    550                        &               /(e2t(ji,jj+1)+e2t(ji,jj)) * tmv(ji,jj)    
    551  
    552                     za           = rhoco*SQRT((zu_ice2-u_oce2(ji,jj))**2 + & 
    553                                    (v_ice(ji,jj)-v_oce2(ji,jj))**2)*(1.0-zfrld2(ji,jj)) 
    554                     zr           = z0*v_ice(ji,jj) + zf2(ji,jj) + & 
    555                                    za2ct(ji,jj) + za*(cangvg*v_oce2(ji,jj)+zsang*u_oce2(ji,jj)) 
    556                     zcca         = z0+za*cangvg 
    557                     zccb         = zcorl2(ji,jj)+za*zsang 
    558                     v_ice(ji,jj) = (zr-zccb*zu_ice2)/(zcca+epsd)*zmask 
    559  
    560                  END DO 
    561               END DO 
    562  
    563               CALL lbc_lnk( v_ice(:,:), 'V', -1. ) 
    564  
    565 !CDIR NOVERRCHK 
    566               DO jj = k_j1+1, k_jpj-1 
    567 !CDIR NOVERRCHK 
    568                  DO ji = fs_2, fs_jpim1 
    569                     zmask        = (1.0-MAX(rzero,SIGN(rone,-zmass1(ji,jj))))*tmu(ji,jj) 
    570                     zsang        = SIGN(1.0,fcor(ji,jj))*sangvg 
    571                     z0           = zmass1(ji,jj)/dtevp 
    572                     ! SB modif because ocean has no slip boundary condition 
    573 ! GG Bug 
    574 !                   zv_ice1       = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji+1,jj)      & 
    575 !                      &                 +(v_ice(ji+1,jj)+v_ice(ji+1,jj-1))*e1t(ji,jj))   & 
    576 !                      &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj) 
    577                     zv_ice1       = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji,jj)      & 
    578                        &                 +(v_ice(ji+1,jj)+v_ice(ji+1,jj-1))*e1t(ji+1,jj))   & 
    579                        &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj) 
    580      
    581                     za           = rhoco*SQRT((u_ice(ji,jj)-u_oce1(ji,jj))**2 + & 
    582                                    (zv_ice1-v_oce1(ji,jj))**2)*(1.0-zfrld1(ji,jj)) 
    583                     zr           = z0*u_ice(ji,jj) + zf1(ji,jj) + za1ct(ji,jj) + & 
    584                                    za*(cangvg*u_oce1(ji,jj)-zsang*v_oce1(ji,jj)) 
    585                     zcca         = z0+za*cangvg 
    586                     zccb         = zcorl1(ji,jj)+za*zsang 
    587                     u_ice(ji,jj) = (zr+zccb*zv_ice1)/(zcca+epsd)*zmask  
    588                  END DO ! ji 
    589               END DO ! jj 
    590  
    591               CALL lbc_lnk( u_ice(:,:), 'U', -1. ) 
    592  
    593       ENDIF  
    594  
    595       IF(ln_ctl) THEN 
    596          !---  Convergence test. 
    597          DO jj = k_j1+1 , k_jpj-1 
    598             zresr(:,jj) = MAX( ABS( u_ice(:,jj) - zu_ice(:,jj) ) ,           & 
    599                           ABS( v_ice(:,jj) - zv_ice(:,jj) ) ) 
    600          END DO 
    601          zresm = MAXVAL( zresr( 1:jpi , k_j1+1:k_jpj-1 ) ) 
    602          IF( lk_mpp )   CALL mpp_max( zresm )   ! max over the global domain 
    603       ENDIF 
    604  
    605       !                                                   ! ==================== ! 
     541            DO jj = k_j1+1, k_jpj-1 
     542!CDIR NOVERRCHK 
     543               DO ji = fs_2, fs_jpim1 
     544                  zmask        = (1.0-MAX(rzero,SIGN(rone,-zmass2(ji,jj))))*tmv(ji,jj) 
     545                  zsang        = SIGN(1.0,fcor(ji,jj))*sangvg 
     546                  z0           = zmass2(ji,jj)/dtevp 
     547                  ! SB modif because ocean has no slip boundary condition 
     548                  zu_ice2       = 0.5*( (u_ice(ji,jj)+u_ice(ji-1,jj))*e2t(ji,jj)      & 
     549                     &                 +(u_ice(ji,jj+1)+u_ice(ji-1,jj+1))*e2t(ji,jj+1))   & 
     550                     &               /(e2t(ji,jj+1)+e2t(ji,jj)) * tmv(ji,jj)    
     551 
     552                  za           = rhoco*SQRT((zu_ice2-u_oce2(ji,jj))**2 + & 
     553                     (v_ice(ji,jj)-v_oce2(ji,jj))**2)*(1.0-zfrld2(ji,jj)) 
     554                  zr           = z0*v_ice(ji,jj) + zf2(ji,jj) + & 
     555                     za2ct(ji,jj) + za*(cangvg*v_oce2(ji,jj)+zsang*u_oce2(ji,jj)) 
     556                  zcca         = z0+za*cangvg 
     557                  zccb         = zcorl2(ji,jj)+za*zsang 
     558                  v_ice(ji,jj) = (zr-zccb*zu_ice2)/(zcca+epsd)*zmask 
     559 
     560               END DO 
     561            END DO 
     562 
     563            CALL lbc_lnk( v_ice(:,:), 'V', -1. ) 
     564 
     565!CDIR NOVERRCHK 
     566            DO jj = k_j1+1, k_jpj-1 
     567!CDIR NOVERRCHK 
     568               DO ji = fs_2, fs_jpim1 
     569                  zmask        = (1.0-MAX(rzero,SIGN(rone,-zmass1(ji,jj))))*tmu(ji,jj) 
     570                  zsang        = SIGN(1.0,fcor(ji,jj))*sangvg 
     571                  z0           = zmass1(ji,jj)/dtevp 
     572                  ! SB modif because ocean has no slip boundary condition 
     573                  ! GG Bug 
     574                  !                   zv_ice1       = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji+1,jj)      & 
     575                  !                      &                 +(v_ice(ji+1,jj)+v_ice(ji+1,jj-1))*e1t(ji,jj))   & 
     576                  !                      &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj) 
     577                  zv_ice1       = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji,jj)      & 
     578                     &                 +(v_ice(ji+1,jj)+v_ice(ji+1,jj-1))*e1t(ji+1,jj))   & 
     579                     &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj) 
     580 
     581                  za           = rhoco*SQRT((u_ice(ji,jj)-u_oce1(ji,jj))**2 + & 
     582                     (zv_ice1-v_oce1(ji,jj))**2)*(1.0-zfrld1(ji,jj)) 
     583                  zr           = z0*u_ice(ji,jj) + zf1(ji,jj) + za1ct(ji,jj) + & 
     584                     za*(cangvg*u_oce1(ji,jj)-zsang*v_oce1(ji,jj)) 
     585                  zcca         = z0+za*cangvg 
     586                  zccb         = zcorl1(ji,jj)+za*zsang 
     587                  u_ice(ji,jj) = (zr+zccb*zv_ice1)/(zcca+epsd)*zmask  
     588               END DO ! ji 
     589            END DO ! jj 
     590 
     591            CALL lbc_lnk( u_ice(:,:), 'U', -1. ) 
     592 
     593         ENDIF 
     594 
     595         IF(ln_ctl) THEN 
     596            !---  Convergence test. 
     597            DO jj = k_j1+1 , k_jpj-1 
     598               zresr(:,jj) = MAX( ABS( u_ice(:,jj) - zu_ice(:,jj) ) ,           & 
     599                  ABS( v_ice(:,jj) - zv_ice(:,jj) ) ) 
     600            END DO 
     601            zresm = MAXVAL( zresr( 1:jpi , k_j1+1:k_jpj-1 ) ) 
     602            IF( lk_mpp )   CALL mpp_max( zresm )   ! max over the global domain 
     603         ENDIF 
     604 
     605         !                                                   ! ==================== ! 
    606606      END DO                                              !  end loop over jter  ! 
    607607      !                                                   ! ==================== ! 
    608608 
    609 ! 
    610 !------------------------------------------------------------------------------! 
    611 ! 4) Prevent ice velocities when the ice is thin 
    612 !------------------------------------------------------------------------------! 
    613 ! 
     609      ! 
     610      !------------------------------------------------------------------------------! 
     611      ! 4) Prevent ice velocities when the ice is thin 
     612      !------------------------------------------------------------------------------! 
     613      ! 
    614614      ! If the ice thickness is below 1cm then ice velocity should equal the 
    615615      ! ocean velocity,  
     
    636636            zdummy = zindb * vt_i(ji,jj) / MAX(at_i(ji,jj) , 1.0e-06 ) 
    637637            IF ( zdummy .LE. 5.0e-2 ) THEN 
    638                 v_ice1(ji,jj)  = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji+1,jj)   & 
    639                    &                 +(v_ice(ji+1,jj)+v_ice(ji+1,jj-1))*e1t(ji,jj)) & 
    640                    &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj) 
    641  
    642                 u_ice2(ji,jj)  = 0.5*( (u_ice(ji,jj)+u_ice(ji-1,jj))*e2t(ji,jj+1)   & 
    643                    &                 +(u_ice(ji,jj+1)+u_ice(ji-1,jj+1))*e2t(ji,jj)) & 
    644                    &               /(e2t(ji,jj+1)+e2t(ji,jj)) * tmv(ji,jj) 
    645              ENDIF ! zdummy 
     638               v_ice1(ji,jj)  = 0.5*( (v_ice(ji,jj)+v_ice(ji,jj-1))*e1t(ji+1,jj)   & 
     639                  &                 +(v_ice(ji+1,jj)+v_ice(ji+1,jj-1))*e1t(ji,jj)) & 
     640                  &               /(e1t(ji+1,jj)+e1t(ji,jj)) * tmu(ji,jj) 
     641 
     642               u_ice2(ji,jj)  = 0.5*( (u_ice(ji,jj)+u_ice(ji-1,jj))*e2t(ji,jj+1)   & 
     643                  &                 +(u_ice(ji,jj+1)+u_ice(ji-1,jj+1))*e2t(ji,jj)) & 
     644                  &               /(e2t(ji,jj+1)+e2t(ji,jj)) * tmv(ji,jj) 
     645            ENDIF ! zdummy 
    646646         END DO 
    647647      END DO 
     
    662662            IF ( zdummy .LE. 5.0e-2 ) THEN 
    663663 
    664             zdd(ji,jj) = ( e2u(ji,jj)*u_ice(ji,jj)                      & 
    665                &          -e2u(ji-1,jj)*u_ice(ji-1,jj)                  & 
    666                &          +e1v(ji,jj)*v_ice(ji,jj)                      & 
    667                &          -e1v(ji,jj-1)*v_ice(ji,jj-1)                  & 
    668                &         )                                              & 
    669                &         / area(ji,jj) 
    670  
    671             zdt(ji,jj) = ( ( u_ice(ji,jj)/e2u(ji,jj)                    & 
    672                &            -u_ice(ji-1,jj)/e2u(ji-1,jj)                & 
    673                &           )*e2t(ji,jj)*e2t(ji,jj)                      & 
    674                &          -( v_ice(ji,jj)/e1v(ji,jj)                    & 
    675                &            -v_ice(ji,jj-1)/e1v(ji,jj-1)                & 
    676                &           )*e1t(ji,jj)*e1t(ji,jj)                      & 
    677                &         )                                              & 
    678                &        / area(ji,jj) 
    679             ! 
    680             ! SB modif because ocean has no slip boundary condition  
    681             zds(ji,jj) = ( ( u_ice(ji,jj+1) / e1u(ji,jj+1)              & 
    682                &           - u_ice(ji,jj)   / e1u(ji,jj) )              & 
    683                &           * e1f(ji,jj) * e1f(ji,jj)                    & 
    684                &          + ( v_ice(ji+1,jj) / e2v(ji+1,jj)             & 
    685                &            - v_ice(ji,jj)  / e2v(ji,jj) )              & 
    686                &           * e2f(ji,jj) * e2f(ji,jj) )                  & 
    687                &        / ( e1f(ji,jj) * e2f(ji,jj) ) * ( 2.0 - tmf(ji,jj) ) & 
    688                &        * tmi(ji,jj) * tmi(ji,jj+1)                     & 
    689                &        * tmi(ji+1,jj) * tmi(ji+1,jj+1) 
    690  
    691              zdst       = (  e2u( ji  , jj   ) * v_ice1(ji,jj)          & 
    692                &          - e2u( ji-1, jj   ) * v_ice1(ji-1,jj)         & 
    693                &          + e1v( ji  , jj   ) * u_ice2(ji,jj)           & 
    694                &          - e1v( ji  , jj-1 ) * u_ice2(ji,jj-1)         &  
    695                &          )                                             & 
    696                &         / area(ji,jj) 
    697  
    698              deltat(ji,jj) = SQRT( zdd(ji,jj)*zdd(ji,jj) + &  
    699      &                          ( zdt(ji,jj)*zdt(ji,jj) + zdst*zdst ) * usecc2 &  
    700      &                          ) + creepl 
    701  
    702              ENDIF ! zdummy 
     664               zdd(ji,jj) = ( e2u(ji,jj)*u_ice(ji,jj)                      & 
     665                  &          -e2u(ji-1,jj)*u_ice(ji-1,jj)                  & 
     666                  &          +e1v(ji,jj)*v_ice(ji,jj)                      & 
     667                  &          -e1v(ji,jj-1)*v_ice(ji,jj-1)                  & 
     668                  &         )                                              & 
     669                  &         / area(ji,jj) 
     670 
     671               zdt(ji,jj) = ( ( u_ice(ji,jj)/e2u(ji,jj)                    & 
     672                  &            -u_ice(ji-1,jj)/e2u(ji-1,jj)                & 
     673                  &           )*e2t(ji,jj)*e2t(ji,jj)                      & 
     674                  &          -( v_ice(ji,jj)/e1v(ji,jj)                    & 
     675                  &            -v_ice(ji,jj-1)/e1v(ji,jj-1)                & 
     676                  &           )*e1t(ji,jj)*e1t(ji,jj)                      & 
     677                  &         )                                              & 
     678                  &        / area(ji,jj) 
     679               ! 
     680               ! SB modif because ocean has no slip boundary condition  
     681               zds(ji,jj) = ( ( u_ice(ji,jj+1) / e1u(ji,jj+1)              & 
     682                  &           - u_ice(ji,jj)   / e1u(ji,jj) )              & 
     683                  &           * e1f(ji,jj) * e1f(ji,jj)                    & 
     684                  &          + ( v_ice(ji+1,jj) / e2v(ji+1,jj)             & 
     685                  &            - v_ice(ji,jj)  / e2v(ji,jj) )              & 
     686                  &           * e2f(ji,jj) * e2f(ji,jj) )                  & 
     687                  &        / ( e1f(ji,jj) * e2f(ji,jj) ) * ( 2.0 - tmf(ji,jj) ) & 
     688                  &        * tmi(ji,jj) * tmi(ji,jj+1)                     & 
     689                  &        * tmi(ji+1,jj) * tmi(ji+1,jj+1) 
     690 
     691               zdst       = (  e2u( ji  , jj   ) * v_ice1(ji,jj)          & 
     692                  &          - e2u( ji-1, jj   ) * v_ice1(ji-1,jj)         & 
     693                  &          + e1v( ji  , jj   ) * u_ice2(ji,jj)           & 
     694                  &          - e1v( ji  , jj-1 ) * u_ice2(ji,jj-1)         &  
     695                  &          )                                             & 
     696                  &         / area(ji,jj) 
     697 
     698               deltat(ji,jj) = SQRT( zdd(ji,jj)*zdd(ji,jj) + &  
     699                  &                          ( zdt(ji,jj)*zdt(ji,jj) + zdst*zdst ) * usecc2 &  
     700                  &                          ) + creepl 
     701 
     702            ENDIF ! zdummy 
    703703 
    704704         END DO !jj 
    705705      END DO !ji 
    706 ! 
    707 !------------------------------------------------------------------------------! 
    708 ! 5) Store stress tensor and its invariants 
    709 !------------------------------------------------------------------------------! 
    710 ! 
     706      ! 
     707      !------------------------------------------------------------------------------! 
     708      ! 5) Store stress tensor and its invariants 
     709      !------------------------------------------------------------------------------! 
     710      ! 
    711711      ! * Invariants of the stress tensor are required for limitd_me 
    712712      ! accelerates convergence and improves stability 
     
    729729      stress12_i(:,:) = zs12(:,:) 
    730730 
    731 ! 
    732 !------------------------------------------------------------------------------! 
    733 ! 6) Control prints of residual and charge ellipse 
    734 !------------------------------------------------------------------------------! 
    735 ! 
     731      ! 
     732      !------------------------------------------------------------------------------! 
     733      ! 6) Control prints of residual and charge ellipse 
     734      !------------------------------------------------------------------------------! 
     735      ! 
    736736      ! print the residual for convergence 
    737737      IF(ln_ctl) THEN 
Note: See TracChangeset for help on using the changeset viewer.