Changeset 5058


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

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

Location:
branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO/LIM_SRC_2/ice_2.F90

    r5053 r5058  
    5656   REAL(wp), PUBLIC ::   sangvg, cangvg        !: sin and cos of the turning angle for ocean stress 
    5757   REAL(wp), PUBLIC ::   pstarh                !: pstar / 2.0 
     58 
     59   !                                !!** switch for presence of ice or not  
     60   REAL(wp), PUBLIC ::   rswitch 
    5861 
    5962   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   ahiu , ahiv   !: hor. diffusivity coeff. at ocean U- and V-points (m2/s) 
  • branches/2015/dev_r5044_CNRS_LIM3CLEAN/NEMOGCM/NEMO/LIM_SRC_3/ice.F90

    r5055 r5058  
    164164   REAL(wp), PUBLIC ::   r1_rdtice        !: = 1. / rdt_ice 
    165165 
    166    ! Clem je sais pas ou les mettre 
    167    INTEGER , PUBLIC ::   nn_hibnd         !: thickness category boundaries: tanh function (1), or h^(-alpha) function (2) 
    168    REAL(wp), PUBLIC ::   rn_hibnd         !: mean thickness of the domain (used to compute category boundaries, nn_hibnd = 2 only) 
     166   !                                     !!** ice-thickness distribution namelist (namiceitd) ** 
     167   INTEGER , PUBLIC ::   nn_itdshp        !: categories distribution following: tanh function (1), or h^(-alpha) function (2) 
     168   REAL(wp), PUBLIC ::   rn_itmean        !: mean thickness of the domain (used to compute the distribution, nn_itdshp = 2 only) 
    169169 
    170170   !                                     !!** ice-dynamics namelist (namicedyn) ** 
  • 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.