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 5048 for branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO/LIM_SRC_3/iceini.F90 – NEMO

Ignore:
Timestamp:
2015-02-02T11:28:50+01:00 (9 years ago)
Author:
vancop
Message:

new itd boundaries, namelist changes, mono-category and comments

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO/LIM_SRC_3/iceini.F90

    r5047 r5048  
    172172      !!              limistate (only) and is changed to 99 m in ice_init 
    173173      !!------------------------------------------------------------------ 
    174       INTEGER  ::   jl                   ! dummy loop index 
    175       REAL(wp) ::   zc1, zc2, zc3, zx1   ! local scalars 
     174      INTEGER  ::   jl                        ! dummy loop index 
     175      REAL(wp) ::   zc1, zc2, zc3, zx1        ! local scalars 
     176      REAL(wp) ::   zhmax, znum, zden, zalpha ! 
    176177      !!------------------------------------------------------------------ 
    177178 
     
    189190      !- Thickness categories boundaries  
    190191      !---------------------------------- 
     192 
     193      !  Clem - je sais pas encore dans quelle namelist les mettre, ca depend des chgts liés à bdy 
     194      nn_hibnd  = 2                !  thickness category boundaries: tanh function (1) h^(-alpha) (2) 
     195      rn_himean = 2.5              !  mean thickness of the domain (used to compute category boundaries, nn_hibnd = 2 only) 
     196 
    191197      hi_max(:) = 0._wp 
    192198 
    193       zc1 =  3._wp / REAL( jpl, wp ) 
    194       zc2 = 10._wp * zc1 
    195       zc3 =  3._wp 
    196  
    197       DO jl = 1, jpl 
    198          zx1 = REAL( jl-1, wp ) / REAL( jpl, wp ) 
    199          hi_max(jl) = hi_max(jl-1) + zc1 + zc2 * (1._wp + TANH( zc3 * (zx1 - 1._wp ) ) ) 
    200       END DO 
     199      SELECT CASE ( nn_hbnd  )        
     200                                   !---------------------- 
     201         CASE (1)                  ! tanh function (CICE) 
     202                                   !---------------------- 
     203 
     204         zc1 =  3._wp / REAL( jpl, wp ) 
     205         zc2 = 10._wp * zc1 
     206         zc3 =  3._wp 
     207 
     208         DO jl = 1, jpl 
     209            zx1 = REAL( jl-1, wp ) / REAL( jpl, wp ) 
     210            hi_max(jl) = hi_max(jl-1) + zc1 + zc2 * (1._wp + TANH( zc3 * (zx1 - 1._wp ) ) ) 
     211         END DO 
     212 
     213                                   !---------------------- 
     214         CASE (2)                  ! h^(-alpha) function 
     215                                   !---------------------- 
     216 
     217         zalpha = 0.05             ! exponent of the transform function 
     218 
     219         zhmax  = 3.*rn_himean 
     220 
     221         DO jl = 1, jpl  
     222            znum = jpl * ( zhmax+1 )**zalpha 
     223            zden = ( jpl - jl ) * ( zhmax+1 )**zalpha + jl 
     224            hi_max(jl) = ( znum / zden )**(1./zalpha) - 1 
     225         END DO 
     226 
     227      END SELECT 
     228 
     229      ! mv- would be nice if we could put the instruction hi_max(jpl) = 99 here 
    201230 
    202231      IF(lwp) WRITE(numout,*) ' Thickness category boundaries ' 
Note: See TracChangeset for help on using the changeset viewer.