Index: trunk/NEMOGCM/NEMO/LIM_SRC_3/ice.F90
===================================================================
--- trunk/NEMOGCM/NEMO/LIM_SRC_3/ice.F90	(revision 5127)
+++ trunk/NEMOGCM/NEMO/LIM_SRC_3/ice.F90	(revision 5128)
@@ -373,6 +373,8 @@
    CHARACTER(len=32), PUBLIC ::   cn_icerst_out   !: suffix of ice restart name (output)
    LOGICAL          , PUBLIC ::   ln_limdyn       !: flag for ice dynamics (T) or not (F)
-   LOGICAL          , PUBLIC ::   ln_nicep        !: flag for sea-ice points output (T) or not (F)
+   LOGICAL          , PUBLIC ::   ln_icectl       !: flag for sea-ice points output (T) or not (F)
    REAL(wp)         , PUBLIC ::   rn_amax         !: maximum ice concentration
+   INTEGER          , PUBLIC ::   iiceprt         !: debug i-point
+   INTEGER          , PUBLIC ::   jiceprt         !: debug j-point
    !
    !!--------------------------------------------------------------------------
@@ -392,6 +394,4 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)     ::   diag_heat_dhc !: snw/ice heat content variation   [W/m2] 
    !
-   INTEGER , PUBLIC ::   jiindx, jjindx        !: indexes of the debugging point
-
    !!----------------------------------------------------------------------
    !! NEMO/LIM3 4.0 , UCL - NEMO Consortium (2010)
Index: trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90
===================================================================
--- trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90	(revision 5127)
+++ trunk/NEMOGCM/NEMO/LIM_SRC_3/limitd_me.F90	(revision 5128)
@@ -887,6 +887,6 @@
          CALL lim_column_sum        (jpl,    v_i,       vice_init )
          CALL lim_column_sum_energy (jpl, nlay_i,  e_i, eice_init )
-         DO ji = mi0(jiindx), mi1(jiindx)
-            DO jj = mj0(jjindx), mj1(jjindx)
+         DO ji = mi0(iiceprt), mi1(iiceprt)
+            DO jj = mj0(jiceprt), mj1(jiceprt)
                WRITE(numout,*) ' vice_init  : ', vice_init(ji,jj)
                WRITE(numout,*) ' eice_init  : ', eice_init(ji,jj)
@@ -1251,6 +1251,6 @@
          CALL lim_cons_check (eice_init, eice_final, 1.0e-2, fieldid) 
 
-         DO ji = mi0(jiindx), mi1(jiindx)
-            DO jj = mj0(jjindx), mj1(jjindx)
+         DO ji = mi0(iiceprt), mi1(iiceprt)
+            DO jj = mj0(jiceprt), mj1(jiceprt)
                WRITE(numout,*) ' vice_init  : ', vice_init (ji,jj)
                WRITE(numout,*) ' vice_final : ', vice_final(ji,jj)
Index: trunk/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90
===================================================================
--- trunk/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90	(revision 5127)
+++ trunk/NEMOGCM/NEMO/LIM_SRC_3/limrst.F90	(revision 5128)
@@ -86,5 +86,5 @@
       ENDIF
       !
-      IF( ln_nicep )   CALL lim_prt( kt, jiindx, jjindx, 1, ' - Beginning the time step - ' )   ! control print
+      IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt, 1, ' - Beginning the time step - ' )   ! control print
    END SUBROUTINE lim_rst_opn
 
@@ -307,8 +307,6 @@
       !! ** purpose  :   read of sea-ice variable restart in a netcdf file
       !!----------------------------------------------------------------------
-      INTEGER :: ji, jj, jk, jl, indx
+      INTEGER :: ji, jj, jk, jl
       REAL(wp) ::   zfice, ziter
-      REAL(wp) ::   zs_inf, z_slope_s, zsmax, zsmin, zalpha   ! local scalars used for the salinity profile
-      REAL(wp), POINTER, DIMENSION(:)   ::   zs_zero 
       REAL(wp), POINTER, DIMENSION(:,:) ::   z2d
       CHARACTER(len=15) ::   znam
