Index: /branches/nemo_v3_3_beta/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist_ice_lim2
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist_ice_lim2	(revision 2376)
+++ /branches/nemo_v3_3_beta/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/namelist_ice_lim2	(revision 2377)
@@ -1,12 +1,11 @@
 !!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-!! NEMO/LIM2 :  1 - dynamics/advection/thermo          (namicerun)
+!! NEMO/LIM-2 : 1 - dynamics/advection/thermo          (namicerun)
 !! namelists    2 - ice intialisation                  (namiceini)
 !!              3 - ice dynamic                        (namicedyn)
-!!              5 - ice advection                      (namicetrp)
-!!              6 - thermodynamic                      (namicethd)
-!!              7 - ice salinity                       (namicesal)
-!!              8 - mechanical redistribution of ice   (namiceitdme)
-!!              3 - ice diagnostics                    (namicedia)
-!!              9 - ice outputs                        (namiceout)
+!!              4 - ice advection                      (namicetrp)
+!!              5 - thermodynamic                      (namicethd)
+!!              6 - ice damping                        (namice_dmp)
+!!              7 - ice diagnostics                    (namicedia)
+!!              8 - ice outputs                        (namiceout)
 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
@@ -16,14 +15,14 @@
    cn_icerst_in  = "restart_ice_in"   !  suffix of ice restart name (input)
    cn_icerst_out = "restart_ice"      !  suffix of ice restart name (output)
-   ln_limdyn   = .true.    !  ice dynamics (T) or thermodynamics only (F)
-   ln_limdmp   = .false.   !  restoring ice thickness and fraction leads (T) or not (F)
-   acrit       = 1.0e-06   , 1.0e-06   ! minimum fraction for leads in the Northern (Southern) Hemisphere
-   hsndif      =  0.0      !  computation of temperature in snow (=0.0) or not
-   hicdif      =  0.0      !  computation of temperature in ice  (=0.0) or not (=9999.0)
+   ln_limdyn     = .true.             !  ice dynamics (T) or thermodynamics only (F)
+   ln_limdmp     = .false.            !  restoring ice thickness and fraction leads   (T => fill  namice_dmp)
+   acrit         = 1.0e-06 , 1.0e-06  !  minimum lead fraction in the Northern & Southern Hemispheres
+   hsndif        =  0.e0              !  computation of temperature in snow (=0.0) or not
+   hicdif        =  0.e0              !  computation of temperature in ice  (=0.0) or not (=9999.0)
 /
 !-----------------------------------------------------------------------
 &namiceini     !   ice initialisation
 !-----------------------------------------------------------------------
-   ln_limini   = .false.   !  read the ice initial state in the file 'Ice_initialization.nc' (T) or not (F)
+   ln_limini   = .false.   !  read the initial state in 'Ice_initialization.nc' (T) or not (F)
    ttest       =  2.0      !  threshold water temperature for initial sea ice
    hninn       =  0.5      !  initial snow thickness in the north
@@ -59,30 +58,12 @@
 &namicetrp     !   ice transport
 !-----------------------------------------------------------------------
-   bound       =   0.      !  boundary conditions (=0.0 no-slip, =1.0 free-slip)
+   bound       =   0.0     !  boundary conditions (=0. no-slip, =1. free-slip)
 /
 !-----------------------------------------------------------------------
 &namicethd     !   ice thermodynamic
 !-----------------------------------------------------------------------
-!  hmelt       : maximum melting at the bottom
-!  hiccrit(1/2): ice thickness for lateral accretion in the Northern (Southern) Hemisphere
-!                caution 1.0, 1.0 best value to be used!!! (gilles G.)
-!  hicmin      : ice thickness corr. to max. energy stored in brine pocket
-!  hiclim      : minimum ice thickness
-!  amax        : maximum lead fraction
-!  swiqst      : energy stored in brine pocket (=1) or not (=0)	
-!  sbeta       : numerical caracteritic of the scheme for diffusion in ice
-!               Cranck-Nicholson (=0.5), implicit (=1), explicit (=0)
-!  parlat      : percentage of energy used for lateral ablation
-!  hakspl      : slope of distr. for Hakkinen-Mellor's lateral melting
-!  hibspl      : slope of distribution for Hibler's lateral melting
-!  exld        : exponent for leads-closure rate
-!  hakdif      : coefficient for diffusions of ice and snow
-!  thth         : threshold thickness for comp. of eq. thermal conductivity
-!  hnzst       : thickness of the surf. layer in temp. computation
-!  parsub      : switch for snow sublimation or not
-!  alphs       : coefficient for snow density when snow ice formation
-! 
    hmelt       = -0.15     !  maximum melting at the bottom
    hiccrit     = 0.3 , 0.3 !  ice thickness for lateral accretion in the Northern (Southern) Hemisphere
+   !                       !  (caution 1.0, 1.0 best value to be used!!! (gilles G.))
    hicmin      = 0.2       !  ice thickness corr. to max. energy stored in brine pocket
    hiclim      = 0.05      !  minimum ice thickness
@@ -102,36 +83,47 @@
 /
 !-----------------------------------------------------------------------
