Index: branches/UKMO/dev_r5518_v3.4_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90
===================================================================
--- branches/UKMO/dev_r5518_v3.4_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90	(revision 6650)
+++ branches/UKMO/dev_r5518_v3.4_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90	(revision 6661)
@@ -436,4 +436,6 @@
             ELSE
                lk_surft = .TRUE.
+               CALL ctl_warn( ' Applying 2D temperature increment to bottom of ML: ', &
+            &                 ' bckinsurft found in increments file.' )
             ENDIF             
 
Index: branches/UKMO/dev_r5518_v3.4_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90
===================================================================
--- branches/UKMO/dev_r5518_v3.4_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90	(revision 6650)
+++ branches/UKMO/dev_r5518_v3.4_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90	(revision 6661)
@@ -27,4 +27,5 @@
 
    PUBLIC   zdf_mxl       ! called by step.F90
+   PUBLIC   zdf_mxl_tref  ! called by asminc.F90
    PUBLIC   zdf_mxl_alloc ! Used in zdf_tke_init
 
@@ -86,6 +87,4 @@
       REAL(wp) ::   zN2_c        ! local scalar
       INTEGER, POINTER, DIMENSION(:,:) ::   imld   ! 2D workspace
-      REAL(wp) ::   t_ref               ! Reference temperature  
-      REAL(wp) ::   temp_c = 0.2        ! temperature criterion for mixed layer depth  
       !!----------------------------------------------------------------------
       !
@@ -141,5 +140,34 @@
          CALL iom_put( "mldkz5"  , hmld )   ! turbocline depth
       ENDIF
+      
+      IF(ln_ctl)   CALL prt_ctl( tab2d_1=REAL(nmln,wp), clinfo1=' nmln : ', tab2d_2=hmlp, clinfo2=' hmlp : ', ovlap=1 )
+      !
+      CALL wrk_dealloc( jpi,jpj, imld )
+      !
+      IF( nn_timing == 1 )  CALL timing_stop('zdf_mxl')
+      !
+   END SUBROUTINE zdf_mxl
 
+
+   SUBROUTINE zdf_mxl_tref()
+      !!----------------------------------------------------------------------
+      !!                  ***  ROUTINE zdf_mxl_tref  ***
+      !!                   
+      !! ** Purpose :   Compute the mixed layer depth with temperature criteria.
+      !!
+      !! ** Method  :   The temperature-defined mixed layer depth is required
+      !!                   when assimilating SST in a 2D analysis. 
+      !!
+      !! ** Action  :   hmld_tref
+      !!----------------------------------------------------------------------
+      !
+      INTEGER  ::   ji, jj, jk   ! dummy loop indices
+      REAL(wp) ::   t_ref               ! Reference temperature  
+      REAL(wp) ::   temp_c = 0.2        ! temperature criterion for mixed layer depth  
+      !!----------------------------------------------------------------------
+      !
+      ! Initialise array
+      IF( zdf_mxl_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'zdf_mxl_tref : unable to allocate arrays' )
+      
       !For the AMM model assimiation uses a temperature based mixed layer depth  
       !This is defined here  
@@ -162,12 +190,6 @@
          ENDDO  
       ENDDO
-      
-      IF(ln_ctl)   CALL prt_ctl( tab2d_1=REAL(nmln,wp), clinfo1=' nmln : ', tab2d_2=hmlp, clinfo2=' hmlp : ', ovlap=1 )
-      !
-      CALL wrk_dealloc( jpi,jpj, imld )
-      !
-      IF( nn_timing == 1 )  CALL timing_stop('zdf_mxl')
-      !
-   END SUBROUTINE zdf_mxl
+
+   END SUBROUTINE zdf_mxl_tref
 
    !!======================================================================
Index: branches/UKMO/dev_r5518_v3.4_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90
===================================================================
--- branches/UKMO/dev_r5518_v3.4_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90	(revision 6650)
+++ branches/UKMO/dev_r5518_v3.4_asm_nemovar_community/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90	(revision 6661)
@@ -475,6 +475,5 @@
       IF( lk_asminc ) THEN 
 #if defined key_shelf 
-         ios = zdf_mxl_alloc()
-         nmln(:,:) = nlb10           ! Initialization of nmln
+         CALL  zdf_mxl_tref()     ! Initialization of hmld_tref
 #endif 
          CALL asm_inc_init     ! Initialize assimilation increments 
