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 5134 for trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90 – NEMO

Ignore:
Timestamp:
2015-03-09T18:27:34+01:00 (9 years ago)
Author:
clem
Message:

LIM3: changes to constrain ice thickness after advection. Ice volume and concentration are advected while ice thickness is deduced. This could result in overly high thicknesses associated with very low concentrations (in the 5th category)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90

    r5128 r5134  
    115115               DO ji = 1, jpi 
    116116                  !0 if no ice and 1 if yes 
    117                   rswitch = 1.0 - MAX(  0.0 , SIGN( 1.0 , - v_i(ji,jj,jl) + epsi20 )  ) 
     117                  rswitch = MAX(  0._wp , SIGN( 1._wp , v_i(ji,jj,jl) - epsi20 )  ) 
    118118                  !Energy of melting q(S,T) [J.m-3] 
    119119                  e_i(ji,jj,jk,jl) = rswitch * e_i(ji,jj,jk,jl) / MAX( v_i(ji,jj,jl) , epsi20 ) * REAL( nlay_i ) 
     
    125125               DO ji = 1, jpi 
    126126                  !0 if no ice and 1 if yes 
    127                   rswitch = 1.0 - MAX(  0.0 , SIGN( 1.0 , - v_s(ji,jj,jl) + epsi20 )  ) 
     127                  rswitch = MAX(  0._wp , SIGN( 1._wp , v_s(ji,jj,jl) - epsi20 )  ) 
    128128                  !Energy of melting q(S,T) [J.m-3] 
    129129                  e_s(ji,jj,jk,jl) = rswitch * e_s(ji,jj,jk,jl) / MAX( v_s(ji,jj,jl) , epsi20 ) * REAL( nlay_s ) 
     
    158158      DO jj = 1, jpj 
    159159         DO ji = 1, jpi 
    160             rswitch  = tmask(ji,jj,1) * ( 1._wp - MAX( 0._wp , SIGN( 1._wp , - at_i(ji,jj) + epsi10 ) ) ) ! 0 if no ice 
     160            rswitch  = tmask(ji,jj,1) * MAX( 0._wp , SIGN( 1._wp , at_i(ji,jj) - epsi10 ) ) ! 0 if no ice 
    161161            ! 
    162162            !           !  solar irradiance transmission at the mixed layer bottom and used in the lead heat budget 
     
    360360      CALL lim_var_eqv2glo 
    361361 
     362      CALL lim_var_zapsmall 
    362363      !-------------------------------------------- 
    363364      ! Diagnostic thermodynamic growth rates 
     
    413414 
    414415      IF( ln_limdiahsb ) CALL lim_cons_hsm(1, 'limitd_th_rem', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    415       IF( ln_limdiahsb ) CALL lim_cons_hsm(0, 'limthd_lac', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    416416      !------------------------------------------------------------------------------| 
    417417      !  7) Add frazil ice growing in leads. 
    418418      !------------------------------------------------------------------------------| 
     419      IF( ln_limdiahsb ) CALL lim_cons_hsm(0, 'limthd_lac', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b) 
    419420      CALL lim_thd_lac 
    420421      CALL lim_var_glo2eqv    ! only for info 
     
    513514            a_i_1d(ji)  = MAX( 0._wp, a_i_1d(ji) + zda_mel )  
    514515            ! adjust thickness 
    515             rswitch     = 1._wp - MAX( 0._wp , SIGN( 1._wp , - a_i_1d(ji) + epsi20 ) ) 
     516            rswitch     = MAX( 0._wp , SIGN( 1._wp , a_i_1d(ji) - epsi20 ) ) 
    516517            ht_i_1d(ji) = rswitch * zv / MAX( a_i_1d(ji), epsi20 ) 
    517518            ! retrieve total concentration 
Note: See TracChangeset for help on using the changeset viewer.