+&namice_dmp    !   damping of sea ice alone open boundaries
+!              !   (hard coded damping area: check if it fit your config)
+!-----------------------------------------------------------------------
+!              !  file name   ! frequency (hours) ! variable ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation !
+!              !              !  (if <0  months)  !   name   !  (logical)   !  (T/F) ! 'monthly' ! filename ! pairing  !
+   sn_hicif    = 'ice_damping',  -1.              , 'hicif'  ,   .true.     , .true. , 'yearly'  , ''       , ''
+   sn_cnf      = 'ice_damping',  -1.              , 'frld'   ,   .true.     , .true. , 'yearly'  , ''       , ''
+!
+   cn_dir      = './'      !  root directory for the location of the runoff files
+/
+!-----------------------------------------------------------------------
 &namicedia     !   ice diagnostics
 !-----------------------------------------------------------------------
-   fmtinf      ='1PE13.5 ' !  format of the output values
-   nfrinf      = 4         !  number of variables written in one line
-   ntmoy       = 1         !  instantaneous values of ice evolution or averaging
-   ninfo       = 1         !  frequency of ouputs on file ice_evolu in case of averaging
+   fmtinf      = '1PE13.5' !  format of the output values
+   nfrinf      =  4        !  number of variables written in one line
+   ntmoy       =  1        !  instantaneous values of ice evolution or averaging
+   ninfo       =  1        !  frequency of ouputs on file ice_evolu in case of averaging
 /
 !'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 &namiceout     !   parameters for outputs
 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+!              !         title of the field           !  name     !   units   !  save  ! multipl. ! additive !
+!              !                                      !           !           ! or not !  factor  !  factor  !
+   field_1     = 'Snow thickness                     ', 'isnowthi', 'm       ',    1   ,  1.0     ,    0.0
+   field_2     = 'Ice thickness                      ', 'iicethic', 'm       ',    1   ,  1.0     ,    0.0
+   field_3     = 'Ice produced                       ', 'iiceprod', 'm/kt    ',    1   ,  1.0     ,    0.0
+   field_4     = 'Ice concentration                  ', 'ileadfra', '%       ',    1   , -1.0     ,    1.0
+   field_5     = 'Ice temperature                    ', 'iicetemp', 'C       ',    1   ,  1.0     , -273.15
+   field_6     = 'Oceanic flux at the ice base       ', 'ioceflxb', 'w/m2    ',    1   ,  1.0     ,    0.0
+   field_7     = 'Ice velocity u                     ', 'iicevelu', 'm/s     ',    1   ,  1.0     ,    0.0
+   field_8     = 'Ice velocity v                     ', 'iicevelv', 'm/s     ',    1   ,  1.0     ,    0.0
+   field_9     = 'Sea surface temperature            ', 'isstempe', 'C       ',    1   ,  1.0     , -273.15
+   field_10    = 'Sea surface salinity               ', 'isssalin', 'PSU     ',    1   ,  1.0     ,    0.0
+   field_11    = 'Total flux at ocean surface        ', 'iocetflx', 'w/m2    ',    1   ,  1.0     ,    0.0
+   field_12    = 'Solar flux at ocean surface        ', 'iocesflx', 'w/m2    ',    1   ,  1.0     ,    0.0
+   field_13    = 'Non-solar flux at ocean surface    ', 'iocwnsfl', 'w/m2    ',    1   ,  1.0     ,    0.0
+   field_14    = 'Salt flux at ocean surface         ', 'iocesafl', 'kg/m2/kt',    1   ,  1.0     ,    0.0
+   field_15    = 'Wind stress u                      ', 'iocestru', 'Pa      ',    1   ,  1.0     ,    0.0
+   field_16    = 'Wind stress v                      ', 'iocestrv', 'Pa      ',    1   ,  1.0     ,    0.0 
+   field_17    = 'Solar flux at ice/ocean surface    ', 'iicesflx', 'w/m2    ',    1   ,  1.0     ,    0.0
+   field_18    = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2    ',    1   ,  1.0     ,    0.0
+   field_19    = 'Snow precipitation                 ', 'isnowpre', 'kg/day  ',    1   ,  1.0     ,    0.0
+!
    noumef      =   19      !  number of fields
