Index: NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfcavgam.F90
===================================================================
--- NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfcavgam.F90	(revision 11931)
+++ NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfcavgam.F90	(revision 11987)
@@ -10,5 +10,5 @@
    !!   isfcav_gammats       : compute exchange coeficient gamma 
    !!----------------------------------------------------------------------
-   USE isf
+   USE isf_oce
    USE isfutils, ONLY: debug
    USE isftbl  , ONLY: isf_tbl
@@ -57,5 +57,8 @@
       !!---------------------------------------------------------------------
       !
-      ! compute velocity in the tbl if needed
+      !==========================================
+      ! 1.: compute velocity in the tbl if needed
+      !==========================================
+      !
       SELECT CASE ( cn_gammablk )
       CASE ( 'spe'  ) 
@@ -78,5 +81,8 @@
       END SELECT
       ! 
-      ! compute gamma
+      !==========================================
+      ! 2.: compute gamma
+      !==========================================
+      !
       SELECT CASE ( cn_gammablk )
       CASE ( 'spe'  ) ! gamma is constant (specified in namelist)
@@ -86,10 +92,13 @@
          CALL gammats_AD15 (              zutbl, zvtbl, rCd0_top, rn_vtide**2,               pgt, pgs )
       CASE ( 'hj99' ) ! gamma depends of stability of boundary layer and u*
-         CALL gammats_HJ99 (pttbl, pstbl, zutbl, zvtbl, rCd0_top, r_ke0_top  , pqoce, pqfwf, pgt, pgs )
+         CALL gammats_HJ99 (pttbl, pstbl, zutbl, zvtbl, rCd0_top, r_ke0_top, pqoce, pqfwf, pgt, pgs )
       CASE DEFAULT
          CALL ctl_stop('STOP','method to compute gamma (cn_gammablk) is unknown (should not see this)')
       END SELECT
       !
-      ! ouput exchange coeficient and tbl velocity
+      !==========================================
+      ! 3.: output and debug
+      !==========================================
+      !
       CALL iom_put('isfgammat', pgt(:,:))
       CALL iom_put('isfgammas', pgs(:,:))
Index: NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfstp.F90
===================================================================
--- NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfstp.F90	(revision 11931)
+++ NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/isfstp.F90	(revision 11987)
@@ -14,5 +14,5 @@
    !!----------------------------------------------------------------------
    !
-   USE isf            ! isf variables
+   USE isf_oce                                      ! isf variables
    USE isfload, ONLY: isf_load                      ! ice shelf load
    USE isftbl , ONLY: isf_tbl_lvl                   ! ice shelf boundary layer
@@ -26,4 +26,5 @@
    !
    USE lib_mpp, ONLY: ctl_stop, ctl_nam
+   USE fldread, ONLY: FLD, FLD_N
    USE in_out_manager ! I/O manager
    USE timing
@@ -62,7 +63,11 @@
       IF( ln_timing )   CALL timing_start('isf')
       !
+      !=======================================================================
+      ! 1.: compute melt and associated heat fluxes in the ice shelf cavities
+      !=======================================================================
+      !
       IF ( ln_isfcav_mlt ) THEN
          !
-         ! before time step 
+         ! 1.1: before time step 
          IF ( kt /= nit000 ) THEN 
             risf_cav_tsc_b (:,:,:) = risf_cav_tsc (:,:,:)
@@ -70,16 +75,20 @@
          END IF
          !
-         ! compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl)
+         ! 1.2: compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl)
          rhisf_tbl_cav(:,:) = rn_htbl * mskisf_cav(:,:)
          CALL isf_tbl_lvl(ht_n, e3t_n, misfkt_cav, misfkb_cav, rhisf_tbl_cav, rfrac_tbl_cav)
          !
-         ! compute ice shelf melt
+         ! 1.3: compute ice shelf melt
          CALL isf_cav( kt, risf_cav_tsc, fwfisf_cav)
          !
       END IF
       ! 
+      !=================================================================================
+      ! 2.: compute melt and associated heat fluxes for not resolved ice shelf cavities
+      !=================================================================================
+      !
       IF ( ln_isfpar_mlt ) THEN
          !
-         ! before time step 
+         ! 2.1: before time step 
          IF ( kt /= nit000 ) THEN 
             risf_par_tsc_b(:,:,:) = risf_par_tsc(:,:,:)
@@ -87,20 +96,19 @@
          END IF
          !
