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 5058 for branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90 – NEMO

Ignore:
Timestamp:
2015-02-04T12:25:57+01:00 (9 years ago)
Author:
clem
Message:

LIM3: add a namelist parameter to change the shape of ice thickness categories

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r5055 r5058  
    423423      !! ** Purpose :   Initializes the ice thickness distribution 
    424424      !! ** Method  :   ... 
    425       !!    Note    : hi_max(jpl) is here set up to a value close to 7 m for 
    426       !!              limistate (only) and is changed to 99 m in sbc_lim_init 
    427       !!------------------------------------------------------------------ 
     425      !! ** input   :   Namelist namiceitd 
     426      !!------------------------------------------------------------------- 
     427      INTEGER  ::   ios                 ! Local integer output status for namelist read 
     428      NAMELIST/namiceitd/ nn_itdshp, rn_itmean 
     429      ! 
    428430      INTEGER  ::   jl                   ! dummy loop index 
    429431      REAL(wp) ::   zc1, zc2, zc3, zx1   ! local scalars 
    430432      REAL(wp) ::   zhmax, znum, zden, zalpha ! 
    431433      !!------------------------------------------------------------------ 
    432  
    433       IF(lwp) WRITE(numout,*) 
    434       IF(lwp) WRITE(numout,*) 'lim_itd_init : Initialization of ice thickness distribution ' 
    435       IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
    436  
    437       !------------------------------------------------------------------------------! 
    438       ! 1) Ice thickness distribution parameters initialization     
    439       !------------------------------------------------------------------------------! 
    440       IF(lwp) WRITE(numout,*) ' Number of ice categories jpl = ', jpl 
    441  
     434      ! 
     435      REWIND( numnam_ice_ref )              ! Namelist namiceitd in reference namelist : Parameters for ice 
     436      READ  ( numnam_ice_ref, namiceitd, IOSTAT = ios, ERR = 903) 
     437903   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceitd in reference namelist', lwp ) 
     438 
     439      REWIND( numnam_ice_cfg )              ! Namelist namiceitd in configuration namelist : Parameters for ice 
     440      READ  ( numnam_ice_cfg, namiceitd, IOSTAT = ios, ERR = 904 ) 
     441904   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceitd in configuration namelist', lwp ) 
     442      IF(lwm) WRITE ( numoni, namiceitd ) 
     443      ! 
     444      ! 
     445      IF(lwp) THEN                        ! control print 
     446         WRITE(numout,*) 
     447         WRITE(numout,*) 'ice_itd : ice cat distribution' 
     448         WRITE(numout,*) ' ~~~~~~' 
     449         WRITE(numout,*) '   shape of ice categories distribution                          nn_itdshp = ', nn_itdshp 
     450         WRITE(numout,*) '   mean ice thickness in the domain (only active if nn_itdshp=2) rn_itmean = ', rn_itmean 
     451      ENDIF 
     452 
     453      !---------------------------------- 
    442454      !- Thickness categories boundaries  
    443455      !---------------------------------- 
    444       !  Clem - je sais pas encore dans quelle namelist les mettre, ca depend des chgts liés à bdy 
    445       nn_hibnd  = 2                !  thickness category boundaries: tanh function (1) h^(-alpha) (2) 
    446       rn_hibnd  = 2.5              !  mean thickness of the domain (used to compute category boundaries, nn_hibnd = 2 only) 
     456      IF(lwp) WRITE(numout,*) 
     457      IF(lwp) WRITE(numout,*) 'lim_itd_init : Initialization of ice cat distribution ' 
     458      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
    447459 
    448460      hi_max(:) = 0._wp 
    449461 
    450       SELECT CASE ( nn_hibnd  )        
     462      SELECT CASE ( nn_itdshp  )        
    451463                                   !---------------------- 
    452464         CASE (1)                  ! tanh function (CICE) 
     
    466478         zalpha = 0.05             ! exponent of the transform function 
    467479 
    468          zhmax  = 3.*rn_hibnd 
     480         zhmax  = 3.*rn_itmean 
    469481 
    470482         DO jl = 1, jpl  
     
    479491         hi_mean(jl) = ( hi_max(jl) + hi_max(jl-1) ) * 0.5_wp 
    480492      END DO 
     493 
    481494      ! Set hi_max(jpl) to a big value to ensure that all ice is thinner than hi_max(jpl) 
    482495      hi_max(jpl) = 99._wp 
Note: See TracChangeset for help on using the changeset viewer.