Index: /utils/tools/NESTING/namelist_nordic1
===================================================================
--- /utils/tools/NESTING/namelist_nordic1	(revision 10382)
+++ /utils/tools/NESTING/namelist_nordic1	(revision 10383)
@@ -99,2 +99,7 @@
     restart_trc_file = 'restart_trc.nc'   
 / 
+
+&restart_ice
+    restart_ice_file = 'restart_ice.nc'
+    interp_type = 'bilinear'
+/
Index: /utils/tools/NESTING/namelist_nordic1_update
===================================================================
--- /utils/tools/NESTING/namelist_nordic1_update	(revision 10382)
+++ /utils/tools/NESTING/namelist_nordic1_update	(revision 10383)
@@ -100,2 +100,7 @@
     restart_trc_file = 'restart_trc.nc'   
 / 
+
+&restart_ice
+    restart_ice_file = 'restart_ice.nc'
+    interp_type = 'bilinear'
+/
Index: /utils/tools/NESTING/namelist_nordic2
===================================================================
--- /utils/tools/NESTING/namelist_nordic2	(revision 10382)
+++ /utils/tools/NESTING/namelist_nordic2	(revision 10383)
@@ -100,2 +100,7 @@
     restart_trc_file = 'restart_trc.nc'   
 / 
+
+&restart_ice
+    restart_ice_file = 'restart_ice.nc'
+    interp_type = 'bilinear'
+/
Index: /utils/tools/NESTING/src/agrif_create_restart_ice.f90
===================================================================
--- /utils/tools/NESTING/src/agrif_create_restart_ice.f90	(revision 10383)
+++ /utils/tools/NESTING/src/agrif_create_restart_ice.f90	(revision 10383)
@@ -0,0 +1,347 @@
+!
+!************************************************************************
+! Fortran 95 OPA Nesting tools						*
+!									*
+!     Copyright (C) 2005 Florian Lemari�(Florian.Lemarie@imag.fr)	*
+!									*
+!************************************************************************
+!
+PROGRAM create_rstrt_ice
+  !
+  USE NETCDF
+  USE bilinear_interp
+  USE bicubic_interp
+  USE agrif_readwrite
+  USE io_netcdf 
+  USE agrif_extrapolation
+  USE agrif_interpolation
+  USE agrif_partial_steps
+  USE agrif_connect_topo
+  !
+  IMPLICIT NONE
+  !
+  !************************************************************************
+  ! 									*
+  ! PROGRAM  CREATE_RSTRT_ICE     					*
+  !									*
+  ! program to interpolate parent grid restart file to child grid		*
+  !									*
+  !									*
+  !Interpolation is carried out using bilinear interpolation		*
+  !routine from SCRIP package						*		
+  !									*
+  !http://climate.lanl.gov/Software/SCRIP/				*
+  !************************************************************************
+  !
+  ! variables declaration
+  !      
+  CHARACTER*20,DIMENSION(:),POINTER :: Ncdf_varname => NULL()
+  CHARACTER*20 :: vert_coord_name
+  CHARACTER*1 :: posvar
+  CHARACTER*100 :: Child_file,Childcoordinates,varname,Child_Bathy_Level,Child_Bathy_Meter   
+  REAL*8, POINTER, DIMENSION(:,:,:) :: tabvar00, tabvar3d,tabinterp3d,mask => NULL()
+  REAL*8, POINTER, DIMENSION(:,:,:,:) :: tabinterp4d,tabvar0,tabvar1,tabvar2,tabvar3 => NULL()
+  REAL*8, POINTER, DIMENSION(:) :: tabtemp1D,nav_lev => NULL()
+  INTEGER, POINTER, DIMENSION(:) :: tabtemp1DInt => NULL()
+  REAL*8, POINTER, DIMENSION(:,:) :: tabtemp2D,zwf => NULL()
+  REAL*8, POINTER, DIMENSION(:,:) :: e1f,e2f,e1v,e2v,e1u,e2u,e1t,e2t => NULL()
+  REAL*8, POINTER, DIMENSION(:,:,:,:) :: tabtemp4D => NULL()
+  INTEGER,DIMENSION(:),POINTER :: src_add,dst_add  => NULL()
+  REAL*8,DIMENSION(:,:),POINTER :: matrix => NULL()
+  LOGICAL,DIMENSION(:,:),POINTER :: masksrc => NULL()
+  LOGICAL, DIMENSION(:,:,:), POINTER :: detected_pts
+  LOGICAL :: Interpolation,Extrapolation,Pacifique
+  INTEGER :: narg,iargc,ncid,x,y,z
+  INTEGER :: ji,jl,status,varid,numdims
+  CHARACTER(len=20),DIMENSION(4) :: dimnames
+  CHARACTER(len=80) :: namelistname
+  TYPE(Coordinates) :: G0,G1
+  INTEGER :: jpl,jpiglo,jpjglo
+  REAL*8 :: tabtemp0dreal
+  INTEGER :: tabtemp0dint
+
+  LOGICAL, PARAMETER :: conservation = .FALSE.
+  !       
+  narg = iargc()
+  IF (narg == 0) THEN
+     namelistname = 'namelist.input'
+  ELSE
+     CALL getarg(1,namelistname)
+  ENDIF
+  !
+  ! read input file
+  !
+  CALL read_namelist(namelistname)
+  !      
+  IF(TRIM(restart_ice_file) == '') THEN
+     WRITE(*,*) 'no ice restart file specified in ',TRIM(namelistname)
+     STOP
+  ENDIF
+
+
+  !
+  WRITE(*,*) ''
+  WRITE(*,*) 'Interpolation of restart file : ',TRIM(restart_ice_file)
+  WRITE(*,*) ''
+  !
+  CALL Read_Ncdf_VarName(restart_ice_file,Ncdf_varname)
+  !       
+  CALL set_child_name(parent_coordinate_file,Childcoordinates)   
+  IF( TRIM(parent_bathy_level) /= '' )   CALL set_child_name(parent_bathy_level,Child_Bathy_Level) 
+  IF( TRIM(parent_bathy_meter) /= '' )   CALL set_child_name(parent_bathy_meter,Child_Bathy_Meter)   
+  !
+  ! create this file
+  !
+  CALL set_child_name(restart_ice_file,Child_file)
+  status = nf90_create(Child_file,NF90_WRITE,ncid)
+  status = nf90_close(ncid)
+  WRITE(*,*) 'Child grid restart file name = ',TRIM(Child_file)      
+  WRITE(*,*) ''
+  ! 
+  ! read dimensions in parent restart file
+  !
+  CALL Read_Ncdf_dim('x',restart_ice_file,x)
+  CALL Read_Ncdf_dim('y',restart_ice_file,y) 
+  CALL Read_Ncdf_dim('numcat',restart_ice_file,z)
+
+  !
+  ! mask initialization for extrapolation and interpolation
+  ! 
+  WRITE(*,*) 'mask initialisation on coarse and fine grids'
+  !           
+  status = Read_Local_Coordinates(parent_coordinate_file,G0,(/jpizoom,jpjzoom/),(/x,y/))
+  status = Read_Coordinates(Childcoordinates,G1,Pacifique)
+  !
+  !longitude modification if child domain covers Pacific ocean area
+  !      
+  IF( Pacifique ) THEN
+     WHERE( G0%nav_lon < 0 )
+        G0%nav_lon = G0%nav_lon + 360.
+     END WHERE
+     WHERE( G1%nav_lon < 0 )
+        G1%nav_lon = G1%nav_lon + 360.
+     END WHERE
+  ENDIF
+  !
+  ! one needs bathy_level
+  IF( TRIM(parent_bathy_level) /= '' ) THEN
+     status = Read_bathy_level(TRIM(parent_bathy_level),G0)
+     status = Read_bathy_level(TRIM(child_bathy_level),G1)
+  ELSE
+     status = read_bathy_meter(TRIM(parent_bathy_meter),G0)
+     status = read_bathy_meter(TRIM(child_bathy_meter),G1)
+     CALL meter_to_levels(G0)
+     CALL meter_to_levels(G1)
+  ENDIF
+  ! get masks
+  CALL Init_mask(parent_bathy_level,G0,x,y)
+  CALL Init_mask(child_bathy_level,G1,nxfin,nyfin)
+  
+  !
+  ! write dimensions in output file
+  WRITE(*,*) 'write dimensions'
+  !          
+  CALL Write_Ncdf_dim('x',Child_file,nxfin)
+  CALL Write_Ncdf_dim('y',Child_file,nyfin)
+  CALL Write_Ncdf_dim('numcat',Child_file,z)
+  CALL Write_Ncdf_dim('time_counter',Child_file,0) 
+  !
+  !
+  DO ji = 1,SIZE(Ncdf_varname)      
+     !      
+     ! loop on variables names
+     varname = TRIM(Ncdf_varname(ji))
+     !      
+     WRITE(*,*) 'var = ',TRIM(varname)     
+     !
+     SELECT CASE (varname)
+        !
+        !copy nav_lon from child coordinates to output file      
+        !
+     CASE('nav_lon')
+        CALL Read_Ncdf_var(varname,TRIM(Childcoordinates),tabtemp2D) 
+        CALL Write_Ncdf_var(varname,(/'x','y'/),Child_file,tabtemp2D,'float')
+        CALL Copy_Ncdf_att(varname,TRIM(restart_ice_file),Child_file, MINVAL(tabtemp2D),MAXVAL(tabtemp2D))
+        DEALLOCATE(tabtemp2D)
+        Interpolation = .FALSE.
+        !	     
+        !copy nav_lat from child coordinates to output file
+        !
+     CASE('nav_lat')             
+        CALL Read_Ncdf_var(varname,TRIM(Childcoordinates),tabtemp2D) 
+        CALL Write_Ncdf_var(varname,(/'x','y'/),Child_file,tabtemp2D,'float')
+        CALL Copy_Ncdf_att(varname,TRIM(restart_ice_file),Child_file,MINVAL(tabtemp2D),MAXVAL(tabtemp2D)) 
+        DEALLOCATE(tabtemp2D)
+        Interpolation = .FALSE.
+        !
+        !copy numcat from restart_ice_file to output file
+        !
+     CASE('numcat')
+        CALL Read_Ncdf_var(varname,TRIM(restart_ice_file),nav_lev) 
+        CALL Write_Ncdf_var(varname,varname,Child_file,nav_lev,'float')
+        CALL Copy_Ncdf_att(varname,TRIM(restart_ice_file),Child_file)      
+        Interpolation = .FALSE.
+        !
+        !copy time from restart_ice_file to output file                       
+        !
+     CASE('time_counter')
+        CALL Read_Ncdf_var(varname,TRIM(restart_ice_file),tabtemp1D) 
+        tabtemp1D = tabtemp1D * rhot
+        CALL Write_Ncdf_var(varname,'time_counter',Child_file,tabtemp1D,'double')
+        CALL Copy_Ncdf_att(varname,TRIM(restart_ice_file),Child_file) 
+        DEALLOCATE(tabtemp1D)
+        Interpolation = .FALSE.
+        !
+        !copy info from restart_ice_file to output file
+        !
+     CASE('kt_ice') 
+        CALL Read_Ncdf_var(varname,TRIM(restart_ice_file),tabtemp0dreal)  
+        tabtemp0dreal = tabtemp0dreal * rhot
+        CALL Write_Ncdf_var(varname,Child_file,tabtemp0dreal,'double')
+        CALL Copy_Ncdf_att(varname,TRIM(restart_ice_file),Child_file) 
+        Interpolation = .FALSE.
+        !
+     CASE('nn_fsbc') 
+        CALL Read_Ncdf_var(varname,TRIM(restart_ice_file),tabtemp0dreal)  
+        CALL Write_Ncdf_var(varname,Child_file,tabtemp0dreal,'double')
+        CALL Copy_Ncdf_att(varname,TRIM(restart_ice_file),Child_file) 
+        Interpolation = .FALSE.
+        !
+     CASE('frc_voltop','frc_volbot','frc_temtop','frc_tembot') 
+        CALL Read_Ncdf_var(varname,TRIM(restart_ice_file),tabtemp0dreal)  
+        CALL Write_Ncdf_var(varname,Child_file,tabtemp0dreal,'double')
+        CALL Copy_Ncdf_att(varname,TRIM(restart_ice_file),Child_file) 
+        Interpolation = .FALSE.
+        !
+     CASE('u_ice')
+        vert_coord_name = '1'             
+        posvar='U'
+        Interpolation = .TRUE.            
+        
+     CASE('v_ice')
+        vert_coord_name = '1'             
+        posvar='V'
+        Interpolation = .TRUE.            
+
+     CASE('stress12_i')
+        vert_coord_name = '1'             
+        posvar='F'
+        Interpolation = .TRUE.            
+        
+     CASE DEFAULT
+        IF( Get_NbDims(TRIM(Ncdf_varname(ji)),TRIM(restart_ice_file)) == 4 ) THEN
+           vert_coord_name = 'numcat'
+        ELSEIF( Get_NbDims(TRIM(Ncdf_varname(ji)),TRIM(restart_ice_file)) == 3 ) THEN
+           vert_coord_name = '1'
+        ENDIF
+        posvar='T'
+        Interpolation = .TRUE.            
+        !      
+     END SELECT
+
+     IF( Interpolation ) THEN
+        !
+        !
+        IF( vert_coord_name == '1' ) THEN
+           jpl = 1
+        ELSE
+           jpl = z
+        ENDIF
+        !
+        ALLOCATE(detected_pts(SIZE(G0%tmask,1),SIZE(G0%tmask,2),jpl))                             
+        ALLOCATE(tabvar00(x,y,1))
+        ALLOCATE(tabvar0(x,y,jpl,1))
+        ALLOCATE(tabvar1(x,y,1,1))
+        ALLOCATE(tabvar2(x,y,1,1))
+        ALLOCATE(tabvar3(x,y,1,1))
+        ALLOCATE(masksrc(x,y))
+        ALLOCATE(tabinterp4d(nxfin,nyfin,jpl,1)) 
+
+        IF( vert_coord_name == '1' ) THEN
+           CALL Read_Ncdf_var(varname,TRIM(restart_ice_file),tabvar00)
+        ELSE
+           CALL Read_Ncdf_var(varname,TRIM(restart_ice_file),tabvar0)
+        ENDIF
+
+        DO jl = 1, jpl
+           !
+           WRITE(*,*) 'interpolate/extrapolate for category = ',jl   
+           !
+           IF( vert_coord_name == '1' ) THEN
+              tabvar1(:,:,1,1) = tabvar00(:,:,1)
+              tabvar2(:,:,1,1) = tabvar00(:,:,1)
+              tabvar3(:,:,1,1) = tabvar00(:,:,1)
+           ELSE
+              tabvar1(:,:,1,1) = tabvar0(:,:,jl,1)
+              tabvar2(:,:,1,1) = tabvar0(:,:,jl,1)
+              tabvar3(:,:,1,1) = tabvar0(:,:,jl,1)
+           ENDIF
+           !
+           CALL extrap_detect(G0,G1,detected_pts(:,:,jl),1,posvar)                                            
+           CALL correct_field(detected_pts(:,:,jl),tabvar1,tabvar2,tabvar3,G0,nav_lev,masksrc,1,posvar) !clem: nav_lev is useless here
+           
+           SELECT CASE(TRIM(interp_type))
+           CASE('bilinear')                                                       
+              CALL get_remap_matrix(G0%nav_lat,G1%nav_lat,G0%nav_lon,G1%nav_lon,masksrc,matrix,src_add,dst_add)
+              CALL make_remap(tabvar1(:,:,1,1),tabinterp4d(:,:,jl,1),nxfin,nyfin,matrix,src_add,dst_add)
+           CASE('bicubic')                                   
+              CALL get_remap_bicub(G0%nav_lat,G1%nav_lat,G0%nav_lon,G1%nav_lon,masksrc,matrix,src_add,dst_add)
+              CALL make_bicubic_remap(tabvar1(:,:,1,1),masksrc,tabinterp4d(:,:,jl,1),nxfin,nyfin,matrix,src_add,dst_add) 
+           END SELECT
+           !
+           IF( conservation ) THEN ! clem: currently this does not work (and is only coded for T)
+              SELECT CASE (posvar)
+              CASE( 'T' )
+                 CALL Correctforconservation(tabvar1(:,:,1,1),tabinterp4d(:,:,jl,1), &
+                    &                        G0%e1t,G0%e2t,G1%e1t,G1%e2t,nxfin,nyfin,posvar,imin-jpizoom+1,jmin-jpjzoom+1)
+              CASE( 'U' )
+                 CALL Correctforconservation(tabvar1(:,:,1,1),tabinterp4d(:,:,jl,1), &
+                    &                        G0%e1u,G0%e2u,G1%e1u,G1%e2u,nxfin,nyfin,posvar,imin-jpizoom+1,jmin-jpjzoom+1)
+              CASE( 'V' )
+                 CALL Correctforconservation(tabvar1(:,:,1,1),tabinterp4d(:,:,jl,1), &
+                    &                        G0%e1v,G0%e2v,G1%e1v,G1%e2v,nxfin,nyfin,posvar,imin-jpizoom+1,jmin-jpjzoom+1)
+              CASE( 'F' )
+                 CALL Correctforconservation(tabvar1(:,:,1,1),tabinterp4d(:,:,jl,1), &
+                    &                        G0%e1f,G0%e2f,G1%e1f,G1%e2f,nxfin,nyfin,posvar,imin-jpizoom+1,jmin-jpjzoom+1)
+              END SELECT
+           ENDIF
+           tabinterp4d(:,:,jl,1) =  tabinterp4d(:,:,jl,1) * G1%tmask(:,:,1)
+
+           IF(ASSOCIATED(matrix)) DEALLOCATE(matrix,src_add,dst_add)   
+
+        ENDDO
+
+        dimnames(1)='x'
+        dimnames(2)='y'
+        IF( vert_coord_name == '1' ) THEN
+           dimnames(3)='time_counter'
+
+           ALLOCATE(tabvar3d(SIZE(tabinterp4d,1),SIZE(tabinterp4d,2),SIZE(tabinterp4d,3)))
+           tabvar3d=tabinterp4d(:,:,:,1)
+           CALL Write_Ncdf_var(varname,dimnames,Child_file,tabvar3d,'double')
+           DEALLOCATE(tabvar3d)
+        ELSE
+           dimnames(3)='numcat'
+           dimnames(4)='time_counter'
+           
+           CALL Write_Ncdf_var(TRIM(varname),dimnames,Child_file,tabinterp4d,'double')
+        ENDIF
+        !             
+        CALL Copy_Ncdf_att(TRIM(varname),TRIM(restart_ice_file),Child_file)
+
+        DEALLOCATE(detected_pts)
+        DEALLOCATE(tabinterp4d)
+        DEALLOCATE(tabvar00, tabvar0, tabvar1,tabvar2,tabvar3)
+        DEALLOCATE(masksrc)  
+       
+     ENDIF
+  END DO
+  !
+  WRITE(*,*) ' '
+  WRITE(*,*) '******* restart file successfully created *******' 
+  WRITE(*,*) ' '
+  !
+  STOP 
+END PROGRAM create_rstrt_ice
+
+
Index: /utils/tools/NESTING/src/agrif_extrapolation.f90
===================================================================
--- /utils/tools/NESTING/src/agrif_extrapolation.f90	(revision 10382)
+++ /utils/tools/NESTING/src/agrif_extrapolation.f90	(revision 10383)
@@ -43,11 +43,15 @@
        CALL get_detected_pts(G0%gphiu,G1%gphiu,G0%glamu,G1%glamu,   &
             G0%umask(:,:,n),G1%umask(:,:,n),detected(:,:))       