-!
-!           !         title of the field           !  name     !   units   !  save  ! multipl. ! additive !
-!           !                                      !           !           ! or not !  factor  !  factor  !
-   field_1  = 'Snow thickness                     ', 'isnowthi', 'm       ',    1   ,  1.0     ,    0.0
-   field_2  = 'Ice thickness                      ', 'iicethic', 'm       ',    1   ,  1.0     ,    0.0
-   field_3  = 'Ice produced                       ', 'iiceprod', 'm/kt    ',    1   ,  1.0     ,    0.0
-   field_4  = 'Ice concentration                  ', 'ileadfra', '%       ',    1   , -1.0     ,    1.0
-   field_5  = 'Ice temperature                    ', 'iicetemp', 'C       ',    1   ,  1.0     , -273.15
-   field_6  = 'Oceanic flux at the ice base       ', 'ioceflxb', 'w/m2    ',    1   ,  1.0     ,    0.0
-   field_7  = 'Ice velocity u                     ', 'iicevelu', 'm/s     ',    1   ,  1.0     ,    0.0
-   field_8  = 'Ice velocity v                     ', 'iicevelv', 'm/s     ',    1   ,  1.0     ,    0.0
-   field_9  = 'Sea surface temperature            ', 'isstempe', 'C       ',    1   ,  1.0     , -273.15
-   field_10 = 'Sea surface salinity               ', 'isssalin', 'PSU     ',    1   ,  1.0     ,    0.0
-   field_11 = 'Total flux at ocean surface        ', 'iocetflx', 'w/m2    ',    1   ,  1.0     ,    0.0
-   field_12 = 'Solar flux at ocean surface        ', 'iocesflx', 'w/m2    ',    1   ,  1.0     ,    0.0
-   field_13 = 'Non-solar flux at ocean surface    ', 'iocwnsfl', 'w/m2    ',    1   ,  1.0     ,    0.0
-   field_14 = 'Salt flux at ocean surface         ', 'iocesafl', 'kg/m2/kt',    1   ,  1.0     ,    0.0
-   field_15 = 'Wind stress u                      ', 'iocestru', 'Pa      ',    1   ,  1.0     ,    0.0
-   field_16 = 'Wind stress v                      ', 'iocestrv', 'Pa      ',    1   ,  1.0     ,    0.0 
-   field_17 = 'Solar flux at ice/ocean surface    ', 'iicesflx', 'w/m2    ',    1   ,  1.0     ,    0.0
-   field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2    ',    1   ,  1.0     ,    0.0
-   field_19 = 'Snow precipitation                 ', 'isnowpre', 'kg/day  ',    1   ,  1.0     ,    0.0
 /      
Index: /branches/nemo_v3_3_beta/NEMOGCM/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_ice_lim2
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_ice_lim2	(revision 2376)
+++ /branches/nemo_v3_3_beta/NEMOGCM/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_ice_lim2	(revision 2377)
@@ -1,12 +1,11 @@
 !!>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-!! NEMO/LIM2 :  1 - dynamics/advection/thermo          (namicerun)
+!! NEMO/LIM-2 : 1 - dynamics/advection/thermo          (namicerun)
 !! namelists    2 - ice intialisation                  (namiceini)
 !!              3 - ice dynamic                        (namicedyn)
-!!              5 - ice advection                      (namicetrp)
-!!              6 - thermodynamic                      (namicethd)
-!!              7 - ice salinity                       (namicesal)
-!!              8 - mechanical redistribution of ice   (namiceitdme)
-!!              3 - ice diagnostics                    (namicedia)
-!!              9 - ice outputs                        (namiceout)
+!!              4 - ice advection                      (namicetrp)
+!!              5 - thermodynamic                      (namicethd)
+!!              6 - ice damping                        (namice_dmp)
+!!              7 - ice diagnostics                    (namicedia)
+!!              8 - ice outputs                        (namiceout)
 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
@@ -16,14 +15,14 @@
    cn_icerst_in  = "restart_ice_in"   !  suffix of ice restart name (input)
    cn_icerst_out = "restart_ice"      !  suffix of ice restart name (output)
-   ln_limdyn   = .true.    !  ice dynamics (T) or thermodynamics only (F)
-   ln_limdmp   = .false.   !  restoring ice thickness and fraction leads (T) or not (F)
-   acrit       = 1.0e-06   , 1.0e-06   ! minimum fraction for leads in the Northern (Southern) Hemisphere
-   hsndif      =  0.0      !  computation of temperature in snow (=0.0) or not
-   hicdif      =  0.0      !  computation of temperature in ice  (=0.0) or not (=9999.0)
+   ln_limdyn     = .true.             !  ice dynamics (T) or thermodynamics only (F)
+   ln_limdmp     = .false.            !  restoring ice thickness and fraction leads   (T => fill  namice_dmp)
+   acrit         = 1.0e-06 , 1.0e-06  !  minimum lead fraction in the Northern & Southern Hemispheres
+   hsndif        =  0.e0              !  computation of temperature in snow (=0.0) or not
+   hicdif        =  0.e0              !  computation of temperature in ice  (=0.0) or not (=9999.0)
 /
 !-----------------------------------------------------------------------
 &namiceini     !   ice initialisation
 !-----------------------------------------------------------------------
-   ln_limini   = .false.   !  read the ice initial state in the file 'Ice_initialization.nc' (T) or not (F)
+   ln_limini   = .false.   !  read the initial state in 'Ice_initialization.nc' (T) or not (F)
    ttest       =  2.0      !  threshold water temperature for initial sea ice
    hninn       =  0.5      !  initial snow thickness in the north
@@ -59,30 +58,12 @@
 &namicetrp     !   ice transport
 !-----------------------------------------------------------------------
-   bound       =   0.      !  boundary conditions (=0.0 no-slip, =1.0 free-slip)
+   bound       =   0.0     !  boundary conditions (=0. no-slip, =1. free-slip)
 /
 !-----------------------------------------------------------------------
 &namicethd     !   ice thermodynamic
 !-----------------------------------------------------------------------