@@ -318,5 +316,4 @@
       !!----------------------------------------------------------------------
 
-      CALL wrk_alloc( nlay_i, zs_zero )
       CALL wrk_alloc( jpi, jpj, z2d )
 
@@ -534,5 +531,4 @@
       !CALL iom_close( numrir ) !clem: closed in sbcice_lim.F90
       !
-      CALL wrk_dealloc( nlay_i, zs_zero )
       CALL wrk_dealloc( jpi, jpj, z2d )
       !
Index: trunk/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90
===================================================================
--- trunk/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90	(revision 5127)
+++ trunk/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90	(revision 5128)
@@ -222,5 +222,5 @@
       ENDIF
 
-      IF( ln_nicep )   CALL lim_prt( kt, jiindx, jjindx, 3, ' - Final state lim_sbc - ' )   ! control print
+      IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt, 3, ' - Final state lim_sbc - ' )   ! control print
 
       IF(ln_ctl) THEN
Index: trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90
===================================================================
--- trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90	(revision 5127)
+++ trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90	(revision 5128)
@@ -263,7 +263,7 @@
          ! debug point to follow
          jiindex_1d = 0
-         IF( ln_nicep ) THEN
-            DO ji = mi0(jiindx), mi1(jiindx)
-               DO jj = mj0(jjindx), mj1(jjindx)
+         IF( ln_icectl ) THEN
+            DO ji = mi0(iiceprt), mi1(iiceprt)
+               DO jj = mj0(jiceprt), mj1(jiceprt)
                   jiindex_1d = (jj - 1) * jpi + ji
                   WRITE(numout,*) ' lim_thd : Category no : ', jl 
@@ -363,5 +363,5 @@
       ! Diagnostic thermodynamic growth rates
       !--------------------------------------------
-      IF( ln_nicep )   CALL lim_prt( kt, jiindx, jjindx, 1, ' - ice thermodyn. - ' )   ! control print
+      IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt, 1, ' - ice thermodyn. - ' )   ! control print
 
       IF(ln_ctl) THEN            ! Control print
Index: trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dh.F90
===================================================================
--- trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dh.F90	(revision 5127)
+++ trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dh.F90	(revision 5128)
@@ -591,23 +591,23 @@
       DO ji = kideb, kiut
          zq_rema(ji)     = zq_su(ji) + zq_bo(ji) 
