Index: branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/ASM/asmbkg.F90
===================================================================
--- branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/ASM/asmbkg.F90	(revision 8877)
+++ branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/ASM/asmbkg.F90	(revision 8879)
@@ -38,7 +38,4 @@
    USE asmpar             ! Parameters for the assmilation interface
    USE zdfmxl             ! mixed layer depth
-#if defined key_lim2
-   USE ice_2
-#endif
 #if defined key_lim3
    USE ice
@@ -148,10 +145,10 @@
             CALL iom_rstput( kt, nitdin_r, inum, 'sn'     , tsn(:,:,:,jp_sal) )
             CALL iom_rstput( kt, nitdin_r, inum, 'sshn'   , sshn              )
-#if defined key_lim2 || defined key_lim3
-            IF( nn_ice == 2  .OR.  nn_ice == 3 ) THEN
-	            IF( ALLOCATED(frld) ) THEN
-                  CALL iom_rstput( kt, nitdin_r, inum, 'iceconc', 1._wp - frld(:,:)   )
+#if defined key_lim3
+            IF( nn_ice == 2 ) THEN
+	            IF( ALLOCATED(at_i) ) THEN
+                  CALL iom_rstput( kt, nitdin_r, inum, 'iceconc', at_i(:,:)   )
                ELSE
-		            CALL ctl_warn('Ice concentration not written to background as ice variable frld not allocated on this timestep')
+		            CALL ctl_warn('Ice concentration not written to background as ice variable at_i not allocated on this timestep')
 	            ENDIF
             ENDIF
Index: branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90
===================================================================
--- branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90	(revision 8877)
+++ branches/UKMO/dev_r8126_LIM3_couple/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90	(revision 8879)
@@ -35,6 +35,6 @@
    USE in_out_manager   ! I/O manager
    USE lib_mpp          ! MPP library
-#if defined key_lim2
-   USE ice_2            ! LIM2
+#if defined key_lim3
+   USE ice,   ONLY: hm_i, at_i, at_i_b
 #endif
    USE sbc_oce          ! Surface boundary condition variables.
@@ -809,5 +809,5 @@
       INTEGER  ::   it
       REAL(wp) ::   zincwgt   ! IAU weight for current time step
-#if defined key_lim2
+#if defined key_lim3
       REAL(wp), DIMENSION(jpi,jpj) ::   zofrld, zohicif, zseaicendg, zhicifinc  ! LIM
       REAL(wp) ::   zhicifmin = 0.5_wp      ! ice minimum depth in metres
@@ -831,20 +831,19 @@
             ENDIF
             !
-            ! Sea-ice : LIM-3 case (to add)
-            !
-#if defined key_lim2
-            ! Sea-ice : LIM-2 case
-            zofrld (:,:) = frld(:,:)
-            zohicif(:,:) = hicif(:,:)
-            !
-            frld  = MIN( MAX( frld (:,:) - seaice_bkginc(:,:) * zincwgt, 0.0_wp), 1.0_wp)
-            pfrld = MIN( MAX( pfrld(:,:) - seaice_bkginc(:,:) * zincwgt, 0.0_wp), 1.0_wp)
-            fr_i(:,:) = 1.0_wp - frld(:,:)        ! adjust ice fraction
-            !
-            zseaicendg(:,:) = zofrld(:,:) - frld(:,:)   ! find out actual sea ice nudge applied
+            ! Sea-ice : LIM-3 case
+            !
+#if defined key_lim3
+            zofrld (:,:) = 1._wp - at_i(:,:)
+            zohicif(:,:) = hm_i(:,:)
+            !
+            at_i  (:,:) = 1. - MIN( MAX( 1.-at_i  (:,:) - seaice_bkginc(:,:) * zincwgt, 0.0_wp), 1.0_wp)
+            at_i_b(:,:) = 1. - MIN( MAX( 1.-at_i_b(:,:) - seaice_bkginc(:,:) * zincwgt, 0.0_wp), 1.0_wp)
+            fr_i(:,:) = at_i(:,:)        ! adjust ice fraction
+            !
+            zseaicendg(:,:) = zofrld(:,:) - (1. - at_i(:,:))   ! find out actual sea ice nudge applied
             !
             ! Nudge sea ice depth to bring it up to a required minimum depth