-    ELSE IF( PRESENT(posvar) .AND. posvar == 'V' ) THEN
-       !      
+    ELSEIF( PRESENT(posvar) .AND. posvar == 'V' ) THEN
        CALL get_detected_pts(G0%gphiv,G1%gphiv,G0%glamv,G1%glamv,   &
             G0%vmask(:,:,n),G1%vmask(:,:,n),detected(:,:))                                  
+    ELSEIF( PRESENT(posvar) .AND. posvar == 'F' ) THEN
+       CALL get_detected_pts(G0%gphif,G1%gphif,G0%glamf,G1%glamf,   &
+            G0%fmask(:,:,n),G1%fmask(:,:,n),detected(:,:))                                  
     ELSE
-       CALL get_detected_pts(G0%nav_lat,G1%nav_lat,G0%nav_lon,G1%nav_lon,   &
-            G0%tmask(:,:,n),G1%tmask(:,:,n),detected(:,:))        
+       CALL get_detected_pts(G0%gphit,G1%gphit,G0%glamt,G1%glamt,   &
+            G0%tmask(:,:,n),G1%tmask(:,:,n),detected(:,:))                                  
+!clem       CALL get_detected_pts(G0%nav_lat,G1%nav_lat,G0%nav_lon,G1%nav_lon,   &
+!clem            G0%tmask(:,:,n),G1%tmask(:,:,n),detected(:,:))        
     ENDIF
     !      