-!  hmelt       : maximum melting at the bottom
-!  hiccrit(1/2): ice thickness for lateral accretion in the Northern (Southern) Hemisphere
-!                caution 1.0, 1.0 best value to be used!!! (gilles G.)
-!  hicmin      : ice thickness corr. to max. energy stored in brine pocket
-!  hiclim      : minimum ice thickness
-!  amax        : maximum lead fraction
-!  swiqst      : energy stored in brine pocket (=1) or not (=0)	
-!  sbeta       : numerical caracteritic of the scheme for diffusion in ice
-!               Cranck-Nicholson (=0.5), implicit (=1), explicit (=0)
-!  parlat      : percentage of energy used for lateral ablation
-!  hakspl      : slope of distr. for Hakkinen-Mellor's lateral melting
-!  hibspl      : slope of distribution for Hibler's lateral melting
-!  exld        : exponent for leads-closure rate
-!  hakdif      : coefficient for diffusions of ice and snow
-!  thth         : threshold thickness for comp. of eq. thermal conductivity
-!  hnzst       : thickness of the surf. layer in temp. computation
-!  parsub      : switch for snow sublimation or not
-!  alphs       : coefficient for snow density when snow ice formation
-! 
    hmelt       = -0.15     !  maximum melting at the bottom
    hiccrit     = 0.3 , 0.3 !  ice thickness for lateral accretion in the Northern (Southern) Hemisphere
+   !                       !  (caution 1.0, 1.0 best value to be used!!! (gilles G.))
    hicmin      = 0.2       !  ice thickness corr. to max. energy stored in brine pocket
    hiclim      = 0.05      !  minimum ice thickness
@@ -102,36 +83,47 @@
 /
 !-----------------------------------------------------------------------
+&namice_dmp    !   damping of sea ice alone open boundaries
+!              !   (hard coded damping area: check if it fit your config)
+!-----------------------------------------------------------------------
+!              !  file name   ! frequency (hours) ! variable ! time interp. !  clim  ! 'yearly'/ ! weights  ! rotation !
+!              !              !  (if <0  months)  !   name   !  (logical)   !  (T/F) ! 'monthly' ! filename ! pairing  !
+   sn_hicif    = 'ice_damping',  -1.              , 'hicif'  ,   .true.     , .true. , 'yearly'  , ''       , ''
+   sn_cnf      = 'ice_damping',  -1.              , 'frld'   ,   .true.     , .true. , 'yearly'  , ''       , ''
+!
+   cn_dir      = './'      !  root directory for the location of the runoff files
+/
+!-----------------------------------------------------------------------
 &namicedia     !   ice diagnostics
 !-----------------------------------------------------------------------
-   fmtinf      ='1PE13.5 ' !  format of the output values
-   nfrinf      = 4         !  number of variables written in one line
-   ntmoy       = 1         !  instantaneous values of ice evolution or averaging
-   ninfo       = 1         !  frequency of ouputs on file ice_evolu in case of averaging
+   fmtinf      = '1PE13.5' !  format of the output values
+   nfrinf      =  4        !  number of variables written in one line
+   ntmoy       =  1        !  instantaneous values of ice evolution or averaging
+   ninfo       =  1        !  frequency of ouputs on file ice_evolu in case of averaging
 /
 !'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 &namiceout     !   parameters for outputs
 !,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
+!              !         title of the field           !  name     !   units   !  save  ! multipl. ! additive !
+!              !                                      !           !           ! or not !  factor  !  factor  !
+   field_1     = 'Snow thickness                     ', 'isnowthi', 'm       ',    1   ,  1.0     ,    0.0
+   field_2     = 'Ice thickness                      ', 'iicethic', 'm       ',    1   ,  1.0     ,    0.0
+   field_3     = 'Ice produced                       ', 'iiceprod', 'm/kt    ',    1   ,  1.0     ,    0.0
+   field_4     = 'Ice concentration                  ', 'ileadfra', '%       ',    1   , -1.0     ,    1.0
+   field_5     = 'Ice temperature                    ', 'iicetemp', 'C       ',    1   ,  1.0     , -273.15
+   field_6     = 'Oceanic flux at the ice base       ', 'ioceflxb', 'w/m2    ',    1   ,  1.0     ,    0.0
+   field_7     = 'Ice velocity u                     ', 'iicevelu', 'm/s     ',    1   ,  1.0     ,    0.0
+   field_8     = 'Ice velocity v                     ', 'iicevelv', 'm/s     ',    1   ,  1.0     ,    0.0
+   field_9     = 'Sea surface temperature            ', 'isstempe', 'C       ',    1   ,  1.0     , -273.15
+   field_10    = 'Sea surface salinity               ', 'isssalin', 'PSU     ',    1   ,  1.0     ,    0.0
+   field_11    = 'Total flux at ocean surface        ', 'iocetflx', 'w/m2    ',    1   ,  1.0     ,    0.0
+   field_12    = 'Solar flux at ocean surface        ', 'iocesflx', 'w/m2    ',    1   ,  1.0     ,    0.0
+   field_13    = 'Non-solar flux at ocean surface    ', 'iocwnsfl', 'w/m2    ',    1   ,  1.0     ,    0.0
+   field_14    = 'Salt flux at ocean surface         ', 'iocesafl', 'kg/m2/kt',    1   ,  1.0     ,    0.0
+   field_15    = 'Wind stress u                      ', 'iocestru', 'Pa      ',    1   ,  1.0     ,    0.0
+   field_16    = 'Wind stress v                      ', 'iocestrv', 'Pa      ',    1   ,  1.0     ,    0.0 
+   field_17    = 'Solar flux at ice/ocean surface    ', 'iicesflx', 'w/m2    ',    1   ,  1.0     ,    0.0
+   field_18    = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2    ',    1   ,  1.0     ,    0.0
+   field_19    = 'Snow precipitation                 ', 'isnowpre', 'kg/day  ',    1   ,  1.0     ,    0.0
+!
    noumef      =   19      !  number of fields
