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 4293 for branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/LIM_SRC_3/limupdate2.F90 – NEMO

Ignore:
Timestamp:
2013-11-20T17:56:18+01:00 (10 years ago)
Author:
clem
Message:

small corrections for ice categories hi_max and for shifting ice between categories

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/LIM_SRC_3/limupdate2.F90

    r4161 r4293  
    194194!      !ENDIF 
    195195 
    196       zhimax = .3_wp 
     196      zhimax = 5._wp 
    197197      ! first category 
    198198      DO jj = 1, jpj 
     
    201201            !--- thus we recompute a new area while conserving ice volume 
    202202            zat_i_old = SUM( old_a_i(ji,jj,:) ) 
    203             zindb     = MAX( 0._wp, SIGN( 1._wp, ABS( d_a_i_thd(ji,jj,1)) - epsi10 ) )  
    204             IF ( ( ABS(d_v_i_thd(ji,jj,1))/MAX(ABS(d_a_i_thd(ji,jj,1)),epsi10)*zindb .GT. zhimax) & 
    205                  .AND.( ( v_i(ji,jj,1)/MAX(a_i(ji,jj,1),epsi10)*zindb) .GT. zhimax ) & 
    206                  .AND.( zat_i_old .LT. 1.e-6 ) )  THEN ! new line 
    207                ht_i(ji,jj,1) = hi_max(1) / 2.0 
     203            zindb     = MAX( 0._wp, SIGN( 1._wp, ABS( d_a_i_thd(ji,jj,1) ) - epsi10 ) )  
     204            IF ( ( ABS( d_v_i_thd(ji,jj,1) ) / MAX( ABS( d_a_i_thd(ji,jj,1) ),epsi10 ) * zindb .GT. zhimax ) & 
     205               &  .AND. ( ( v_i(ji,jj,1) / MAX( a_i(ji,jj,1), epsi10 ) * zindb ) .GT. zhimax ) & 
     206               &  .AND. ( zat_i_old .LT. 1.e-6 ) )  THEN ! new line 
     207               ht_i(ji,jj,1) = hi_max(1) * 0.5_wp 
    208208               a_i (ji,jj,1) = v_i(ji,jj,1) / ht_i(ji,jj,1) 
    209209            ENDIF 
     
    223223!      !ENDIF 
    224224!  
    225       zhimax = 1._wp 
     225      zhimax = 20._wp 
    226226      ! other categories 
    227227      DO jl = 2, jpl 
     
    229229         DO jj = 1, jpj 
    230230            DO ji = 1, jpi 
    231                zindb =  MAX( rzero, SIGN( rone, ABS(d_a_i_thd(ji,jj,jl)) - epsi10 ) )  
     231               zindb =  MAX( rzero, SIGN( rone, ABS( d_a_i_thd(ji,jj,jl)) - epsi10 ) )  
    232232              ! this correction is very tricky... sometimes, advection gets wrong i don't know why 
    233233               ! it makes problems when the advected volume and concentration do not seem to be  
     
    237237               ! which of course is plausible 
    238238               ! but fuck! it fucks everything up :) 
    239                IF ( (ABS(d_v_i_thd(ji,jj,jl))/MAX(ABS(d_a_i_thd(ji,jj,jl)),epsi10)*zindb .GT. zhimax) & 
    240                     .AND.(v_i(ji,jj,jl)/MAX(a_i(ji,jj,jl),epsi10)*zindb) .GT. zhimax ) THEN 
    241                   ht_i(ji,jj,jl) = ( hi_max_typ(jl-ice_cat_bounds(jm,1),jm) + hi_max_typ(jl-ice_cat_bounds(jm,1)+1,jm) ) / 2.0 
     239               IF ( ( ABS( d_v_i_thd(ji,jj,jl) ) / MAX( ABS( d_a_i_thd(ji,jj,jl) ), epsi10 ) * zindb .GT. zhimax ) & 
     240                  &  .AND. ( v_i(ji,jj,jl) / MAX( a_i(ji,jj,jl), epsi10 ) * zindb ) .GT. zhimax ) THEN 
     241                  ht_i(ji,jj,jl) = ( hi_max_typ(jl-ice_cat_bounds(jm,1),jm) + hi_max_typ(jl-ice_cat_bounds(jm,1)+1,jm) ) * 0.5_wp 
    242242                  a_i (ji,jj,jl) = v_i(ji,jj,jl) / ht_i(ji,jj,jl) 
    243243               ENDIF 
Note: See TracChangeset for help on using the changeset viewer.