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 4873 – NEMO

Changeset 4873


Ignore:
Timestamp:
2014-11-18T18:53:04+01:00 (9 years ago)
Author:
clem
Message:

LIM3: removing useless jkmax (=nlay_i+1) parameter

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

Legend:

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

    r4872 r4873  
    466466         &      e_s(jpi,jpj,nlay_s,jpl) , STAT=ierr(ii) ) 
    467467      ii = ii + 1 
    468       ALLOCATE( t_i(jpi,jpj,jkmax,jpl) , e_i(jpi,jpj,jkmax,jpl) , s_i(jpi,jpj,jkmax,jpl) , STAT=ierr(ii) ) 
     468      ALLOCATE( t_i(jpi,jpj,nlay_i+1,jpl) , e_i(jpi,jpj,nlay_i+1,jpl) , s_i(jpi,jpj,nlay_i+1,jpl) , STAT=ierr(ii) ) 
    469469 
    470470      ! * Moments for advection 
     
    482482         &      STAT=ierr(ii) ) 
    483483      ii = ii + 1 
    484       ALLOCATE( sxe (jpi,jpj,jkmax,jpl) , sye (jpi,jpj,jkmax,jpl) , sxxe(jpi,jpj,jkmax,jpl) ,     & 
    485          &      syye(jpi,jpj,jkmax,jpl) , sxye(jpi,jpj,jkmax,jpl)                           , STAT=ierr(ii) ) 
     484      ALLOCATE( sxe (jpi,jpj,nlay_i+1,jpl) , sye (jpi,jpj,nlay_i+1,jpl) , sxxe(jpi,jpj,nlay_i+1,jpl) ,     & 
     485         &      syye(jpi,jpj,nlay_i+1,jpl) , sxye(jpi,jpj,nlay_i+1,jpl)                           , STAT=ierr(ii) ) 
    486486 
    487487      ! * Old values of global variables 
    488488      ii = ii + 1 
    489489      ALLOCATE( v_s_b  (jpi,jpj,jpl) , v_i_b  (jpi,jpj,jpl) , e_s_b(jpi,jpj,nlay_s,jpl) ,     & 
    490          &      a_i_b  (jpi,jpj,jpl) , smv_i_b(jpi,jpj,jpl) , e_i_b(jpi,jpj,jkmax ,jpl) ,     & 
     490         &      a_i_b  (jpi,jpj,jpl) , smv_i_b(jpi,jpj,jpl) , e_i_b(jpi,jpj,nlay_i+1 ,jpl) ,     & 
    491491         &      oa_i_b (jpi,jpj,jpl)                                                        ,     & 
    492492         &      u_ice_b(jpi,jpj)     , v_ice_b(jpi,jpj)                                   , STAT=ierr(ii) ) 
     
    500500         &     STAT=ierr(ii) ) 
    501501      ii = ii + 1 
    502       ALLOCATE( d_e_s_thd(jpi,jpj,nlay_s,jpl) , d_e_i_thd(jpi,jpj,jkmax,jpl) , d_u_ice_dyn(jpi,jpj) ,     & 
    503          &      d_e_s_trp(jpi,jpj,nlay_s,jpl) , d_e_i_trp(jpi,jpj,jkmax,jpl) , d_v_ice_dyn(jpi,jpj) , STAT=ierr(ii) ) 
     502      ALLOCATE( d_e_s_thd(jpi,jpj,nlay_s,jpl) , d_e_i_thd(jpi,jpj,nlay_i+1,jpl) , d_u_ice_dyn(jpi,jpj) ,     & 
     503         &      d_e_s_trp(jpi,jpj,nlay_s,jpl) , d_e_i_trp(jpi,jpj,nlay_i+1,jpl) , d_v_ice_dyn(jpi,jpj) , STAT=ierr(ii) ) 
    504504       
    505505      ! * Ice thickness distribution variables 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/iceini.F90

    r4869 r4873  
    6666      ! 
    6767      !                                ! adequation jpk versus ice/snow layers/categories 
    68       IF( jpl > jpk .OR. jkmax > jpk .OR. nlay_s > jpk )   & 
     68      IF( jpl > jpk .OR. (nlay_i+1) > jpk .OR. nlay_s > jpk )   & 
    6969         &      CALL ctl_stop( 'STOP',                     & 
    7070         &     'ice_init: the 3rd dimension of workspace arrays is too small.',   & 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limcons.F90

    r4765 r4873  
    7373      !! ** Method  : Arithmetics 
    7474      !!--------------------------------------------------------------------- 
    75       INTEGER                               , INTENT(in   ) ::   ksum   !: number of categories 
    76       INTEGER                               , INTENT(in   ) ::   klay   !: number of vertical layers 
    77       REAL(wp), DIMENSION(jpi,jpj,jkmax,jpl), INTENT(in   ) ::   pin   !: input field 
    78       REAL(wp), DIMENSION(jpi,jpj)          , INTENT(  out) ::   pout   !: output field 
     75      INTEGER                                  , INTENT(in   ) ::   ksum   !: number of categories 
     76      INTEGER                                  , INTENT(in   ) ::   klay   !: number of vertical layers 
     77      REAL(wp), DIMENSION(jpi,jpj,nlay_i+1,jpl), INTENT(in   ) ::   pin   !: input field 
     78      REAL(wp), DIMENSION(jpi,jpj)             , INTENT(  out) ::   pout   !: output field 
    7979      ! 
    8080      INTEGER ::   jk, jl   ! dummy loop indices 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90

    r4869 r4873  
    897897      CALL wrk_alloc( jpi, jpj,             afrft, arft1, arft2, virft, vsrft, esrft, smrft, oirft1, oirft2 ) 
    898898      CALL wrk_alloc( jpi, jpj, jpl,        aicen_init, vicen_init, vsnwn_init, esnwn_init, smv_i_init, oa_i_init ) 
    899       CALL wrk_alloc( jpi, jpj, jkmax,      eirft, erdg1, erdg2, ersw ) 
    900       CALL wrk_alloc( jpi, jpj, jkmax, jpl, eicen_init ) 
     899      CALL wrk_alloc( jpi, jpj, nlay_i+1,      eirft, erdg1, erdg2, ersw ) 
     900      CALL wrk_alloc( jpi, jpj, nlay_i+1, jpl, eicen_init ) 
    901901 
    902902      ! Conservation check 
     
    13021302      CALL wrk_dealloc( jpi, jpj,             afrft, arft1, arft2, virft, vsrft, esrft, smrft, oirft1, oirft2 ) 
    13031303      CALL wrk_dealloc( jpi, jpj, jpl,        aicen_init, vicen_init, vsnwn_init, esnwn_init, smv_i_init, oa_i_init ) 
    1304       CALL wrk_dealloc( jpi, jpj, jkmax,      eirft, erdg1, erdg2, ersw ) 
    1305       CALL wrk_dealloc( jpi, jpj, jkmax, jpl, eicen_init ) 
     1304      CALL wrk_dealloc( jpi, jpj, nlay_i+1,      eirft, erdg1, erdg2, ersw ) 
     1305      CALL wrk_dealloc( jpi, jpj, nlay_i+1, jpl, eicen_init ) 
    13061306      ! 
    13071307   END SUBROUTINE lim_itd_me_ridgeshift 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dh.F90

    r4872 r4873  
    130130      CALL wrk_alloc( jpij, zdh_s_mel, zdh_s_pre, zdh_s_sub, zqh_i, zqh_s, zq_s ) 
    131131      CALL wrk_alloc( jpij, zintermelt ) 
    132       CALL wrk_alloc( jpij, jkmax, zdeltah, zh_i ) 
     132      CALL wrk_alloc( jpij, nlay_i+1, zdeltah, zh_i ) 
    133133      CALL wrk_alloc( jpij, icount ) 
    134134       
     
    728728      CALL wrk_dealloc( jpij, zdh_s_mel, zdh_s_pre, zdh_s_sub, zqh_i, zqh_s, zq_s ) 
    729729      CALL wrk_dealloc( jpij, zintermelt ) 
    730       CALL wrk_dealloc( jpij, jkmax, zdeltah, zh_i ) 
     730      CALL wrk_dealloc( jpij, nlay_i+1, zdeltah, zh_i ) 
    731731      CALL wrk_dealloc( jpij, icount ) 
    732732      ! 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90

    r4872 r4873  
    155155      CALL wrk_alloc( jpij, nlay_i+1, ztcond_i, zradtr_i, zradab_i, zkappa_i, ztib, zeta_i, ztitemp, z_i, zspeche_i, kjstart=0) 
    156156      CALL wrk_alloc( jpij, nlay_s+1,           zradtr_s, zradab_s, zkappa_s, ztsb, zeta_s, ztstemp, z_s, kjstart=0) 
    157       CALL wrk_alloc( jpij, jkmax+2, zindterm, zindtbis, zdiagbis  ) 
    158       CALL wrk_alloc( jpij, jkmax+2, 3, ztrid ) 
     157      CALL wrk_alloc( jpij, nlay_i+3, zindterm, zindtbis, zdiagbis  ) 
     158      CALL wrk_alloc( jpij, nlay_i+3, 3, ztrid ) 
    159159 
    160160      CALL wrk_alloc( jpij, zdq, zq_ini ) 
     
    430430         !!ice interior terms (top equation has the same form as the others) 
    431431 
    432          DO numeq=1,jkmax+2 
     432         DO numeq=1,nlay_i+3 
    433433            DO ji = kideb , kiut 
    434434               ztrid(ji,numeq,1) = 0. 
     
    621621 
    622622         maxnumeqmax = 0 
    623          minnumeqmin = jkmax+4 
     623         minnumeqmin = nlay_i+5 
    624624 
    625625         DO ji = kideb , kiut 
     
    761761         &              ztib, zeta_i, ztitemp, z_i, zspeche_i, kjstart = 0 ) 
    762762      CALL wrk_dealloc( jpij, nlay_s+1,           zradtr_s, zradab_s, zkappa_s, ztsb, zeta_s, ztstemp, z_s, kjstart = 0 ) 
    763       CALL wrk_dealloc( jpij, jkmax+2, zindterm, zindtbis, zdiagbis ) 
    764       CALL wrk_dealloc( jpij, jkmax+2, 3, ztrid ) 
     763      CALL wrk_dealloc( jpij, nlay_i+3, zindterm, zindtbis, zdiagbis ) 
     764      CALL wrk_dealloc( jpij, nlay_i+3, 3, ztrid ) 
    765765      CALL wrk_dealloc( jpij, zdq, zq_ini ) 
    766766 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_lac.F90

    r4872 r4873  
    121121      CALL wrk_alloc( jpij, zdv_res, zda_res, zat_i_1d, zv_frazb, zvrel_1d ) 
    122122      CALL wrk_alloc( jpij,jpl, zv_b, za_b, za_i_1d, zv_i_1d, zoa_i_1d, zsmv_i_1d ) 
    123       CALL wrk_alloc( jpij,jkmax,jpl, ze_i_1d ) 
     123      CALL wrk_alloc( jpij,nlay_i+1,jpl, ze_i_1d ) 
    124124      CALL wrk_alloc( jpi,jpj, zvrel ) 
    125125 
     
    542542      CALL wrk_dealloc( jpij, zdv_res, zda_res, zat_i_1d, zv_frazb, zvrel_1d ) 
    543543      CALL wrk_dealloc( jpij,jpl, zv_b, za_b, za_i_1d, zv_i_1d, zoa_i_1d, zsmv_i_1d ) 
    544       CALL wrk_dealloc( jpij,jkmax,jpl, ze_i_1d ) 
     544      CALL wrk_dealloc( jpij,nlay_i+1,jpl, ze_i_1d ) 
    545545      CALL wrk_dealloc( jpi,jpj, zvrel ) 
    546546      ! 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90

    r4870 r4873  
    8585      CALL wrk_alloc( jpi, jpj, zui_u, zvi_v, zsm, zs0at, zs0ow, zeiold, zesold ) 
    8686      CALL wrk_alloc( jpi, jpj, jpl, zs0ice, zs0sn, zs0a, zs0c0 , zs0sm , zs0oi ) 
    87       CALL wrk_alloc( jpi, jpj, jkmax, jpl, zs0e ) 
     87      CALL wrk_alloc( jpi, jpj, nlay_i+1, jpl, zs0e ) 
    8888 
    8989      CALL wrk_alloc( jpi, jpj, jpl, zaiold, zhimax, zviold, zvsold )   ! clem 
     
    506506      CALL wrk_dealloc( jpi, jpj, zui_u, zvi_v, zsm, zs0at, zs0ow, zeiold, zesold ) 
    507507      CALL wrk_dealloc( jpi, jpj, jpl, zs0ice, zs0sn, zs0a, zs0c0 , zs0sm , zs0oi ) 
    508       CALL wrk_dealloc( jpi, jpj, jkmax, jpl, zs0e ) 
     508      CALL wrk_dealloc( jpi, jpj, nlay_i+1, jpl, zs0e ) 
    509509 
    510510      CALL wrk_dealloc( jpi, jpj, jpl, zviold, zvsold, zaiold, zhimax )   ! clem 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/par_ice.F90

    r4869 r4873  
    1212 
    1313   !                                             !!! ice thermodynamics 
    14    INTEGER, PUBLIC, PARAMETER ::   jkmax    = 6   !: maximum number of ice layers 
    1514   INTEGER, PUBLIC, PARAMETER ::   nlay_i   = 5   !: number of ice layers 
    1615   INTEGER, PUBLIC, PARAMETER ::   nlay_s   = 1   !: number of snow layers 
  • trunk/NEMOGCM/NEMO/LIM_SRC_3/thd_ice.F90

    r4872 r4873  
    172172         &      dh_snowice(jpij) , sm_i_1d   (jpij) , s_i_new  (jpij) ,    & 
    173173         &      t_s_1d(jpij,nlay_s),                                       & 
    174          &      t_i_1d(jpij,jkmax), s_i_1d(jpij,jkmax)                ,     &             
    175          &      q_i_1d(jpij,jkmax), q_s_1d(jpij,jkmax)                ,     & 
    176          &      qh_i_old(jpij,0:jkmax), h_i_old(jpij,0:jkmax) , STAT=ierr(3)) 
     174         &      t_i_1d(jpij,nlay_i+1), s_i_1d(jpij,nlay_i+1)                ,     &             
     175         &      q_i_1d(jpij,nlay_i+1), q_s_1d(jpij,nlay_i+1)                ,     & 
     176         &      qh_i_old(jpij,0:nlay_i+1), h_i_old(jpij,0:nlay_i+1) , STAT=ierr(3)) 
    177177      ! 
    178178      thd_ice_alloc = MAXVAL( ierr ) 
Note: See TracChangeset for help on using the changeset viewer.