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 5208 for branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90 – NEMO

Ignore:
Timestamp:
2015-04-13T15:08:59+02:00 (9 years ago)
Author:
davestorkey
Message:

Merge in changes from trunk up to 5021.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO11_restart_functionality/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90

    r4688 r5208  
    4343   PUBLIC   lim_itd_me_alloc        ! called by iceini.F90 
    4444 
    45    REAL(wp) ::   epsi20 = 1.e-20_wp   ! constant values 
    46    REAL(wp) ::   epsi10 = 1.e-10_wp   ! constant values 
    47    REAL(wp) ::   epsi06 = 1.e-06_wp   ! constant values 
    48  
    4945   !----------------------------------------------------------------------- 
    5046   ! Variables shared among ridging subroutines 
     
    149145 
    150146      CALL wrk_alloc( jpi, jpj, closing_net, divu_adv, opning, closing_gross, msnow_mlt, esnow_mlt, vt_i_init, vt_i_final ) 
    151  
    152       IF( numit == nstart  )   CALL lim_itd_me_init   ! Initialization (first time-step only) 
    153147 
    154148      IF(ln_ctl) THEN 
     
    694688 
    695689      IF( partfun_swi == 0 ) THEN       !--- Linear formulation (Thorndike et al., 1975) 
    696          DO jl = 0, ice_cat_bounds(1,2)       ! only undeformed ice participates 
     690         DO jl = 0, jpl     
    697691            DO jj = 1, jpj  
    698692               DO ji = 1, jpi 
     
    717711            Gsum(:,:,jl) = EXP( -Gsum(:,:,jl) * astari ) * zdummy 
    718712         END DO !jl 
    719          DO jl = 0, ice_cat_bounds(1,2) 
     713         DO jl = 0, jpl 
    720714             athorn(:,:,jl) = Gsum(:,:,jl-1) - Gsum(:,:,jl) 
    721715         END DO 
     
    853847      INTEGER ::   ij                ! horizontal index, combines i and j loops 
    854848      INTEGER ::   icells            ! number of cells with aicen > puny 
    855       REAL(wp) ::   zindb    ! local scalar 
    856849      REAL(wp) ::   hL, hR, farea, zdummy, zdummy0, ztmelts    ! left and right limits of integration 
    857850      REAL(wp) ::   zsstK            ! SST in Kelvin 
     
    899892      CALL wrk_alloc( jpi, jpj,             afrft, arft1, arft2, virft, vsrft, esrft, smrft, oirft1, oirft2 ) 
    900893      CALL wrk_alloc( jpi, jpj, jpl,        aicen_init, vicen_init, vsnwn_init, esnwn_init, smv_i_init, oa_i_init ) 
    901       CALL wrk_alloc( jpi, jpj, jkmax,      eirft, erdg1, erdg2, ersw ) 
    902       CALL wrk_alloc( jpi, jpj, jkmax, jpl, eicen_init ) 
     894      CALL wrk_alloc( jpi, jpj, nlay_i+1,      eirft, erdg1, erdg2, ersw ) 
     895      CALL wrk_alloc( jpi, jpj, nlay_i+1, jpl, eicen_init ) 
    903896 
    904897      ! Conservation check 
     
    10371030            !     / rafting category n1. 
    10381031            !-------------------------------------------------------------------------- 
    1039             vrdg1(ji,jj) = vicen_init(ji,jj,jl1) * afrac(ji,jj) / ( 1._wp + ridge_por ) 
     1032            vrdg1(ji,jj) = vicen_init(ji,jj,jl1) * afrac(ji,jj) 
    10401033            vrdg2(ji,jj) = vrdg1(ji,jj) * ( 1. + ridge_por ) 
    10411034            vsw  (ji,jj) = vrdg1(ji,jj) * ridge_por 
     
    10431036            vsrdg(ji,jj) = vsnwn_init(ji,jj,jl1) * afrac(ji,jj) 
    10441037            esrdg(ji,jj) = esnwn_init(ji,jj,jl1) * afrac(ji,jj) 
    1045             srdg1(ji,jj) = smv_i_init(ji,jj,jl1) * afrac(ji,jj) / ( 1._wp + ridge_por ) 
     1038            srdg1(ji,jj) = smv_i_init(ji,jj,jl1) * afrac(ji,jj) 
    10461039            srdg2(ji,jj) = smv_i_init(ji,jj,jl1) * afrac(ji,jj) !! MV HC 2014 this line seems useless 
    10471040 
     
    11281121               jj = indxj(ij) 
    11291122               ! heat content of ridged ice 
    1130                erdg1(ji,jj,jk)      = eicen_init(ji,jj,jk,jl1) * afrac(ji,jj) / ( 1._wp + ridge_por )  
     1123               erdg1(ji,jj,jk)      = eicen_init(ji,jj,jk,jl1) * afrac(ji,jj)  
    11311124               eirft(ji,jj,jk)      = eicen_init(ji,jj,jk,jl1) * afrft(ji,jj) 
    11321125               e_i  (ji,jj,jk,jl1)  = e_i(ji,jj,jk,jl1) - erdg1(ji,jj,jk) - eirft(ji,jj,jk) 
     
    11951188         !------------------------------------------------------------------------------- 
    11961189         !        jl1 looping 1-jpl 
    1197          DO jl2  = ice_cat_bounds(1,1), ice_cat_bounds(1,2)  
     1190         DO jl2  = 1, jpl  
    11981191            ! over categories to which ridged ice is transferred 
    11991192!CDIR NODEP 
     
    12401233         END DO                 ! jl2 (new ridges)             
    12411234 
    1242          DO jl2 = ice_cat_bounds(1,1), ice_cat_bounds(1,2)  
     1235         DO jl2 = 1, jpl  
    12431236 
    12441237!CDIR NODEP 
     
    13041297      CALL wrk_dealloc( jpi, jpj,             afrft, arft1, arft2, virft, vsrft, esrft, smrft, oirft1, oirft2 ) 
    13051298      CALL wrk_dealloc( jpi, jpj, jpl,        aicen_init, vicen_init, vsnwn_init, esnwn_init, smv_i_init, oa_i_init ) 
    1306       CALL wrk_dealloc( jpi, jpj, jkmax,      eirft, erdg1, erdg2, ersw ) 
    1307       CALL wrk_dealloc( jpi, jpj, jkmax, jpl, eicen_init ) 
     1299      CALL wrk_dealloc( jpi, jpj, nlay_i+1,      eirft, erdg1, erdg2, ersw ) 
     1300      CALL wrk_dealloc( jpi, jpj, nlay_i+1, jpl, eicen_init ) 
    13081301      ! 
    13091302   END SUBROUTINE lim_itd_me_ridgeshift 
Note: See TracChangeset for help on using the changeset viewer.