-!
-!           !         title of the field           !  name     !   units   !  save  ! multipl. ! additive !
-!           !                                      !           !           ! or not !  factor  !  factor  !
-   field_1  = 'Snow thickness                     ', 'isnowthi', 'm       ',    1   ,  1.0     ,    0.0
-   field_2  = 'Ice thickness                      ', 'iicethic', 'm       ',    1   ,  1.0     ,    0.0
-   field_3  = 'Ice produced                       ', 'iiceprod', 'm/kt    ',    1   ,  1.0     ,    0.0
-   field_4  = 'Ice concentration                  ', 'ileadfra', '%       ',    1   , -1.0     ,    1.0
-   field_5  = 'Ice temperature                    ', 'iicetemp', 'C       ',    1   ,  1.0     , -273.15
-   field_6  = 'Oceanic flux at the ice base       ', 'ioceflxb', 'w/m2    ',    1   ,  1.0     ,    0.0
-   field_7  = 'Ice velocity u                     ', 'iicevelu', 'm/s     ',    1   ,  1.0     ,    0.0
-   field_8  = 'Ice velocity v                     ', 'iicevelv', 'm/s     ',    1   ,  1.0     ,    0.0
-   field_9  = 'Sea surface temperature            ', 'isstempe', 'C       ',    1   ,  1.0     , -273.15
-   field_10 = 'Sea surface salinity               ', 'isssalin', 'PSU     ',    1   ,  1.0     ,    0.0
-   field_11 = 'Total flux at ocean surface        ', 'iocetflx', 'w/m2    ',    1   ,  1.0     ,    0.0
-   field_12 = 'Solar flux at ocean surface        ', 'iocesflx', 'w/m2    ',    1   ,  1.0     ,    0.0
-   field_13 = 'Non-solar flux at ocean surface    ', 'iocwnsfl', 'w/m2    ',    1   ,  1.0     ,    0.0
-   field_14 = 'Salt flux at ocean surface         ', 'iocesafl', 'kg/m2/kt',    1   ,  1.0     ,    0.0
-   field_15 = 'Wind stress u                      ', 'iocestru', 'Pa      ',    1   ,  1.0     ,    0.0
-   field_16 = 'Wind stress v                      ', 'iocestrv', 'Pa      ',    1   ,  1.0     ,    0.0 
-   field_17 = 'Solar flux at ice/ocean surface    ', 'iicesflx', 'w/m2    ',    1   ,  1.0     ,    0.0
-   field_18 = 'Non-solar flux at ice/ocean surface', 'iicenflx', 'w/m2    ',    1   ,  1.0     ,    0.0
-   field_19 = 'Snow precipitation                 ', 'isnowpre', 'kg/day  ',    1   ,  1.0     ,    0.0
 /      
Index: /branches/nemo_v3_3_beta/NEMOGCM/NEMO/LIM_SRC_2/limdmp_2.F90
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/NEMO/LIM_SRC_2/limdmp_2.F90	(revision 2376)
+++ /branches/nemo_v3_3_beta/NEMOGCM/NEMO/LIM_SRC_2/limdmp_2.F90	(revision 2377)
@@ -2,169 +2,170 @@
    !!======================================================================
    !!                       ***  MODULE limdmp_2   ***
-   !!  Ice model : restoring Ice thickness and Fraction leads
+   !!  LIM-2 ice model : restoring Ice thickness and Fraction leads
    !!======================================================================
-   !! History :   2.0  !  04-04 (S. Theetten) Original code
+   !! History :   2.0  !  2004-04 (S. Theetten) Original code
+   !!             3.3  !  2010-06 (J.-M. Molines) use of fldread
    !!----------------------------------------------------------------------
-#if defined key_lim2   &&   defined key_tradmp
+#if defined key_lim2
    !!----------------------------------------------------------------------
-   !!   'key_lim2'  AND                               LIM 2.0 sea-ice model
-   !!   'key_tradmp'                                                Damping
-   !!----------------------------------------------------------------------
+   !!   'key_lim2'                                    LIM 2.0 sea-ice model
    !!----------------------------------------------------------------------
    !!   lim_dmp_2      : ice model damping
    !!----------------------------------------------------------------------
    USE in_out_manager  ! I/O manager
