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

Changeset 4869 for trunk/NEMOGCM


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

LIM3: removing useless ice types

Location:
trunk/NEMOGCM/NEMO/LIM_SRC_3
Files:
8 edited

Legend:

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

    r4863 r4869  
    324324   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   smt_i          !: mean sea ice salinity averaged over all categories [PSU] 
    325325 
    326    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   at_i_typ     !: total area   contained in each ice type [m^2] 
    327    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   vt_i_typ     !: total volume contained in each ice type [m^3] 
    328  
    329326   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::   t_s        !: Snow temperatures [K] 
    330327   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::   e_s        !: Snow ...       
    331  
    332    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)   ::   e_i_cat    !: ! go to trash 
    333328       
    334329   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:,:) ::   t_i        !: ice temperatures          [K] 
     
    378373   !! * Ice thickness distribution variables 
    379374   !!-------------------------------------------------------------------------- 
    380    ! REMOVE 
    381    INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)   ::   ice_types      !: Vector connecting types and categories 
    382    INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ice_cat_bounds !: Matrix containing the integer upper and  
    383    !                                                                       !  lower boundaries of ice thickness categories 
    384    ! REMOVE 
    385    INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)   ::   ice_ncat_types !: nb of thickness categories in each ice type 
    386375   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)   ::   hi_max         !: Boundary of ice thickness categories in thickness space 
    387376   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:)   ::   hi_mean        !: Mean ice thickness in catgories  
    388    ! REMOVE 
    389    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hi_max_typ     !: Boundary of ice thickness categories in thickness space 
    390377 
    391378   !!-------------------------------------------------------------------------- 
     
    476463         &      bv_i (jpi,jpj) , smt_i(jpi,jpj)                                   , STAT=ierr(ii) ) 
    477464      ii = ii + 1 
    478       ALLOCATE( t_s(jpi,jpj,nlay_s,jpl) , at_i_typ(jpi,jpj,jpm) ,                            & 
    479          &      e_s(jpi,jpj,nlay_s,jpl) , vt_i_typ(jpi,jpj,jpm) , e_i_cat(jpi,jpj,jpl) , STAT=ierr(ii) ) 
     465      ALLOCATE( t_s(jpi,jpj,nlay_s,jpl) ,                            & 
     466         &      e_s(jpi,jpj,nlay_s,jpl) , STAT=ierr(ii) ) 
    480467      ii = ii + 1 
    481468      ALLOCATE( t_i(jpi,jpj,jkmax,jpl) , e_i(jpi,jpj,jkmax,jpl) , s_i(jpi,jpj,jkmax,jpl) , STAT=ierr(ii) ) 
     
    518505      ! * Ice thickness distribution variables 
    519506      ii = ii + 1 
    520       ALLOCATE( ice_types(jpl) , ice_cat_bounds(jpm,2) , ice_ncat_types  (jpm) ,     & 
    521          &      hi_max (0:jpl) , hi_mean(jpl)          , hi_max_typ(0:jpl,jpm) , STAT=ierr(ii) ) 
     507      ALLOCATE( hi_max(0:jpl), hi_mean(jpl),  STAT=ierr(ii) ) 
    522508 
    523509      ! * Ice diagnostics 
  • 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 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90

    r4831 r4869  
    692692 
    693693      IF( partfun_swi == 0 ) THEN       !--- Linear formulation (Thorndike et al., 1975) 
    694          DO jl = 0, ice_cat_bounds(1,2)       ! only undeformed ice participates 
     694         DO jl = 0, jpl     
    695695            DO jj = 1, jpj  
    696696               DO ji = 1, jpi 
     
    715715            Gsum(:,:,jl) = EXP( -Gsum(:,:,jl) * astari ) * zdummy 
    716716         END DO !jl 
    717          DO jl = 0, ice_cat_bounds(1,2) 
     717         DO jl = 0, jpl 
    718718             athorn(:,:,jl) = Gsum(:,:,jl-1) - Gsum(:,:,jl) 
    719719         END DO 
     
    11931193         !------------------------------------------------------------------------------- 
    11941194         !        jl1 looping 1-jpl 
    1195          DO jl2  = ice_cat_bounds(1,1), ice_cat_bounds(1,2)  
     1195         DO jl2  = 1, jpl  
    11961196            ! over categories to which ridged ice is transferred 
    11971197!CDIR NODEP 
     
    12381238         END DO                 ! jl2 (new ridges)             
    12391239 
    1240          DO jl2 = ice_cat_bounds(1,1), ice_cat_bounds(1,2)  
     1240         DO jl2 = 1, jpl  
    12411241 
    12421242!CDIR NODEP 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_th.F90

    r4688 r4869  
    66   !! History :   -   !          (W. H. Lipscomb and E.C. Hunke) CICE (c) original code 
    77   !!            3.0  ! 2005-12  (M. Vancoppenolle) adaptation to LIM-3 
    8    !!             -   ! 2006-06  (M. Vancoppenolle) adaptation to include salt, age and types 
     8   !!             -   ! 2006-06  (M. Vancoppenolle) adaptation to include salt, age 
    99   !!             -   ! 2007-04  (M. Vancoppenolle) Mass conservation checked 
    1010   !!---------------------------------------------------------------------- 
     
    6666      INTEGER, INTENT(in) ::   kt   ! time step index 
    6767      ! 
    68       INTEGER ::   ji,jj, jk, jl, ja, jm, jbnd1, jbnd2   ! ice types    dummy loop index          
     68      INTEGER ::   ji, jj, jk, jl   ! dummy loop index          
    6969      ! 
    7070      REAL(wp) :: zvi_b, zsmv_b, zei_b, zfs_b, zfw_b, zft_b  
     
    8686      ! Given thermodynamic growth rates, transport ice between 
    8787      ! thickness categories. 
    88       DO jm = 1, jpm 
    89          jbnd1 = ice_cat_bounds(jm,1) 
    90          jbnd2 = ice_cat_bounds(jm,2) 
    91          IF( ice_ncat_types(jm) > 1 )   CALL lim_itd_th_rem( jbnd1, jbnd2, jm, kt ) 
    92       END DO 
     88      IF( jpl > 1 )   CALL lim_itd_th_rem( 1, jpl, kt ) 
    9389      ! 
    9490      CALL lim_var_glo2eqv    ! only for info 
     
    123119            CALL prt_ctl(tab2d_1=sm_i  (:,:,jl)   , clinfo1= ' lim_itd_th  : sm_i     : ') 
    124120            CALL prt_ctl(tab2d_1=smv_i (:,:,jl)   , clinfo1= ' lim_itd_th  : smv_i    : ') 
    125             DO ja = 1, nlay_i 
     121            DO jk = 1, nlay_i 
    126122               CALL prt_ctl_info(' ') 
    127                CALL prt_ctl_info(' - Layer : ', ivar1=ja) 
     123               CALL prt_ctl_info(' - Layer : ', ivar1=jk) 
    128124               CALL prt_ctl_info('   ~~~~~~~') 
    129                CALL prt_ctl(tab2d_1=t_i(:,:,ja,jl) , clinfo1= ' lim_itd_th  : t_i      : ') 
    130                CALL prt_ctl(tab2d_1=e_i(:,:,ja,jl) , clinfo1= ' lim_itd_th  : e_i      : ') 
     125               CALL prt_ctl(tab2d_1=t_i(:,:,jk,jl) , clinfo1= ' lim_itd_th  : t_i      : ') 
     126               CALL prt_ctl(tab2d_1=e_i(:,:,jk,jl) , clinfo1= ' lim_itd_th  : e_i      : ') 
    131127            END DO 
    132128         END DO 
     
    140136   ! 
    141137 
    142    SUBROUTINE lim_itd_th_rem( klbnd, kubnd, ntyp, kt ) 
     138   SUBROUTINE lim_itd_th_rem( klbnd, kubnd, kt ) 
    143139      !!------------------------------------------------------------------ 
    144140      !!                ***  ROUTINE lim_itd_th_rem *** 
     
    153149      INTEGER , INTENT (in) ::   klbnd   ! Start thickness category index point 
    154150      INTEGER , INTENT (in) ::   kubnd   ! End point on which the  the computation is applied 
    155       INTEGER , INTENT (in) ::   ntyp    ! Number of the type used 
    156151      INTEGER , INTENT (in) ::   kt      ! Ocean time step  
    157152      ! 
     
    218213         WRITE(numout,*) ' klbnd :       ', klbnd 
    219214         WRITE(numout,*) ' kubnd :       ', kubnd 
    220          WRITE(numout,*) ' ntyp  :       ', ntyp  
    221215      ENDIF 
    222216 
     
    321315      DO jj = 1, jpj 
    322316         DO ji = 1, jpi 
    323             zhb0(ji,jj) = hi_max_typ(0,ntyp) ! 0eme 
    324             zhb1(ji,jj) = hi_max_typ(1,ntyp) ! 1er 
     317            zhb0(ji,jj) = hi_max(0) ! 0eme 
     318            zhb1(ji,jj) = hi_max(1) ! 1er 
    325319 
    326320            zhbnew(ji,jj,klbnd-1) = 0._wp 
     
    382376            ELSE ! if ice accretion 
    383377               ! ji, a_i > epsi10; zdh0 > 0 
    384                IF ( ntyp .EQ. 1 ) zhbnew(ii,ij,klbnd-1) = MIN(zdh0,hi_max(klbnd))  
     378               zhbnew(ii,ij,klbnd-1) = MIN(zdh0,hi_max(klbnd))  
    385379               ! zhbnew was 0, and is shifted to the right to account for thin ice 
    386380               ! growth in openwater (F0 = f1) 
    387                IF ( ntyp .NE. 1 ) zhbnew(ii,ij,0) = 0  
    388                ! in other types there is 
    389                ! no open water growth (F0 = 0) 
    390381            ENDIF ! zdh0  
    391382 
     
    839830    
    840831 
    841    SUBROUTINE lim_itd_th_reb( klbnd, kubnd, ntyp ) 
     832   SUBROUTINE lim_itd_th_reb( klbnd, kubnd ) 
    842833      !!------------------------------------------------------------------ 
    843834      !!                ***  ROUTINE lim_itd_th_reb *** 
     
    849840      INTEGER , INTENT (in) ::   klbnd   ! Start thickness category index point 
    850841      INTEGER , INTENT (in) ::   kubnd   ! End point on which the  the computation is applied 
    851       INTEGER , INTENT (in) ::   ntyp    ! number of the ice type involved in the rebinning process 
    852842      ! 
    853843      INTEGER ::   ji,jj, jl   ! dummy loop indices 
     
    889879 
    890880      !------------------------------------------------------------------------------ 
    891       ! 2) Make sure thickness of cat klbnd is at least hi_max_typ(klbnd) 
     881      ! 2) Make sure thickness of cat klbnd is at least hi_max(klbnd) 
    892882      !------------------------------------------------------------------------------ 
    893883      DO jj = 1, jpj  
    894884         DO ji = 1, jpi  
    895885            IF( a_i(ji,jj,klbnd) > epsi10 ) THEN 
    896                IF( ht_i(ji,jj,klbnd) <= hi_max_typ(0,ntyp) .AND. hi_max_typ(0,ntyp) > 0._wp ) THEN 
    897                   a_i(ji,jj,klbnd)  = v_i(ji,jj,klbnd) / hi_max_typ(0,ntyp)  
    898                   ht_i(ji,jj,klbnd) = hi_max_typ(0,ntyp) 
     886               IF( ht_i(ji,jj,klbnd) <= hi_max(0) .AND. hi_max(0) > 0._wp ) THEN 
     887                  a_i(ji,jj,klbnd)  = v_i(ji,jj,klbnd) / hi_max(0)  
     888                  ht_i(ji,jj,klbnd) = hi_max(0) 
    899889               ENDIF 
    900890            ENDIF 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_lac.F90

    r4867 r4869  
    7474      !!               update ht_s_b, ht_i_b and tbif_1d(:,:)       
    7575      !!------------------------------------------------------------------------ 
    76       INTEGER ::   ji,jj,jk,jl,jm   ! dummy loop indices 
     76      INTEGER ::   ji,jj,jk,jl      ! dummy loop indices 
    7777      INTEGER ::   layer, nbpac     ! local integers  
    78       INTEGER ::   ii, ij, iter   !   -       - 
     78      INTEGER ::   ii, ij, iter     !   -       - 
    7979      REAL(wp)  ::   ztmelts, zdv, zfrazb, zweight, zindb, zinda, zde  ! local scalars 
    8080      REAL(wp) ::   zgamafr, zvfrx, zvgx, ztaux, ztwogp, zf , zhicol_new        !   -      - 
     
    102102      REAL(wp), POINTER, DIMENSION(:) ::   zda_res     ! residual area in case of excessive heat budget 
    103103      REAL(wp), POINTER, DIMENSION(:) ::   zat_i_1d    ! total ice fraction     
    104       REAL(wp), POINTER, DIMENSION(:) ::   zat_i_lev   ! total ice fraction for level ice only (type 1)    
    105104      REAL(wp), POINTER, DIMENSION(:) ::   zv_frazb   ! accretion of frazil ice at the ice bottom 
    106105      REAL(wp), POINTER, DIMENSION(:) ::   zvrel_1d    ! relative ice / frazil velocity (1D vector) 
     
    120119      CALL wrk_alloc( jpij, jcat )   ! integer 
    121120      CALL wrk_alloc( jpij, zswinew, zv_newice, za_newice, zh_newice, ze_newice, zs_newice, zo_newice ) 
    122       CALL wrk_alloc( jpij, zdv_res, zda_res, zat_i_1d, zat_i_lev, zv_frazb, zvrel_1d ) 
     121      CALL wrk_alloc( jpij, zdv_res, zda_res, zat_i_1d, zv_frazb, zvrel_1d ) 
    123122      CALL wrk_alloc( jpij,jpl, zv_old, za_old, za_i_1d, zv_i_1d, zoa_i_1d, zsmv_i_1d ) 
    124123      CALL wrk_alloc( jpij,jkmax,jpl, ze_i_1d ) 
     
    541540      CALL wrk_dealloc( jpij, jcat )   ! integer 
    542541      CALL wrk_dealloc( jpij, zswinew, zv_newice, za_newice, zh_newice, ze_newice, zs_newice, zo_newice ) 
    543       CALL wrk_dealloc( jpij, zdv_res, zda_res, zat_i_1d, zat_i_lev, zv_frazb, zvrel_1d ) 
     542      CALL wrk_dealloc( jpij, zdv_res, zda_res, zat_i_1d, zv_frazb, zvrel_1d ) 
    544543      CALL wrk_dealloc( jpij,jpl, zv_old, za_old, za_i_1d, zv_i_1d, zoa_i_1d, zsmv_i_1d ) 
    545544      CALL wrk_dealloc( jpij,jkmax,jpl, ze_i_1d ) 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate1.F90

    r4688 r4869  
    6969      !!                 
    7070      !!--------------------------------------------------------------------- 
    71       INTEGER  ::   ji, jj, jk, jl, jm    ! dummy loop indices 
    72       INTEGER  ::   jbnd1, jbnd2 
     71      INTEGER  ::   ji, jj, jk, jl   ! dummy loop indices 
    7372      INTEGER  ::   i_ice_switch 
    7473      REAL(wp) ::   zsal 
     
    9392      ! Rebin categories with thickness out of bounds 
    9493      !---------------------------------------------------- 
    95       DO jm = 1, jpm 
    96          jbnd1 = ice_cat_bounds(jm,1) 
    97          jbnd2 = ice_cat_bounds(jm,2) 
    98          IF (ice_ncat_types(jm) .GT. 1 )   CALL lim_itd_th_reb(jbnd1, jbnd2, jm) 
    99       END DO 
     94      IF ( jpl > 1 )   CALL lim_itd_th_reb(1, jpl) 
    10095 
    10196      at_i(:,:) = 0._wp 
     
    126121      ! Final thickness distribution rebinning 
    127122      ! -------------------------------------- 
    128       DO jm = 1, jpm 
    129          jbnd1 = ice_cat_bounds(jm,1) 
    130          jbnd2 = ice_cat_bounds(jm,2) 
    131          IF (ice_ncat_types(jm) .GT. 1 ) CALL lim_itd_th_reb(jbnd1, jbnd2, jm) 
    132          IF (ice_ncat_types(jm) .EQ. 1 ) THEN 
    133          ENDIF 
    134       END DO 
     123      IF ( jpl > 1 ) CALL lim_itd_th_reb(1, jpl) 
    135124 
    136125      !----------------- 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate2.F90

    r4765 r4869  
    6767      !! 
    6868      !!--------------------------------------------------------------------- 
    69       INTEGER  ::   ji, jj, jk, jl, jm    ! dummy loop indices 
    70       INTEGER  ::   jbnd1, jbnd2 
     69      INTEGER  ::   ji, jj, jk, jl    ! dummy loop indices 
    7170      INTEGER  ::   i_ice_switch 
    7271      REAL(wp) ::   zh, zsal 
     
    8988      ! Rebin categories with thickness out of bounds 
    9089      !---------------------------------------------------- 
    91       DO jm = 1, jpm 
    92          jbnd1 = ice_cat_bounds(jm,1) 
    93          jbnd2 = ice_cat_bounds(jm,2) 
    94          IF (ice_ncat_types(jm) .GT. 1 )   CALL lim_itd_th_reb(jbnd1, jbnd2, jm) 
    95       END DO 
     90      IF ( jpl > 1 )   CALL lim_itd_th_reb(1, jpl) 
    9691 
    9792      !---------------------------------------------------------------------- 
    9893      ! Constrain the thickness of the smallest category above hiclim 
    9994      !---------------------------------------------------------------------- 
    100       DO jm = 1, jpm 
    101          DO jj = 1, jpj  
    102             DO ji = 1, jpi 
    103                jl = ice_cat_bounds(jm,1) 
    104                IF( v_i(ji,jj,jl) > 0._wp .AND. ht_i(ji,jj,jl) < hiclim ) THEN 
    105                   zh             = hiclim / ht_i(ji,jj,jl) 
    106                   ht_s(ji,jj,jl) = ht_s(ji,jj,jl) * zh 
    107                   ht_i(ji,jj,jl) = ht_i(ji,jj,jl) * zh 
    108                   a_i (ji,jj,jl) = a_i(ji,jj,jl)  / zh 
    109                ENDIF 
    110             END DO !ji 
    111          END DO !jj 
    112       END DO !jm 
     95      DO jj = 1, jpj  
     96         DO ji = 1, jpi 
     97            IF( v_i(ji,jj,1) > 0._wp .AND. ht_i(ji,jj,1) < hiclim ) THEN 
     98               zh             = hiclim / ht_i(ji,jj,1) 
     99               ht_s(ji,jj,1) = ht_s(ji,jj,1) * zh 
     100               ht_i(ji,jj,1) = ht_i(ji,jj,1) * zh 
     101               a_i (ji,jj,1) = a_i(ji,jj,1)  / zh 
     102            ENDIF 
     103         END DO 
     104      END DO 
    113105       
    114106      !----------------------------------------------------- 
     
    139131      ! Final thickness distribution rebinning 
    140132      ! -------------------------------------- 
    141       DO jm = 1, jpm 
    142          jbnd1 = ice_cat_bounds(jm,1) 
    143          jbnd2 = ice_cat_bounds(jm,2) 
    144          IF (ice_ncat_types(jm) .GT. 1 ) CALL lim_itd_th_reb(jbnd1, jbnd2, jm) 
    145          IF (ice_ncat_types(jm) .EQ. 1 ) THEN 
    146          ENDIF 
    147       END DO 
     133      IF ( jpl > 1 ) CALL lim_itd_th_reb( 1, jpl ) 
    148134 
    149135      !----------------- 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/par_ice.F90

    r4688 r4869  
    1818   !                                             !!! ice mechanical redistribution 
    1919   INTEGER, PUBLIC, PARAMETER ::   jpl      = 5   !: number of ice categories 
    20    INTEGER, PUBLIC, PARAMETER ::   jpm      = 1   !: number of ice types 
    2120 
    2221   !!---------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.