Index: branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90
===================================================================
--- branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90	(revision 8427)
+++ branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90	(revision 9321)
@@ -309,5 +309,7 @@
          IF( iom_varid( numror, 'kt', ldstop = .FALSE. ) > 0 ) THEN
             ! Get Calendar informations
+            IF(nn_timing == 2)  CALL timing_start('iom_rstget')
             CALL iom_get( numror, 'kt', zkt )   ! last time-step of previous run
+            IF(nn_timing == 2)  CALL timing_stop('iom_rstget')
             IF(lwp) THEN
                WRITE(numout,*) ' *** Info read in restart : '
@@ -327,8 +329,10 @@
             ! define ndastp and adatrj
             IF ( nrstdt == 2 ) THEN
+               IF(nn_timing == 2)  CALL timing_start('iom_rstget')
                ! read the parameters correspondting to nit000 - 1 (last time step of previous run)
                CALL iom_get( numror, 'ndastp', zndastp )
                ndastp = NINT( zndastp )
                CALL iom_get( numror, 'adatrj', adatrj  )
+               IF(nn_timing == 2)  CALL timing_stop('iom_rstget')
             ELSE
                ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day)
@@ -359,8 +363,10 @@
          ENDIF
          ! calendar control
+         IF(nn_timing == 2)  CALL timing_start('iom_rstput')
          CALL iom_rstput( kt, nitrst, numrow, 'kt'     , REAL( kt    , wp) )   ! time-step
          CALL iom_rstput( kt, nitrst, numrow, 'ndastp' , REAL( ndastp, wp) )   ! date
          CALL iom_rstput( kt, nitrst, numrow, 'adatrj' , adatrj            )   ! number of elapsed days since
          !                                                                     ! the begining of the run [s]
+         IF(nn_timing == 2)  CALL timing_stop('iom_rstput')
       ENDIF
       !
Index: branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
===================================================================
--- branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90	(revision 8427)
+++ branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90	(revision 9321)
@@ -817,4 +817,5 @@
          IF( ln_rstart ) THEN                   !* Read the restart file
             CALL rst_read_open                  !  open the restart file if necessary
+            IF(nn_timing == 2)  CALL timing_start('iom_rstget')
             CALL iom_get( numror, jpdom_autoglo, 'sshn'   , sshn    )
             !
@@ -892,4 +893,5 @@
             ENDIF
             !
+            IF(nn_timing == 2)  CALL timing_stop('iom_rstget')
          ELSE                                   !* Initialize at "rest"
             fse3t_b(:,:,:) = e3t_0(:,:,:)
@@ -908,5 +910,6 @@
          !                                           ! --------- !
          !                                           ! all cases !
-         !                                           ! --------- !
+         !                                           ! --------- ! 
+         IF(nn_timing == 2)  CALL timing_start('iom_rstput')
          CALL iom_rstput( kt, nitrst, numrow, 'fse3t_b', fse3t_b(:,:,:) )
          CALL iom_rstput( kt, nitrst, numrow, 'fse3t_n', fse3t_n(:,:,:) )
@@ -922,4 +925,5 @@
             CALL iom_rstput( kt, nitrst, numrow, 'hdiv_lf', hdiv_lf(:,:,:) )
          ENDIF
+         IF(nn_timing == 2)  CALL timing_stop('iom_rstput')
 
       ENDIF
Index: branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90
===================================================================
--- branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90	(revision 8427)
+++ branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90	(revision 9321)
@@ -126,8 +126,10 @@
       
       !                                                         ! masks (inum2) 
+      IF(nn_timing == 2)  CALL timing_start('iom_rstput')
       CALL iom_rstput( 0, 0, inum2, 'tmask', tmask, ktype = jp_i1 )     !    ! land-sea mask
       CALL iom_rstput( 0, 0, inum2, 'umask', umask, ktype = jp_i1 )
       CALL iom_rstput( 0, 0, inum2, 'vmask', vmask, ktype = jp_i1 )
       CALL iom_rstput( 0, 0, inum2, 'fmask', fmask, ktype = jp_i1 )
+      IF(nn_timing == 2)  CALL timing_stop('iom_rstput')
       
       CALL dom_uniq( zprw, 'T' )
@@ -138,5 +140,7 @@
          END DO
       END DO                             !    ! unique point mask
+      IF(nn_timing == 2)  CALL timing_start('iom_rstput')
       CALL iom_rstput( 0, 0, inum2, 'tmaskutil', zprt, ktype = jp_i1 )  
+      IF(nn_timing == 2)  CALL timing_stop('iom_rstput')
       CALL dom_uniq( zprw, 'U' )
       DO jj = 1, jpj
@@ -146,5 +150,7 @@
          END DO
       END DO
+      IF(nn_timing == 2)  CALL timing_start('iom_rstput')
       CALL iom_rstput( 0, 0, inum2, 'umaskutil', zprt, ktype = jp_i1 )  
