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 6801 for branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90 – NEMO

Ignore:
Timestamp:
2016-07-08T17:26:24+02:00 (8 years ago)
Author:
clem
Message:

finalizing rheology

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_v3_6_STABLE_r6506_AGRIF_LIM3/NEMOGCM/NEMO/LIM_SRC_3/limrhg.F90

    r6796 r6801  
    262262 
    263263            ! ice fraction at U-V points 
    264             zaU(ji,jj) = ( at_i(ji,jj) * e1t(ji+1,jj) + at_i(ji+1,jj) * e1t(ji,jj) ) * z1_e1t0(ji,jj) * umask(ji,jj,1) 
    265             zaV(ji,jj) = ( at_i(ji,jj) * e2t(ji,jj+1) + at_i(ji,jj+1) * e2t(ji,jj) ) * z1_e2t0(ji,jj) * vmask(ji,jj,1) 
     264            zaU(ji,jj) = 0.5_wp * ( at_i(ji,jj) * e12t(ji,jj) + at_i(ji+1,jj) * e12t(ji+1,jj) ) * r1_e12u(ji,jj) * umask(ji,jj,1) 
     265            zaV(ji,jj) = 0.5_wp * ( at_i(ji,jj) * e12t(ji,jj) + at_i(ji,jj+1) * e12t(ji,jj+1) ) * r1_e12v(ji,jj) * vmask(ji,jj,1) 
    266266 
    267267            ! Ice/snow mass at U-V points 
     
    269269            zm2 = ( rhosn * vt_s(ji+1,jj  ) + rhoic * vt_i(ji+1,jj  ) ) 
    270270            zm3 = ( rhosn * vt_s(ji  ,jj+1) + rhoic * vt_i(ji  ,jj+1) ) 
    271             zmassU = ( zm1 * e1t(ji+1,jj) + zm2 * e1t(ji,jj) ) * z1_e1t0(ji,jj) * umask(ji,jj,1) 
    272             zmassV = ( zm1 * e2t(ji,jj+1) + zm3 * e2t(ji,jj) ) * z1_e2t0(ji,jj) * vmask(ji,jj,1) 
     271            zmassU = 0.5_wp * ( zm1 * e12t(ji,jj) + zm2 * e12t(ji+1,jj) ) * r1_e12u(ji,jj) * umask(ji,jj,1) 
     272            zmassV = 0.5_wp * ( zm1 * e12t(ji,jj) + zm3 * e12t(ji,jj+1) ) * r1_e12v(ji,jj) * vmask(ji,jj,1) 
    273273 
    274274            ! Ocean currents at U-V points 
     
    422422                  ! tau_bottom/v_ice 
    423423                  zvel  = MAX( zepsi, SQRT( v_ice(ji,jj) * v_ice(ji,jj) + u_iceV(ji,jj) * u_iceV(ji,jj) ) ) 
    424                   ztauB = - tau_icebfr(ji,jj) / zvel 
     424                  zTauB = - tau_icebfr(ji,jj) / zvel 
    425425 
    426426                  ! Coriolis at V-points (energy conserving formulation) 
     
    433433 
    434434                  ! landfast switch => 0 = static friction ; 1 = sliding friction 
    435                   rswitch = 1._wp - MIN( 1._wp, ABS( SIGN( 1._wp, ztauE + ztauB * v_ice(ji,jj) ) - SIGN( 1._wp, zTauE ) ) ) 
     435                  rswitch = 1._wp - MIN( 1._wp, ABS( SIGN( 1._wp, ztauE - tau_icebfr(ji,jj) ) - SIGN( 1._wp, zTauE ) ) ) 
    436436                   
    437437                  ! ice velocity using implicit formulation (cf Madec doc & Bouillon 2009) 
     
    466466                  ! tau_bottom/u_ice 
    467467                  zvel  = MAX( zepsi, SQRT( v_iceU(ji,jj) * v_iceU(ji,jj) + u_ice(ji,jj) * u_ice(ji,jj) ) ) 
    468                   ztauB = - tau_icebfr(ji,jj) / zvel 
     468                  zTauB = - tau_icebfr(ji,jj) / zvel 
    469469 
    470470                  ! Coriolis at U-points (energy conserving formulation) 
     
    477477 
    478478                  ! landfast switch => 0 = static friction ; 1 = sliding friction 
    479                   rswitch = 1._wp - MIN( 1._wp, ABS( SIGN( 1._wp, ztauE + ztauB * u_ice(ji,jj) ) - SIGN( 1._wp, zTauE ) ) ) 
     479                  rswitch = 1._wp - MIN( 1._wp, ABS( SIGN( 1._wp, ztauE - tau_icebfr(ji,jj) ) - SIGN( 1._wp, zTauE ) ) ) 
    480480 
    481481                  ! ice velocity using implicit formulation (cf Madec doc & Bouillon 2009) 
     
    511511                  ! tau_bottom/u_ice 
    512512                  zvel  = MAX( zepsi, SQRT( v_iceU(ji,jj) * v_iceU(ji,jj) + u_ice(ji,jj) * u_ice(ji,jj) ) ) 
    513                   ztauB = - tau_icebfr(ji,jj) / zvel 
     513                  zTauB = - tau_icebfr(ji,jj) / zvel 
    514514 
    515515                  ! Coriolis at U-points (energy conserving formulation) 
     
    522522 
    523523                  ! landfast switch => 0 = static friction ; 1 = sliding friction 
    524                   rswitch = 1._wp - MIN( 1._wp, ABS( SIGN( 1._wp, ztauE + ztauB * u_ice(ji,jj) ) - SIGN( 1._wp, zTauE ) ) ) 
     524                  rswitch = 1._wp - MIN( 1._wp, ABS( SIGN( 1._wp, ztauE - tau_icebfr(ji,jj) ) - SIGN( 1._wp, zTauE ) ) ) 
    525525 
    526526                  ! ice velocity using implicit formulation (cf Madec doc & Bouillon 2009) 
     
    565565 
    566566                  ! landfast switch => 0 = static friction ; 1 = sliding friction 
    567                   rswitch = 1._wp - MIN( 1._wp, ABS( SIGN( 1._wp, ztauE + ztauB * v_ice(ji,jj) ) - SIGN( 1._wp, zTauE ) ) ) 
     567                  rswitch = 1._wp - MIN( 1._wp, ABS( SIGN( 1._wp, ztauE - tau_icebfr(ji,jj) ) - SIGN( 1._wp, zTauE ) ) ) 
    568568                   
    569569                  ! ice velocity using implicit formulation (cf Madec doc & Bouillon 2009) 
Note: See TracChangeset for help on using the changeset viewer.