@@ -112,4 +116,16 @@
        lat = G0%gphiv 
        lon = G0%glamv
+    ELSE IF ( PRESENT(posvar) .AND. posvar == 'F' ) THEN
+       WHERE(G0%fmask(:,:,k) == 1. )
+          newmask(:,:) = .TRUE.
+       ELSEWHERE
+          newmask(:,:) = .FALSE.
+       END WHERE
+       ALLOCATE(mask(SIZE(G0%fmask,1),SIZE(G0%fmask,2),SIZE(G0%fmask,3)))
+       ALLOCATE(lat(SIZE(G0%fmask,1),SIZE(G0%fmask,2)))
+       ALLOCATE(lon(SIZE(G0%fmask,1),SIZE(G0%fmask,2)))
+       mask = G0%fmask        
+       lat = G0%gphif 
+       lon = G0%glamf
     ELSE      
        WHERE(G0%tmask(:,:,k) == 1. )
@@ -121,7 +137,10 @@
        ALLOCATE(lat(SIZE(G0%tmask,1),SIZE(G0%tmask,2)))
        ALLOCATE(lon(SIZE(G0%tmask,1),SIZE(G0%tmask,2)))
-       mask = G0%tmask
-       lon = G0%nav_lon
-       lat = G0%nav_lat
+       mask = G0%tmask        
+       lat = G0%gphit 
+       lon = G0%glamt
+!clem       mask = G0%tmask
+!clem       lon = G0%nav_lon
+!clem       lat = G0%nav_lat
     ENDIF
     !