-         ! compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl)
-         ! by simplicity, we assume the top level where param applied do not change with time
+         ! 2.2: compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl)
+         ! by simplicity, we assume the top level where param applied do not change with time (done in init part)
          rhisf_tbl_par(:,:) = rhisf0_tbl_par(:,:)
          CALL isf_tbl_lvl(ht_n, e3t_n, misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par)
          !
-         ! compute ice shelf melt
+         ! 2.3: compute ice shelf melt
          CALL isf_par( kt, risf_par_tsc, fwfisf_par)
          !
       END IF
       !
-      IF ( ln_isfcpl ) THEN
-         ! after step nit000 + 2 we do not need anymore the risfcpl_ arrays
-         IF ( kt == nit000 + 2 ) CALL isf_dealloc_cpl()
-
-         IF ( lrst_oce ) CALL isfcpl_rst_write(kt)
-      END IF
+      !==================================================================================
+      ! 3.: output specific restart variable in case of coupling with an ice sheet model
+      !==================================================================================
+      !
+      IF ( ln_isfcpl .AND. lrst_oce ) CALL isfcpl_rst_write(kt)
       !
       IF( ln_timing )   CALL timing_stop('isf')
@@ -177,12 +185,12 @@
             WRITE(numout,*) '      melt inside the cavity                  ln_isfcav_mlt   = ', ln_isfcav_mlt
             IF ( ln_isfcav_mlt) THEN
-               WRITE(numout,*) '         melt formulation                        cn_isfcav_mlt   = ', TRIM(cn_isfcav_mlt)
-               WRITE(numout,*) '         thickness of the top boundary layer     rn_htbl     = ', rn_htbl
-               WRITE(numout,*) '         gamma formulation                       cn_gammablk = ', TRIM(cn_gammablk) 
+               WRITE(numout,*) '         melt formulation                         cn_isfcav_mlt= ', TRIM(cn_isfcav_mlt)
+               WRITE(numout,*) '         thickness of the top boundary layer      rn_htbl      = ', rn_htbl
+               WRITE(numout,*) '         gamma formulation                        cn_gammablk  = ', TRIM(cn_gammablk) 
                IF ( TRIM(cn_gammablk) .NE. 'spe' ) THEN 
-                  WRITE(numout,*) '         gammat coefficient                       rn_gammat0  = ', rn_gammat0  
-                  WRITE(numout,*) '         gammas coefficient                       rn_gammas0  = ', rn_gammas0  
-                  WRITE(numout,*) '         top background ke used (from namdrg_top) rn_vtide**2 = ', rn_vtide**2
-                  WRITE(numout,*) '         top drag coef.    used (from namdrg_top) rn_Cd0      = ', r_Cdmin_top
+                  WRITE(numout,*) '         gammat coefficient                       rn_gammat0   = ', rn_gammat0  
+                  WRITE(numout,*) '         gammas coefficient                       rn_gammas0   = ', rn_gammas0  
+                  WRITE(numout,*) '         top background ke used (from namdrg_top) rn_vtide**2  = ', rn_vtide**2
+                  WRITE(numout,*) '         top drag coef.    used (from namdrg_top) rn_Cd0       = ', r_Cdmin_top
                END IF
             END IF
@@ -214,4 +222,5 @@
          IF (ln_isfcav) WRITE(numout,*) '      Ice shelf load method                   cn_isfload        = ', TRIM(cn_isfload)
          WRITE(numout,*) ''
+         FLUSH(numout)
 
       END IF
Index: NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/sbcfwb.F90
===================================================================
--- NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/sbcfwb.F90	(revision 11931)
+++ NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/ISOMIP+/MY_SRC/sbcfwb.F90	(revision 11987)
@@ -17,10 +17,9 @@
    USE dom_oce        ! ocean space and time domain
    USE sbc_oce        ! surface ocean boundary condition
+   USE isf_oce        ! ice shelf melting contribution
    USE sbc_ice , ONLY : snwice_mass, snwice_mass_b, snwice_fmass
    USE phycst         ! physical constants
    USE sbcrnf         ! ocean runoffs
-   USE isf            ! ice shelf melting contribution
    USE sbcssr         ! Sea-Surface damping terms
-   USE tradmp         !
    !
    USE in_out_manager ! I/O manager
Index: NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/demo_cfgs.txt
===================================================================
--- NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/demo_cfgs.txt	(revision 11931)
+++ NEMO/branches/2019/ENHANCE-02_ISF_nemo/tests/demo_cfgs.txt	(revision 11987)
@@ -1,4 +1,5 @@
 CANAL OCE
 ISOMIP OCE
+ISOMIP+ OCE
 LOCK_EXCHANGE OCE
 OVERFLOW OCE
