Index: /trunk/NEMO/LIM_SRC_3/limdia.F90
===================================================================
--- /trunk/NEMO/LIM_SRC_3/limdia.F90	(revision 894)
+++ /trunk/NEMO/LIM_SRC_3/limdia.F90	(revision 895)
@@ -579,5 +579,5 @@
        clname = 'ice.evolu'
        irecl = ( jpchinf + 1 ) * nvinfo 
-       CALL ctlopn( numevo_ice, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',
+       CALL ctlopn( numevo_ice, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',    &
           &         irecl, numout, lwp, 1 )
 
Index: /trunk/NEMO/LIM_SRC_3/limupdate.F90
===================================================================
--- /trunk/NEMO/LIM_SRC_3/limupdate.F90	(revision 894)
+++ /trunk/NEMO/LIM_SRC_3/limupdate.F90	(revision 895)
@@ -52,4 +52,7 @@
    !! * Accessibility
    PUBLIC lim_update ! routine called by ice_step
+
+   !! * Substitutions
+#  include "vectopt_loop_substitute.h90"
 
    !! * Module variables
Index: /trunk/NEMO/OPA_SRC/DIA/diawri.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DIA/diawri.F90	(revision 894)
+++ /trunk/NEMO/OPA_SRC/DIA/diawri.F90	(revision 895)
@@ -169,9 +169,11 @@
 
          ! WRITE root name in date.file for use by postpro
-         CALL dia_nam( clhstnam, nwrite,' ' )
-         clname = 'date.file'
-         CALL ctlopn( inum, clname,  'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, 1 )
-         WRITE(inum,*) clhstnam
-         CLOSE(inum)
+         IF( lwp) THEN
+            CALL dia_nam( clhstnam, nwrite,' ' )
+            clname = 'date.file'
+            CALL ctlopn( inum, clname,  'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, 1 )
+            WRITE(inum,*) clhstnam
+            CLOSE(inum)
+         ENDIF
 
          ! Define the T grid FILE ( nid_T )
Index: /trunk/NEMO/OPA_SRC/LDF/ldfeiv.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/LDF/ldfeiv.F90	(revision 894)
+++ /trunk/NEMO/OPA_SRC/LDF/ldfeiv.F90	(revision 895)
@@ -137,11 +137,17 @@
             ! Compute aeiw by multiplying Ro^2 and T^-1
             aeiw(ji,jj) = zross(ji,jj) * zross(ji,jj) * SQRT( zah(ji,jj) / zhw(ji,jj) ) * tmask(ji,jj,1)
-            IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN   ! ORCA R02
+         END DO
+      END DO
+
+      IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN   ! ORCA R02
+         DO jj = 2, jpjm1
+!CDIR NOVERRCHK 
+            DO ji = fs_2, fs_jpim1   ! vector opt.
                ! Take the minimum between aeiw and aeiv0 for depth levels
                ! lower than 20 (21 in w- point)
                IF( mbathy(ji,jj) <= 21. ) aeiw(ji,jj) = MIN( aeiw(ji,jj), 1000. )
-            ENDIF
-         END DO
-      END DO
+            END DO
+         END DO
+      ENDIF
 
       ! Decrease the coefficient in the tropics (20N-20S) 
Index: /trunk/NEMO/OPA_SRC/SBC/sbcfwb.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/SBC/sbcfwb.F90	(revision 894)
+++ /trunk/NEMO/OPA_SRC/SBC/sbcfwb.F90	(revision 895)
@@ -60,8 +60,8 @@
       INTEGER, INTENT( in ) ::   kn_fwb   ! ocean time-step index
       !!
-      INTEGER  ::   inum = 11             ! temporary logical unit
+      INTEGER  ::   inum                  ! temporary logical unit
       INTEGER  ::   ikty, iyear           ! 
       LOGICAL  ::   llbon
-      CHARACTER (len=32) ::   clname = 'EMPave_old.dat'
+      CHARACTER (len=32) ::   clname 
       REAL(wp) ::   z_emp                 ! temporary scalars
       !!----------------------------------------------------------------------
@@ -98,20 +98,17 @@
          IF( kt == nit000 ) THEN
             ! Read the corrective factor on precipitations (empold)
-            INQUIRE( FILE=clname, EXIST=llbon )
-            IF( llbon ) THEN
-               OPEN ( inum, FILE=clname)
-               READ ( inum, "(24X,I8,2ES24.16)" ) iyear, a_fwb_b, a_fwb
-               CLOSE( inum )
-               empold = a_fwb                  ! current year freshwater budget correction
-               !                               ! estimate from the previous year budget
-               IF(lwp)WRITE(numout,*)
-               IF(lwp)WRITE(numout,*)'sbc_fwb : year = ',iyear  , ' freshwater budget correction = ', empold
-               IF(lwp)WRITE(numout,*)'          year = ',iyear-1, ' freshwater budget read       = ', a_fwb
-               IF(lwp)WRITE(numout,*)'          year = ',iyear-2, ' freshwater budget read       = ', a_fwb_b
-            ELSE
-               WRITE(ctmp1,*)'sbc_fwb : unable to read the file', clname
-               CALL ctl_stop( ctmp1 )
-            ENDIF
-         ENDIF
+            clname = 'EMPave_old.dat'
+            CALL ctlopn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   &
+               &           1, numout, .FALSE., 1 )
+
+            READ ( inum, "(24X,I8,2ES24.16)" ) iyear, a_fwb_b, a_fwb
+            CLOSE( inum )
+            empold = a_fwb                  ! current year freshwater budget correction
+            !                               ! estimate from the previous year budget
+            IF(lwp)WRITE(numout,*)
+            IF(lwp)WRITE(numout,*)'sbc_fwb : year = ',iyear  , ' freshwater budget correction = ', empold
+            IF(lwp)WRITE(numout,*)'          year = ',iyear-1, ' freshwater budget read       = ', a_fwb
+            IF(lwp)WRITE(numout,*)'          year = ',iyear-2, ' freshwater budget read       = ', a_fwb_b
+         ENDIF   
          ! 
          ! Update empold if new year start
@@ -134,6 +131,8 @@
          !
          ! save empold value in a file
-         IF( kt == nitend ) THEN
-            OPEN( inum, FILE='EMPave.dat' )
+         IF( kt == nitend .AND. lwp ) THEN
+            clname = 'EMPav.dat'    
+            CALL ctlopn( inum, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   &
+               &           1, numout, .FALSE., 0 )
             WRITE(inum, "(24X,I8,2ES24.16)" ) nyear, a_fwb_b, a_fwb
          ENDIF
