Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/ORCA2_LIM3_PISCES/EXP00/namelist_ice_cfg
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/ORCA2_LIM3_PISCES/EXP00/namelist_ice_cfg	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/ORCA2_LIM3_PISCES/EXP00/namelist_ice_cfg	(revision 8512)
@@ -1,48 +1,59 @@
 !!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 !! LIM3 configuration namelist: Overwrites SHARED/namelist_ice_lim3_ref
-!!              1 - Generic parameters                 (namicerun)
-!!              2 - Diagnostics                        (namicediag)
-!!              3 - Ice initialization                 (namiceini)
-!!              4 - Ice discretization                 (namiceitd)
-!!              5 - Ice dynamics and transport         (namicedyn)
-!!              6 - Ice thermodynamics                 (namicethd)
-!!              7 - Ice salinity                       (namicesal)
-!!              8 - Ice mechanical redistribution      (namiceitdme)
-!!              9 - Ice/snow albedos                   (namicealb)
-!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+!!              1 - Generic parameters                 (namice_run)
+!!              2 - Ice thickness discretization       (namice_itd)
+!!              3 - Ice ridging/rafting                (namice_rdgrft)
+!!              4 - Ice rheology                       (namice_rhg)
+!!              5 - Ice advection                      (namice_adv)
+!!              6 - Ice thermodynamics                 (namice_thd)
+!!              7 - Ice salinity                       (namice_sal)
+!!              8 - Ice melt ponds                     (namice_mp)
+!!              9 - Ice initialization                 (namice_ini)
+!!             10 - Ice/snow albedos                   (namice_alb)
+!!             11 - Ice diagnostics                    (namice_dia)
+!!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+!
 !------------------------------------------------------------------------------
-&namicerun     !   Generic parameters
+&namice_run     !   Generic parameters
 !------------------------------------------------------------------------------
 /
 !------------------------------------------------------------------------------
-&namicediag    !   Diagnostics
+&namice_itd     !   Ice discretization
 !------------------------------------------------------------------------------
 /
 !------------------------------------------------------------------------------
-&namiceini     !   Ice initialization
+&namice_rdgrft  !   Ice ridging/rafting
 !------------------------------------------------------------------------------
 /
 !------------------------------------------------------------------------------
-&namiceitd     !   Ice discretization
+&namice_rhg     !   Ice rheology
 !------------------------------------------------------------------------------
 /
 !------------------------------------------------------------------------------
-&namicedyn     !   Ice dynamics and transport
+&namice_adv     !   Ice advection
 !------------------------------------------------------------------------------
 /
 !------------------------------------------------------------------------------
-&namicethd     !   Ice thermodynamics
+&namice_thd     !   Ice thermodynamics
 !------------------------------------------------------------------------------
 /
 !------------------------------------------------------------------------------
-&namicesal     !   Ice salinity
+&namice_sal     !   Ice salinity
 !------------------------------------------------------------------------------
 /
 !------------------------------------------------------------------------------
-&namiceitdme   !   Ice mechanical redistribution (ridging and rafting)
+&namicemp      !   Melt ponds
 !------------------------------------------------------------------------------
 /
-!-----------------------------------------------------------------------
-&namicealb     !   albedo parameters
-!-----------------------------------------------------------------------
+!------------------------------------------------------------------------------
+&namice_ini     !   Ice initialization
+!------------------------------------------------------------------------------
 /
+!------------------------------------------------------------------------------
+&namice_alb     !   albedo parameters
+!------------------------------------------------------------------------------
+/
+!------------------------------------------------------------------------------
+&namice_dia     !   Diagnostics
+!------------------------------------------------------------------------------
+/
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/SHARED/namelist_ice_lim3_ref
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/SHARED/namelist_ice_lim3_ref	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/CONFIG/SHARED/namelist_ice_lim3_ref	(revision 8512)
@@ -1,55 +1,174 @@
 !!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 !! LIM3 namelist:  
-!!              1 - Generic parameters                 (namicerun)
-!!              2 - Diagnostics                        (namicediag)
-!!              3 - Ice initialization                 (namiceini)
-!!              4 - Ice discretization                 (namiceitd)
-!!              5 - Ice dynamics and transport         (namicedyn)
-!!              6 - Ice thermodynamics                 (namicethd)
-!!              7 - Ice salinity                       (namicesal)
-!!              8 - Ice mechanical redistribution      (namiceitdme)
-!!              9 - Ice/snow albedos                   (namicealb)
+!!              1 - Generic parameters                 (namice_run)
+!!              2 - Ice thickness discretization       (namice_itd)
+!!              3 - Ice ridging/rafting                (namice_rdgrft)
+!!              4 - Ice rheology                       (namice_rhg)
+!!              5 - Ice advection                      (namice_adv)
+!!              6 - Ice thermodynamics                 (namice_thd)
+!!              7 - Ice salinity                       (namice_sal)
+!!              8 - Ice melt ponds                     (namice_mp)
+!!              9 - Ice initialization                 (namice_ini)
+!!             10 - Ice/snow albedos                   (namice_alb)
+!!             11 - Ice diagnostics                    (namice_dia)
 !!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 !
 !------------------------------------------------------------------------------