-            WHERE( zseaicendg(:,:) > 0.0_wp .AND. hicif(:,:) < zhicifmin ) 
-               zhicifinc(:,:) = (zhicifmin - hicif(:,:)) * zincwgt    
+            WHERE( zseaicendg(:,:) > 0.0_wp .AND. hm_i(:,:) < zhicifmin ) 
+               zhicifinc(:,:) = (zhicifmin - hm_i(:,:)) * zincwgt    
             ELSEWHERE
                zhicifinc(:,:) = 0.0_wp
@@ -852,6 +851,5 @@
             !
             ! nudge ice depth
-            hicif (:,:) = hicif (:,:) + zhicifinc(:,:)
-            phicif(:,:) = phicif(:,:) + zhicifinc(:,:)       
+            hm_i (:,:) = hm_i (:,:) + zhicifinc(:,:)
             !
             ! seaice salinity balancing (to add)
@@ -882,27 +880,26 @@
             neuler = 0                    ! Force Euler forward step
             !
-            ! Sea-ice : LIM-3 case (to add)
-            !
-#if defined key_lim2
-            ! Sea-ice : LIM-2 case.
-            zofrld(:,:)=frld(:,:)
-            zohicif(:,:)=hicif(:,:)
+            ! Sea-ice : LIM-3 case
+            !
+#if defined key_lim3
+            zofrld (:,:) = 1._wp - at_i(:,:)
+            zohicif(:,:) = hm_i(:,:)
             ! 
             ! Initialize the now fields the background + increment
-            frld (:,:) = MIN( MAX( frld(:,:) - seaice_bkginc(:,:), 0.0_wp), 1.0_wp)
-            pfrld(:,:) = frld(:,:) 
-            fr_i (:,:) = 1.0_wp - frld(:,:)                ! adjust ice fraction
-            zseaicendg(:,:) = zofrld(:,:) - frld(:,:)      ! find out actual sea ice nudge applied
+            at_i(:,:) = 1. - MIN( MAX( 1.-at_i(:,:) - seaice_bkginc(:,:), 0.0_wp), 1.0_wp)
+            at_i_b(:,:) = at_i(:,:) 
+            fr_i(:,:) = at_i(:,:)        ! adjust ice fraction
+            !
+            zseaicendg(:,:) = zofrld(:,:) - (1. - at_i(:,:))   ! find out actual sea ice nudge applied
             !
             ! Nudge sea ice depth to bring it up to a required minimum depth
-            WHERE( zseaicendg(:,:) > 0.0_wp .AND. hicif(:,:) < zhicifmin ) 
-               zhicifinc(:,:) = (zhicifmin - hicif(:,:)) * zincwgt    
+            WHERE( zseaicendg(:,:) > 0.0_wp .AND. hm_i(:,:) < zhicifmin ) 
+               zhicifinc(:,:) = (zhicifmin - hm_i(:,:)) * zincwgt    
             ELSEWHERE
-               zhicifinc(:,:) = 0._wp
+               zhicifinc(:,:) = 0.0_wp
             END WHERE
             !
             ! nudge ice depth
-            hicif (:,:) = hicif (:,:) + zhicifinc(:,:)
-            phicif(:,:) = phicif(:,:)       
+            hm_i (:,:) = hm_i (:,:) + zhicifinc(:,:)
             !
             ! seaice salinity balancing (to add)
@@ -926,5 +923,5 @@
          ENDIF
 
-!#if defined defined key_lim2 || defined key_cice
+!#if defined defined key_lim3 || defined key_cice
 !
 !            IF (ln_seaicebal ) THEN       
