Index: /NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbdyn.F90
===================================================================
--- /NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbdyn.F90	(revision 13785)
+++ /NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbdyn.F90	(revision 13786)
@@ -216,4 +216,5 @@
          !
          ! berg reach a new t-cell, but an ocean one
+         ! .AND. needed in case berg hit an isf (tmask(ii,ij,1) == 0 and tmask(ii,ij,ikb) /= 0)
          IF(  tmask(ii,ij,ikb) /= 0._wp .AND. tmask(ii,ij,1) /= 0._wp ) RETURN
          !
Index: /NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbini.F90
===================================================================
--- /NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbini.F90	(revision 13785)
+++ /NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbini.F90	(revision 13786)
@@ -73,11 +73,4 @@
       !
       IF( .NOT. ln_icebergs )   RETURN
-      !
-      ! check nn_fsbc
-      IF ( ln_icebergs .AND. ln_M2016 .AND. nn_fsbc /= 1) THEN
-         IF (lwp) WRITE(numout,*) 'The use of ln_M2016 within the iceberg module is only compatible with nn_fsbc == 1'
-         IF (lwp) WRITE(numout,*) 'because it needs the 3d t,s,u,v model data'
-         CALL ctl_stop('Compatibility error in the iceberg module')
-      END IF
       !
       !                          ! allocate gridded fields
Index: /NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbthm.F90
===================================================================
--- /NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbthm.F90	(revision 13785)
+++ /NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbthm.F90	(revision 13786)
@@ -102,6 +102,5 @@
          zM   = pt%mass
          zT   = pt%thickness                               ! total thickness
-         zD   = rho_berg_1_oce * zT          ! draught (keel depth)
-       ! F   = zT - D ! freeboard
+         zD   = rho_berg_1_oce * zT                        ! draught (keel depth)
          zW   = pt%width
          zL   = pt%length
@@ -125,6 +124,7 @@
             CALL icb_utl_getkb( pt%kb, ze3t, zD )
 
-            ikb = MIN(pt%kb,mbkt(ii,ij))
-            ztb = ztoce(ikb)                                                ! basal temperature
+            ikb = MIN(pt%kb,mbkt(ii,ij))                             ! limit pt%kb by mbkt 
+                                                                     ! => bottom temperature used to fill ztoce(mbkt:jpk)
+            ztb = ztoce(ikb)                                         ! basal temperature
             zub = zuoce(ikb)
             zvb = zvoce(ikb)
Index: /NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbutl.F90
===================================================================
--- /NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbutl.F90	(revision 13785)
+++ /NEMO/branches/2020/tickets_icb_1900/src/OCE/ICB/icbutl.F90	(revision 13786)
@@ -95,6 +95,6 @@
       CALL lbc_lnk_icb( 'icbutl', ssu_e, 'U', -1._wp, 1, 1 )
       CALL lbc_lnk_icb( 'icbutl', ssv_e, 'V', -1._wp, 1, 1 )
-      CALL lbc_lnk_icb( 'icbutl', ua_e, 'U', -1._wp, 1, 1 )
-      CALL lbc_lnk_icb( 'icbutl', va_e, 'V', -1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', ua_e , 'U', -1._wp, 1, 1 )
+      CALL lbc_lnk_icb( 'icbutl', va_e , 'V', -1._wp, 1, 1 )
 #if defined key_si3
       hi_e(1:jpi, 1:jpj) = hm_i (:,:)  
@@ -274,15 +274,15 @@
          ! since we're looking for four T points containing quadrant we're in of 
          ! current T cell
-         kii = MAX(0, INT( pi     ))
-         kij = MAX(0, INT( pj     ))    ! T-point
+         kii = MAX(0, INT( pi        ))
+         kij = MAX(0, INT( pj        ))    ! T-point
          zwi = pi - REAL(kii,wp)
          zwj = pj - REAL(kij,wp)
       CASE ( 'U' )
          kii = MAX(0, INT( pi-0.5_wp ))
-         kij = MAX(0, INT( pj     ))    ! U-point
+         kij = MAX(0, INT( pj        ))    ! U-point
          zwi = pi - 0.5_wp - REAL(kii,wp)
          zwj = pj - REAL(kij,wp)
       CASE ( 'V' )
-         kii = MAX(0, INT( pi     ))
+         kii = MAX(0, INT( pi        ))
          kij = MAX(0, INT( pj-0.5_wp ))    ! V-point
          zwi = pi - REAL(kii,wp)
@@ -896,4 +896,13 @@
 
    SUBROUTINE test_icb_utl_getkb
+      !!----------------------------------------------------------------------
+      !!                 ***  FUNCTION test_icb_utl_getkb  ***
+      !!
+      !! ** Purpose : Test routine icb_utl_getkb, icb_utl_zavg
+      !! ** Methode : Call each subroutine with specific input data
+      !!              What should be the output is easy to determined and check 
+      !!              if NEMO return the correct answer.
+      !! ** Comments : not called, if needed a CALL test_icb_utl_getkb need to be added in icb_step
+      !!----------------------------------------------------------------------
       INTEGER :: ikb
       REAL(wp) :: zD, zout