-!         zindh           = 1._wp - MAX( 0._wp, SIGN( 1._wp, - ht_s_1d(ji) ) )   ! =1 if snow
-!         zindq           = 1._wp - MAX( 0._wp, SIGN( 1._wp, - zq_s(ji) + epsi20 ) )
-!         zdeltah  (ji,1) = - zindh * zindq * zq_rema(ji) / MAX( zq_s(ji), epsi20 )
-!         zdeltah  (ji,1) = MIN( 0._wp , MAX( zdeltah(ji,1) , - ht_s_1d(ji) ) ) ! bound melting
-!         zdh_s_mel(ji)   = zdh_s_mel(ji) + zdeltah(ji,1)    
-!         dh_s_tot (ji)   = dh_s_tot(ji) + zdeltah(ji,1)
-!         ht_s_1d   (ji)   = ht_s_1d(ji)   + zdeltah(ji,1)
-!        
-!         zq_rema(ji)     = zq_rema(ji) + zdeltah(ji,1) * zq_s(ji)                ! update available heat (J.m-2)
-!         ! heat used to melt snow
-!         hfx_snw_1d(ji)  = hfx_snw_1d(ji) - zdeltah(ji,1) * a_i_1d(ji) * zq_s(ji) * r1_rdtice ! W.m-2 (>0)
-!         ! Contribution to mass flux
-!         wfx_snw_1d(ji)  =  wfx_snw_1d(ji) - rhosn * a_i_1d(ji) * zdeltah(ji,1) * r1_rdtice
-!    
+         rswitch         = 1._wp - MAX( 0._wp, SIGN( 1._wp, - ht_s_1d(ji) ) )   ! =1 if snow
+         rswitch         = rswitch * MAX( 0._wp, SIGN( 1._wp, zq_s(ji) - epsi20 ) )
+         zdeltah  (ji,1) = - rswitch * zq_rema(ji) / MAX( zq_s(ji), epsi20 )
+         zdeltah  (ji,1) = MIN( 0._wp , MAX( zdeltah(ji,1) , - ht_s_1d(ji) ) ) ! bound melting
+         zdh_s_mel(ji)   = zdh_s_mel(ji) + zdeltah(ji,1)    
+         dh_s_tot (ji)   = dh_s_tot(ji)  + zdeltah(ji,1)
+         ht_s_1d   (ji)  = ht_s_1d(ji)   + zdeltah(ji,1)
+        
+         zq_rema(ji)     = zq_rema(ji) + zdeltah(ji,1) * zq_s(ji)                ! update available heat (J.m-2)
+         ! heat used to melt snow
+         hfx_snw_1d(ji)  = hfx_snw_1d(ji) - zdeltah(ji,1) * a_i_1d(ji) * zq_s(ji) * r1_rdtice ! W.m-2 (>0)
+         ! Contribution to mass flux
+         wfx_snw_1d(ji)  =  wfx_snw_1d(ji) - rhosn * a_i_1d(ji) * zdeltah(ji,1) * r1_rdtice
+         !    
          ii = MOD( npb(ji) - 1, jpi ) + 1 ; ij = ( npb(ji) - 1 ) / jpi + 1
          ! Remaining heat flux (W.m-2) is sent to the ocean heat budget
          hfx_out(ii,ij)  = hfx_out(ii,ij) + ( zq_rema(ji) * a_i_1d(ji) ) * r1_rdtice
 
-         IF( ln_nicep .AND. zq_rema(ji) < 0. .AND. lwp ) WRITE(numout,*) 'ALERTE zq_rema <0 = ', zq_rema(ji)
+         IF( ln_icectl .AND. zq_rema(ji) < 0. .AND. lwp ) WRITE(numout,*) 'ALERTE zq_rema <0 = ', zq_rema(ji)
       END DO
       
Index: trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90
===================================================================
--- trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90	(revision 5127)
+++ trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_dif.F90	(revision 5128)
@@ -734,5 +734,5 @@
       END DO  ! End of the do while iterative procedure
 
-      IF( ln_nicep .AND. lwp ) THEN
+      IF( ln_icectl .AND. lwp ) THEN
          WRITE(numout,*) ' zerritmax : ', zerritmax
          WRITE(numout,*) ' nconv     : ', nconv
Index: trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_lac.F90
===================================================================
--- trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_lac.F90	(revision 5127)
+++ trunk/NEMOGCM/NEMO/LIM_SRC_3/limthd_lac.F90	(revision 5128)
@@ -265,7 +265,7 @@
       ! debug point to follow
       jiindex_1d = 0
-      IF( ln_nicep ) THEN
-         DO ji = mi0(jiindx), mi1(jiindx)
-            DO jj = mj0(jjindx), mj1(jjindx)
+      IF( ln_icectl ) THEN
+         DO ji = mi0(iiceprt), mi1(iiceprt)
+            DO jj = mj0(jiceprt), mj1(jiceprt)
                IF ( qlead(ji,jj)  <  0._wp ) THEN
                   jiindex_1d = (jj - 1) * jpi + ji
@@ -275,5 +275,5 @@
       ENDIF
    
-      IF( ln_nicep ) WRITE(numout,*) 'lim_thd_lac : nbpac = ', nbpac
+      IF( ln_icectl ) WRITE(numout,*) 'lim_thd_lac : nbpac = ', nbpac
 
       !------------------------------
Index: trunk/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90
===================================================================
--- trunk/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90	(revision 5127)
+++ trunk/NEMOGCM/NEMO/LIM_SRC_3/limtrp.F90	(revision 5128)
@@ -455,5 +455,5 @@
       ! control prints
       ! -------------------------------------------------