-   USE phycst          ! physical constants
-   USE ice_2
-   USE tradmp
-   USE dom_oce
-   USE oce
-   USE iom
+   USE ice_2           ! ice variables 
+   USE sbc_oce, ONLY : nn_fsbc ! for fldread
+   USE dom_oce         ! for mi0; mi1 etc ...
+   USE fldread         ! read input fields
    
    IMPLICIT NONE
    PRIVATE
 
-   PUBLIC   lim_dmp_2     ! called by ice_step_2
+   PUBLIC   lim_dmp_2     ! called by sbc_ice_lim2
+
+   REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::   resto_ice   ! restoring coeff. on ICE   [s-1]
+
+   INTEGER, PARAMETER :: jp_hicif = 1 , jp_frld = 2
+   TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_icedmp    ! structure of ice damping input
    
-   INTEGER                        ::   nice1, nice2,  &  ! first and second record used
-      &                                inumice_dmp       ! logical unit for ice variables (damping)
-   REAL(wp), DIMENSION(jpi,jpj)   ::   hicif_dta  ,   &  ! ice thickness at a given time
-      &                                frld_dta          ! fraction lead at a given time
-   REAL(wp), DIMENSION(jpi,jpj,2) ::   hicif_data ,   &  ! ice thickness data at two consecutive times
-      &                                frld_data         ! fraction lead data at two consecutive times
-
    !! * Substitution
 #  include "vectopt_loop_substitute.h90"
    !!----------------------------------------------------------------------
-   !! NEMO/LIM2 3.3 , UCL - NEMO Consortium (2010)
+   !! NEMO/LIM 3.3 , UCL-NEMO-consortium (2010) 
    !! $Id$
-   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)
+   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
    !!----------------------------------------------------------------------
-
 CONTAINS
 
-   SUBROUTINE lim_dmp_2(kt)
+   SUBROUTINE lim_dmp_2( kt )
       !!-------------------------------------------------------------------
-      !!                   ***  ROUTINE lim_dmp_2 ***
+      !!                   ***  ROUTINE lim_dmp_2  ***
       !!
-      !! ** purpose : ice model damping : restoring ice thickness and 
-      !!              fraction leads
+      !! ** purpose : ice model damping : restoring ice thickness and fraction leads
       !!
-      !! ** method  : the key_tradmp must be used to compute resto(:,:) coef.
+      !! ** method  : the key_tradmp must be used to compute resto(:,:,1) coef.
       !!---------------------------------------------------------------------
-      INTEGER, INTENT(in) ::   kt     ! ocean time-step
+      INTEGER, INTENT(in) ::   kt   ! ocean time-step
       !
-      INTEGER             ::   ji, jj         ! dummy loop indices
+      INTEGER  ::   ji, jj         ! dummy loop indices
+      REAL(wp) ::   zfrld, zhice   ! local scalars
       !!---------------------------------------------------------------------
       !
-      CALL dta_lim_2( kt )
-
-      DO jj = 2, jpjm1
-         DO ji = fs_2, fs_jpim1   ! vector opt.
-            hicif(ji,jj) = hicif(ji,jj) - rdt_ice * resto(ji,jj,1) * ( hicif(ji,jj) - hicif_dta(ji,jj) )
-            frld(ji,jj)  = frld (ji,jj) - rdt_ice * resto(ji,jj,1) * ( frld(ji,jj)  - frld_dta (ji,jj) )  
-         END DO
-      END DO
+      IF (kt == nit000)  THEN 
+         IF(lwp) WRITE(numout,*)
+         IF(lwp) WRITE(numout,*) 'lim_dmp_2 : Ice thickness and ice concentration restoring'
+         IF(lwp) WRITE(numout,*) '~~~~~~~~~~'
+         !
+         ! ice_resto_init create resto_ice (in 1/s) for restoring ice parameters near open boundaries.
+         ! Double check this routine to verify if it corresponds to your config
+         CALL lim_dmp_init
+      ENDIF
+      !
+      IF( ln_limdmp ) THEN   ! ice restoring in this case
+         !
+         CALL fld_read( kt, nn_fsbc, sf_icedmp )
+         !
+!CDIR COLLAPSE
+         hicif(:,:) = MAX( 0._wp,                     &        ! h >= 0         avoid spurious out of physical range
+            &         hicif(:,:) - rdt_ice * resto_ice(:,:,1) * ( hicif(:,:) - sf_icedmp(jp_hicif)%fnow(:,:,1) )  ) 
+!CDIR COLLAPSE
+         hicif(:,:) = MAX( 0._wp, MIN( 1._wp,         &        ! 0<= frld<=1    values which blow the run up
+            &         frld (:,:) - rdt_ice * resto_ice(:,:,1) * ( frld (:,:) - sf_icedmp(jp_frld )%fnow(:,:,1) )  )  )
+         !
+      ENDIF
       !
    END SUBROUTINE lim_dmp_2
 
 
