Index: /NEMO/branches/2020/ticket1927/cfgs/SHARED/namelist_ref
===================================================================
--- /NEMO/branches/2020/ticket1927/cfgs/SHARED/namelist_ref	(revision 12454)
+++ /NEMO/branches/2020/ticket1927/cfgs/SHARED/namelist_ref	(revision 12455)
@@ -576,4 +576,10 @@
    ln_icebergs = .false.      ! activate iceberg floats (force =F with "key_agrif")
    !
+   !                          ! restart
+   cn_icbrst_in     = "restart_icb" !  suffix of iceberg restart name (input)
+   cn_icbrst_indir  = "./"          !  directory from which to read input ocean restarts
+   cn_icbrst_out    = "restart_icb" !  suffix of ocean restart name (output)
+   cn_icbrst_outdir = "./"          !  directory from which to read output ocean restarts          
+   !
    !                          ! diagnostics:
    ln_bergdia        = .true.        ! Calculate budgets
Index: /NEMO/branches/2020/ticket1927/src/OCE/ICB/icb_oce.F90
===================================================================
--- /NEMO/branches/2020/ticket1927/src/OCE/ICB/icb_oce.F90	(revision 12454)
+++ /NEMO/branches/2020/ticket1927/src/OCE/ICB/icb_oce.F90	(revision 12455)
@@ -124,4 +124,8 @@
    LOGICAL , PUBLIC ::   ln_time_average_weight          !: Time average the weight on the ocean    !!gm I don't understand that !
    REAL(wp), PUBLIC ::   rn_speed_limit                  !: CFL speed limit for a berg
+   !
+   ! restart
+   CHARACTER(len=256), PUBLIC :: cn_icbrst_indir , cn_icbrst_in  !:  in: restart directory, restart name
+   CHARACTER(len=256), PUBLIC :: cn_icbrst_outdir, cn_icbrst_out !: out: restart directory, restart name
    !
    !                                     ! Mass thresholds between iceberg classes [kg]
Index: /NEMO/branches/2020/ticket1927/src/OCE/ICB/icbini.F90
===================================================================
--- /NEMO/branches/2020/ticket1927/src/OCE/ICB/icbini.F90	(revision 12454)
+++ /NEMO/branches/2020/ticket1927/src/OCE/ICB/icbini.F90	(revision 12455)
@@ -383,5 +383,6 @@
          &              rn_bits_erosion_fraction        , rn_sicn_shift       , ln_passive_mode      ,   &
          &              ln_time_average_weight          , nn_test_icebergs    , rn_test_box          ,   &
-         &              ln_use_calving , rn_speed_limit , cn_dir, sn_icb
+         &              ln_use_calving , rn_speed_limit , cn_dir, sn_icb      ,                          &
+         &              cn_icbrst_indir, cn_icbrst_in   , cn_icbrst_outdir    , cn_icbrst_out
       !!----------------------------------------------------------------------
 
Index: /NEMO/branches/2020/ticket1927/src/OCE/ICB/icbrst.F90
===================================================================
--- /NEMO/branches/2020/ticket1927/src/OCE/ICB/icbrst.F90	(revision 12454)
+++ /NEMO/branches/2020/ticket1927/src/OCE/ICB/icbrst.F90	(revision 12455)
@@ -69,10 +69,9 @@
       TYPE(point)                  ::   localpt   ! NOT a pointer but an actual local variable
       !!----------------------------------------------------------------------
-
       ! Find a restart file. Assume iceberg restarts in same directory as ocean restarts
       ! and are called TRIM(cn_ocerst)//'_icebergs'
-      cl_path = TRIM(cn_ocerst_indir)
+      cl_path = TRIM(cn_icbrst_indir)
       IF( cl_path(LEN_TRIM(cl_path):) /= '/' ) cl_path = TRIM(cl_path) // '/'
-      cl_filename = TRIM(cn_ocerst_in)//'_icebergs'
+      cl_filename = TRIM(cn_icbrst_in)
       CALL iom_open( TRIM(cl_path)//cl_filename, ncid )
 
@@ -192,4 +191,5 @@
       CHARACTER(len=256)     :: cl_path
       CHARACTER(len=256)     :: cl_filename
+      CHARACTER(len=256)     :: cl_kt
       TYPE(iceberg), POINTER :: this
       TYPE(point)  , POINTER :: pt
@@ -204,11 +204,18 @@
          ! Only operate on the restart timestep itself.
          ! Assume we write iceberg restarts to same directory as ocean restarts.
-         cl_path = TRIM(cn_ocerst_outdir)
+         !
+         ! directory name
+         cl_path = TRIM(cn_icbrst_outdir)
          IF( cl_path(LEN_TRIM(cl_path):) /= '/' ) cl_path = TRIM(cl_path) // '/'
+         !
+         ! file name
+         WRITE(cl_kt, '(i8.8)') kt
+         cl_filename = TRIM(cexper)//"_"//TRIM(ADJUSTL(cl_kt))//"_"//TRIM(cn_icbrst_out)
          IF( lk_mpp ) THEN
-            WRITE(cl_filename,'(A,"_icebergs_",I8.8,"_restart_",I4.4,".nc")') TRIM(cexper), kt, narea-1
+            WRITE(cl_filename,'(A,"_",I4.4,".nc")') TRIM(cl_filename), narea-1
          ELSE
-            WRITE(cl_filename,'(A,"_icebergs_",I8.8,"_restart.nc")') TRIM(cexper), kt
+            WRITE(cl_filename,'(A,".nc")') TRIM(cl_filename)
          ENDIF
+
          IF ( lwp .AND. nn_verbose_level >= 0) WRITE(numout,'(2a)') 'icebergs, write_restart: creating ',  &
            &                                                         TRIM(cl_path)//TRIM(cl_filename)
