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

Ignore:
Timestamp:
2014-11-18T16:43:44+01:00 (9 years ago)
Author:
clem
Message:

LIM3: removing useless ice types

File:
1 edited

Legend:

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

    r4831 r4869  
    6666      ! 
    6767      !                                ! adequation jpk versus ice/snow layers/categories 
    68       IF( jpl   > jpk  .OR.  jpm    > jpk .OR.                                    & 
    69           jkmax > jpk  .OR.  nlay_s > jpk      )   CALL ctl_stop( 'STOP',         & 
     68      IF( jpl > jpk .OR. jkmax > jpk .OR. nlay_s > jpk )   & 
     69         &      CALL ctl_stop( 'STOP',                     & 
    7070         &     'ice_init: the 3rd dimension of workspace arrays is too small.',   & 
    7171         &     'use more ocean levels or less ice/snow layers/categories.' ) 
     
    174174      !!              limistate (only) and is changed to 99 m in ice_init 
    175175      !!------------------------------------------------------------------ 
    176       INTEGER  ::   jl, jm               ! dummy loop index 
     176      INTEGER  ::   jl                   ! dummy loop index 
    177177      REAL(wp) ::   zc1, zc2, zc3, zx1   ! local scalars 
    178178      !!------------------------------------------------------------------ 
     
    185185      ! 1) Ice thickness distribution parameters initialization     
    186186      !------------------------------------------------------------------------------! 
    187  
    188       !- Types boundaries (integer) 
    189       !---------------------------- 
    190       ice_cat_bounds(1,1) = 1 
    191       ice_cat_bounds(1,2) = jpl 
    192  
    193       !- Number of ice thickness categories in each ice type 
    194       DO jm = 1, jpm 
    195          ice_ncat_types(jm) = ice_cat_bounds(jm,2) - ice_cat_bounds(jm,1) + 1  
    196       END DO 
    197  
    198       !- Make the correspondence between thickness categories and ice types 
    199       !--------------------------------------------------------------------- 
    200       DO jm = 1, jpm       !over types 
    201          DO jl = ice_cat_bounds(jm,1), ice_cat_bounds(jm,2) !over thickness categories 
    202             ice_types(jl) = jm 
    203          END DO 
    204       END DO 
    205  
    206187      IF(lwp) THEN   
    207          WRITE(numout,*) ' Number of ice types jpm =      ', jpm 
    208188         WRITE(numout,*) ' Number of ice categories jpl = ', jpl 
    209          DO jm = 1, jpm 
    210             WRITE(numout,*) ' Ice type ', jm 
    211             WRITE(numout,*) ' Number of thickness categories ', ice_ncat_types(jm) 
    212             WRITE(numout,*) ' Thickness category boundaries  ', ice_cat_bounds(jm,1:2) 
    213          END DO 
    214          WRITE(numout,*) 'Ice type vector', ice_types(1:jpl) 
    215          WRITE(numout,*) 
    216189      ENDIF 
    217190 
     
    219192      !---------------------------------- 
    220193      hi_max(:) = 0._wp 
    221       hi_max_typ(:,:) = 0._wp 
    222  
    223       !- Type 1 - undeformed ice 
    224       zc1 =  3._wp / REAL( ice_cat_bounds(1,2) - ice_cat_bounds(1,1) + 1 , wp ) 
     194 
     195      zc1 =  3._wp / REAL( jpl, wp ) 
    225196      zc2 = 10._wp * zc1 
    226197      zc3 =  3._wp 
    227198 
    228       DO jl = ice_cat_bounds(1,1), ice_cat_bounds(1,2) 
    229          zx1 = REAL( jl-1 , wp ) / REAL( ice_cat_bounds(1,2) - ice_cat_bounds(1,1) + 1 , wp ) 
     199      DO jl = 1, jpl 
     200         zx1 = REAL( jl-1, wp ) / REAL( jpl, wp ) 
    230201         hi_max(jl) = hi_max(jl-1) + zc1 + zc2 * (1._wp + TANH( zc3 * (zx1 - 1._wp ) ) ) 
    231202      END DO 
    232203 
    233       !- Fill in the hi_max_typ vector, useful in other circumstances 
    234       ! Tricky trick: hi_max_typ is actually not used in the code and will be removed in a 
    235       ! next flyspray at this time, the tricky trick will also be removed (Martin, march 08) 
    236       DO jl = ice_cat_bounds(1,1), ice_cat_bounds(1,2) 
    237          hi_max_typ(jl,1) = hi_max(jl) 
    238       END DO 
    239  
    240       IF(lwp) WRITE(numout,*) ' Thickness category boundaries independently of ice type ' 
     204      IF(lwp) WRITE(numout,*) ' Thickness category boundaries ' 
    241205      IF(lwp) WRITE(numout,*) ' hi_max ', hi_max(0:jpl) 
    242206 
    243       IF(lwp) WRITE(numout,*) ' Thickness category boundaries inside ice types ' 
    244       IF(lwp) THEN  
    245          DO jm = 1, jpm 
    246             WRITE(numout,*) ' Type number ', jm 
    247             WRITE(numout,*) ' hi_max_typ : ', hi_max_typ(0:ice_ncat_types(jm),jm) 
    248          END DO 
    249       ENDIF 
    250207      ! 
    251208      DO jl = 1, jpl 
Note: See TracChangeset for help on using the changeset viewer.