-   SUBROUTINE dta_lim_2( kt ) 
+   SUBROUTINE lim_dmp_init
       !!----------------------------------------------------------------------
-      !!                   ***  ROUTINE dta_lim_2  ***
+      !!                   ***  ROUTINE lim_dmp_init  ***
       !!
-      !! ** Purpose :   Reads monthly ice thickness and fraction lead  data
+      !! ** Purpose :   Initialization for the ice thickness and concentration 
+      !!                restoring
+      !!              restoring will be used. It is used to mimic ice open
+      !!              boundaries.
       !!
-      !! ** Method  :   Read on unit numicedt the interpolated ice variable
-      !!      onto the model grid.
-      !!      Data begin at january.
-      !!      The value is centered at the middle of month.
-      !!      In the opa model, kt=1 agree with january 1.
-      !!      At each time step, a linear interpolation is applied between
-      !!      two monthly values.
+      !! ** Method  :  ?????
       !!      
-      !! ** Action  :   define hicif_dta and frld_dta arrays at time-step kt
+      !! ** Action  :   define resto_ice(:,:,1)
       !!----------------------------------------------------------------------
-      INTEGER, INTENT(in) ::   kt     ! ocean time-step
+      INTEGER  :: ji, jj, jk       ! dummy loop indices
+      INTEGER  :: irelax, ierror   ! error flag for allocation
       !
-      INTEGER  ::   imois, iman, i15          ! temporary integers
-      REAL(wp) ::   zxy
+      REAL(wp) :: zdmpmax, zdmpmin, zfactor, zreltim ! temporary scalar
+      !
+      CHARACTER(len=100)           ::   cn_dir       ! Root directory for location of ssr files
+      TYPE(FLD_N), DIMENSION (2)   ::   sl_icedmp    ! informations about the icedmp  field to be read
+      TYPE(FLD_N)                  ::   sn_hicif     ! 
+      TYPE(FLD_N)                  ::   sn_frld      ! 
+      NAMELIST/namice_dmp/ cn_dir, ln_limdmp, sn_hicif, sn_frld
       !!----------------------------------------------------------------------
+      !
+      ! 1)  initialize fld read structure for input data 
+      !     --------------------------------------------
+      ln_limdmp = .false.                 !* set file information (default values)
+      cn_dir    = './'
+      ! (NB: frequency positive => hours, negative => months)
+      !                !    file     ! frequency ! variable ! time intep !  clim   ! 'yearly' or ! weights  ! rotation !
+      !                !    name     !  (hours)  !  name    !   (T/F)    !  (T/F)  !  'monthly'  ! filename ! pairs    !
+      sn_hicif = FLD_N( 'ice_damping ', -1       , 'hicif'  ,  .true.    , .true.  ,  'yearly'   ,  ''      ,  ''      )
+      sn_frld  = FLD_N( 'ice_damping ', -1       , 'frld'   ,  .true.    , .true.  ,  'yearly'   ,  ''      ,  ''      )
 
-      ! 0. Initialization
-      ! -----------------
-      iman  = INT( raamo )
-!!! better but change the results     i15 = INT( 2*FLOAT( nday ) / ( FLOAT( nobis(nmonth) ) + 0.5 ) )
-      i15   = nday / 16
-      imois = nmonth + i15 - 1
-      IF( imois == 0 ) imois = iman
-      
-      ! 1. First call kt=nit000: Initialization and Open
-      ! -----------------------
-      IF( kt == nit000 ) THEN
-         nice1 = 0
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'dtalim : Ice thickness and lead fraction  monthly fields'
-         IF(lwp) WRITE(numout,*) '~~~~~~'
-         IF(lwp) WRITE(numout,*) '             NetCDF FORMAT'
-         IF(lwp) WRITE(numout,*)
-         ! open file
-         CALL iom_open( 'ice_damping_ATL4.nc', inumice_dmp )
+      REWIND( numnam_ice )                !* read in namelist_ice namicedmp
+      READ  ( numnam_ice, namice_dmp )
+      !
+      IF ( lwp ) THEN                     !* control print
+         WRITE (numout,*)'     lim_dmp_init : lim_dmp initialization ' 
+         WRITE (numout,*)'       Namelist namicedmp read '
+         WRITE (numout,*)'         Ice restoring (T) or not (F) ln_limdmp =', ln_limdmp 
+         WRITE (numout,*)
+         WRITE (numout,*)'     CAUTION : here hard coded ice restoring along northern and southern boundaries'
+         WRITE (numout,*)'               adapt the lim_dmp_init routine to your needs'
       ENDIF
 