-      IF( ln_nicep )   CALL lim_prt( kt, jiindx, jjindx,-1, ' - ice dyn & trp - ' )
+      IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt,-1, ' - ice dyn & trp - ' )
       !
       CALL wrk_dealloc( jpi,jpj,           zsm, zs0at, zatold, zeiold, zesold )
Index: trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate2.F90
===================================================================
--- trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate2.F90	(revision 5127)
+++ trunk/NEMOGCM/NEMO/LIM_SRC_3/limupdate2.F90	(revision 5128)
@@ -198,5 +198,5 @@
       ! control prints
       ! -------------------------------------------------
-      IF( ln_nicep )   CALL lim_prt( kt, jiindx, jjindx, 2, ' - Final state - ' )   ! control print
+      IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt, 2, ' - Final state - ' )   ! control print
 
       IF(ln_ctl) THEN   ! Control print
Index: trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90
===================================================================
--- trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90	(revision 5127)
+++ trunk/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90	(revision 5128)
@@ -206,5 +206,5 @@
             CALL lim_var_zapsmall
             CALL lim_var_agg(1)
-            IF( ln_nicep )   CALL lim_prt( kt, jiindx, jjindx, 1, ' - ice thermo bdy - ' )
+            IF( ln_icectl )   CALL lim_prt( kt, iiceprt, jiceprt, 1, ' - ice thermo bdy - ' )
 #endif
             CALL lim_update1( kt )
@@ -250,5 +250,5 @@
          CALL lim_var_glo2eqv                       ! ???
          !
-         IF( ln_nicep )   CALL lim_ctl( kt )        ! alerts in case of model crash
+         IF( ln_icectl )   CALL lim_ctl( kt )        ! alerts in case of model crash
          !
          CALL wrk_dealloc( jpi,jpj,jpl, zalb_os, zalb_cs, zalb_ice )
@@ -352,5 +352,5 @@
       INTEGER  ::   ios                 ! Local integer output status for namelist read
       NAMELIST/namicerun/ jpl, nlay_i, nlay_s, cn_icerst_in, cn_icerst_out,   &
-         &                ln_limdyn, rn_amax, ln_nicep, ln_limdiahsb, ln_limdiaout
+         &                ln_limdyn, rn_amax, ln_limdiahsb, ln_limdiaout, ln_icectl, iiceprt, jiceprt  
       !!-------------------------------------------------------------------
       !                    
@@ -374,16 +374,9 @@
          WRITE(numout,*) '   switch for ice dynamics (1) or not (0)      ln_limdyn   = ', ln_limdyn
          WRITE(numout,*) '   maximum ice concentration                               = ', rn_amax 
-         WRITE(numout,*) '   Several ice points in the ice or not in ocean.output    = ', ln_nicep
          WRITE(numout,*) '   Diagnose heat/salt budget or not          ln_limdiahsb  = ', ln_limdiahsb
          WRITE(numout,*) '   Output   heat/salt budget or not          ln_limdiaout  = ', ln_limdiaout
-      ENDIF
-      !
-      !IF( lk_mpp .AND. ln_nicep ) THEN
-      !   ln_nicep = .FALSE.
-      !   CALL ctl_warn( 'ice_run : specific control print for LIM3 desactivated with MPI' )
-      !ENDIF
-      IF( ln_nicep ) THEN      ! control print at a given point
-         jiindx = 15    ;   jjindx =  44
-         IF(lwp) WRITE(numout,*) ' The debugging point is : jiindx : ',jiindx, ' jjindx : ',jjindx
+         WRITE(numout,*) '   control prints in ocean.out for (i,j)=(iiceprt,jiceprt) = ', ln_icectl
+         WRITE(numout,*) '   i-index for control prints (ln_icectl=true)             = ', iiceprt
+         WRITE(numout,*) '   j-index for control prints (ln_icectl=true)             = ', jiceprt
       ENDIF
       !
