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 4205 for branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90 – NEMO

Ignore:
Timestamp:
2013-11-14T18:02:06+01:00 (10 years ago)
Author:
clem
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90

    r4161 r4205  
    123123 
    124124      REAL(wp) ::   dtevp              ! time step for subcycling 
    125       REAL(wp) ::   dtotel, ecc2      ! square of yield ellipse eccenticity 
     125      REAL(wp) ::   dtotel, ecc2, ecci ! square of yield ellipse eccenticity 
    126126      REAL(wp) ::   z0, zr, zcca, zccb ! temporary scalars 
    127127      REAL(wp) ::   zu_ice2, zv_ice1   ! 
     
    199199            zc1(ji,jj)    = tms(ji,jj) * ( rhosn * vt_s(ji,jj) + rhoic * vt_i(ji,jj) ) 
    200200#if defined key_lim3 
    201             zpresh(ji,jj) = tms(ji,jj) *  strength(ji,jj) * 0.5_wp 
     201            zpresh(ji,jj) = tms(ji,jj) *  strength(ji,jj) 
    202202#endif 
    203203#if defined key_lim2 
     
    325325      !-ecc2: square of yield ellipse eccenticrity (reminder: must become a namelist parameter) 
    326326      ecc2 = ecc * ecc 
     327      ecci = 1. / ecc2 
    327328 
    328329      !-Initialise stress tensor  
     
    425426               !-Calculate stress tensor components zs1 and zs2  
    426427               !-at centre of grid cells (see section 3.5 of CICE user's guide). 
    427                zs1(ji,jj) = ( zs1(ji,jj) & 
    428                   &          - dtotel*( ( 1.0 - alphaevp) * zs1(ji,jj) +    & 
    429                   &            ( delta / deltat(ji,jj) - zdd(ji,jj) / deltat(ji,jj) ) & 
    430                   * zpresh(ji,jj) ) )                          &        
    431                   &        / ( 1.0 + alphaevp * dtotel ) 
    432  
    433                zs2(ji,jj) = ( zs2(ji,jj)   & 
    434                   &          - dtotel*((1.0-alphaevp)*ecc2*zs2(ji,jj) -  & 
    435                   zdt(ji,jj)/deltat(ji,jj)*zpresh(ji,jj)) ) & 
    436                   &        / ( 1.0 + alphaevp*ecc2*dtotel ) 
     428               zs1(ji,jj) = ( zs1(ji,jj) - dtotel*( ( 1._wp - alphaevp) * zs1(ji,jj) +   & 
     429                  &          ( delta / deltat(ji,jj) - zdd(ji,jj) / deltat(ji,jj) ) * zpresh(ji,jj) ) )  &        
     430                  &          / ( 1._wp + alphaevp * dtotel ) 
     431 
     432               zs2(ji,jj) = ( zs2(ji,jj) - dtotel * ( ( 1._wp - alphaevp ) * ecc2 * zs2(ji,jj) -   & 
     433                             zdt(ji,jj) / deltat(ji,jj) * zpresh(ji,jj) ) )   & 
     434                  &          / ( 1._wp + alphaevp * ecc2 * dtotel ) 
     435 
     436               ! new formulation from S. Bouillon to help stabilizing the code (no need of alphaevp) 
     437               !zs1(ji,jj) = ( zs1(ji,jj) + dtotel * ( ( zdd(ji,jj) / deltat(ji,jj) - delta / deltat(ji,jj) )  & 
     438               !   &         * zpresh(ji,jj) ) ) / ( 1._wp + dtotel ) 
     439               !zs2(ji,jj) = ( zs2(ji,jj) + dtotel * ( ecci * zdt(ji,jj) / deltat(ji,jj) * zpresh(ji,jj) ) )  & 
     440               !   &         / ( 1._wp + dtotel ) 
    437441 
    438442            END DO 
     
    468472 
    469473               !-Calculate stress tensor component zs12 at corners (see section 3.5 of CICE user's guide). 
    470                zs12(ji,jj) = ( zs12(ji,jj)      & 
    471                   &        - dtotel*( (1.0-alphaevp)*ecc2*zs12(ji,jj) - zds(ji,jj) / & 
    472                   &          ( 2.0*deltac(ji,jj) ) * zpreshc(ji,jj))) & 
    473                   &         / ( 1.0 + alphaevp*ecc2*dtotel )  
     474               zs12(ji,jj) = ( zs12(ji,jj) - dtotel * ( (1.0-alphaevp) * ecc2 * zs12(ji,jj) - zds(ji,jj) /  & 
     475                  &          ( 2._wp * deltac(ji,jj) ) * zpreshc(ji,jj) ) )  & 
     476                  &          / ( 1._wp + alphaevp * ecc2 * dtotel )  
     477 
     478               ! new formulation from S. Bouillon to help stabilizing the code (no need of alphaevp) 
     479               !zs12(ji,jj) = ( zs12(ji,jj) + dtotel *  & 
     480               !   &          ( ecci * zds(ji,jj) / ( 2._wp * deltac(ji,jj) ) * zpreshc(ji,jj) ) )  & 
     481               !   &          / ( 1.0 + dtotel )  
    474482 
    475483            END DO ! ji 
Note: See TracChangeset for help on using the changeset viewer.