+      ! 2)  initialise resto_ice    ==>  config dependant !
+      !     --------------------         ++++++++++++++++
+      !
+      IF( ln_limdmp ) THEN                !* ice restoring is used, follow initialization
+         ! 
+         sl_icedmp ( jp_hicif ) = sn_hicif
+         sl_icedmp ( jp_frld  ) = sn_frld
+         ALLOCATE ( sf_icedmp (2) , resto_ice(jpi,jpj,1), STAT=ierror )
+         IF( ierror > 0 ) THEN
+            CALL ctl_stop( 'lim_dmp_init: unable to allocate sf_icedmp structure or resto_ice array' )   ;   RETURN
+         ENDIF
+         ALLOCATE( sf_icedmp(jp_hicif)%fnow(jpi,jpj,1) , sf_icedmp(jp_hicif)%fdta(jpi,jpj,1,2) )
+         ALLOCATE( sf_icedmp(jp_frld )%fnow(jpi,jpj,1) , sf_icedmp(jp_frld )%fdta(jpi,jpj,1,2) )
+         !                         ! fill sf_icedmp with sn_icedmp and control print
+         CALL fld_fill( sf_icedmp, sl_icedmp, cn_dir, 'lim_dmp_init', 'Ice  restoring input data', 'namicedmp' )
+      
+         resto_ice(:,:,:) = 0._wp
+         !      Re-calculate the North and South boundary restoring term
+         !      because those boundaries may change with the prescribed zoom area.
+         !
+         irelax  = 16                     ! width of buffer zone with respect to close boundary
+         zdmpmax = 10._wp                 ! max restoring time scale  (days) (low restoring)
+         zdmpmin = rdt_ice / 86400._wp    ! min restoring time scale  (days) (high restoring)
+         !                                ! days / grid-point
+         zfactor = ( zdmpmax - zdmpmin ) / REAL( irelax, wp )
 
-      ! 2. Read monthly file
-      ! --------------------
-      IF( ( kt == nit000 ) .OR. imois /= nice1 ) THEN
-         !
-         ! Calendar computation
-         nice1 = imois        ! first file record used 
-         nice2 = nice1 + 1    ! last  file record used
-         nice1 = MOD( nice1, iman )
-         nice2 = MOD( nice2, iman )
-         IF( nice1 == 0 )   nice1 = iman
-         IF( nice2 == 0 )   nice2 = iman
-         IF(lwp) WRITE(numout,*) 'first record file used nice1 ', nice1
-         IF(lwp) WRITE(numout,*) 'last  record file used nice2 ', nice2
-         
-         ! Read monthly ice thickness Levitus 
-         CALL iom_get( inumice_dmp, jpdom_data, 'iicethic', hicif_data(:,:,1), nice1 ) 
-         CALL iom_get( inumice_dmp, jpdom_data, 'iicethic', hicif_data(:,:,2), nice2 ) 
-         
-         ! Read monthly ice thickness Levitus 
-         CALL iom_get( inumice_dmp, jpdom_data, 'ileadfra', frld_data(:,:,1), nice1 ) 
-         CALL iom_get( inumice_dmp, jpdom_data, 'ileadfra', frld_data(:,:,2), nice2 ) 
-         
-         ! The fraction lead read in the file is in fact the 
-         ! ice concentration which is 1 - the fraction lead
-         frld_data = 1 - frld_data          
-         
-         IF(lwp) THEN
-            WRITE(numout,*)
-            WRITE(numout,*) ' Ice thickness month ', nice1,' and ', nice2
-            WRITE(numout,*)
-            WRITE(numout,*) ' Ice thickness month = ', nice1
-            CALL prihre( hicif_data(1,1,1), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout )
-            WRITE(numout,*)
-            WRITE(numout,*) ' Fraction lead months ', nice1,' and ', nice2
-            WRITE(numout,*)
-            WRITE(numout,*) ' Fraction lead month = ', nice1
-            CALL prihre( frld_data(1,1,1), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout )
-         ENDIF
+         !    South boundary restoring term
+         ! REM: if there is no ice in the model and in the data, 
+         !      no restoring even with non zero resto_ice
+         DO jj = mj0(jpjzoom - 1 + 1), mj1(jpjzoom -1 + irelax)
+            zreltim = zdmpmin + zfactor * ( mjg(jj) - jpjzoom + 1 )
+            resto_ice(:,jj,:) = 1._wp / ( zreltim * 86400._wp )
+         END DO
 
-         CALL FLUSH(numout)
-
+         ! North boundary restoring term
+         DO jj =  mj0(jpjzoom -1 + jpjglo - irelax), mj1(jpjzoom - 1 + jpjglo)
+            zreltim = zdmpmin + zfactor * (jpjglo - ( mjg(jj) - jpjzoom + 1 ))
+            resto_ice(:,jj,:) = 1.e0 / ( zreltim * 86400 )
+         END DO
       ENDIF
-        
-      ! 3. At every time step compute ice thickness and fraction lead data
-      ! ------------------------------------------------------------------
-      zxy = FLOAT( nday + 15 - 30 * i15 ) / 30.
-      hicif_dta(:,:) = (1.-zxy) * hicif_data(:,:,1) + zxy * hicif_data(:,:,2)
-      frld_dta (:,:) = (1.-zxy) * frld_data (:,:,1) + zxy * frld_data (:,:,2)
-
-      IF( kt == nitend )   CALL iom_close( inumice_dmp )
       !
-   END SUBROUTINE dta_lim_2
-
+   END SUBROUTINE lim_dmp_init
+   
 #else
    !!----------------------------------------------------------------------