Index: /utils/tools/NESTING/src/agrif_readwrite.f90
===================================================================
--- /utils/tools/NESTING/src/agrif_readwrite.f90	(revision 10382)
+++ /utils/tools/NESTING/src/agrif_readwrite.f90	(revision 10383)
@@ -1223,5 +1223,5 @@
     WRITE(*,*) 'Init masks in T points'    
     !     
-    ALLOCATE(Grid%tmask(nx,ny,N))
+    ALLOCATE( Grid%tmask(nx,ny,N) )
     !
     DO k = 1,N
@@ -1236,4 +1236,44 @@
     !      
   END SUBROUTINE Init_Tmask
+  !
+  !*****************************************************
+  !   subroutine Init_ssmask(name,Grid)
+  !*****************************************************
+  !
+!  SUBROUTINE Init_ssmask(varname,filename,Grid,jpiglo,jpjglo)
+!    !
+!    USE io_netcdf
+!    !      
+!    CHARACTER(*) varname,filename
+!    INTEGER :: nx,ny,k,i,j,jpiglo,jpjglo
+!    TYPE(Coordinates) :: Grid
+!    REAL*8, POINTER, DIMENSION(:,:) ::zwf => NULL()
+!    !
+!    IF(jpiglo == 1 .AND. jpjglo == 1) THEN
+!       CALL read_ncdf_var(varname,filename,Grid%bathy_level)
+!    ELSE
+!       CALL read_ncdf_var(varname,filename,Grid%bathy_level,(/jpizoom,jpjzoom/),(/jpiglo,jpjglo/) )
+!    ENDIF
+!    !
+!    nx = SIZE(Grid%bathy_level,1)
+!    ny = SIZE(Grid%bathy_level,2) 
+!    !
+!    WRITE(*,*) 'Init surface masks in T points'    
+!    !     
+!    ALLOCATE( Grid%ssmask(nx,ny), Grid%ssumask(nx,ny), Grid%ssvmask(nx,ny) )
+!    !
+!    WHERE(Grid%bathy_level(:,:) <= 0. )    
+!       Grid%ssmask(:,:) = 0.
+!    ELSEWHERE
+!       Grid%ssmask(:,:) = 1.
+!    END WHERE
+!    !
+!    Grid%ssumask(1:nx-1,:) = Grid%ssmask(1:nx-1,:)*Grid%ssmask(2:nx,:)
+!    Grid%ssvmask(:,1:ny-1) = Grid%ssmask(:,1:ny-1)*Grid%ssmask(:,2:ny)
+!    !
+!    Grid%ssumask(nx,:) = Grid%ssmask(nx,:)
+!    Grid%ssvmask(:,ny) = Grid%ssmask(:,ny)
+!    !      
+!  END SUBROUTINE Init_ssmask
   !
   !*****************************************************