-&namicerun     !   Generic parameters
-!------------------------------------------------------------------------------
-   jpl              =    5          !  number of ice  categories
-   nlay_i           =    2          !  number of ice  layers
-   nlay_s           =    1          !  number of snow layers (only 1 is working)
-   nn_monocat       =    0          !  virtual ITD mono-category parameterizations (1-4 => jpl = 1 only) or not (0)
-                                    !     2: simple piling instead of ridging    --- temporary option
-                                    !     3: activate G(he) only                 --- temporary option
-                                    !     4: activate extra lateral melting only --- temporary option
-   rn_amax_n        =   0.997       !  maximum tolerated ice concentration NH
-   rn_amax_s        =   0.997       !  maximum tolerated ice concentration SH
-   cn_icerst_in     = "restart_ice" !  suffix of ice restart name (input)
-   cn_icerst_out    = "restart_ice" !  suffix of ice restart name (output)
-   cn_icerst_indir  = "."           !  directory to read   input ice restarts
-   cn_icerst_outdir = "."           !  directory to write output ice restarts
-   ln_limthd        =  .true.       !  ice thermo   (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
-   ln_limdyn        =  .true.       !  ice dynamics (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
-   nn_limdyn        =   2           !     (ln_limdyn=T) switch for ice dynamics   
-                                    !      2: total
-                                    !      1: advection only (no diffusion, no ridging/rafting)
-                                    !      0: advection only (as 1 but with prescribed velocity, bypass rheology)
-   rn_uice          =   0.00001     !     (nn_limdyn=0) ice u-velocity
-   rn_vice          =  -0.00001     !     (nn_limdyn=0) ice v-velocity
-/
-!------------------------------------------------------------------------------
-&namicediag    !   Diagnostics
-!------------------------------------------------------------------------------
-   ln_limdiachk   =  .false.        !  check online the heat, mass & salt budgets (T) or not (F)
-   ln_limdiahsb   =  .false.        !  output the heat, mass & salt budgets (T) or not (F)
-   ln_limctl      =  .false.        !  ice points output for debug (T or F)
-   iiceprt        =    10           !  i-index for debug
-   jiceprt        =    10           !  j-index for debug
-/
-!------------------------------------------------------------------------------
-&namiceini     !   Ice initialization
+&namice_run     !   Generic parameters
+!------------------------------------------------------------------------------
+   jpl              =    5            !  number of ice  categories
+   nlay_i           =    2            !  number of ice  layers
+   nlay_s           =    1            !  number of snow layers (only 1 is working)
+   nn_monocat       =    0            !  virtual ITD mono-category parameterizations (1-4 => jpl = 1 only) or not (0)
+                                      !     2: simple piling instead of ridging    --- temporary option
+                                      !     3: activate G(he) only                 --- temporary option
+                                      !     4: activate extra lateral melting only --- temporary option
+   rn_amax_n        =   0.997         !  maximum tolerated ice concentration NH
+   rn_amax_s        =   0.997         !  maximum tolerated ice concentration SH
+   cn_icerst_in     = "restart_ice"   !  suffix of ice restart name (input)
+   cn_icerst_out    = "restart_ice"   !  suffix of ice restart name (output)
+   cn_icerst_indir  = "."             !  directory to read   input ice restarts
+   cn_icerst_outdir = "."             !  directory to write output ice restarts
+/
+!------------------------------------------------------------------------------
+&namice_itd     !   Ice discretization
+!------------------------------------------------------------------------------
+   rn_himean        =   2.0           !  expected domain-average ice thickness (m)
+/
+!------------------------------------------------------------------------------
+&namice_rdgrft  !   Ice ridging/rafting
+!------------------------------------------------------------------------------
+          ! -- ice_rdgrft_strength -- !
+   ln_str_Hib       = .true.          !  ice strength param.: Hibler_79   => P = pstar*<h>*exp(-c_rhg*A)                      
+      rn_pstar      =   2.0e+04       !     ice strength thickness parameter (N/m2) 
+      rn_crhg       =   20.0          !     ice strength conc. parameter (-)
+   ln_str_Rot       = .false.         !  ice strength param.: Rothrock_75 => P = Cf*coeff*integral(wr.h^2)    
+      rn_perdg      =   17.0          !     ridging work divided by pot. energy change in ridging
+                   ! -- ice_rdgrft -- !
+   rn_cs            =   0.5           !  fraction of shearing energy contributing to ridging
+              ! -- ice_rdgrft_prep -- !
+   ln_partf_lin     = .false.         !  Linear ridging participation function (Thorndike et al, 1975)
+      rn_gstar      =   0.15          !     fractional area of thin ice being ridged 
+   ln_partf_exp     = .true.          !  Exponential ridging participation function (Lipscomb, 2007)
+      rn_astar      =   0.03          !     exponential measure of ridging ice fraction [set to 0.05 if hstar=100]
+   ln_ridging       = .true.          !  ridging activated (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
+      rn_hstar      =  25.0           !     determines the maximum thickness of ridged ice (m) (Hibler, 1980)
+      rn_porordg    =   0.3           !     porosity of newly ridged ice (Lepparanta et al., 1995)
+      rn_fsnwrdg    =   0.5           !     snow volume fraction that survives in ridging
+      rn_fpndrdg    =   1.0           !     pond fraction that survives in ridging (small a priori)
+   ln_rafting       = .true.          !  rafting activated (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
+      rn_hraft      =   0.75          !     threshold thickness for rafting (m)
+      rn_craft      =   5.0           !     squeezing coefficient used in the rafting function
+      rn_fsnwrft    =   0.5           !     snow volume fraction that survives in rafting
+      rn_fpndrft    =   1.0           !     pond fraction that survives in rafting (0.5 a priori)
+/
+!------------------------------------------------------------------------------
+&namice_rhg     !   Ice rheology
+!------------------------------------------------------------------------------
+   rn_ishlat        =   2.            !  free slip (0) ; partial slip (0-2) ; no slip (2) ; strong slip (>2)
+   rn_cio           =   5.0e-03       !  ice-ocean drag coefficient (-)
+   rn_creepl        =   1.0e-12       !  creep limit (s-1)
+   rn_ecc           =   2.0           !  eccentricity of the elliptical yield curve          
+   nn_nevp          = 120             !  number of EVP subcycles                             
+   rn_relast        =   0.333         !  ratio of elastic timescale to ice time step: Telast = dt_ice * rn_relast 
+                                      !     advised value: 1/3 (rn_nevp=120) or 1/9 (rn_nevp=300)
+   ln_landfast      = .false.         !  landfast ice parameterization (T or F)                           
+      rn_gamma      =   0.15          !     fraction of ocean depth that ice must reach to initiate landfast
+                                      !        recommended range: [0.1 ; 0.25]
+      rn_icebfr     =  10.            !     maximum bottom stress per unit area of contact (N/m2)                 
+                                      !        a very large value ensures ice velocity=0 even with a small contact area
+                                      !        recommended range: ?? (should be greater than atm-ice stress => >0.1 N/m2)
+      rn_lfrelax    =   1.e-5         !     relaxation time scale to reach static friction (s-1)                 
+/
+!------------------------------------------------------------------------------
+&namice_adv     !   Ice advection
+!------------------------------------------------------------------------------
+   ln_icedyn        = .true.          !  ice dynamics (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
+      nn_icedyn     =   2             !     switch for ice dynamics   
+                                      !        2: total
+                                      !        1: advection only (no diffusion, no ridging/rafting)
+                                      !        0: advection only (as 1 but with prescribed velocity, bypass rheology)
+         rn_uice    =   0.00001       !           prescribed ice u-velocity
+         rn_vice    =  -0.00001       !           prescribed ice v-velocity
+                      ! -- ice_adv -- !
+   ln_adv_Pra       = .false.         !  Advection scheme (Prather)
+   ln_adv_UMx       = .true.          !  Advection scheme (Ultimate-Macho)
+      nn_UMx        =   5             !     order of the scheme for UMx (1-5)
+/
+!------------------------------------------------------------------------------
+&namice_thd     !   Ice thermodynamics
+!------------------------------------------------------------------------------
+   ln_limthd      =  .true.           !  ice thermo   (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
+                   ! -- limthd_dif -- !
+   rn_kappa_i     = 1.0               !  radiation attenuation coefficient in sea ice (m-1)
+   nn_ice_thcon   = 1                 !  sea ice thermal conductivity
+                                      !     0: k = k0 + beta.S/T            (Untersteiner, 1964)
+                                      !     1: k = k0 + beta1.S/T - beta2.T (Pringle et al., 2007)
+   ln_dqnsice     = .true.            !  change the surface non-solar flux with surface temperature (T) or not (F)
+   rn_cdsn        = 0.31              !  thermal conductivity of the snow (0.31 W/m/K, Maykut and Untersteiner, 1971)
+                                      !     Obs: 0.1-0.5 (Lecomte et al, JAMES 2013)
+                    ! -- limthd_dh -- !
+   ln_limdH       = .true.            !  activate ice thickness change from growing/melting (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
+   rn_betas       = 0.66              !  exponent in lead-ice repratition of snow precipitation
+                                      !     betas = 1 -> equipartition, betas < 1 -> more on leads
+                    ! -- limthd_da -- !
+   ln_limdA       = .true.            !  activate lateral melting param. (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
+   rn_beta        = 1.0               !     (ln_latmelt=T) coef. beta for lateral melting param. Recommended range=[0.8-1.2]
+                                      !      => decrease = more melt and melt peaks toward higher concentration (A~0.5 for beta=1 ; A~0.8 for beta=0.2)
+                                      !         0.3 = best fit for western Fram Strait and Antarctica
+                                      !         1.4 = best fit for eastern Fram Strait      
+   rn_dmin        = 8.                !     (ln_latmelt=T) minimum floe diameter for lateral melting param. Recommended range=[6-10]
+                                      !      => 6  vs 8m = +40% melting at the peak (A~0.5)
+                                      !         10 vs 8m = -20% melting
+                   ! -- limthd_lac -- !
+   ln_limdO       = .true.            !  activate ice growth in open-water (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
+   rn_hnewice     = 0.1               !  thickness for new ice formation in open water (m)
+   ln_frazil      = .false.           !  Frazil ice parameterization (ice collection as a function of wind)
+   rn_maxfrazb    = 1.0               !     (ln_frazil=T) maximum fraction of frazil ice collecting at the ice base
+   rn_vfrazb      = 0.417             !     (ln_frazil=T) thresold drift speed for frazil ice collecting at the ice bottom (m/s)
+   rn_Cfrazb      = 5.0               !     (ln_frazil=T) squeezing coefficient for frazil ice collecting at the ice bottom
+                    ! -- limitd_th -- !
+   rn_himin       = 0.1               !  minimum ice thickness (m) used in remapping, must be smaller than rn_hnewice
+                       ! -- icestp -- !
+   nn_limflx      = -1                !  LIM3 Multi-category heat flux formulation (use -1 if LIM3 is not used)
+                                      !  =-1  Use per-category fluxes, bypass redistributor, forced mode only, not yet implemented coupled
+                                      !  = 0  Average per-category fluxes (forced and coupled mode)
+                                      !  = 1  Average and redistribute per-category fluxes, forced mode only, not yet implemented coupled
+                                      !  = 2  Redistribute a single flux over categories (coupled mode only)
+/
+!------------------------------------------------------------------------------
+&namice_sal     !   Ice salinity
+!------------------------------------------------------------------------------
+                   ! -- limthd_sal -- !
+   ln_limdS       = .true.            !  activate gravity drainage and flushing (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
+   nn_icesal      =  2                !  ice salinity option
+                                      !     1: constant ice salinity (S=rn_icesal)
+                                      !     2: varying salinity parameterization S(z,t)
+                                      !     3: prescribed salinity profile S(z), Schwarzacher, 1959
+   rn_icesal      =  4.               !    (nn_icesal=1) ice salinity (g/kg)
+   rn_sal_gd      =  5.               !  restoring ice salinity, gravity drainage (g/kg)
+   rn_time_gd     =  1.73e+6          !  restoring time scale, gravity drainage  (s)
+   rn_sal_fl      =  2.               !  restoring ice salinity, flushing (g/kg)
+   rn_time_fl     =  8.64e+5          !  restoring time scale, flushing (s)
+   rn_simax       = 20.               !  maximum tolerated ice salinity (g/kg)
+   rn_simin       =  0.1              !  minimum tolerated ice salinity (g/kg)
+/
+!------------------------------------------------------------------------------
+&namicemp      !   Melt ponds
+!------------------------------------------------------------------------------
+                 ! -- limmp      -- !
+   ln_pnd         = .false.         !  active melt ponds
+   ln_pnd_rad     = .false.         !  active melt ponds radiative coupling
+   ln_pnd_fw      = .false.         !  active melt ponds freshwater coupling
+   nn_pnd_scheme  = 0               !  type of melt pond scheme  : =0 prescribed ( Tsu=0 ), =1 empirical, =2 topographic
+   rn_apnd        = 0.2             !  prescribed pond fraction, at Tsu=0  : (0<rn_apnd<1, nn_pnd_scheme = 0)
+   rn_hpnd        = 0.05            !  prescribed pond depth, at Tsu=0     : (0<rn_apnd<1, nn_pnd_scheme = 0)
+/
+!------------------------------------------------------------------------------
+&namice_ini     !   Ice initialization
 !------------------------------------------------------------------------------
                   ! -- limistate -- !
-   ln_limini      = .true.          !  activate ice initialization (T) or not (F)
-   ln_limini_file = .false.         !  netcdf file provided for initialization (T) or not (F)
+   ln_iceini      = .true.          !  activate ice initialization (T) or not (F)
+   ln_iceini_file = .false.         !  netcdf file provided for initialization (T) or not (F)
    rn_thres_sst   =  2.0            !  maximum water temperature with initial ice (degC)
    rn_hts_ini_n   =  0.3            !  initial real snow thickness (m), North
@@ -73,131 +192,6 @@
 /
 !------------------------------------------------------------------------------
-&namiceitd     !   Ice discretization
-!------------------------------------------------------------------------------
-   rn_himean      =    2.0         !  expected domain-average ice thickness (m)
-/
-!------------------------------------------------------------------------------
-&namicedyn     !   Ice dynamics and transport
-!------------------------------------------------------------------------------
-                  ! -- limtrp & limadv -- !
-   nn_limadv      =    0            !  choose the advection scheme (-1=Prather ; 0=Ultimate-Macho)
-   nn_limadv_ord  =    5            !  choose the order of the advection scheme (if nn_limadv=0)
-                  ! -- limitd_me -- !
-   nn_icestr      =    0            !  ice strength parameteriztaion                      
-                                    !     0: Hibler_79     P = pstar*<h>*exp(-c_rhg*A)
-                                    !     1: Rothrock_75   P = Cf*coeff*integral(wr.h^2)    
-   rn_pe_rdg      =   17.0          !     (nn_icestr=1) ridging work divided by pot. energy change in ridging
-   rn_pstar       =    2.0e+04      !     (nn_icestr=0) ice strength thickness parameter (N/m2) 
-   rn_crhg        =   20.0          !     (nn_icestr=0) ice strength conc. parameter (-)
-   ln_icestr_bvf  =    .false.      !     ice strength function brine volume (T) or not (F)
-                                    !
-            ! -- limdyn & limrhg -- !
-   rn_ishlat      =    2.           !  free slip (0) ; partial slip (0-2) ; no slip (2) ; strong slip (>2)
-   rn_cio         =    5.0e-03      !  ice-ocean drag coefficient (-)
-   rn_creepl      =    1.0e-12      !  creep limit (s-1)
-   rn_ecc         =    2.0          !  eccentricity of the elliptical yield curve          
-   nn_nevp        =  120            !  number of EVP subcycles                             
-   rn_relast      =    0.333        !  ratio of elastic timescale to ice time step: Telast = dt_ice * rn_relast 
-                                    !     advised value: 1/3 (rn_nevp=120) or 1/9 (rn_nevp=300)
-   ln_landfast    =  .false.        !  landfast ice parameterization (T or F)                           
-   rn_gamma       =    0.15         !     (ln_landfast=T)  fraction of ocean depth that ice must reach to initiate landfast
-                                    !                      recommended range: [0.1 ; 0.25]
-   rn_icebfr      =    10.          !     (ln_landfast=T)  maximum bottom stress per unit area of contact (N/m2)                 
-                                    !                      a very large value ensures ice velocity=0 even with a small contact area
-                                    !                      recommended range: ?? (should be greater than atm-ice stress => >0.1 N/m2)
-   rn_lfrelax     =    1.e-5        !     (ln_landfast=T)  relaxation time scale to reach static friction (s-1)                 
-/
-!------------------------------------------------------------------------------
-&namicethd     !   Ice thermodynamics
-!------------------------------------------------------------------------------
-                 ! -- limthd_dif -- !
-   rn_kappa_i     = 1.0             !  radiation attenuation coefficient in sea ice (m-1)
-   nn_ice_thcon   = 1               !  sea ice thermal conductivity
-                                    !     0: k = k0 + beta.S/T            (Untersteiner, 1964)
-                                    !     1: k = k0 + beta1.S/T - beta2.T (Pringle et al., 2007)
-   ln_dqnsice     = .true.          !  change the surface non-solar flux with surface temperature (T) or not (F)
-   rn_cdsn        = 0.31            !  thermal conductivity of the snow (0.31 W/m/K, Maykut and Untersteiner, 1971)
-                                    !     Obs: 0.1-0.5 (Lecomte et al, JAMES 2013)
-                  ! -- limthd_dh -- !
-   ln_limdH       = .true.          !  activate ice thickness change from growing/melting (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
-   rn_betas       = 0.66            !  exponent in lead-ice repratition of snow precipitation
-                                    !     betas = 1 -> equipartition, betas < 1 -> more on leads
-                  ! -- limthd_da -- !
-   ln_limdA       = .true.          !  activate lateral melting param. (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
-   rn_beta        = 1.0             !     (ln_latmelt=T) coef. beta for lateral melting param. Recommended range=[0.8-1.2]
-                                    !      => decrease = more melt and melt peaks toward higher concentration (A~0.5 for beta=1 ; A~0.8 for beta=0.2)
-                                    !         0.3 = best fit for western Fram Strait and Antarctica
-                                    !         1.4 = best fit for eastern Fram Strait      
-   rn_dmin        = 8.              !     (ln_latmelt=T) minimum floe diameter for lateral melting param. Recommended range=[6-10]
-                                    !      => 6  vs 8m = +40% melting at the peak (A~0.5)
-                                    !         10 vs 8m = -20% melting
-                 ! -- limthd_lac -- !
-   ln_limdO       = .true.          !  activate ice growth in open-water (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
-   rn_hnewice     = 0.1             !  thickness for new ice formation in open water (m)
-   ln_frazil      = .false.         !  Frazil ice parameterization (ice collection as a function of wind)
-   rn_maxfrazb    = 1.0             !     (ln_frazil=T) maximum fraction of frazil ice collecting at the ice base
-   rn_vfrazb      = 0.417           !     (ln_frazil=T) thresold drift speed for frazil ice collecting at the ice bottom (m/s)
-   rn_Cfrazb      = 5.0             !     (ln_frazil=T) squeezing coefficient for frazil ice collecting at the ice bottom
-                  ! -- limitd_th -- !
-   rn_himin       = 0.1             !  minimum ice thickness (m) used in remapping, must be smaller than rn_hnewice
-                     ! -- icestp -- !
-   nn_limflx      = -1              !  LIM3 Multi-category heat flux formulation (use -1 if LIM3 is not used)
-                                    !  =-1  Use per-category fluxes, bypass redistributor, forced mode only, not yet implemented coupled
-                                    !  = 0  Average per-category fluxes (forced and coupled mode)
-                                    !  = 1  Average and redistribute per-category fluxes, forced mode only, not yet implemented coupled
-                                    !  = 2  Redistribute a single flux over categories (coupled mode only)
-/
-!------------------------------------------------------------------------------
-&namicesal     !   Ice salinity
-!------------------------------------------------------------------------------
-                 ! -- limthd_sal -- !
-   ln_limdS       = .true.          !  activate gravity drainage and flushing (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
-   nn_icesal      =  2              !  ice salinity option
-                                    !     1: constant ice salinity (S=rn_icesal)
-                                    !     2: varying salinity parameterization S(z,t)
-                                    !     3: prescribed salinity profile S(z), Schwarzacher, 1959
-   rn_icesal      =  4.             !    (nn_icesal=1) ice salinity (g/kg)
-   rn_sal_gd      =  5.             !  restoring ice salinity, gravity drainage (g/kg)
-   rn_time_gd     =  1.73e+6        !  restoring time scale, gravity drainage  (s)
-   rn_sal_fl      =  2.             !  restoring ice salinity, flushing (g/kg)
-   rn_time_fl     =  8.64e+5        !  restoring time scale, flushing (s)
-   rn_simax       = 20.             !  maximum tolerated ice salinity (g/kg)
-   rn_simin       =  0.1            !  minimum tolerated ice salinity (g/kg)
-/
-!------------------------------------------------------------------------------
-&namicemp      !   Melt ponds
-!------------------------------------------------------------------------------
-                 ! -- limmp      -- !
-   ln_pnd         = .false.         !  active melt ponds
-   ln_pnd_rad     = .false.         !  active melt ponds radiative coupling
-   ln_pnd_fw      = .false.         !  active melt ponds freshwater coupling
-   nn_pnd_scheme  = 0               !  type of melt pond scheme  : =0 prescribed ( Tsu=0 ), =1 empirical, =2 topographic
-   rn_apnd        = 0.2             !  prescribed pond fraction, at Tsu=0  : (0<rn_apnd<1, nn_pnd_scheme = 0)
-   rn_hpnd        = 0.05            !  prescribed pond depth, at Tsu=0     : (0<rn_apnd<1, nn_pnd_scheme = 0)
-/
-!------------------------------------------------------------------------------
-&namiceitdme   !   Ice mechanical redistribution (ridging and rafting)
-!------------------------------------------------------------------------------
-                  ! -- limitd_me -- !
-   rn_cs          =   0.5           !  fraction of shearing energy contributing to ridging
-   nn_partfun     =   1             !  type of ridging participation function
-                                    !     0: linear      (Thorndike et al, 1975)
-                                    !     1: exponential (Lipscomb, 2007)
-   rn_gstar       =   0.15          !     (nn_partfun = 0) fractional area of thin ice being ridged 
-   rn_astar       =   0.03          !     (nn_partfun = 1) exponential measure of ridging ice fraction [set to 0.05 if hstar=100]
-   ln_ridging     =   .true.        !  ridging activated (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
-   rn_hstar       =  25.0           !     (ln_ridging = T) determines the maximum thickness of ridged ice (m) (Hibler, 1980)
-   rn_por_rdg     =   0.3           !     (ln_ridging = T) porosity of newly ridged ice (Lepparanta et al., 1995)
-   rn_fsnowrdg    =   0.5           !     (ln_ridging = T) snow volume fraction that survives in ridging
-   rn_fpondrdg    =   1.0           !     (ln_ridging = T) pond fraction that survives in ridging (small a priori)
-   ln_rafting     =   .true.        !  rafting activated (T) or not (F) => DO NOT TOUCH UNLESS U KNOW WHAT U DO
-   rn_hraft       =   0.75          !     (ln_rafting = T) threshold thickness for rafting (m)
-   rn_craft       =   5.0           !     (ln_rafting = T) squeezing coefficient used in the rafting function
-   rn_fsnowrft    =   0.5           !     (ln_rafting = T) snow volume fraction that survives in rafting
-   rn_fpondrft    =   1.0           !     (ln_rafting = T) pond fraction that survives in rafting (0.5 a priori)
-/
-!-----------------------------------------------------------------------
-&namicealb     !   albedo parameters
-!-----------------------------------------------------------------------
+&namice_alb     !   albedo parameters
+!------------------------------------------------------------------------------
    nn_ice_alb   =    1   !  parameterization of ice/snow albedo
                          !     0: Shine & Henderson-Sellers (JGR 1985), giving clear-sky albedo
@@ -210,2 +204,11 @@
    rn_alb_dpnd  =  0.27  !  ponded ice albedo       : 0.25 ( '' )          ; 0.27 ( '' )          ; obs 0.10-0.30 ( '' )
 /
+!------------------------------------------------------------------------------
+&namice_dia     !   Diagnostics
+!------------------------------------------------------------------------------
+   ln_limdiachk   =  .false.        !  check online the heat, mass & salt budgets (T) or not (F)
+   ln_limdiahsb   =  .false.        !  output the heat, mass & salt budgets (T) or not (F)
+   ln_limctl      =  .false.        !  ice points output for debug (T or F)
+   iiceprt        =    10           !  i-index for debug
+   jiceprt        =    10           !  j-index for debug
+/
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/ice.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/ice.F90	(revision 8512)
@@ -153,5 +153,5 @@
    !! * Share Module variables
    !!--------------------------------------------------------------------------
-   !                                     !!** ice-generic parameters namelist (namicerun) **
+   !                                     !!** ice-generic parameters namelist (namice_run) **
    INTEGER           , PUBLIC ::   jpl             !: number of ice  categories 
    INTEGER           , PUBLIC ::   nlay_i          !: number of ice  layers 
@@ -163,11 +163,6 @@
    CHARACTER(len=256), PUBLIC ::   cn_icerst_indir !: ice restart input directory
    CHARACTER(len=256), PUBLIC ::   cn_icerst_outdir!: ice restart output directory
-   LOGICAL           , PUBLIC ::   ln_limthd       !: flag for ice thermo (T) or not (F)
-   LOGICAL           , PUBLIC ::   ln_limdyn       !: flag for ice dynamics (T) or not (F)
-   INTEGER           , PUBLIC ::   nn_limdyn       !: flag for ice dynamics
-   REAL(wp)          , PUBLIC ::   rn_uice         !: prescribed u-vel (case nn_limdyn=0)
-   REAL(wp)          , PUBLIC ::   rn_vice         !: prescribed v-vel (case nn_limdyn=0)
    
-   !                                     !!** ice-diagnostics namelist (namicediag) **
+   !                                     !!** ice-diagnostics namelist (namice_dia) **
    LOGICAL , PUBLIC ::   ln_limdiachk     !: flag for ice diag (T) or not (F)
    LOGICAL , PUBLIC ::   ln_limdiahsb     !: flag for ice diag (T) or not (F)
@@ -177,13 +172,18 @@
 
    !                                     !!** ice-dynamics namelist (namicedyn) **
+   LOGICAL , PUBLIC ::   ln_icedyn        !: flag for ice dynamics (T) or not (F)
+   INTEGER , PUBLIC ::   nn_icedyn        !: flag for ice dynamics
+   REAL(wp), PUBLIC ::   rn_uice          !: prescribed u-vel (case nn_icedyn=0)
+   REAL(wp), PUBLIC ::   rn_vice          !: prescribed v-vel (case nn_icedyn=0)
                                           ! -- iceadv -- !
-   INTEGER , PUBLIC ::   nn_limadv        !: choose the advection scheme (-1=Prather ; 0=Ultimate-Macho)
-   INTEGER , PUBLIC ::   nn_limadv_ord    !: choose the order of the advection scheme (if Ultimate-Macho)   
+   LOGICAL , PUBLIC ::   ln_adv_Pra       !: Prather        advection scheme
+   LOGICAL , PUBLIC ::   ln_adv_UMx       !: Ultimate-Macho advection scheme
+   INTEGER , PUBLIC ::   nn_UMx           !: order of the UMx advection scheme   
                                           ! -- icerdgrft -- !
-   INTEGER , PUBLIC ::   nn_icestr        !: ice strength parameterization (0=Hibler79 1=Rothrock75)
-   REAL(wp), PUBLIC ::   rn_pe_rdg        !: ridging work divided by pot. energy change in ridging, nn_icestr = 1
+   LOGICAL , PUBLIC ::   ln_str_Hib       !: ice strength parameterization (Hibler79)
    REAL(wp), PUBLIC ::   rn_pstar         !: determines ice strength, Hibler JPO79
    REAL(wp), PUBLIC ::   rn_crhg          !: determines changes in ice strength
-   LOGICAL , PUBLIC ::   ln_icestr_bvf    !: use brine volume to diminish ice strength
+   LOGICAL , PUBLIC ::   ln_str_Rot       !: ice strength parameterization (Rothrock75)
+   REAL(wp), PUBLIC ::   rn_perdg         !: ridging work divided by pot. energy change in ridging
                                           ! -- icerhg -- !
    REAL(wp), PUBLIC ::   rn_ishlat        !: lateral boundary condition for sea-ice
@@ -198,5 +198,6 @@
    REAL(wp), PUBLIC ::   rn_lfrelax       !: relaxation time scale (s-1) to reach static friction (landfast ice) 
 
-   !                                     !!** ice-thermodynamics namelist (namicethd) **
+   !                                     !!** ice-thermodynamics namelist (namice_thd) **
+   LOGICAL , PUBLIC ::   ln_limthd        !: flag for ice thermo (T) or not (F)
                                           ! -- icethd_dif -- !
    REAL(wp), PUBLIC ::   rn_kappa_i       !: coef. for the extinction of radiation Grenfell et al. (2006) [1/m]
@@ -219,8 +220,14 @@
    REAL(wp), PUBLIC ::   rn_vfrazb        !: threshold drift speed for collection of bottom frazil ice
    REAL(wp), PUBLIC ::   rn_Cfrazb        !: squeezing coefficient for collection of bottom frazil ice
-                                          ! -- iceitd -- !
+                                          ! -- iceitd_th -- !
    REAL(wp), PUBLIC ::   rn_himin         !: minimum ice thickness
-
-   !                                     !!** ice-salinity namelist (namicesal) **
+                                          ! --  -- !
+   INTEGER , PUBLIC ::   nn_limflx        !: LIM3 Multi-category heat flux formulation
+   !                                      !   =-1  Use of per-category fluxes
+   !                                      !   = 0  Average per-category fluxes
+   !                                      !   = 1  Average then redistribute per-category fluxes
+   !                                      !   = 2  Redistribute a single flux over categories
+
+   !                                     !!** ice-salinity namelist (namice_sal) **
    LOGICAL , PUBLIC ::   ln_limdS         !: activate gravity drainage and flushing (T) or not (F)
    INTEGER , PUBLIC ::   nn_icesal        !: salinity configuration used in the model
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceadv.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceadv.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceadv.F90	(revision 8512)
@@ -34,5 +34,13 @@
    PRIVATE
 
-   PUBLIC   ice_adv    ! called by icestp
+   PUBLIC   ice_adv        ! called by icestp
+   PUBLIC   ice_adv_init   ! called by icestp
+
+   INTEGER, PUBLIC ::              nice_dyn   ! choice of the type of advection scheme
+   !                                  ! associated indices:
+   INTEGER, PUBLIC, PARAMETER ::   np_dynNO   = 0   ! no ice dynamics and ice advection
+   INTEGER, PUBLIC, PARAMETER ::   np_dynFULL = 1   ! full ice dynamics  (rheology + advection + ridging/rafting + correction)
+   INTEGER, PUBLIC, PARAMETER ::   np_dyn     = 2   ! no ridging/rafting (rheology + advection                   + correction)
+   INTEGER, PUBLIC, PARAMETER ::   np_dynPURE = 3   ! pure dynamics      (rheology + advection) 
 
    !! * Substitution
@@ -54,6 +62,6 @@
       !!     other values are considered as second order. 
       !!     For advection, one can choose between
-      !!     a) an Ultimate-Macho scheme (whose order is defined by nn_limadv_ord) => nn_limadv=0
-      !!     b) and a second order Prather scheme => nn_limadv=-1
+      !!     a) an Ultimate-Macho scheme (whose order is defined by nn_UMx) => ln_adv_UMx
+      !!     b) and a second order Prather scheme => ln_adv_Pra
       !!
       !! ** action :
@@ -75,6 +83,6 @@
       IF( kt == nit000 .AND. lwp ) THEN
          WRITE(numout,*)
-         WRITE(numout,*) 'iceadv: sea-ice advection'
-         WRITE(numout,*) '~~~~~~'
+         WRITE(numout,*) 'ice_adv: sea-ice advection'
+         WRITE(numout,*) '~~~~~~~'
       ENDIF
       
@@ -116,14 +124,13 @@
       ! Advection
       !----------
-      SELECT CASE ( nn_limadv )
-      CASE ( 0 )                    !-- ULTIMATE-MACHO scheme
+      IF( ln_adv_UMx ) THEN                    !-- ULTIMATE-MACHO scheme
          CALL ice_adv_umx( kt, u_ice, v_ice,  &
             &              ato_i, v_i, v_s, smv_i, oa_i, a_i, a_ip, v_ip, e_s, e_i )
          
-      CASE ( -1 )                   !-- PRATHER scheme
+      ELSEIF( ln_adv_Pra ) THEN                !-- PRATHER scheme
          CALL ice_adv_prather( kt, u_ice, v_ice,  &
             &                  ato_i, v_i, v_s, smv_i, oa_i, a_i, a_ip, v_ip, e_s, e_i )
          
-      END SELECT
+      ENDIF
 
       ! total ice fraction
@@ -154,5 +161,5 @@
       ! Thickness correction in case too high
       !--------------------------------------
-      IF( nn_limdyn == 2 ) THEN
+      IF( nn_icedyn == 2 ) THEN
          !
          CALL ice_var_zapsmall                       !-- zap small areas
@@ -228,4 +235,72 @@
    END SUBROUTINE ice_adv
 
+
+   SUBROUTINE ice_adv_init
+      !!-------------------------------------------------------------------
+      !!                  ***  ROUTINE ice_adv_init  ***
+      !!
+      !! ** Purpose : Physical constants and parameters linked to the ice
+      !!      dynamics
+      !!
+      !! ** Method  :  Read the namice_adv namelist and check the ice-dynamic
+      !!       parameter values called at the first timestep (nit000)
+      !!
+      !! ** input   :   Namelist namice_adv
+      !!-------------------------------------------------------------------
+      INTEGER ::   ios   ! Local integer output status for namelist read
+      !!
+      NAMELIST/namice_adv/ ln_icedyn, nn_icedyn, rn_uice, rn_vice, ln_adv_Pra, ln_adv_UMx, nn_UMx
+      !!-------------------------------------------------------------------
+      !
+      REWIND( numnam_ice_ref )         ! Namelist namice_adv in reference namelist : Ice dynamics
+      READ  ( numnam_ice_ref, namice_adv, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_adv in reference namelist', lwp )
+      !
+      REWIND( numnam_ice_cfg )         ! Namelist namice_adv in configuration namelist : Ice dynamics
+      READ  ( numnam_ice_cfg, namice_adv, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_adv in configuration namelist', lwp )
+      IF(lwm) WRITE ( numoni, namice_adv )
+      !
+      IF(lwp) THEN                     ! control print
+         WRITE(numout,*)
+         WRITE(numout,*) 'ice_adv_init : ice parameters for ice dynamics '
+         WRITE(numout,*) '~~~~~~~~~~~~'
+         WRITE(numout,*) '   Namelist namice_adv'
+         WRITE(numout,*) '      Ice dynamics       (T) or not (F)                         ln_icedyn  = ', ln_icedyn
+         WRITE(numout,*) '         associated switch                                      nn_icedyn  = ', nn_icedyn
+         WRITE(numout,*) '            =2 all processes (default option)'
+         WRITE(numout,*) '            =1 advection only (no ridging/rafting)'
+         WRITE(numout,*) '            =0 advection only with prescribed velocity given by '
+         WRITE(numout,*) '               a uniform field               (u,v)_ice = (rn_uice,rn_vice) = (', rn_uice,',', rn_vice,')'
+         WRITE(numout,*) '      advection scheme for ice transport (limtrp)'
+         WRITE(numout,*) '         type of advection scheme (Prather)                     ln_adv_Pra = ', ln_adv_Pra 
+         WRITE(numout,*) '         type of advection scheme (Ulimate-Macho)               ln_adv_UMx = ', ln_adv_UMx 
+         WRITE(numout,*) '            order of the Ultimate-Macho scheme                      nn_UMx = ', nn_UMx
+      ENDIF
+      !
+      !                             ! set the choice of ice dynamics
+      IF( lk_c1d .OR. .NOT. ln_icedyn ) THEN
+         nice_dyn = np_dynNO                    !--- no dynamics
+      ELSE
+         SELECT CASE( nn_icedyn )
+         CASE( 2 )                    
+            IF( nn_monocat /= 2 ) THEN          !--- full dynamics (rheology + advection + ridging/rafting + correction)
+               nice_dyn = np_dynFULL
+            ELSE
+               nice_dyn = np_dyn                !--- dynamics without ridging/rafting
+            ENDIF
+         CASE( 0 , 1 )                          !--- dynamics without ridging/rafting and correction 
+            nice_dyn = np_dynPURE
+         END SELECT
+      ENDIF
+      !                                         !--- simple conservative piling, comparable with LIM2
+      l_piling = nn_icedyn == 1 .OR. ( nn_monocat == 2  .AND.  jpl == 1 )
+      !
+      IF ( ( ln_adv_Pra .AND. ln_adv_UMx ) .OR. ( .NOT.ln_adv_Pra .AND. .NOT.ln_adv_UMx ) ) THEN
+         CALL ctl_stop( 'ice_adv_init: choose one and only one ice advection scheme (ln_adv_Pra or ln_adv_UMx)' )
+      ENDIF
+      !
+   END SUBROUTINE ice_adv_init
+
 #else
    !!----------------------------------------------------------------------
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceadv_prather.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceadv_prather.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceadv_prather.F90	(revision 8512)
@@ -75,9 +75,5 @@
       !!----------------------------------------------------------------------
       !
-      IF( kt == nit000 .AND. lwp ) THEN
-         WRITE(numout,*)
-         WRITE(numout,*) 'ice_adv_prather: Prather advection scheme'
-         WRITE(numout,*) '~~~~~~~~~~~~~~~'
-      ENDIF
+      IF( kt == nit000 .AND. lwp )   WRITE(numout,*) '-- ice_adv_prather: Prather advection scheme'
       !
       ALLOCATE( zarea(jpi,jpj)     , z0opw(jpi,jpj, 1 ) ,                                           &
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceadv_umx.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceadv_umx.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceadv_umx.F90	(revision 8512)
@@ -74,9 +74,5 @@
       !!----------------------------------------------------------------------
       !
-      IF( kt == nit000 .AND. lwp ) THEN
-         WRITE(numout,*) 
-         WRITE(numout,*) 'ice_adv_umx : Ultimate-MACHO advection scheme'
-         WRITE(numout,*) '~~~~~~~~~~~'
-      ENDIF
+      IF( kt == nit000 .AND. lwp )   WRITE(numout,*) '-- ice_adv_umx: Ultimate-Macho advection scheme'
       !
       ALLOCATE( zudy(jpi,jpj) , zvdx(jpi,jpj) , zcu_box(jpi,jpj) , zcv_box(jpi,jpj) )
@@ -193,5 +189,5 @@
       ! High order (_ho) fluxes 
       ! -----------------------
-      SELECT CASE( nn_limadv_ord )
+      SELECT CASE( nn_UMx )
       CASE ( 20 )                          ! centered second order
          DO jj = 2, jpjm1
@@ -203,5 +199,5 @@
          !
       CASE ( 1:5 )                      ! 1st to 5th order ULTIMATE-MACHO scheme
-         CALL macho( kt, nn_limadv_ord, pdt, ptc, puc, pvc, pubox, pvbox, zt_u, zt_v )
+         CALL macho( kt, nn_UMx, pdt, ptc, puc, pvc, pubox, pvbox, zt_u, zt_v )
          !
          DO jj = 2, jpjm1
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icealb.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icealb.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icealb.F90	(revision 8512)
@@ -34,5 +34,5 @@
    REAL(wp) , PARAMETER ::   r1_c2 = 1. / rc2
    !
-   ! ** albedo namelist (namicealb)
+   ! ** albedo namelist (namice_alb)
    INTEGER  ::   nn_ice_alb       ! type of albedo scheme: 0: Shine & Henderson-Sellers (JGR 1985)
    !                                      !                         1: "home made" based on Brandt et al. (JClim 2005)
@@ -310,19 +310,19 @@
       !! ** Purpose :   initializations for the albedo parameters
       !!
-      !! ** Method  :   Read the namelist namicealb
+      !! ** Method  :   Read the namelist namice_alb
       !!----------------------------------------------------------------------
       INTEGER  ::   ios                 ! Local integer output status for namelist read
       !!
-      NAMELIST/namicealb/ nn_ice_alb, rn_alb_sdry, rn_alb_smlt, rn_alb_idry, rn_alb_imlt, rn_alb_dpnd
-      !!----------------------------------------------------------------------
-      !
-      REWIND( numnam_ice_ref )              ! Namelist namicealb in reference namelist : Albedo parameters
-      READ  ( numnam_ice_ref, namicealb, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicealb in reference namelist', lwp )
+      NAMELIST/namice_alb/ nn_ice_alb, rn_alb_sdry, rn_alb_smlt, rn_alb_idry, rn_alb_imlt, rn_alb_dpnd
+      !!----------------------------------------------------------------------
+      !
+      REWIND( numnam_ice_ref )              ! Namelist namice_alb in reference namelist : Albedo parameters
+      READ  ( numnam_ice_ref, namice_alb, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_alb in reference namelist', lwp )
 
       REWIND( numnam_ice_cfg )              ! Namelist namsbc_alb in configuration namelist : Albedo parameters
-      READ  ( numnam_ice_cfg, namicealb, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicealb in configuration namelist', lwp )
-      IF(lwm) WRITE ( numoni, namicealb )
+      READ  ( numnam_ice_cfg, namice_alb, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_alb in configuration namelist', lwp )
+      IF(lwm) WRITE ( numoni, namice_alb )
       !
       IF(lwp) THEN                      ! Control print
@@ -330,5 +330,5 @@
          WRITE(numout,*) 'albedo : set albedo parameters'
          WRITE(numout,*) '~~~~~~~'
-         WRITE(numout,*) '   Namelist namicealb : albedo '
+         WRITE(numout,*) '   Namelist namice_alb : albedo '
          WRITE(numout,*) '      choose the albedo parameterization   nn_ice_alb  = ', nn_ice_alb
          WRITE(numout,*) '      albedo of dry snow                   rn_alb_sdry = ', rn_alb_sdry
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icecor.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icecor.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icecor.F90	(revision 8512)
@@ -60,6 +60,6 @@
       IF( kt == nit000 .AND. lwp .AND. kn == 2 ) THEN
          WRITE(numout,*)
-         WRITE(numout,*)' icecor :  correct sea ice variables if out of bounds ' 
-         WRITE(numout,*)' ~~~~~~~'
+         WRITE(numout,*) 'ice_cor:  correct sea ice variables if out of bounds ' 
+         WRITE(numout,*) '~~~~~~~'
       ENDIF
       !                             !--- conservation test
@@ -103,5 +103,5 @@
       !                             !  Rebin categories with thickness out of bounds     !
       !                             !-----------------------------------------------------
-      IF ( jpl > 1 )   CALL ice_itd_reb
+      IF ( jpl > 1 )   CALL ice_itd_reb( kt )
 
       !                             !-----------------------------------------------------
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icedia.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icedia.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icedia.F90	(revision 8512)
@@ -164,15 +164,15 @@
       INTEGER            ::   ios, ierror   ! local integer
       !!
-      NAMELIST/namicediag/ ln_limdiachk, ln_limdiahsb, ln_limctl, iiceprt, jiceprt  
+      NAMELIST/namice_dia/ ln_limdiachk, ln_limdiahsb, ln_limctl, iiceprt, jiceprt  
       !!----------------------------------------------------------------------
       !
-      REWIND( numnam_ice_ref )      ! Namelist namicediag in reference namelist : Parameters for ice
-      READ  ( numnam_ice_ref, namicediag, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicediag in reference namelist', lwp )
-
-      REWIND( numnam_ice_cfg )      ! Namelist namicediag in configuration namelist : Parameters for ice
-      READ  ( numnam_ice_cfg, namicediag, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicediag in configuration namelist', lwp )
-      IF(lwm) WRITE ( numoni, namicediag )
+      REWIND( numnam_ice_ref )      ! Namelist namice_dia in reference namelist : Parameters for ice
+      READ  ( numnam_ice_ref, namice_dia, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_dia in reference namelist', lwp )
+
+      REWIND( numnam_ice_cfg )      ! Namelist namice_dia in configuration namelist : Parameters for ice
+      READ  ( numnam_ice_cfg, namice_dia, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_dia in configuration namelist', lwp )
+      IF(lwm) WRITE ( numoni, namice_dia )
       !
       IF(lwp) THEN                  ! control print
@@ -180,5 +180,5 @@
          WRITE(numout,*) 'ice_dia_init: ice diagnostics'
          WRITE(numout,*) ' ~~~~~~~~~~~'
-         WRITE(numout,*) '   Namelist namicediag : '
+         WRITE(numout,*) '   Namelist namice_dia : '
          WRITE(numout,*) '      Diagnose online heat/mass/salt budget      ln_limdiachk = ', ln_limdiachk
          WRITE(numout,*) '      Output          heat/mass/salt budget      ln_limdiahsb = ', ln_limdiahsb
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceforcing.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceforcing.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceforcing.F90	(revision 8512)
@@ -65,5 +65,5 @@
       IF( kt == nit000 .AND. lwp ) THEN
          WRITE(numout,*)
-         WRITE(numout,*)'ice_forcing_tau : Surface boundary condition for sea ice (momentum)'
+         WRITE(numout,*)'ice_forcing_tau: Surface boundary condition for sea ice (momentum)'
          WRITE(numout,*)'~~~~~~~~~~~~~~~'
       ENDIF
@@ -124,5 +124,5 @@
       IF( kt == nit000 .AND. lwp ) THEN
          WRITE(numout,*)
-         WRITE(numout,*)'ice_forcing_flx : Surface boundary condition for sea ice (flux)'
+         WRITE(numout,*)'ice_forcing_flx: Surface boundary condition for sea ice (flux)'
          WRITE(numout,*)'~~~~~~~~~~~~~~~'
       ENDIF
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceist.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceist.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceist.F90	(revision 8512)
@@ -47,7 +47,7 @@
    TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   si  ! structure of input fields (file informations, fields read)
    !
-   ! ** namelist (namiceini) **
-   LOGICAL  ::   ln_limini        ! initialization or not
-   LOGICAL  ::   ln_limini_file   ! Ice initialization state from 2D netcdf file
+   ! ** namelist (namice_ini) **
+   LOGICAL  ::   ln_iceini        ! initialization or not
+   LOGICAL  ::   ln_iceini_file   ! Ice initialization state from 2D netcdf file
    REAL(wp) ::   rn_thres_sst     ! threshold water temperature for initial sea ice
    REAL(wp) ::   rn_hts_ini_n     ! initial snow thickness in the north
@@ -126,7 +126,7 @@
       ! 2) Initialization of sea ice state variables
       !--------------------------------------------------------------------
-      IF( ln_limini ) THEN
+      IF( ln_iceini ) THEN
          !
-         IF( ln_limini_file )THEN
+         IF( ln_iceini_file )THEN
          !
             zht_i_ini(:,:)  = si(jp_hti)%fnow(:,:,1)
@@ -141,5 +141,5 @@
             END WHERE
             !
-         ELSE ! ln_limini_file = F
+         ELSE ! ln_iceini_file = F
 
             !--------------------------------------------------------------------
@@ -175,5 +175,5 @@
             END DO
             !
-         ENDIF ! ln_limini_file
+         ENDIF ! ln_iceini_file
          
          zvt_i_ini(:,:) = zht_i_ini(:,:) * zat_i_ini(:,:)   ! ice volume
@@ -403,5 +403,5 @@
          ! END MV MP 2016
 
-      ELSE ! if ln_limini=false
+      ELSE ! if ln_iceini=false
          a_i  (:,:,:) = 0._wp
          v_i  (:,:,:) = 0._wp
@@ -431,5 +431,5 @@
          h_ip     (:,:,:) = 0._wp
 
-      ENDIF ! ln_limini
+      ENDIF ! ln_iceini
       
       at_i (:,:) = 0.0_wp
@@ -518,9 +518,9 @@
       !! ** Purpose : Definition of initial state of the ice 
       !!
-      !! ** Method : Read the namiceini namelist and check the parameter 
+      !! ** Method : Read the namice_ini namelist and check the parameter 
       !!       values called at the first timestep (nit000)
       !!
       !! ** input : 
-      !!        Namelist namiceini
+      !!        Namelist namice_ini
       !!
       !! history :
@@ -537,5 +537,5 @@
       TYPE(FLD_N), DIMENSION(jpfldi) ::   slf_i                 ! array of namelist informations on the fields to read
       !
-      NAMELIST/namiceini/ ln_limini, ln_limini_file, rn_thres_sst, rn_hts_ini_n, rn_hts_ini_s,  &
+      NAMELIST/namice_ini/ ln_iceini, ln_iceini_file, rn_thres_sst, rn_hts_ini_n, rn_hts_ini_s,  &
          &                rn_hti_ini_n, rn_hti_ini_s, rn_ati_ini_n, rn_ati_ini_s, rn_smi_ini_n, &
          &                rn_smi_ini_s, rn_tmi_ini_n, rn_tmi_ini_s,                             &
@@ -543,12 +543,12 @@
       !!-----------------------------------------------------------------------------
       !
-      REWIND( numnam_ice_ref )              ! Namelist namiceini in reference namelist : Ice initial state
-      READ  ( numnam_ice_ref, namiceini, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceini in reference namelist', lwp )
-
-      REWIND( numnam_ice_cfg )              ! Namelist namiceini in configuration namelist : Ice initial state
-      READ  ( numnam_ice_cfg, namiceini, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceini in configuration namelist', lwp )
-      IF(lwm) WRITE ( numoni, namiceini )
+      REWIND( numnam_ice_ref )              ! Namelist namice_ini in reference namelist : Ice initial state
+      READ  ( numnam_ice_ref, namice_ini, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_ini in reference namelist', lwp )
+
+      REWIND( numnam_ice_cfg )              ! Namelist namice_ini in configuration namelist : Ice initial state
+      READ  ( numnam_ice_cfg, namice_ini, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_ini in configuration namelist', lwp )
+      IF(lwm) WRITE ( numoni, namice_ini )
 
       slf_i(jp_hti) = sn_hti  ;  slf_i(jp_hts) = sn_hts
@@ -563,7 +563,7 @@
          WRITE(numout,*) 'ice_ist_init : ice parameters inititialisation '
          WRITE(numout,*) '~~~~~~~~~~~~'
-         WRITE(numout,*) '   Namelist namiceini'
-         WRITE(numout,*) '      initialization with ice (T) or not (F)       ln_limini     = ', ln_limini
-         WRITE(numout,*) '      ice initialization from a netcdf file      ln_limini_file  = ', ln_limini_file
+         WRITE(numout,*) '   Namelist namice_ini'
+         WRITE(numout,*) '      initialization with ice (T) or not (F)       ln_iceini     = ', ln_iceini
+         WRITE(numout,*) '      ice initialization from a netcdf file      ln_iceini_file  = ', ln_iceini_file
          WRITE(numout,*) '      threshold water temp. for initial sea-ice    rn_thres_sst  = ', rn_thres_sst
          WRITE(numout,*) '      initial snow thickness in the north          rn_hts_ini_n  = ', rn_hts_ini_n
@@ -579,5 +579,5 @@
       ENDIF
 
-      IF( ln_limini_file ) THEN                      ! Ice initialization using input file
+      IF( ln_iceini_file ) THEN                      ! Ice initialization using input file
          !
          ! set si structure
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceitd.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceitd.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceitd.F90	(revision 8512)
@@ -38,5 +38,5 @@
    PUBLIC   ice_itd_reb   ! called in iceerr
 
-   ! ** ice-thickness distribution namelist (namiceitd) **
+   ! ** ice-thickness distribution namelist (namice_itd) **
    REAL(wp) ::   rn_himean        ! mean thickness of the domain (used to compute the distribution)
 
@@ -79,9 +79,5 @@
       !!------------------------------------------------------------------
 
-      IF( kt == nit000 .AND. lwp) THEN
-         WRITE(numout,*)
-         WRITE(numout,*) 'ice_itd_rem  : Remapping the ice thickness distribution'
-         WRITE(numout,*) '~~~~~~~~~~~~~~~'
-      ENDIF
+      IF( kt == nit000 .AND. lwp )   WRITE(numout,*) '-- ice_itd_rem: remapping ice thickness distribution' 
 
       IF( ln_limdiachk ) CALL ice_cons_hsm(0, 'iceitd_rem', zvi_b, zsmv_b, zei_b, zfw_b, zfs_b, zft_b)
@@ -545,5 +541,5 @@
    
 
-   SUBROUTINE ice_itd_reb
+   SUBROUTINE ice_itd_reb( kt )
       !!------------------------------------------------------------------
       !!                ***  ROUTINE ice_itd_reb ***
@@ -555,4 +551,5 @@
       !!              to the neighboring category
       !!------------------------------------------------------------------
+      INTEGER , INTENT (in) ::   kt      ! Ocean time step 
       INTEGER ::   ji, jj, jl   ! dummy loop indices
       !
@@ -561,4 +558,6 @@
       !!------------------------------------------------------------------
       !
+      IF( kt == nit000 .AND. lwp )   WRITE(numout,*) '-- ice_itd_reb: rebining ice thickness distribution' 
+
       jdonor(:,:) = 0
       zdaice(:,:) = 0._wp
@@ -645,5 +644,5 @@
       !! ** Purpose :   Initializes the ice thickness distribution
       !! ** Method  :   ...
-      !! ** input   :   Namelist namiceitd
+      !! ** input   :   Namelist namice_itd
       !!-------------------------------------------------------------------
       INTEGER  ::   jl    ! dummy loop index
@@ -651,15 +650,15 @@
       REAL(wp) ::   zhmax, znum, zden, zalpha   !   -      -
       !!
-      NAMELIST/namiceitd/ rn_himean
-      !!------------------------------------------------------------------
-      !
-      REWIND( numnam_ice_ref )      ! Namelist namiceitd in reference namelist : Parameters for ice
-      READ  ( numnam_ice_ref, namiceitd, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceitd in reference namelist', lwp )
-
-      REWIND( numnam_ice_cfg )      ! Namelist namiceitd in configuration namelist : Parameters for ice
-      READ  ( numnam_ice_cfg, namiceitd, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceitd in configuration namelist', lwp )
-      IF(lwm) WRITE ( numoni, namiceitd )
+      NAMELIST/namice_itd/ rn_himean
+      !!------------------------------------------------------------------
+      !
+      REWIND( numnam_ice_ref )      ! Namelist namice_itd in reference namelist : Parameters for ice
+      READ  ( numnam_ice_ref, namice_itd, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_itd in reference namelist', lwp )
+
+      REWIND( numnam_ice_cfg )      ! Namelist namice_itd in configuration namelist : Parameters for ice
+      READ  ( numnam_ice_cfg, namice_itd, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_itd in configuration namelist', lwp )
+      IF(lwm) WRITE ( numoni, namice_itd )
       !
       IF(lwp) THEN                  ! control print
@@ -667,5 +666,5 @@
          WRITE(numout,*) 'ice_itd_init : Initialization of ice cat distribution '
          WRITE(numout,*) '~~~~~~~~~~~~'
-         WRITE(numout,*) '   Namelist namicerun : '
+         WRITE(numout,*) '   Namelist namice_itd : '
          WRITE(numout,*) '      mean ice thickness in the domain               rn_himean = ', rn_himean
       ENDIF
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerdgrft.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerdgrft.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerdgrft.F90	(revision 8512)
@@ -32,5 +32,5 @@
 
    PUBLIC   ice_rdgrft               ! called by ice_stp
-   PUBLIC   ice_rdgrft_icestrength   ! called by icerhg_evp
+   PUBLIC   ice_rdgrft_strength      ! called by icerhg_evp
    PUBLIC   ice_rdgrft_init          ! called by ice_stp
    PUBLIC   ice_rdgrft_alloc         ! called by ice_init 
@@ -51,19 +51,20 @@
    REAL(wp)            ::   zdrho               ! 
    !
-   ! ** namelist (namiceitdme) **
-   REAL(wp) ::   rn_cs            !: fraction of shearing energy contributing to ridging            
-   INTEGER  ::   nn_partfun       !: participation function: =0 Thorndike et al. (1975), =1 Lipscomb et al. (2007)
-   REAL(wp) ::   rn_gstar         !: fractional area of young ice contributing to ridging
-   REAL(wp) ::   rn_astar         !: equivalent of G* for an exponential participation function
-   LOGICAL  ::   ln_ridging       !: ridging of ice or not                        
-   REAL(wp) ::   rn_hstar         !: thickness that determines the maximal thickness of ridged ice
-   REAL(wp) ::   rn_por_rdg       !: initial porosity of ridges (0.3 regular value)
-   REAL(wp) ::   rn_fsnowrdg      !: fractional snow loss to the ocean during ridging
-   REAL(wp) ::   rn_fpondrdg      !: fractional melt pond loss to the ocean during ridging
-   LOGICAL  ::   ln_rafting       !: rafting of ice or not                        
-   REAL(wp) ::   rn_hraft         !: threshold thickness (m) for rafting / ridging 
-   REAL(wp) ::   rn_craft         !: coefficient for smoothness of the hyperbolic tangent in rafting
-   REAL(wp) ::   rn_fsnowrft      !: fractional snow loss to the ocean during ridging
-   REAL(wp) ::   rn_fpondrft      !: fractional snow loss to the ocean during rafting
+   ! ** namelist (namice_rdgrft) **
+   REAL(wp) ::   rn_cs            ! fraction of shearing energy contributing to ridging            
+   LOGICAL  ::   ln_partf_lin     ! participation function linear (Thorndike et al. (1975))
+   REAL(wp) ::   rn_gstar         !    fractional area of young ice contributing to ridging
+   LOGICAL  ::   ln_partf_exp     ! participation function exponential (Lipscomb et al. (2007))
+   REAL(wp) ::   rn_astar         !    equivalent of G* for an exponential participation function
+   LOGICAL  ::   ln_ridging       ! ridging of ice or not                        
+   REAL(wp) ::   rn_hstar         !    thickness that determines the maximal thickness of ridged ice
+   REAL(wp) ::   rn_porordg       !    initial porosity of ridges (0.3 regular value)
+   REAL(wp) ::   rn_fsnwrdg       !    fractional snow loss to the ocean during ridging
+   REAL(wp) ::   rn_fpndrdg       !    fractional pond loss to the ocean during ridging
+   LOGICAL  ::   ln_rafting       ! rafting of ice or not                        
+   REAL(wp) ::   rn_hraft         !    threshold thickness (m) for rafting / ridging 
+   REAL(wp) ::   rn_craft         !    coefficient for smoothness of the hyperbolic tangent in rafting
+   REAL(wp) ::   rn_fsnwrft       !    fractional snow loss to the ocean during rafting
+   REAL(wp) ::   rn_fpndrft       !    fractional pond loss to the ocean during rafting
    !
    !!----------------------------------------------------------------------
@@ -133,5 +134,5 @@
       IF( kt == nit000 ) THEN
          IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*)'icerdgrft : ice ridging and rafting'
+         IF(lwp) WRITE(numout,*)'ice_rdgrft: ice ridging and rafting'
          IF(lwp) WRITE(numout,*)'~~~~~~~~~~'
          !
@@ -146,5 +147,5 @@
       !-----------------------------------------------------------------------------!
       !
-      CALL ice_rdgrft_ridgeprep                             ! prepare ridging
+      CALL ice_rdgrft_prep                             ! prepare ridging
       !
       DO jj = 1, jpj                                        ! Initialize arrays.
@@ -272,5 +273,5 @@
          !
          IF( iterate_ridging == 1 ) THEN
-            CALL ice_rdgrft_ridgeprep
+            CALL ice_rdgrft_prep
             IF( niter  >  nitermax ) THEN
                WRITE(numout,*) ' ALERTE : non-converging ridging scheme '
@@ -297,7 +298,7 @@
 
 
-   SUBROUTINE ice_rdgrft_ridgeprep
+   SUBROUTINE ice_rdgrft_prep
       !!---------------------------------------------------------------------!
-      !!                ***  ROUTINE ice_rdgrft_ridgeprep ***
+      !!                ***  ROUTINE ice_rdgrft_prep ***
       !!
       !! ** Purpose :   preparation for ridging and strength calculations
@@ -352,5 +353,5 @@
       !-----------------------------------------------------------------
       !
-      IF( nn_partfun == 0 ) THEN       !--- Linear formulation (Thorndike et al., 1975)
+      IF( ln_partf_lin ) THEN          !--- Linear formulation (Thorndike et al., 1975)
          DO jl = 0, jpl    
             DO jj = 1, jpj 
@@ -369,5 +370,5 @@
          END DO
          !
-      ELSE                             !--- Exponential, more stable formulation (Lipscomb et al, 2007)
+      ELSEIF( ln_partf_exp ) THEN      !--- Exponential, more stable formulation (Lipscomb et al, 2007)
          !                        
          zdummy = 1._wp / ( 1._wp - EXP(-z1_astar) )        ! precompute exponential terms using zGsum as a work array
@@ -453,10 +454,10 @@
       END DO
       !
-   END SUBROUTINE ice_rdgrft_ridgeprep
+   END SUBROUTINE ice_rdgrft_prep
 
 
    SUBROUTINE ice_rdgrft_ridgeshift( opning, closing_gross )
       !!----------------------------------------------------------------------
-      !!                ***  ROUTINE ice_rdgrft_icestrength ***
+      !!                ***  ROUTINE ice_rdgrft_strength ***
       !!
       !! ** Purpose :   shift ridging ice among thickness categories of ice thickness
@@ -565,6 +566,6 @@
             !--------------------------------------------------------------------------
             vrdg1(ij) = v_i(ji,jj,jl1) * afrac(ij)
-            vrdg2(ij) = vrdg1(ij) * ( 1. + rn_por_rdg )
-            vsw  (ij) = vrdg1(ij) * rn_por_rdg
+            vrdg2(ij) = vrdg1(ij) * ( 1. + rn_porordg )
+            vsw  (ij) = vrdg1(ij) * rn_porordg
 
             vsrdg (ij) = v_s  (ji,jj,  jl1) * afrac(ij)
@@ -621,9 +622,9 @@
             !  During the next time step, thermo_rates will determine whether
             !  the ocean cools or new ice grows.
-            wfx_snw_dyn(ji,jj) = wfx_snw_dyn(ji,jj) + ( rhosn * vsrdg(ij) * ( 1._wp - rn_fsnowrdg )   & 
-               &                                      + rhosn * vsrft(ij) * ( 1._wp - rn_fsnowrft ) ) * r1_rdtice  ! fresh water source for ocean
-
-            hfx_dyn(ji,jj) = hfx_dyn(ji,jj) + ( - esrdg(ij) * ( 1._wp - rn_fsnowrdg )         & 
-               &                                - esrft(ij) * ( 1._wp - rn_fsnowrft ) ) * r1_rdtice        ! heat sink for ocean (<0, W.m-2)
+            wfx_snw_dyn(ji,jj) = wfx_snw_dyn(ji,jj) + ( rhosn * vsrdg(ij) * ( 1._wp - rn_fsnwrdg )   & 
+               &                                      + rhosn * vsrft(ij) * ( 1._wp - rn_fsnwrft ) ) * r1_rdtice  ! fresh water source for ocean
+
+            hfx_dyn(ji,jj) = hfx_dyn(ji,jj) + ( - esrdg(ij) * ( 1._wp - rn_fsnwrdg )         & 
+               &                                - esrft(ij) * ( 1._wp - rn_fsnwrft ) ) * r1_rdtice        ! heat sink for ocean (<0, W.m-2)
 
             ! MV MP 2016
@@ -633,6 +634,6 @@
             !  Place part of the melt pond volume into the ocean. 
             IF ( ( nn_pnd_scheme > 0 ) .AND. ln_pnd_fw ) THEN
-               wfx_pnd(ji,jj) = wfx_pnd(ji,jj) + ( rhofw * vprdg(ij) * ( 1._wp - rn_fpondrdg )   & 
-               &                                 + rhofw * vprft(ij) * ( 1._wp - rn_fpondrft ) ) * r1_rdtice  ! fresh water source for ocean
+               wfx_pnd(ji,jj) = wfx_pnd(ji,jj) + ( rhofw * vprdg(ij) * ( 1._wp - rn_fpndrdg )   & 
+               &                                 + rhofw * vprft(ij) * ( 1._wp - rn_fpndrft ) ) * r1_rdtice  ! fresh water source for ocean
             ENDIF
             ! END MV MP 2016
@@ -719,14 +720,14 @@
                v_i  (ji,jj  ,jl2) = v_i  (ji,jj  ,jl2) + ( vrdg2 (ij) * fvol(ij) + virft (ij) * zswitch(ij) )
                smv_i(ji,jj  ,jl2) = smv_i(ji,jj  ,jl2) + ( srdg2 (ij) * fvol(ij) + smrft (ij) * zswitch(ij) )
-               v_s  (ji,jj  ,jl2) = v_s  (ji,jj  ,jl2) + ( vsrdg (ij) * rn_fsnowrdg * fvol(ij)  +  &
-                  &                                        vsrft (ij) * rn_fsnowrft * zswitch(ij) )
-               e_s  (ji,jj,1,jl2) = e_s  (ji,jj,1,jl2) + ( esrdg (ij) * rn_fsnowrdg * fvol(ij)  +  &
-                  &                                        esrft (ij) * rn_fsnowrft * zswitch(ij) )
+               v_s  (ji,jj  ,jl2) = v_s  (ji,jj  ,jl2) + ( vsrdg (ij) * rn_fsnwrdg * fvol(ij)  +  &
+                  &                                        vsrft (ij) * rn_fsnwrft * zswitch(ij) )
+               e_s  (ji,jj,1,jl2) = e_s  (ji,jj,1,jl2) + ( esrdg (ij) * rn_fsnwrdg * fvol(ij)  +  &
+                  &                                        esrft (ij) * rn_fsnwrft * zswitch(ij) )
                ! MV MP 2016
                IF ( nn_pnd_scheme > 0 ) THEN
-                  v_ip (ji,jj,jl2) = v_ip(ji,jj,jl2) + (   vprdg (ij) * rn_fpondrdg * fvol   (ij)   &
-                     &                                   + vprft (ij) * rn_fpondrft * zswitch(ij)   )
-                  a_ip (ji,jj,jl2) = a_ip(ji,jj,jl2) + (   aprdg2(ij) * rn_fpondrdg * farea         & 
-                     &                                   + aprft2(ij) * rn_fpondrft * zswitch(ji)   )
+                  v_ip (ji,jj,jl2) = v_ip(ji,jj,jl2) + (   vprdg (ij) * rn_fpndrdg * fvol   (ij)   &
+                     &                                   + vprft (ij) * rn_fpndrft * zswitch(ij)   )
+                  a_ip (ji,jj,jl2) = a_ip(ji,jj,jl2) + (   aprdg2(ij) * rn_fpndrdg * farea         & 
+                     &                                   + aprft2(ij) * rn_fpndrft * zswitch(ji)   )
                ENDIF
                ! END MV MP 2016
@@ -748,7 +749,7 @@
 
 
-   SUBROUTINE ice_rdgrft_icestrength( kstrngth )
+   SUBROUTINE ice_rdgrft_strength
       !!----------------------------------------------------------------------
-      !!                ***  ROUTINE ice_rdgrft_icestrength ***
+      !!                ***  ROUTINE ice_rdgrft_strength ***
       !!
       !! ** Purpose :   computes ice strength used in dynamics routines of ice thickness
@@ -759,9 +760,5 @@
       !!              by ridging. Note that only Hibler's formulation is stable and that
       !!              ice strength has to be smoothed
-      !!
-      !! ** Inputs / Ouputs : kstrngth (what kind of ice strength we are using)
       !!----------------------------------------------------------------------
-      INTEGER, INTENT(in) ::   kstrngth    ! = 1 for Rothrock formulation, 0 for Hibler (1979)
-      !
       INTEGER             ::   ji,jj, jl   ! dummy loop indices
       INTEGER             ::   ismooth     ! smoothing the resistance to deformation
@@ -773,9 +770,9 @@
 
       !                              !--------------------------------------------------!
-      CALL ice_rdgrft_ridgeprep      ! Thickness distribution of ridging and ridged ice !
+      CALL ice_rdgrft_prep           ! Thickness distribution of ridging and ridged ice !
       !                              !--------------------------------------------------!
 
       !                              !--------------------------------------------------!
-      IF( kstrngth == 1 ) THEN       ! Ice strength => Rothrock (1975) method           !
+      IF( ln_str_Rot ) THEN          ! Ice strength => Rothrock (1975) method           !
       !                              !--------------------------------------------------!
          z1_3 = 1._wp / 3._wp
@@ -792,9 +789,9 @@
             END WHERE
          END DO
-         strength(:,:) = rn_pe_rdg * zdrho * strength(:,:) / aksum(:,:) * tmask(:,:,1)
-                         ! where zdrho = (g/2)*(rhow-rhoi)*(rhoi/rhow) and rn_pe_rdg accounts for frictional dissipation
+         strength(:,:) = rn_perdg * zdrho * strength(:,:) / aksum(:,:) * tmask(:,:,1)
+                         ! where zdrho = (g/2)*(rhow-rhoi)*(rhoi/rhow) and rn_perdg accounts for frictional dissipation
          ismooth = 1
       !                              !--------------------------------------------------!
-      ELSE                           ! Ice strength => Hibler (1979) method             !
+      ELSEIF( ln_str_Hib ) THEN      ! Ice strength => Hibler (1979) method             !
       !                              !--------------------------------------------------!
          strength(:,:) = rn_pstar * vt_i(:,:) * EXP( - rn_crhg * ( 1._wp - at_i(:,:) )  ) * tmask(:,:,1)
@@ -802,19 +799,8 @@
          ismooth = 1
          !
-      ENDIF
-      !                              !--------------------------------------------------!
-      IF( ln_icestr_bvf ) THEN       ! Impact of brine volume                           !
-      !                              !--------------------------------------------------!
-      ! CAN BE REMOVED
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               strength(ji,jj) = strength(ji,jj) * exp(-5.88*SQRT(MAX(bvm_i(ji,jj),0.0)))
-            END DO
-         END DO
       ENDIF
       !                              !--------------------------------------------------!
       SELECT CASE( ismooth )         ! Smoothing ice strength                           !
       !                              !--------------------------------------------------!
-      !
       CASE( 1 )               !--- Spatial smoothing
          DO jj = 2, jpjm1
@@ -861,5 +847,5 @@
       END SELECT
       !
-   END SUBROUTINE ice_rdgrft_icestrength
+   END SUBROUTINE ice_rdgrft_strength
 
 
@@ -871,48 +857,66 @@
       !!                to the mechanical ice redistribution
       !!
-      !! ** Method  :   Read the namiceitdme namelist 
+      !! ** Method  :   Read the namice_rdgrft namelist 
       !!                and check the parameters values 
       !!                called at the first timestep (nit000)
       !!
-      !! ** input   :   Namelist namiceitdme
+      !! ** input   :   Namelist namice_rdgrft
       !!-------------------------------------------------------------------
       INTEGER :: ios                 ! Local integer output status for namelist read
       !!
-      NAMELIST/namiceitdme/ rn_cs     , nn_partfun, rn_gstar  , rn_astar   ,                & 
-         &                  ln_ridging, rn_hstar  , rn_por_rdg, rn_fsnowrdg, rn_fpondrdg,   & 
-         &                  ln_rafting, rn_hraft  , rn_craft  , rn_fsnowrft, rn_fpondrft
+      NAMELIST/namice_rdgrft/ ln_str_Hib, rn_pstar, rn_crhg, &
+         &                    ln_str_Rot, rn_perdg,          &
+         &                    rn_cs     ,                    &
+         &                    ln_partf_lin, rn_gstar,        &
+         &                    ln_partf_exp, rn_astar,        & 
+         &                    ln_ridging, rn_hstar, rn_porordg, rn_fsnwrdg, rn_fpndrdg,  & 
+         &                    ln_rafting, rn_hraft, rn_craft  , rn_fsnwrft, rn_fpndrft
       !!-------------------------------------------------------------------
       !
       REWIND( numnam_ice_ref )              ! Namelist namicetdme in reference namelist : Ice mechanical ice redistribution
-      READ  ( numnam_ice_ref, namiceitdme, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceitdme in reference namelist', lwp )
-      !
-      REWIND( numnam_ice_cfg )              ! Namelist namiceitdme in configuration namelist : Ice mechanical ice redistribution
-      READ  ( numnam_ice_cfg, namiceitdme, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namiceitdme in configuration namelist', lwp )
-      IF(lwm) WRITE ( numoni, namiceitdme )
+      READ  ( numnam_ice_ref, namice_rdgrft, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_rdgrft in reference namelist', lwp )
+      !
+      REWIND( numnam_ice_cfg )              ! Namelist namice_rdgrft in configuration namelist : Ice mechanical ice redistribution
+      READ  ( numnam_ice_cfg, namice_rdgrft, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_rdgrft in configuration namelist', lwp )
+      IF(lwm) WRITE ( numoni, namice_rdgrft )
       !
       IF (lwp) THEN                          ! control print
          WRITE(numout,*)
-         WRITE(numout,*) 'ice_rdgrft_init : ice parameters for mechanical ice redistribution '
+         WRITE(numout,*) 'ice_rdgrft_init : ice parameters for ridging/rafting '
          WRITE(numout,*) '~~~~~~~~~~~~~~~'
-         WRITE(numout,*) '   Namelist namiceitdme'
-         WRITE(numout,*) '      Fraction of shear energy contributing to ridging        rn_cs       = ', rn_cs 
-         WRITE(numout,*) '      Switch for part. function (0) linear (1) exponential    nn_partfun  = ', nn_partfun
-         WRITE(numout,*) '      Fraction of total ice coverage contributing to ridging  rn_gstar    = ', rn_gstar
-         WRITE(numout,*) '      Equivalent to G* for an exponential part function       rn_astar    = ', rn_astar
-         WRITE(numout,*) '      Ridging of ice sheets or not                            ln_ridging  = ', ln_ridging
-         WRITE(numout,*) '      Quantity playing a role in max ridged ice thickness     rn_hstar    = ', rn_hstar
-         WRITE(numout,*) '      Initial porosity of ridges                              rn_por_rdg  = ', rn_por_rdg
-         WRITE(numout,*) '      Fraction of snow volume conserved during ridging        rn_fsnowrdg = ', rn_fsnowrdg 
-         WRITE(numout,*) '      Fraction of pond volume conserved during ridging        rn_fpondrdg = ', rn_fpondrdg 
-         WRITE(numout,*) '      Rafting of ice sheets or not                            ln_rafting  = ', ln_rafting
-         WRITE(numout,*) '      Parmeter thickness (threshold between ridge-raft)       rn_hraft    = ', rn_hraft
-         WRITE(numout,*) '      Rafting hyperbolic tangent coefficient                  rn_craft    = ', rn_craft  
-         WRITE(numout,*) '      Fraction of snow volume conserved during ridging        rn_fsnowrft = ', rn_fsnowrft 
-         WRITE(numout,*) '      Fraction of pond volume conserved during rafting        rn_fpondrft = ', rn_fpondrft 
+         WRITE(numout,*) '   Namelist namice_rdgrft'
+         WRITE(numout,*) '      ice strength parameterization Hibler (1979)              ln_str_Hib   = ', ln_str_Hib 
+         WRITE(numout,*) '            1st bulk-rheology parameter                        rn_pstar     = ', rn_pstar
+         WRITE(numout,*) '            2nd bulk-rhelogy parameter                         rn_crhg      = ', rn_crhg
+         WRITE(numout,*) '      ice strength parameterization Rothrock (1975)            ln_str_Rot   = ', ln_str_Rot 
+         WRITE(numout,*) '            Ratio of ridging work to PotEner change in ridging rn_perdg     = ', rn_perdg 
+         WRITE(numout,*) '      Fraction of shear energy contributing to ridging         rn_cs        = ', rn_cs 
+         WRITE(numout,*) '      linear ridging participation function                    ln_partf_lin = ', ln_partf_lin
+         WRITE(numout,*) '            Fraction of ice coverage contributing to ridging   rn_gstar     = ', rn_gstar
+         WRITE(numout,*) '      Exponential ridging participation function               ln_partf_exp = ', ln_partf_exp
+         WRITE(numout,*) '            Equivalent to G* for an exponential function       rn_astar     = ', rn_astar
+         WRITE(numout,*) '      Ridging of ice sheets or not                             ln_ridging   = ', ln_ridging
+         WRITE(numout,*) '            max ridged ice thickness                           rn_hstar     = ', rn_hstar
+         WRITE(numout,*) '            Initial porosity of ridges                         rn_porordg   = ', rn_porordg
+         WRITE(numout,*) '            Fraction of snow volume conserved during ridging   rn_fsnwrdg   = ', rn_fsnwrdg 
+         WRITE(numout,*) '            Fraction of pond volume conserved during ridging   rn_fpndrdg   = ', rn_fpndrdg 
+         WRITE(numout,*) '      Rafting of ice sheets or not                             ln_rafting   = ', ln_rafting
+         WRITE(numout,*) '            Parmeter thickness (threshold between ridge-raft)  rn_hraft     = ', rn_hraft
+         WRITE(numout,*) '            Rafting hyperbolic tangent coefficient             rn_craft     = ', rn_craft  
+         WRITE(numout,*) '            Fraction of snow volume conserved during rafting   rn_fsnwrft   = ', rn_fsnwrft 
+         WRITE(numout,*) '            Fraction of pond volume conserved during rafting   rn_fpndrft   = ', rn_fpndrft 
       ENDIF
       !
-   END SUBROUTINE ice_rdgrft_init
+      IF ( ( ln_str_Hib .AND. ln_str_Rot ) .OR. ( .NOT.ln_str_Hib .AND. .NOT.ln_str_Rot ) ) THEN
+         CALL ctl_stop( 'ice_rdgrft_init: choose one and only one formulation for ice strength (ln_str_Hib or ln_str_Rot)' )
+      ENDIF
+      !
+      IF ( ( ln_partf_lin .AND. ln_partf_exp ) .OR. ( .NOT.ln_partf_lin .AND. .NOT.ln_partf_exp ) ) THEN
+         CALL ctl_stop( 'ice_rdgrft_init: choose one and only one participation function (ln_partf_lin or ln_partf_exp)' )
+      ENDIF
+      !
+  END SUBROUTINE ice_rdgrft_init
 
 #else
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg.F90	(revision 8512)
@@ -31,7 +31,7 @@
    PRIVATE
 
-   PUBLIC   ice_rhg        ! routine called by icestp.F90
-   PUBLIC   ice_rhg_init   ! routine called by icestp.F90
-
+   PUBLIC   ice_rhg        ! called by icestp.F90
+   PUBLIC   ice_rhg_init   ! called by icestp.F90
+   
    !! * Substitutions
 #  include "vectopt_loop_substitute.h90"
@@ -63,6 +63,6 @@
       IF( kt == nit000 .AND. lwp ) THEN
          WRITE(numout,*)
-         WRITE(numout,*)'ice_rhg : sea-ice rheology'
-         WRITE(numout,*)'~~~~~~~~'
+         WRITE(numout,*)'ice_rhg: sea-ice rheology'
+         WRITE(numout,*)'~~~~~~~'
       ENDIF
 
@@ -82,7 +82,7 @@
       ! Rheology (ice dynamics)
       ! -----------------------   
-      IF( nn_limdyn /= 0 ) THEN     ! -- Ice dynamics
+      IF( nn_icedyn /= 0 ) THEN     ! -- Ice dynamics
          !
-         CALL ice_rhg_evp( stress1_i, stress2_i, stress12_i, u_ice, v_ice, shear_i, divu_i, delta_i )
+         CALL ice_rhg_evp( kt, stress1_i, stress2_i, stress12_i, u_ice, v_ice, shear_i, divu_i, delta_i )
          !
       ELSE                          ! -- prescribed uniform velocity
@@ -110,25 +110,23 @@
       !!      dynamics
       !!
-      !! ** Method  :  Read the namicedyn namelist and check the ice-dynamic
+      !! ** Method  :  Read the namice_rhg namelist and check the ice-dynamic
       !!       parameter values called at the first timestep (nit000)
       !!
-      !! ** input   :   Namelist namicedyn
+      !! ** input   :   Namelist namice_rhg
       !!-------------------------------------------------------------------
       INTEGER ::   ios   ! Local integer output status for namelist read
       !!
-      NAMELIST/namicedyn/ nn_limadv  , nn_limadv_ord,                                       &
-         &                nn_icestr  , rn_pe_rdg, rn_pstar , rn_crhg, ln_icestr_bvf     ,   &
-         &                rn_ishlat  , rn_cio   , rn_creepl, rn_ecc , nn_nevp, rn_relast,   &
+      NAMELIST/namice_rhg/  rn_ishlat  , rn_cio   , rn_creepl, rn_ecc , nn_nevp, rn_relast,   &
          &                ln_landfast, rn_gamma , rn_icebfr, rn_lfrelax
       !!-------------------------------------------------------------------
       !
-      REWIND( numnam_ice_ref )         ! Namelist namicedyn in reference namelist : Ice dynamics
-      READ  ( numnam_ice_ref, namicedyn, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicedyn in reference namelist', lwp )
+      REWIND( numnam_ice_ref )         ! Namelist namice_rhg in reference namelist : Ice dynamics
+      READ  ( numnam_ice_ref, namice_rhg, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_rhg in reference namelist', lwp )
       !
-      REWIND( numnam_ice_cfg )         ! Namelist namicedyn in configuration namelist : Ice dynamics
-      READ  ( numnam_ice_cfg, namicedyn, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicedyn in configuration namelist', lwp )
-      IF(lwm) WRITE ( numoni, namicedyn )
+      REWIND( numnam_ice_cfg )         ! Namelist namice_rhg in configuration namelist : Ice dynamics
+      READ  ( numnam_ice_cfg, namice_rhg, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_rhg in configuration namelist', lwp )
+      IF(lwm) WRITE ( numoni, namice_rhg )
       !
       IF(lwp) THEN                     ! control print
@@ -136,15 +134,6 @@
          WRITE(numout,*) 'ice_rhg_init : ice parameters for ice dynamics '
          WRITE(numout,*) '~~~~~~~~~~~~'
-         WRITE(numout,*) '   Namelist namicedyn'
-         WRITE(numout,*) '      advection scheme for ice transport (limtrp)'
-         WRITE(numout,*) '         type of advection scheme (-1=Prather, 0=Ulimate-Macho)   nn_limadv     = ', nn_limadv 
-         WRITE(numout,*) '         order of the scheme for Ultimate-Macho case              nn_limadv_ord = ', nn_limadv_ord
-         WRITE(numout,*) '      ridging/rafting (icerdgrft)'
-         WRITE(numout,*) '         ice strength parameterization (0=Hibler 1=Rothrock)      nn_icestr     = ', nn_icestr 
-         WRITE(numout,*) '         Ratio of ridging work to PotEner change in ridging       rn_pe_rdg     = ', rn_pe_rdg 
-         WRITE(numout,*) '         1st bulk-rheology parameter                              rn_pstar      = ', rn_pstar
-         WRITE(numout,*) '         2nd bulk-rhelogy parameter                               rn_crhg       = ', rn_crhg
-         WRITE(numout,*) '         brine volume included in ice strength computation        ln_icestr_bvf = ', ln_icestr_bvf
-         WRITE(numout,*) '      rheology EVP (icerhg_evp)'
+         WRITE(numout,*) '   Namelist namice_rhg'
+        WRITE(numout,*) '      rheology EVP (icerhg_evp)'
          WRITE(numout,*) '         lateral boundary condition for sea ice dynamics          rn_ishlat     = ', rn_ishlat
          WRITE(numout,*) '         drag coefficient for oceanic stress                      rn_cio        = ', rn_cio
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg_evp.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg_evp.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerhg_evp.F90	(revision 8512)
@@ -52,5 +52,5 @@
 CONTAINS
 
-   SUBROUTINE ice_rhg_evp( stress1_i, stress2_i, stress12_i, u_ice, v_ice, shear_i, divu_i, delta_i )
+   SUBROUTINE ice_rhg_evp( kt, stress1_i, stress2_i, stress12_i, u_ice, v_ice, shear_i, divu_i, delta_i )
       !!-------------------------------------------------------------------
       !!                 ***  SUBROUTINE ice_rhg_evp  ***
@@ -107,4 +107,5 @@
       !!              Bouillon et al., Ocean Modelling 2013
       !!-------------------------------------------------------------------
+      INTEGER, INTENT(in) ::   kt      ! time step
       REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) ::   stress1_i, stress2_i, stress12_i
       REAL(wp), DIMENSION(jpi,jpj), INTENT(  out) ::   u_ice, v_ice, shear_i, divu_i, delta_i 
@@ -174,4 +175,6 @@
       !!-------------------------------------------------------------------
 
+      IF( kt == nit000 .AND. lwp )   WRITE(numout,*) '-- ice_rhg_evp: EVP sea-ice rheology'
+
 #if defined key_agrif 
       CALL agrif_interp_lim3( 'U', 0, nn_nevp )   ! First interpolation of coarse values
@@ -249,5 +252,5 @@
 
       ! Ice strength
-      CALL ice_rdgrft_icestrength( nn_icestr )
+      CALL ice_rdgrft_strength
 
       ! scale factors
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerst.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerst.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icerst.F90	(revision 8512)
@@ -188,5 +188,5 @@
       ! In case Prather scheme is used for advection, write second order moments
       ! ------------------------------------------------------------------------
-      IF( nn_limadv == -1 ) THEN
+      IF( ln_adv_Pra ) THEN
          
          DO jl = 1, jpl 
@@ -461,5 +461,5 @@
       ! In case Prather scheme is used for advection, read second order moments
       ! ------------------------------------------------------------------------
-      IF( nn_limadv == -1 ) THEN
+      IF( ln_adv_Pra ) THEN
 
          DO jl = 1, jpl 
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icestp.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icestp.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icestp.F90	(revision 8512)
@@ -76,11 +76,4 @@
    PUBLIC   ice_init   ! called by sbcmod.F90
 
-   INTEGER ::              nice_dyn   ! choice of the type of advection scheme
-   !                                  ! associated indices:
-   INTEGER, PARAMETER ::   np_dynNO   = 0   ! no ice dynamics and ice advection
-   INTEGER, PARAMETER ::   np_dynFULL = 1   ! full ice dynamics  (rheology + advection + ridging/rafting + correction)
-   INTEGER, PARAMETER ::   np_dyn     = 2   ! no ridging/rafting (rheology + advection                   + correction)
-   INTEGER, PARAMETER ::   np_dynPURE = 3   ! pure dynamics      (rheology + advection) 
-
    !! * Substitutions
 #  include "vectopt_loop_substitute.h90"
@@ -161,5 +154,5 @@
             CALL ice_adv   ( kt )          ! -- advection of ice
             CALL ice_cor   ( kt , 1 )      ! -- Corrections
-         CASE ( np_dynPURE )          !==  pure dynamics only ==!   (nn_limdyn= 0 or 1 )
+         CASE ( np_dynPURE )          !==  pure dynamics only ==!   (nn_icedyn= 0 or 1 )
             CALL ice_rhg   ( kt )          ! -- rheology  
             CALL ice_adv   ( kt )          ! -- advection of ice
@@ -239,5 +232,5 @@
       ! Update surface ocean stresses (only in ice-dynamic case) otherwise the atm.-ocean stresses are used everywhere
       !    using before instantaneous surf. currents
-      IF( ln_limdyn )               CALL ice_update_tau( kt, ub(:,:,1), vb(:,:,1) )
+      IF( ln_icedyn )               CALL ice_update_tau( kt, ub(:,:,1), vb(:,:,1) )
 !!gm   remark, the ocean-ice stress is not saved in ice diag call above .....  find a solution!!!
       !
@@ -270,12 +263,16 @@
       ierr = ierr + sbc_ice_alloc    ()      ! surface forcing 
       ierr = ierr + ice1D_alloc      ()      ! thermodynamics
-      IF( ln_limdyn )   ierr = ierr + ice_rdgrft_alloc ()      ! ridging/rafting
+      ierr = ierr + ice_rdgrft_alloc ()      ! ridging/rafting
       !
       IF( lk_mpp    )   CALL mpp_sum( ierr )
       IF( ierr /= 0 )   CALL ctl_stop('STOP', 'ice_init : unable to allocate ice arrays')
       !
-      CALL ice_rhg_init                ! set ice dynamics parameters
-      !
       CALL ice_itd_init                ! ice thickness distribution initialization
+      !
+      CALL ice_rdgrft_init             ! set ice ridging/rafting parameters
+      !
+      CALL ice_rhg_init                ! set ice rheology parameters
+      !
+      CALL ice_adv_init                ! set ice advection parameters
       !
       CALL ice_thd_init                ! set ice thermodynics parameters
@@ -286,6 +283,4 @@
       CALL lim_mp_init                 ! set melt ponds parameters
       ! END MV MP 2016
-
-      IF( ln_limdyn )   CALL ice_rdgrft_init  ! ice thickness distribution initialization for ridging/rafting
       !                                ! Initial sea-ice state
       IF( .NOT. ln_rstart ) THEN              ! start from rest: sea-ice deduced from sst
@@ -323,22 +318,22 @@
       !! ** Purpose :   Definition some run parameter for ice model
       !!
-      !! ** Method  :   Read the namicerun namelist and check the parameter
+      !! ** Method  :   Read the namice_run namelist and check the parameter
       !!              values called at the first timestep (nit000)
       !!
-      !! ** input   :   Namelist namicerun
+      !! ** input   :   Namelist namice_run
       !!-------------------------------------------------------------------
       INTEGER  ::   ios                 ! Local integer output status for namelist read
-      NAMELIST/namicerun/ jpl, nlay_i, nlay_s, nn_monocat, rn_amax_n, rn_amax_s, cn_icerst_in, cn_icerst_indir,   &
-         &                cn_icerst_out, cn_icerst_outdir, ln_limthd, ln_limdyn, nn_limdyn, rn_uice, rn_vice  
+      NAMELIST/namice_run/ jpl, nlay_i, nlay_s, nn_monocat, rn_amax_n, rn_amax_s, cn_icerst_in, cn_icerst_indir,   &
+         &                cn_icerst_out, cn_icerst_outdir
       !!-------------------------------------------------------------------
       !
-      REWIND( numnam_ice_ref )      ! Namelist namicerun in reference namelist : Parameters for ice
-      READ  ( numnam_ice_ref, namicerun, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicerun in reference namelist', lwp )
-
-      REWIND( numnam_ice_cfg )      ! Namelist namicerun in configuration namelist : Parameters for ice
-      READ  ( numnam_ice_cfg, namicerun, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicerun in configuration namelist', lwp )
-      IF(lwm) WRITE ( numoni, namicerun )
+      REWIND( numnam_ice_ref )      ! Namelist namice_run in reference namelist : Parameters for ice
+      READ  ( numnam_ice_ref, namice_run, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_run in reference namelist', lwp )
+
+      REWIND( numnam_ice_cfg )      ! Namelist namice_run in configuration namelist : Parameters for ice
+      READ  ( numnam_ice_cfg, namice_run, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_run in configuration namelist', lwp )
+      IF(lwm) WRITE ( numoni, namice_run )
       !
       IF(lwp) THEN                  ! control print
@@ -346,5 +341,5 @@
          WRITE(numout,*) 'ice_run_init : ice share parameters for dynamics/advection/thermo of sea-ice'
          WRITE(numout,*) ' ~~~~~~'
-         WRITE(numout,*) '   Namelist namicerun : '
+         WRITE(numout,*) '   Namelist namice_run : '
          WRITE(numout,*) '      number of ice  categories                              jpl    = ', jpl
          WRITE(numout,*) '      number of ice  layers                                  nlay_i = ', nlay_i
@@ -353,11 +348,4 @@
          WRITE(numout,*) '      maximum ice concentration for NH                              = ', rn_amax_n 
          WRITE(numout,*) '      maximum ice concentration for SH                              = ', rn_amax_s
-         WRITE(numout,*) '      Ice thermodynamics (T) or not (F)                  ln_limthd  = ', ln_limthd
-         WRITE(numout,*) '      Ice dynamics       (T) or not (F)                  ln_limdyn  = ', ln_limdyn
-         WRITE(numout,*) '         associated switch                               nn_limdyn  = ', nn_limdyn
-         WRITE(numout,*) '            =2 all processes (default option)'
-         WRITE(numout,*) '            =1 advection only (no ridging/rafting)'
-         WRITE(numout,*) '            =0 advection only with prescribed velocity given by '
-         WRITE(numout,*) '               a uniform field        (u,v)_ice = (rn_uice,rn_vice) = (', rn_uice,',', rn_vice,')'
       ENDIF
       !
@@ -373,22 +361,4 @@
       !
       IF( ln_bdy .AND. ln_limdiachk )   CALL ctl_warn('ice_run_init: online conservation check does not work with BDY')
-      !
-      !                             ! set the choice of ice dynamics
-      IF( lk_c1d .OR. .NOT.ln_limdyn ) THEN
-         nice_dyn = np_dynNO                    !--- no dynamics
-      ELSE
-         SELECT CASE( nn_limdyn )
-         CASE( 2 )                    
-            IF( nn_monocat /= 2 ) THEN          !--- full dynamics (rheology + advection + ridging/rafting + correction)
-               nice_dyn = np_dynFULL
-            ELSE
-               nice_dyn = np_dyn                !--- dynamics without ridging/rafting
-            ENDIF
-         CASE( 0 , 1 )                          !--- dynamics without ridging/rafting and correction 
-            nice_dyn = np_dynPURE
-         END SELECT
-      ENDIF
-      !                                         !--- simple conservative piling, comparable with LIM2
-      l_piling = nn_limdyn == 1 .OR. ( nn_monocat == 2  .AND.  jpl == 1 )
       !
       rdt_ice   = REAL(nn_fsbc) * rdt           !--- sea-ice timestep and inverse
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd.F90	(revision 8512)
@@ -26,5 +26,5 @@
    USE sbc_oce , ONLY : sss_m, sst_m, e3t_m, utau, vtau, ssu_m, ssv_m, frq_m, qns_tot, qsr_tot, sprecip, ln_cpl
    USE sbc_ice , ONLY : qsr_oce, qns_oce, qemp_oce, qsr_ice, qns_ice, dqns_ice, evap_ice, qprec_ice, qevap_ice, &
-      &                 fr1_i0, fr2_i0, nn_limflx
+      &                 fr1_i0, fr2_i0
    USE ice1D          ! thermodynamic sea-ice variables
    USE icethd_dif     ! vertical diffusion
@@ -92,6 +92,6 @@
       IF( kt == nit000 .AND. lwp ) THEN
          WRITE(numout,*)
-         WRITE(numout,*)' icethd : sea-ice thermodynamics'
-         WRITE(numout,*)' ~~~~~~~~'
+         WRITE(numout,*) 'ice_thd: sea-ice thermodynamics'
+         WRITE(numout,*) '~~~~~~~'
       ENDIF
       
@@ -104,5 +104,5 @@
       ! computation of friction velocity at T points
       !---------------------------------------------!
-      IF( ln_limdyn ) THEN
+      IF( ln_icedyn ) THEN
          zu_io(:,:) = u_ice(:,:) - ssu_m(:,:)
          zv_io(:,:) = v_ice(:,:) - ssv_m(:,:)
@@ -532,5 +532,5 @@
       !!              thermodynamics
       !!
-      !! ** Method  :   Read the namicethd namelist and check the ice-thermo
+      !! ** Method  :   Read the namice_thd namelist and check the ice-thermo
       !!              parameter values called at the first timestep (nit000)
       !!
@@ -539,5 +539,5 @@
       INTEGER  ::   ios   ! Local integer output status for namelist read
       !!
-      NAMELIST/namicethd/ rn_kappa_i, nn_ice_thcon, ln_dqnsice, rn_cdsn,                                  &
+      NAMELIST/namice_thd/ ln_limthd, rn_kappa_i, nn_ice_thcon, ln_dqnsice, rn_cdsn,                       &
          &                ln_limdH, rn_betas,                                                             &
          &                ln_limdA, rn_beta, rn_dmin,                                                     &
@@ -546,12 +546,12 @@
       !!-------------------------------------------------------------------
       !
-      REWIND( numnam_ice_ref )              ! Namelist namicethd in reference namelist : Ice thermodynamics
-      READ  ( numnam_ice_ref, namicethd, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicethd in reference namelist', lwp )
-
-      REWIND( numnam_ice_cfg )              ! Namelist namicethd in configuration namelist : Ice thermodynamics
-      READ  ( numnam_ice_cfg, namicethd, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicethd in configuration namelist', lwp )
-      IF(lwm) WRITE ( numoni, namicethd )
+      REWIND( numnam_ice_ref )              ! Namelist namice_thd in reference namelist : Ice thermodynamics
+      READ  ( numnam_ice_ref, namice_thd, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_thd in reference namelist', lwp )
+
+      REWIND( numnam_ice_cfg )              ! Namelist namice_thd in configuration namelist : Ice thermodynamics
+      READ  ( numnam_ice_cfg, namice_thd, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_thd in configuration namelist', lwp )
+      IF(lwm) WRITE ( numoni, namice_thd )
       !
       !
@@ -559,28 +559,29 @@
          WRITE(numout,*) 'ice_thd_init : Ice Thermodynamics'
          WRITE(numout,*) '~~~~~~~~~~~~~'
-         WRITE(numout,*)'   Namelist namicethd'
-         WRITE(numout,*)'   -- icethd_dif --'
-         WRITE(numout,*)'      extinction radiation parameter in sea ice               rn_kappa_i   = ', rn_kappa_i
-         WRITE(numout,*)'      switch for comp. of thermal conductivity in the ice     nn_ice_thcon = ', nn_ice_thcon
-         WRITE(numout,*)'      change the surface non-solar flux with Tsu or not       ln_dqnsice   = ', ln_dqnsice
-         WRITE(numout,*)'      thermal conductivity of the snow                        rn_cdsn      = ', rn_cdsn
-         WRITE(numout,*)'   -- icethd_dh --'
-         WRITE(numout,*)'      activate ice thick change from top/bot (T) or not (F)   ln_limdH     = ', ln_limdH
-         WRITE(numout,*)'      coefficient for ice-lead partition of snowfall          rn_betas     = ', rn_betas
-         WRITE(numout,*)'   -- icethd_da --'
-         WRITE(numout,*)'      activate lateral melting (T) or not (F)                 ln_limdA     = ', ln_limdA
-         WRITE(numout,*)'      Coef. beta for lateral melting param.                   rn_beta      = ', rn_beta
-         WRITE(numout,*)'      Minimum floe diameter for lateral melting param.        rn_dmin      = ', rn_dmin
-         WRITE(numout,*)'   -- icethd_lac --'
-         WRITE(numout,*)'      activate ice growth in open-water (T) or not (F)        ln_limdO     = ', ln_limdO
-         WRITE(numout,*)'      ice thickness for lateral accretion                     rn_hnewice   = ', rn_hnewice
-         WRITE(numout,*)'      Frazil ice thickness as a function of wind or not       ln_frazil    = ', ln_frazil
-         WRITE(numout,*)'      Maximum proportion of frazil ice collecting at bottom   rn_maxfrazb  = ', rn_maxfrazb
-         WRITE(numout,*)'      Threshold relative drift speed for collection of frazil rn_vfrazb    = ', rn_vfrazb
-         WRITE(numout,*)'      Squeezing coefficient for collection of frazil          rn_Cfrazb    = ', rn_Cfrazb
-         WRITE(numout,*)'   -- iceitd --'
-         WRITE(numout,*)'      minimum ice thickness                                   rn_himin     = ', rn_himin 
-         WRITE(numout,*)'   -- icestp --'
-         WRITE(numout,*)'      Multicategory heat flux formulation                     nn_limflx    = ', nn_limflx
+         WRITE(numout,*) '   Namelist namice_thd'
+         WRITE(numout,*) '      Ice thermodynamics (T) or not (F)                       ln_limthd    = ', ln_limthd
+         WRITE(numout,*) '   -- icethd_dif --'
+         WRITE(numout,*) '      extinction radiation parameter in sea ice               rn_kappa_i   = ', rn_kappa_i
+         WRITE(numout,*) '      switch for comp. of thermal conductivity in the ice     nn_ice_thcon = ', nn_ice_thcon
+         WRITE(numout,*) '      change the surface non-solar flux with Tsu or not       ln_dqnsice   = ', ln_dqnsice
+         WRITE(numout,*) '      thermal conductivity of the snow                        rn_cdsn      = ', rn_cdsn
+         WRITE(numout,*) '   -- icethd_dh --'
+         WRITE(numout,*) '      activate ice thick change from top/bot (T) or not (F)   ln_limdH     = ', ln_limdH
+         WRITE(numout,*) '      coefficient for ice-lead partition of snowfall          rn_betas     = ', rn_betas
+         WRITE(numout,*) '   -- icethd_da --'
+         WRITE(numout,*) '      activate lateral melting (T) or not (F)                 ln_limdA     = ', ln_limdA
+         WRITE(numout,*) '      Coef. beta for lateral melting param.                   rn_beta      = ', rn_beta
+         WRITE(numout,*) '      Minimum floe diameter for lateral melting param.        rn_dmin      = ', rn_dmin
+         WRITE(numout,*) '   -- icethd_lac --'
+         WRITE(numout,*) '      activate ice growth in open-water (T) or not (F)        ln_limdO     = ', ln_limdO
+         WRITE(numout,*) '      ice thickness for lateral accretion                     rn_hnewice   = ', rn_hnewice
+         WRITE(numout,*) '      Frazil ice thickness as a function of wind or not       ln_frazil    = ', ln_frazil
+         WRITE(numout,*) '      Maximum proportion of frazil ice collecting at bottom   rn_maxfrazb  = ', rn_maxfrazb
+         WRITE(numout,*) '      Threshold relative drift speed for collection of frazil rn_vfrazb    = ', rn_vfrazb
+         WRITE(numout,*) '      Squeezing coefficient for collection of frazil          rn_Cfrazb    = ', rn_Cfrazb
+         WRITE(numout,*) '   -- iceitd --'
+         WRITE(numout,*) '      minimum ice thickness                                   rn_himin     = ', rn_himin 
+         WRITE(numout,*) '   -- icestp --'
+         WRITE(numout,*) '      Multicategory heat flux formulation                     nn_limflx    = ', nn_limflx
       ENDIF
       !
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd_sal.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd_sal.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/icethd_sal.F90	(revision 8512)
@@ -107,23 +107,23 @@
       !! ** Purpose :   initialization of ice salinity parameters
       !!
-      !! ** Method  :   Read the namicesal namelist and check the parameter
+      !! ** Method  :   Read the namice_sal namelist and check the parameter
       !!              values called at the first timestep (nit000)
       !!
-      !! ** input   :   Namelist namicesal
+      !! ** input   :   Namelist namice_sal
       !!-------------------------------------------------------------------
       INTEGER  ::   ios                 ! Local integer output status for namelist read
       !!
-      NAMELIST/namicesal/ ln_limdS , nn_icesal , rn_icesal, rn_sal_gd, rn_time_gd,   &
+      NAMELIST/namice_sal/ ln_limdS , nn_icesal , rn_icesal, rn_sal_gd, rn_time_gd,   &
          &                rn_sal_fl, rn_time_fl, rn_simax , rn_simin 
       !!-------------------------------------------------------------------
       !
-      REWIND( numnam_ice_ref )              ! Namelist namicesal in reference namelist : Ice salinity
-      READ  ( numnam_ice_ref, namicesal, IOSTAT = ios, ERR = 901)
-901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicesal in reference namelist', lwp )
+      REWIND( numnam_ice_ref )              ! Namelist namice_sal in reference namelist : Ice salinity
+      READ  ( numnam_ice_ref, namice_sal, IOSTAT = ios, ERR = 901)
+901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_sal in reference namelist', lwp )
       !
-      REWIND( numnam_ice_cfg )              ! Namelist namicesal in configuration namelist : Ice salinity
-      READ  ( numnam_ice_cfg, namicesal, IOSTAT = ios, ERR = 902 )
-902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namicesal in configuration namelist', lwp )
-      IF(lwm) WRITE ( numoni, namicesal )
+      REWIND( numnam_ice_cfg )              ! Namelist namice_sal in configuration namelist : Ice salinity
+      READ  ( numnam_ice_cfg, namice_sal, IOSTAT = ios, ERR = 902 )
+902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namice_sal in configuration namelist', lwp )
+      IF(lwm) WRITE ( numoni, namice_sal )
       !
       IF(lwp) THEN                           ! control print
@@ -131,13 +131,14 @@
          WRITE(numout,*) 'ice_thd_sal_init : Ice parameters for salinity '
          WRITE(numout,*) '~~~~~~~~~~~~~~~~'
-         WRITE(numout,*) '   activate gravity drainage and flushing (T) or not (F)   ln_limdS   = ', ln_limdS
-         WRITE(numout,*) '   switch for salinity                                     nn_icesal  = ', nn_icesal
-         WRITE(numout,*) '   bulk salinity value if nn_icesal = 1                    rn_icesal  = ', rn_icesal
-         WRITE(numout,*) '   restoring salinity for gravity drainage                 rn_sal_gd  = ', rn_sal_gd
-         WRITE(numout,*) '   restoring time for for gravity drainage                 rn_time_gd = ', rn_time_gd
-         WRITE(numout,*) '   restoring salinity for flushing                         rn_sal_fl  = ', rn_sal_fl
-         WRITE(numout,*) '   restoring time for flushing                             rn_time_fl = ', rn_time_fl
-         WRITE(numout,*) '   Maximum tolerated ice salinity                          rn_simax   = ', rn_simax
-         WRITE(numout,*) '   Minimum tolerated ice salinity                          rn_simin   = ', rn_simin
+         WRITE(numout,*) '   Namelist namice_sal'
+         WRITE(numout,*) '      activate gravity drainage and flushing (T) or not (F)   ln_limdS   = ', ln_limdS
+         WRITE(numout,*) '      switch for salinity                                     nn_icesal  = ', nn_icesal
+         WRITE(numout,*) '      bulk salinity value if nn_icesal = 1                    rn_icesal  = ', rn_icesal
+         WRITE(numout,*) '      restoring salinity for gravity drainage                 rn_sal_gd  = ', rn_sal_gd
+         WRITE(numout,*) '      restoring time for for gravity drainage                 rn_time_gd = ', rn_time_gd
+         WRITE(numout,*) '      restoring salinity for flushing                         rn_sal_fl  = ', rn_sal_fl
+         WRITE(numout,*) '      restoring time for flushing                             rn_time_fl = ', rn_time_fl
+         WRITE(numout,*) '      Maximum tolerated ice salinity                          rn_simax   = ', rn_simax
+         WRITE(numout,*) '      Minimum tolerated ice salinity                          rn_simin   = ', rn_simin
       ENDIF
       !
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceupdate.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceupdate.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/iceupdate.F90	(revision 8512)
@@ -116,5 +116,5 @@
       IF( kt == nit000 .AND. lwp ) THEN
          WRITE(numout,*)
-         WRITE(numout,*)'ice_update_flx'
+         WRITE(numout,*)'ice_update_flx: update fluxes (mass, salt and heat) at the ice-ocean interface'
          WRITE(numout,*)'~~~~~~~~~~~~~~'
       ENDIF
@@ -255,5 +255,5 @@
       IF( kt == nit000 .AND. lwp ) THEN
          WRITE(numout,*)
-         WRITE(numout,*)'ice_update_tau'
+         WRITE(numout,*)'ice_update_tau: update stress at the ice-ocean interface'
          WRITE(numout,*)'~~~~~~~~~~~~~~'
       ENDIF
@@ -314,6 +314,6 @@
       !
       IF(lwp) WRITE(numout,*)
-      IF(lwp) WRITE(numout,*) 'ice_update_init :   sea-ice   ????'
-      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~   '
+      IF(lwp) WRITE(numout,*) 'ice_update_init: ???? '
+      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~'
 
       !                                      ! allocate ice_update array
Index: /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90
===================================================================
--- /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90	(revision 8511)
+++ /branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90	(revision 8512)
@@ -68,9 +68,4 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   emp_oce        !: evap - precip over ocean                 [kg/m2/s]
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   wndm_ice       !: wind speed module at T-point                 [m/s]
-   INTEGER , PUBLIC                                      ::   nn_limflx      !: LIM3 Multi-category heat flux formulation
-   !                                                                            ! =-1  Use of per-category fluxes
-   !                                                                            ! = 0  Average per-category fluxes
-   !                                                                            ! = 1  Average then redistribute per-category fluxes
-   !                                                                            ! = 2  Redistribute a single flux over categories
 #endif
 