+      IF(nn_timing == 2)  CALL timing_stop('iom_rstput')
       CALL dom_uniq( zprw, 'V' )
       DO jj = 1, jpj
@@ -154,5 +160,7 @@
          END DO
       END DO
+      IF(nn_timing == 2)  CALL timing_start('iom_rstput')
       CALL iom_rstput( 0, 0, inum2, 'vmaskutil', zprt, ktype = jp_i1 )  
+      IF(nn_timing == 2)  CALL timing_stop('iom_rstput')
       CALL dom_uniq( zprw, 'F' )
       DO jj = 1, jpj
@@ -162,4 +170,5 @@
          END DO
       END DO
+      IF(nn_timing == 2)  CALL timing_start('iom_rstput')
       CALL iom_rstput( 0, 0, inum2, 'fmaskutil', zprt, ktype = jp_i1 )  
 
@@ -218,12 +227,14 @@
          CALL iom_rstput( 0, 0, inum4, 'gdepw_0', gdepw_0, ktype = jp_r4 )     
       ENDIF
-      
+      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
       IF( ln_zps ) THEN                                         ! z-coordinate - partial steps
          !
          IF( nmsh <= 6 ) THEN                                   !    ! 3D vertical scale factors
+            IF(nn_timing == 2)  CALL timing_start('iom_rstput')
             CALL iom_rstput( 0, 0, inum4, 'e3t_0', e3t_0 )         
             CALL iom_rstput( 0, 0, inum4, 'e3u_0', e3u_0 )
             CALL iom_rstput( 0, 0, inum4, 'e3v_0', e3v_0 )
             CALL iom_rstput( 0, 0, inum4, 'e3w_0', e3w_0 )
+            IF(nn_timing == 2)  CALL timing_stop('iom_rstput')
          ELSE                                                   !    ! 2D masked bottom ocean scale factors
             DO jj = 1,jpj   
@@ -233,6 +244,8 @@
                END DO
             END DO
+            IF(nn_timing == 2)  CALL timing_start('iom_rstput')
             CALL iom_rstput( 0, 0, inum4, 'e3t_ps', e3tp )      
             CALL iom_rstput( 0, 0, inum4, 'e3w_ps', e3wp )
+            IF(nn_timing == 2)  CALL timing_stop('iom_rstput')
          END IF
          !
@@ -248,7 +261,9 @@
             END DO
             CALL lbc_lnk( zdepu, 'U', 1. )   ;   CALL lbc_lnk( zdepv, 'V', 1. ) 
+            IF(nn_timing == 2)  CALL timing_start('iom_rstput')
             CALL iom_rstput( 0, 0, inum4, 'gdepu', zdepu, ktype = jp_r4 )
             CALL iom_rstput( 0, 0, inum4, 'gdepv', zdepv, ktype = jp_r4 )
             CALL iom_rstput( 0, 0, inum4, 'gdepw_0', gdepw_0, ktype = jp_r4 )
+            IF(nn_timing == 2)  CALL timing_stop('iom_rstput')
          ELSE                                                   !    ! 2D bottom depth
             DO jj = 1,jpj   
@@ -258,20 +273,26 @@
                END DO
             END DO
+            IF(nn_timing == 2)  CALL timing_start('iom_rstput')
             CALL iom_rstput( 0, 0, inum4, 'hdept', zprt, ktype = jp_r4 )     
             CALL iom_rstput( 0, 0, inum4, 'hdepw', zprw, ktype = jp_r4 ) 
+            IF(nn_timing == 2)  CALL timing_stop('iom_rstput')
          ENDIF
          !
+         IF(nn_timing == 2)  CALL timing_start('iom_rstput')
          CALL iom_rstput( 0, 0, inum4, 'gdept_1d', gdept_1d )   !    ! reference z-coord.
          CALL iom_rstput( 0, 0, inum4, 'gdepw_1d', gdepw_1d )
          CALL iom_rstput( 0, 0, inum4, 'e3t_1d'  , e3t_1d   )
          CALL iom_rstput( 0, 0, inum4, 'e3w_1d'  , e3w_1d   )
+         IF(nn_timing == 2)  CALL timing_stop('iom_rstput')
       ENDIF
       
       IF( ln_zco ) THEN
          !                                                      ! z-coordinate - full steps
+         IF(nn_timing == 2)  CALL timing_start('iom_rstput')
          CALL iom_rstput( 0, 0, inum4, 'gdept_1d', gdept_1d )   !    ! depth
          CALL iom_rstput( 0, 0, inum4, 'gdepw_1d', gdepw_1d )
          CALL iom_rstput( 0, 0, inum4, 'e3t_1d'  , e3t_1d   )   !    ! scale factors
          CALL iom_rstput( 0, 0, inum4, 'e3w_1d'  , e3w_1d   )
+         IF(nn_timing == 2)  CALL timing_stop('iom_rstput')
       ENDIF
       !                                     ! ============================