Index: /utils/tools/NESTING/src/agrif_types.f90
===================================================================
--- /utils/tools/NESTING/src/agrif_types.f90	(revision 10382)
+++ /utils/tools/NESTING/src/agrif_types.f90	(revision 10383)
@@ -61,5 +61,6 @@
   CHARACTER*100 ::   parent_bathy_level, parent_level_name, parent_bathy_meter, parent_meter_name, parent_domcfg_out
   CHARACTER*100 ::   elevation_name, elevation_database
-  CHARACTER*100 ::   parent_coordinate_file, restart_file, parent_bathy_meter_updated, parent_domcfg_updated, restart_trc_file
+  CHARACTER*100 ::   parent_coordinate_file, parent_bathy_meter_updated, parent_domcfg_updated, &
+     &               restart_file, restart_trc_file, restart_ice_file
   CHARACTER*100 ::   dimg_output_file, interp_type
   !      
@@ -89,6 +90,8 @@
   !      
   NAMELIST /restart/ restart_file, shlat, dimg, dimg_output_file, adatrj, interp_type 
-
+  !
   NAMELIST /restart_trc/ restart_trc_file, interp_type 
+  !
+  NAMELIST /restart_ice/ restart_ice_file, interp_type 
   !
 CONTAINS
@@ -167,4 +170,5 @@
        READ (unit_nml , NML = restart )
        READ (unit_nml , NML = restart_trc )
+       READ (unit_nml , NML = restart_ice )
        CLOSE(unit_nml)
        !	
Index: /utils/tools/NESTING/src/io_netcdf.f90
===================================================================
--- /utils/tools/NESTING/src/io_netcdf.f90	(revision 10382)
+++ /utils/tools/NESTING/src/io_netcdf.f90	(revision 10383)
@@ -291,5 +291,5 @@
     status=nf90_inquire_dimension(ncid,dimIDS(2),len=dim2)  
     status=nf90_inquire_dimension(ncid,dimIDS(3),len=dim3)
-    !                
+    !    
     IF(.NOT. ASSOCIATED(tabvar)) THEN
        ALLOCATE(tabvar(dim1,dim2,dim3))  
