diff --git a/src/LIB/SURCOUCHE/src/modd_io.f90 b/src/LIB/SURCOUCHE/src/modd_io.f90
index 9c00048dac5c2b38cce4227d0e97986ae884f25c..da6be06291cb86602a4bd00774bf8714cb7534c1 100644
--- a/src/LIB/SURCOUCHE/src/modd_io.f90
+++ b/src/LIB/SURCOUCHE/src/modd_io.f90
@@ -79,7 +79,7 @@ TYPE TFILEDATA
   INTEGER           :: NCLOSE  = 0         !Number of times the file has been closed (during the current execution)
   !
   ! Fields for LFI files
-  INTEGER :: NLFINPRAR = 0  !Number of predicted articles of the LFI file (non crucial)
+  INTEGER(KIND=LFI_INT) :: NLFINPRAR = 0  !Number of predicted articles of the LFI file (non crucial)
   INTEGER :: NLFITYPE  = -1 !Type of the file (used to generate list of files to transfers)
   INTEGER :: NLFIVERB  = 1  !LFI verbosity level
   INTEGER(KIND=LFI_INT) :: NLFIFLU   = -1 !File identifier
diff --git a/src/LIB/SURCOUCHE/src/mode_fm.f90 b/src/LIB/SURCOUCHE/src/mode_fm.f90
index 86ba53c5407952070308c8da0eb0f69835743f6f..2e6cf8026b8e663055198ca9f705e27920b059d4 100644
--- a/src/LIB/SURCOUCHE/src/mode_fm.f90
+++ b/src/LIB/SURCOUCHE/src/mode_fm.f90
@@ -146,8 +146,7 @@ TYPE(TFILEDATA),POINTER,INTENT(INOUT)         :: TPFILE ! File structure
 INTEGER,                INTENT(OUT), OPTIONAL :: KRESP  ! Return code
 LOGICAL,                INTENT(IN),  OPTIONAL :: OPARALLELIO
 !
-INTEGER :: ININAR ! Number of articles present in LFI file (unused here)
-INTEGER :: IRESP
+INTEGER :: IRESP,IRESP2
 INTEGER :: IMASDEV,IBUGFIX
 INTEGER,DIMENSION(3)    :: IMNHVERSION
 CHARACTER(LEN=12)       :: YMNHVERSION_FILE,YMNHVERSION_CURR
@@ -171,8 +170,7 @@ CALL IO_FILE_FIND_BYNAME(TRIM(TPFILE%CNAME),TZFILE_DUMMY,IRESP)
 IF (IRESP/=0) CALL PRINT_MSG(NVERB_ERROR,'IO','IO_FILE_OPEN_ll','file '//TRIM(TPFILE%CNAME)//' not in filelist')
 !
 IF (TRIM(TPFILE%CTYPE)/='OUTPUTLISTING') THEN
-  CALL FMOPEN_ll(TPFILE%CNAME,TPFILE%CMODE,TPFILE%NLFINPRAR,TPFILE%NLFITYPE,TPFILE%NLFIVERB,ININAR,KRESP,&
-                TPFILE=TPFILE,OPARALLELIO=OPARALLELIO)
+  CALL FMOPEN_ll(TPFILE,IRESP,OPARALLELIO=OPARALLELIO)
   !
   TZFDLFI=>GETFD(ADJUSTL(TRIM(TPFILE%CNAME)//'.lfi'))
   !TZFDLFI%CDF exists only if ISP == TZFDLFI%OWNER
@@ -210,12 +208,12 @@ IF (TRIM(TPFILE%CTYPE)/='OUTPUTLISTING') THEN
     TZFIELD%NGRID      = 0
     TZFIELD%NTYPE      = TYPEINT
     TZFIELD%NDIMS      = 1
-    CALL IO_READ_FIELD(TPFILE,TZFIELD,IMNHVERSION,IRESP)
-    IF (IRESP/=0) THEN
+    CALL IO_READ_FIELD(TPFILE,TZFIELD,IMNHVERSION,IRESP2)
+    IF (IRESP2/=0) THEN
       TZFIELD%CMNHNAME   = 'MASDEV'
       TZFIELD%CLONGNAME  = 'MesoNH version (without bugfix)'
-      CALL IO_READ_FIELD(TPFILE,TZFIELD,IMASDEV,IRESP)
-      IF (IRESP/=0) THEN
+      CALL IO_READ_FIELD(TPFILE,TZFIELD,IMASDEV,IRESP2)
+      IF (IRESP2/=0) THEN
         CALL PRINT_MSG(NVERB_WARNING,'IO','IO_FILE_OPEN_ll','unknown MASDEV version for '//TRIM(TPFILE%CNAME))
       ELSE
         IMNHVERSION(1)=IMASDEV/10
@@ -224,8 +222,8 @@ IF (TRIM(TPFILE%CTYPE)/='OUTPUTLISTING') THEN
       !
       TZFIELD%CMNHNAME   = 'BUGFIX'
       TZFIELD%CLONGNAME  = 'MesoNH bugfix number'
-      CALL IO_READ_FIELD(TPFILE,TZFIELD,IBUGFIX,IRESP)
-      IF (IRESP/=0) THEN
+      CALL IO_READ_FIELD(TPFILE,TZFIELD,IBUGFIX,IRESP2)
+      IF (IRESP2/=0) THEN
         CALL PRINT_MSG(NVERB_WARNING,'IO','IO_FILE_OPEN_ll','unknown BUGFIX version for '//TRIM(TPFILE%CNAME))
       ELSE
         IMNHVERSION(3)=IBUGFIX
@@ -259,16 +257,16 @@ ELSE
   !OUTPUTLISTING files
   CALL OPEN_ll(UNIT=TPFILE%NLU,FILE=TPFILE%CNAME,IOSTAT=IRESP,FORM='FORMATTED', &
                ACTION=TPFILE%CMODE,MODE='GLOBAL')
-  IF (PRESENT(KRESP)) KRESP = IRESP
 END IF
 !
 TPFILE%LOPENED = .TRUE.
 TPFILE%NOPEN   = TPFILE%NOPEN + 1
 !
+IF (PRESENT(KRESP)) KRESP = IRESP
+!
 END SUBROUTINE IO_FILE_OPEN_ll
 
-SUBROUTINE FMOPEN_ll(HFILEM,HACTION,KNPRAR,KFTYPE,KVERB,KNINAR&
-     & ,KRESP,OPARALLELIO,TPFILE)
+SUBROUTINE FMOPEN_ll(TPFILE,KRESP,OPARALLELIO)
 USE MODD_IO_ll, ONLY : ISP,ISTDOUT,LFIPARAM,LIOCDF4,LLFIOUT,LLFIREAD,TFILEDATA
 USE MODE_FD_ll, ONLY : FD_ll,GETFD,JPFINL
 USE MODE_IO_ll, ONLY : OPEN_ll,GCONFIO
@@ -279,24 +277,16 @@ USE MODD_CONFZ,ONLY  : NB_PROCIO_R,NB_PROCIO_W
 USE MODD_NETCDF, ONLY:IDCDF_KIND
 USE MODE_NETCDF
 #endif
-CHARACTER(LEN=*),INTENT(IN) ::HFILEM  ! name of the file.
-CHARACTER(LEN=*),INTENT(IN) ::HACTION ! Action upon the file
-! 'READ' or 'WRITE'
-INTEGER,         INTENT(IN) ::KNPRAR  ! number of predicted
-! articles  (not vital).
-INTEGER,         INTENT(IN) ::KFTYPE  ! type of FM-file.
-INTEGER,         INTENT(IN) ::KVERB   ! level of verbose.
-INTEGER,         INTENT(OUT)::KNINAR  ! number of articles
-! initially
-! present in the file.
-INTEGER,         INTENT(OUT), OPTIONAL :: KRESP ! return-code if a problem
-! araised.
+TYPE(TFILEDATA), INTENT(INOUT) :: TPFILE ! File structure
+INTEGER,         INTENT(OUT)   :: KRESP  ! return-code
 LOGICAL,         INTENT(IN),  OPTIONAL :: OPARALLELIO
-TYPE(TFILEDATA), INTENT(INOUT), OPTIONAL :: TPFILE ! File structure
 !
-!   Local variable
+!   Local variables
 !
+INTEGER                 :: IFTYPE  ! type of FM-file
 INTEGER                 :: IROWF,IRESP,INUMBR,IFMFNL
+CHARACTER(LEN=7)        :: YACTION ! Action upon the file ('READ' or 'WRITE')
+CHARACTER(LEN=28)       :: YFILEM  ! name of the file
 CHARACTER(LEN=JPFINL)   :: YFNDES,YFNLFI
 CHARACTER(LEN=8)        :: YRESP
 LOGICAL                 :: GSTATS
@@ -307,7 +297,8 @@ INTEGER :: IERR
 TYPE(FD_ll), POINTER    :: TZFDLFI
 !JUAN
 INTEGER(KIND=LFI_INT) :: IRESOU,INUMBR8
-INTEGER(KIND=LFI_INT) :: IMELEV,INPRAR, ININAR8
+INTEGER(KIND=LFI_INT) :: IMELEV,INPRAR
+INTEGER(KIND=LFI_INT) :: ININAR ! Number of articles present in LFI file (unused here)
 LOGICAL               :: GNAMFI8,GFATER8,GSTATS8
 INTEGER               :: INB_PROCIO
 !JUAN
@@ -317,13 +308,12 @@ INTEGER(KIND=IDCDF_KIND) :: INCERR
 #endif
 CHARACTER(LEN=13) :: YTYPE
 
-CALL PRINT_MSG(NVERB_DEBUG,'IO','FMOPEN_ll','opening '//TRIM(HFILEM)//' for '//TRIM(HACTION))
+YACTION = TPFILE%CMODE
+YFILEM  = TPFILE%CNAME
 
-IF ( PRESENT(TPFILE) ) THEN
-  YTYPE = TPFILE%CTYPE
-ELSE
-  YTYPE = 'UNKNOWN'
-ENDIF
+CALL PRINT_MSG(NVERB_DEBUG,'IO','FMOPEN_ll','opening '//TRIM(YFILEM)//' for '//TRIM(YACTION))
+
+YTYPE   = TPFILE%CTYPE
 
 IF ( PRESENT(OPARALLELIO) ) THEN
   GPARALLELIO = OPARALLELIO
@@ -337,12 +327,11 @@ IF (.NOT. GCONFIO) THEN
    STOP
 END IF
 
-INPRAR = KNPRAR+0 
-KNINAR = 0
+INPRAR = TPFILE%NLFINPRAR
 IROWF  = 0
 IRESP  = 0
 
-SELECT CASE (KVERB)
+SELECT CASE (TPFILE%NLFIVERB)
 CASE(:2)
   GSTATS = .FALSE.
   IMELEV=0
@@ -358,7 +347,7 @@ CASE(10:)
 END SELECT
 
 IFMFNL=JPFINL-4
-IROWF=LEN_TRIM(HFILEM)
+IROWF=LEN_TRIM(YFILEM)
 
 IF (IROWF.EQ.0) THEN
   IRESP=-45
@@ -370,30 +359,30 @@ ENDIF
 
 !Do not open '.des' file if OUTPUT
 IF(YTYPE/='OUTPUT') THEN
-  CALL PRINT_MSG(NVERB_DEBUG,'IO','FMOPEN_ll','OPEN_ll for '//TRIM(HFILEM)//'.des')
-  YFNDES=ADJUSTL(TRIM(HFILEM)//'.des')
-  CALL OPEN_ll(UNIT=INUMBR,FILE=YFNDES,FORM='FORMATTED',ACTION=HACTION,DELIM&
+  CALL PRINT_MSG(NVERB_DEBUG,'IO','FMOPEN_ll','OPEN_ll for '//TRIM(YFILEM)//'.des')
+  YFNDES=ADJUSTL(TRIM(YFILEM)//'.des')
+  CALL OPEN_ll(UNIT=INUMBR,FILE=YFNDES,FORM='FORMATTED',ACTION=YACTION,DELIM&
        & ='QUOTE',IOSTAT=IRESP,RECL=1024*8,OPARALLELIO=GPARALLELIO)
 ENDIF
 
 IF (IRESP /= 0) GOTO 1000
 
 
-YFNLFI=ADJUSTL(TRIM(HFILEM)//'.lfi')
+YFNLFI=ADJUSTL(TRIM(YFILEM)//'.lfi')
 ALLOCATE(TZPARA)
-TZPARA%FITYP = KFTYPE
+TZPARA%FITYP = TPFILE%NLFITYPE
 
 !!$CALL OPEN_ll(UNIT=INUMBR,FILE=YFNLFI,STATUS="UNKNOWN",MODE&
-!!$     & ='DISTRIBUTED', LFIPAR=TZPARA, ACTION=HACTION, IOSTAT=IRESP)
+!!$     & ='DISTRIBUTED', LFIPAR=TZPARA, ACTION=YACTION, IOSTAT=IRESP)
 
- SELECT CASE (HACTION)
+ SELECT CASE (YACTION)
  CASE('READ')
     INB_PROCIO = NB_PROCIO_R
  CASE('WRITE')
     INB_PROCIO = NB_PROCIO_W
  END SELECT
-CALL OPEN_ll(UNIT=INUMBR,FILE=HFILEM,STATUS="UNKNOWN",MODE&
-     & ='IO_ZSPLIT', LFIPAR=TZPARA, ACTION=HACTION, IOSTAT=IRESP,KNB_PROCIO=INB_PROCIO,KMELEV=IMELEV,OPARALLELIO=GPARALLELIO,&
+CALL OPEN_ll(UNIT=INUMBR,FILE=YFILEM,STATUS="UNKNOWN",MODE&
+     & ='IO_ZSPLIT', LFIPAR=TZPARA, ACTION=YACTION, IOSTAT=IRESP,KNB_PROCIO=INB_PROCIO,KMELEV=IMELEV,OPARALLELIO=GPARALLELIO,&
      TPFILE=TPFILE)
 
 IF (IRESP /= 0) GOTO 1000
@@ -408,35 +397,34 @@ IF (ISP == TZFDLFI%OWNER) THEN
 
 #if defined(MNH_IOCDF4)
   IF (LIOCDF4) THEN
-     IF (HACTION == 'READ' .AND. .NOT. LLFIREAD) THEN
+     IF (YACTION == 'READ' .AND. .NOT. LLFIREAD) THEN
         !! Open NetCDF File for reading
         TZFDLFI%CDF => NEWIOCDF()
-        CALL PRINT_MSG(NVERB_DEBUG,'IO','FMOPEN_ll','NF90_OPEN for '//TRIM(HFILEM)//'.nc')
-        INCERR = NF90_OPEN(ADJUSTL(TRIM(HFILEM))//".nc", NF90_NOWRITE, TZFDLFI%CDF%NCID)
+        CALL PRINT_MSG(NVERB_DEBUG,'IO','FMOPEN_ll','NF90_OPEN for '//TRIM(YFILEM)//'.nc')
+        INCERR = NF90_OPEN(ADJUSTL(TRIM(YFILEM))//".nc", NF90_NOWRITE, TZFDLFI%CDF%NCID)
         IF (INCERR /= NF90_NOERR) THEN
            !PRINT *, 'FMOPEN_ll, NF90_OPEN error : ', NF90_STRERROR(INCERR)
-           PRINT *, 'Error in opening (FMOPEN_ll/NF90_OPEN) ', TRIM(HFILEM)//'.nc', ' : ', NF90_STRERROR(INCERR)
+           PRINT *, 'Error in opening (FMOPEN_ll/NF90_OPEN) ', TRIM(YFILEM)//'.nc', ' : ', NF90_STRERROR(INCERR)
            STOP
         END IF
      END IF
      
-     IF (HACTION == 'WRITE') THEN
-        ! HACTION == 'WRITE'
+     IF (YACTION == 'WRITE') THEN
         TZFDLFI%CDF => NEWIOCDF()
-        CALL PRINT_MSG(NVERB_DEBUG,'IO','FMOPEN_ll','NF90_CREATE for '//TRIM(HFILEM)//'.nc')
-        INCERR = NF90_CREATE(ADJUSTL(TRIM(HFILEM))//".nc", &
+        CALL PRINT_MSG(NVERB_DEBUG,'IO','FMOPEN_ll','NF90_CREATE for '//TRIM(YFILEM)//'.nc')
+        INCERR = NF90_CREATE(ADJUSTL(TRIM(YFILEM))//".nc", &
              &IOR(NF90_CLOBBER,NF90_NETCDF4), TZFDLFI%CDF%NCID)
         IF (INCERR /= NF90_NOERR) THEN
            !PRINT *, 'FMOPEN_ll, NF90_CREATE error : ', NF90_STRERROR(INCERR)
-           PRINT *, 'Error in opening (FMOPEN_ll/NF90_CREATE) ', TRIM(HFILEM)//'.nc', ' : ', NF90_STRERROR(INCERR)
+           PRINT *, 'Error in opening (FMOPEN_ll/NF90_CREATE) ', TRIM(YFILEM)//'.nc', ' : ', NF90_STRERROR(INCERR)
            STOP
         END IF
      END IF
   END IF
 #endif
   
-  IF (.NOT. LIOCDF4 .OR. (HACTION=='WRITE' .AND. LLFIOUT) &
-       &            .OR. (HACTION=='READ'  .AND. LLFIREAD)) THEN
+  IF (.NOT. LIOCDF4 .OR. (YACTION=='WRITE' .AND. LLFIOUT) &
+       &            .OR. (YACTION=='READ'  .AND. LLFIREAD)) THEN
      ! LFI Case
      IRESOU = 0
      GNAMFI = .TRUE.
@@ -456,8 +444,7 @@ IF (ISP == TZFDLFI%OWNER) THEN
           GSTATS8,           &
           IMELEV,            &
           INPRAR,            &
-          ININAR8)
-     KNINAR = ININAR8
+          ININAR)
      
 !!$     IF (IRESOU /= 0 .AND. IRESOU /= -11) THEN
   IF (IRESOU /= 0 ) THEN
@@ -469,7 +456,7 @@ IF (ISP == TZFDLFI%OWNER) THEN
   !*      6.    TEST IF FILE IS NEWLY DEFINED
   !
   
-  GNEWFI=(KNINAR==0).OR.(IMELEV<2)
+  GNEWFI=(ININAR==0).OR.(IMELEV<2)
   IF (.NOT.GNEWFI) THEN
     WRITE (ISTDOUT,*) ' file ',YFNLFI,' previously&
          & created with LFI'
@@ -480,20 +467,16 @@ CALL MPI_BCAST(IRESP,1,MPI_INTEGER,TZFDLFI%OWNER-1,TZFDLFI%COMM&
      & ,IERR)
 IF (IRESP /= 0) GOTO 1000
 
-! Broadcast KNINAR
-CALL MPI_BCAST(KNINAR,1,MPI_INTEGER,TZFDLFI%OWNER-1,TZFDLFI%COMM,IERR)
-
 
 1000 CONTINUE
 
 IF (IRESP.NE.0)  THEN
   WRITE(YRESP,"( I0 )") IRESP
-  CALL PRINT_MSG(NVERB_ERROR,'IO','FMOPEN_ll',TRIM(HFILEM)//': exit with IRESP='//TRIM(YRESP))
+  CALL PRINT_MSG(NVERB_ERROR,'IO','FMOPEN_ll',TRIM(YFILEM)//': exit with IRESP='//TRIM(YRESP))
 END IF
 
-IF (PRESENT(KRESP)) KRESP=IRESP
+KRESP=IRESP
 
-RETURN
 END SUBROUTINE FMOPEN_ll
   
 SUBROUTINE IO_FILE_CLOSE_ll(TPFILE,KRESP,OPARALLELIO)
@@ -532,11 +515,7 @@ IF (TRIM(TPFILE%CTYPE)/='OUTPUTLISTING') THEN
   TZFDLFI=>GETFD(ADJUSTL(TRIM(TPFILE%CNAME)//'.lfi'))
   INB_PROCIO=TZFDLFI%NB_PROCIO
   !
-  IF (.NOT.PRESENT(OPARALLELIO)) THEN 
-    CALL FMCLOS_ll(TPFILE%CNAME,'KEEP',KRESP=IRESP,TPFILE=TPFILE)
-  ELSE
-    CALL FMCLOS_ll(TPFILE%CNAME,'KEEP',KRESP=IRESP,OPARALLELIO=OPARALLELIO,TPFILE=TPFILE)
-  END IF
+  CALL FMCLOS_ll(TPFILE,'KEEP',KRESP=IRESP,OPARALLELIO=OPARALLELIO)
   !
   TPFILE%NLFIFLU = -1
   TPFILE%NNCID   = -1
@@ -570,7 +549,7 @@ IF (PRESENT(KRESP)) KRESP=IRESP
 !
 END SUBROUTINE IO_FILE_CLOSE_ll
 
-SUBROUTINE FMCLOS_ll(HFILEM,HSTATU,KRESP,OPARALLELIO,TPFILE)
+SUBROUTINE FMCLOS_ll(TPFILE,HSTATU,KRESP,OPARALLELIO)
 !
 !!    MODIFICATIONS
 !!    -------------
@@ -587,13 +566,13 @@ USE MODI_SYSTEM_MNH
 #if defined(MNH_IOCDF4)
 USE MODE_NETCDF
 #endif
-CHARACTER(LEN=*),     INTENT(IN) ::HFILEM  ! file name
-CHARACTER(LEN=*),     INTENT(IN) ::HSTATU  ! status for the closed file
+TYPE(TFILEDATA),      INTENT(IN) :: TPFILE ! File structure
+CHARACTER(LEN=*),     INTENT(IN) :: HSTATU ! status for the closed file
 INTEGER,              INTENT(OUT), OPTIONAL :: KRESP   ! return-code if problems araised
 LOGICAL,              INTENT(IN),  OPTIONAL :: OPARALLELIO
-TYPE(TFILEDATA),      INTENT(IN),  OPTIONAL :: TPFILE ! File structure
 
 INTEGER              ::IRESP,IROWF,IFMFNL
+CHARACTER(LEN=28)    :: YFILEM  ! name of the file
 CHARACTER(LEN=7)     ::YSTATU
 CHARACTER(LEN=JPFINL)::YFNDES,YFNLFI
 LOGICAL              ::GSTATU
@@ -610,13 +589,11 @@ INTEGER(KIND=LFI_INT) :: IRESP8,INUM8
 LOGICAL :: GPARALLELIO
 CHARACTER(LEN=13) :: YTYPE
 
-CALL PRINT_MSG(NVERB_DEBUG,'IO','FMCLOS_ll','closing '//TRIM(HFILEM))
+YFILEM  = TPFILE%CNAME
 
-IF ( PRESENT(TPFILE) ) THEN
-  YTYPE = TPFILE%CTYPE
-ELSE
-  YTYPE = 'UNKNOWN'
-ENDIF
+CALL PRINT_MSG(NVERB_DEBUG,'IO','FMCLOS_ll','closing '//TRIM(YFILEM))
+
+YTYPE = TPFILE%CTYPE
 
 IF ( PRESENT(OPARALLELIO) ) THEN
   GPARALLELIO = OPARALLELIO
@@ -629,7 +606,7 @@ IROWF  = 0
 
 IFMFNL=JPFINL-4
 
-IROWF=LEN_TRIM(HFILEM)
+IROWF=LEN_TRIM(YFILEM)
 
 IF (IROWF.EQ.0) THEN
   IRESP=-59
@@ -653,13 +630,13 @@ ENDIF
 
 !Do not close (non-existing) '.des' file if OUTPUT
 IF(YTYPE/='OUTPUT') THEN
-  YFNDES=ADJUSTL(TRIM(HFILEM)//'.des')
+  YFNDES=ADJUSTL(TRIM(YFILEM)//'.des')
   CALL CLOSE_ll(YFNDES,IOSTAT=IRESP,STATUS=YSTATU)
 ENDIF
 
 IF (IRESP /= 0) GOTO 1000
 
-YFNLFI=ADJUSTL(TRIM(HFILEM)//'.lfi')
+YFNLFI=ADJUSTL(TRIM(YFILEM)//'.lfi')
 
 TZFDLFI=>GETFD(YFNLFI)
 
@@ -690,20 +667,20 @@ IF (ISP == TZFDLFI%OWNER) THEN
     CASE(1)
       YCPIO='MESONH'
     CASE(2)
-      PRINT *,'FILE ',HFILEM,' NOT TRANSFERED'
+      PRINT *,'FILE ',YFILEM,' NOT TRANSFERED'
       GOTO 500
     CASE(3:)
       IRESP=-66
       GOTO 500
     END SELECT
-!   WRITE (YCOMMAND,*) YTRANS,' ',YCPIO,' ',HFILEM
+!   WRITE (YCOMMAND,*) YTRANS,' ',YCPIO,' ',YFILEM
 #if defined(MNH_LINUX) || defined(MNH_VPP) || defined(MNH_SX5) ||  defined(MNH_SP4)
     ICPT=ICPT+1
-    WRITE (YCOMMAND,'(A," ",A," ",A," >> OUTPUT_TRANSFER",I3.3,"  2>&1 &")') TRIM(YTRANS),TRIM(YCPIO),TRIM(HFILEM),ICPT
-!JUAN jusqu'a MASDEV4_4    WRITE (YCOMMAND,'(A," ",A," ",A,"  ")') TRIM(YTRANS),TRIM(YCPIO),TRIM(HFILEM)
+    WRITE (YCOMMAND,'(A," ",A," ",A," >> OUTPUT_TRANSFER",I3.3,"  2>&1 &")') TRIM(YTRANS),TRIM(YCPIO),TRIM(YFILEM),ICPT
+!JUAN jusqu'a MASDEV4_4    WRITE (YCOMMAND,'(A," ",A," ",A,"  ")') TRIM(YTRANS),TRIM(YCPIO),TRIM(YFILEM)
 #endif
 #if defined(MNH_SGI)
-    WRITE (YCOMMAND,'(A," ",A," ",A," &")') TRIM(YTRANS),TRIM(YCPIO),TRIM(HFILEM)
+    WRITE (YCOMMAND,'(A," ",A," ",A," &")') TRIM(YTRANS),TRIM(YCPIO),TRIM(YFILEM)
 #endif
 
     PRINT *,'YCOMMAND =',YCOMMAND
@@ -724,7 +701,7 @@ CALL CLOSE_ll(YFNLFI,IOSTAT=IRESP,STATUS=YSTATU,OPARALLELIO=GPARALLELIO)
 
 IF (IRESP.NE.0)  THEN
   WRITE(YRESP,"( I0 )") IRESP
-  CALL PRINT_MSG(NVERB_ERROR,'IO','FMCLOS_ll',TRIM(HFILEM)//': exit with IRESP='//TRIM(YRESP))
+  CALL PRINT_MSG(NVERB_ERROR,'IO','FMCLOS_ll',TRIM(YFILEM)//': exit with IRESP='//TRIM(YRESP))
 END IF
 
 IF (PRESENT(KRESP)) KRESP=IRESP
diff --git a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90
index 221e354a75b663644ae491e9af244a72ddaa6105..43d788f4481ff0827e519a72112e8c23c1e70a42 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90
@@ -581,7 +581,7 @@ TYPE(TFILEDATA),POINTER,         INTENT(INOUT) :: TPFILE    !File structure to r
 CHARACTER(LEN=*),                INTENT(IN)    :: HNAME     !Filename
 CHARACTER(LEN=*),                INTENT(IN)    :: HTYPE     !Filetype (backup, output, prepidealcase...)
 CHARACTER(LEN=*),                INTENT(IN)    :: HMODE     !Opening mode (read, write...)
-INTEGER,                OPTIONAL,INTENT(IN)    :: KLFINPRAR !Number of predicted articles of the LFI file (non crucial)
+INTEGER(KIND=LFI_INT),  OPTIONAL,INTENT(IN)    :: KLFINPRAR !Number of predicted articles of the LFI file (non crucial)
 INTEGER,                OPTIONAL,INTENT(IN)    :: KLFITYPE  !Type of the file (used to generate list of files to transfers)
 INTEGER,                OPTIONAL,INTENT(IN)    :: KLFIVERB  !LFI verbosity level
 TYPE(TFILEDATA),POINTER,OPTIONAL,INTENT(IN)    :: TPDADFILE !Corresponding dad file
@@ -590,7 +590,7 @@ LOGICAL,                OPTIONAL,INTENT(IN)    :: OOLD      !FALSE if new file (
                                                             !     (add it only if not yet present)
 !
 INTEGER :: IMI,IRESP
-INTEGER :: ILFINPRAR
+INTEGER(KIND=LFI_INT) :: ILFINPRAR
 INTEGER :: ILFITYPE
 INTEGER :: ILFIVERB
 LOGICAL :: GOLD
diff --git a/src/MNH/compare_dad.f90 b/src/MNH/compare_dad.f90
index 0843a172ecfa4f4ac2b5a91f2114f938bb451051..253c91ada8c1626b851c1972c90fe4ab84ece38d 100644
--- a/src/MNH/compare_dad.f90
+++ b/src/MNH/compare_dad.f90
@@ -141,7 +141,7 @@ ZLATORI_2=0.
 !*   2.    Read DAD of initial file
 !          ------------------------
 !
-CALL IO_FILE_ADD2LIST(TZDADINIFILE,TRIM(HDADINIFILE),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=NVERB)
+CALL IO_FILE_ADD2LIST(TZDADINIFILE,TRIM(HDADINIFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB)
 CALL IO_FILE_OPEN_ll(TZDADINIFILE)
 !
 CALL IO_READ_FIELD(TZDADINIFILE,'IMAX',IIMAX_1)
@@ -198,7 +198,7 @@ CALL IO_FILE_CLOSE_ll(TZDADINIFILE)
 !*   3.    Read DAD of spawning file 
 !          ------------------------
 !
-CALL IO_FILE_ADD2LIST(TZDADSPAFILE,TRIM(HDADSPAFILE),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=NVERB)
+CALL IO_FILE_ADD2LIST(TZDADSPAFILE,TRIM(HDADSPAFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB)
 CALL IO_FILE_OPEN_ll(TZDADSPAFILE)
 !
 CALL IO_READ_FIELD(TZDADSPAFILE,'IMAX',IIMAX_2)
diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90
index 81ce1104a4e0861c6b079985900ded879c2912e4..77f2a42d63db8743b81a93c2964964888deb10fc 100644
--- a/src/MNH/diag.f90
+++ b/src/MNH/diag.f90
@@ -184,8 +184,7 @@ INTEGER  :: ILUOUT0             ! Logical unit number for the output listing
 REAL*8,DIMENSION(2)     :: ZTIME0,ZTIME1,ZTIME2,ZRAD,ZDCONV,ZSHADOWS,ZGROUND, &
                          ZTRACER,ZDRAG,ZTURB,ZMAFL,ZCHEM,ZTIME_BU ! CPU time 
 REAL*8,DIMENSION(2)     :: ZSTART,ZINIT,ZWRIT,ZBALL,ZPHYS,ZSURF,ZWRITS,ZTRAJ ! storing variables
-INTEGER :: INPRAR               ! number of articles predicted  in
-                                !  the LFIFM file
+INTEGER(KIND=LFI_INT) :: INPRAR ! number of articles predicted  in the LFIFM file
 LOGICAL :: GCLOSE_OUT = .FALSE. ! conditional closure of the OUTPUT FM-file
 INTEGER :: ISTEPBAL   ! loop indice for balloons and aircraft
 INTEGER :: ILUNAM      ! Logical unit numbers for the namelist file
diff --git a/src/MNH/ini_cpl.f90 b/src/MNH/ini_cpl.f90
index 57b35173bdf5335ad97ef4366805947d9cd2521a..061adfd1c7f88b8907a4b6a8675e0cc92c6420c0 100644
--- a/src/MNH/ini_cpl.f90
+++ b/src/MNH/ini_cpl.f90
@@ -350,7 +350,7 @@ CALL FMLOOK_ll(HLUOUT,HLUOUT,ILUOUT,IRESP)
 !
 DO JCI=1,NCPL_NBR
   WRITE(YCI,'(I2.0)') JCI
-  CALL IO_FILE_ADD2LIST(TCPLFILE(JCI)%TZFILE,CCPLFILE(JCI),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=NVERB)
+  CALL IO_FILE_ADD2LIST(TCPLFILE(JCI)%TZFILE,CCPLFILE(JCI),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB)
   CALL IO_FILE_OPEN_ll(TCPLFILE(JCI)%TZFILE,KRESP=IRESP)
   IF (IRESP /= 0) THEN
     CALL PRINT_MSG(NVERB_FATAL,'IO','INI_CPL','problem when opening coupling file '//TRIM(YCI))
diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90
index 51d4954559021873053a73ca86c8090a471d0bd7..7b097121f86ba66d6a1052b004e0b68e6fe1041e 100644
--- a/src/MNH/ini_modeln.f90
+++ b/src/MNH/ini_modeln.f90
@@ -1531,8 +1531,8 @@ IF (KMI == 1) THEN
   DO IMI = 1 , NMODEL
     WRITE(IO_SURF_MNH_MODEL(IMI)%COUTFILE,'(A,".",I1,".",A)') CEXP,IMI,TRIM(ADJUSTL(CSEG))
     WRITE(YNAME, '(A,".",I1,".",A)') CEXP,IMI,TRIM(ADJUSTL(CSEG))//'.000'
-    CALL IO_FILE_ADD2LIST(LUNIT_MODEL(IMI)%TDIAFILE,YNAME,'DIACHRONIC','WRITE', &
-                          KLFINPRAR=50,KLFITYPE=1,KLFIVERB=NVERB,               &
+    CALL IO_FILE_ADD2LIST(LUNIT_MODEL(IMI)%TDIAFILE,YNAME,'DIACHRONIC','WRITE',     &
+                          KLFINPRAR=INT(50,KIND=LFI_INT),KLFITYPE=1,KLFIVERB=NVERB, &
                           TPDADFILE=LUNIT_MODEL(NDAD(IMI))%TDIAFILE )
   END DO
   !
diff --git a/src/MNH/ini_prog_var.f90 b/src/MNH/ini_prog_var.f90
index 1b26369bdcac73d5369a950f7245bea1bc0a6dc0..b8c91e3b505f22cde6e650b44752ef39c9a229af 100644
--- a/src/MNH/ini_prog_var.f90
+++ b/src/MNH/ini_prog_var.f90
@@ -219,7 +219,7 @@ ALLOCATE(XSVT(0,0,0,0))
 IF(PRESENT(HCHEMFILE)) THEN
   WRITE(ILUOUT,*) 'Routine INI_PROG_VAR: CHEMical species read in ',TRIM(HCHEMFILE)
   ! Read dimensions in chem file and checks with output file
-  CALL IO_FILE_ADD2LIST(TZCHEMFILE,TRIM(HCHEMFILE),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=NVERB)
+  CALL IO_FILE_ADD2LIST(TZCHEMFILE,TRIM(HCHEMFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB)
   CALL IO_FILE_OPEN_ll(TZCHEMFILE)
   !
   CALL IO_READ_FIELD(TZCHEMFILE,'IMAX',IIMAX,IRESP)
diff --git a/src/MNH/ini_segn.f90 b/src/MNH/ini_segn.f90
index 894575937fb7c6b4b6227926749ab64ab5aaa9d0..042e91eb741c8014e0a98752465dab47a5efefa3 100644
--- a/src/MNH/ini_segn.f90
+++ b/src/MNH/ini_segn.f90
@@ -181,7 +181,6 @@ USE MODD_PARAM_n, ONLY : CSURF
 USE MODD_PARAMETERS
 USE MODD_REF,   ONLY : LBOUSS
 !
-USE MODE_FD_ll, ONLY : GETFD,FD_LL
 USE MODE_FIELD
 USE MODE_FMREAD
 USE MODE_FM
@@ -254,7 +253,6 @@ CHARACTER (LEN=4)  :: YSCONV
 CHARACTER (LEN=4)  :: YCLOUD
 CHARACTER (LEN=4)  :: YELEC
 CHARACTER (LEN=3)  :: YEQNSYS
-TYPE(FD_ll), POINTER         :: TZFD
 !
 TPINIFILE => NULL()
 !-------------------------------------------------------------------------------
@@ -289,7 +287,7 @@ ELSE IF (CPROGRAM=='SPAWN ' .OR. CPROGRAM=='REAL  '.OR. CPROGRAM=='SPEC  ') THEN
   YINIFILE    = CINIFILE_n
   HINIFILEPGD = CINIFILEPGD_n
   YEXSEG=TRIM(ADJUSTL(CINIFILE_n))//'.des'
-  CALL IO_FILE_ADD2LIST(TPINIFILE,TRIM(YINIFILE),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=NVERB)
+  CALL IO_FILE_ADD2LIST(TPINIFILE,TRIM(YINIFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB)
   CALL IO_FILE_OPEN_ll(TPINIFILE)
   CALL FMLOOK_ll(YEXSEG,CLUOUT0,ILUSEG,IRESP)
 !
@@ -299,7 +297,7 @@ ELSE IF (CPROGRAM=='DIAG  ') THEN
   YINIFILE    = CINIFILE_n
   HINIFILEPGD = CINIFILEPGD_n
   YEXSEG=TRIM(ADJUSTL(CINIFILE_n))//'.des'
-  CALL IO_FILE_ADD2LIST(TPINIFILE,TRIM(YINIFILE),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=NVERB)
+  CALL IO_FILE_ADD2LIST(TPINIFILE,TRIM(YINIFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB)
   CALL IO_FILE_OPEN_ll(TPINIFILE)
   CALL FMLOOK_ll(YEXSEG,CLUOUT0,ILUSEG,IRESP)
 !   
@@ -345,7 +343,7 @@ IF (CPROGRAM=='MESONH') THEN
   HINIFILEPGD=CINIFILEPGD_n
   YINIFILE=CINIFILE_n
 
-  CALL IO_FILE_ADD2LIST(TPINIFILE,TRIM(YINIFILE),'PREPIDEALCASE','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=NVERB)
+  CALL IO_FILE_ADD2LIST(TPINIFILE,TRIM(YINIFILE),'PREPIDEALCASE','READ',KLFITYPE=2,KLFIVERB=NVERB)
   TINIFILE_n => TPINIFILE !Necessary because TINIFILE was initially pointing to NULL
   CALL IO_FILE_OPEN_ll(TPINIFILE)
 END IF
diff --git a/src/MNH/ini_size_spawn.f90 b/src/MNH/ini_size_spawn.f90
index 0f05423ae748094d4a92a75318572d1d1a1764b3..2e0f50eeaebac1044071cd2fb58fe7049170125a 100644
--- a/src/MNH/ini_size_spawn.f90
+++ b/src/MNH/ini_size_spawn.f90
@@ -230,7 +230,7 @@ IF (LEN_TRIM(CDOMAIN)>0) THEN
 ! initialize grid2 dims, xor, xend and ratio so to initialize in INI_CHILD 
 ! structures TCRRT_COMDATA%T_CHILDREN%T_SPLITB and TCRRT_PROCONF%T_CHILDREN
 !$20140602 add condition on npproc
-  CALL IO_FILE_ADD2LIST(TZDOMAIN,TRIM(CDOMAIN),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=NVERB)
+  CALL IO_FILE_ADD2LIST(TZDOMAIN,TRIM(CDOMAIN),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB)
   CALL IO_FILE_OPEN_ll(TZDOMAIN,OPARALLELIO=.FALSE.)
   !
   CALL IO_READ_FIELD(TZDOMAIN,'DXRATIO',NDXRATIO)
diff --git a/src/MNH/latlon_to_xy.f90 b/src/MNH/latlon_to_xy.f90
index 6cce16a6d9b178b04c312711d844e01bf40f2514..2f9223c5d24262eaa74c0f1ea72ba101facc358d 100644
--- a/src/MNH/latlon_to_xy.f90
+++ b/src/MNH/latlon_to_xy.f90
@@ -138,7 +138,7 @@ CALL CLOSE_ll('LATLON2XY1.nam',IOSTAT=IRESP)
 !*    1.     Opening of MESONH file
 !            ----------------------
 !
-CALL IO_FILE_ADD2LIST(TZINIFILE,TRIM(YINIFILE),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=2)
+CALL IO_FILE_ADD2LIST(TZINIFILE,TRIM(YINIFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=2)
 CALL IO_FILE_OPEN_ll(TZINIFILE)
 !
 !*    2.     Reading of MESONH file
diff --git a/src/MNH/mnh2lpdm.f90 b/src/MNH/mnh2lpdm.f90
index 23e4ed695f1d364747b83cd969a8acb3cc2716f8..49e7aac215ba5237d813f5ab214eeb6f051252b5 100644
--- a/src/MNH/mnh2lpdm.f90
+++ b/src/MNH/mnh2lpdm.f90
@@ -101,10 +101,10 @@ CALL CLOSE_LL(YFNML,IREP,'KEEP')
 !
 IF (CFMNH(1).NE.'VIDE') THEN
    NBMNH=1
-   CALL IO_FILE_ADD2LIST(TZFMNH(1)%TZFILE,TRIM(CFMNH(1)),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=IVERB)
+   CALL IO_FILE_ADD2LIST(TZFMNH(1)%TZFILE,TRIM(CFMNH(1)),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=IVERB)
    DO WHILE (CFMNH(NBMNH+1).NE.'VIDE')
       NBMNH=NBMNH+1
-      CALL IO_FILE_ADD2LIST(TZFMNH(NBMNH)%TZFILE,TRIM(CFMNH(NBMNH)),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=IVERB)
+      CALL IO_FILE_ADD2LIST(TZFMNH(NBMNH)%TZFILE,TRIM(CFMNH(NBMNH)),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=IVERB)
    END DO
    print *,NBMNH,' fichiers a traiter.'
 ELSE
diff --git a/src/MNH/open_prc_files.f90 b/src/MNH/open_prc_files.f90
index 1f273ab9f57e0d04211212bfd278ebe6a6eda996..61fad6ff4e857a984ea1f8d4af7d1351919a9a42 100644
--- a/src/MNH/open_prc_files.f90
+++ b/src/MNH/open_prc_files.f90
@@ -268,7 +268,7 @@ ELSE
 !*       5.    OPENING THE PHYSIOGRAPHIC DATA FILE
 !              -----------------------------------
 !
-  CALL IO_FILE_ADD2LIST(TPPGDFILE,TRIM(HPGDFILE),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=NVERB)
+  CALL IO_FILE_ADD2LIST(TPPGDFILE,TRIM(HPGDFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=NVERB)
   CALL IO_FILE_OPEN_ll(TPPGDFILE,IRESP,OPARALLELIO=.FALSE.)
   IF (IRESP/=0) THEN
 !callabortstop
diff --git a/src/MNH/prep_ideal_case.f90 b/src/MNH/prep_ideal_case.f90
index 1c5d1045eb25b962c11ce4919903913f30501754..9f1f591105de6660953b72e7908e490c4e3c8c24 100644
--- a/src/MNH/prep_ideal_case.f90
+++ b/src/MNH/prep_ideal_case.f90
@@ -449,8 +449,7 @@ INTEGER :: NLUPRE,NLUOUT           ! Logical unit numbers for EXPRE file
                                    ! and for output_listing file
 INTEGER :: NRESP                   ! return code in FM routines
 INTEGER :: NTYPE                   ! type of file (cpio or not)
-INTEGER :: NNPRAR                  ! number of articles predicted  in
-                                   !  the LFIFM file
+INTEGER(KIND=LFI_INT) :: NNPRAR    ! number of articles predicted in the LFIFM file
 INTEGER :: NNINAR                  ! number of articles  present in
                                    !  the LFIFM file
 LOGICAL :: GFOUND                  ! Return code when searching namelist
diff --git a/src/MNH/prep_pgd.f90 b/src/MNH/prep_pgd.f90
index cb2de5d16ed4deededc196d1f9f704dcac2540fd..cecb9a797f20331a0e98bc1111cc614556a0720c 100644
--- a/src/MNH/prep_pgd.f90
+++ b/src/MNH/prep_pgd.f90
@@ -241,7 +241,7 @@ CALL PGD_SURF_ATM(YSURF_CUR,'MESONH','                            ','      ',.FA
 !*    3.      Writes the physiographic fields
 !             -------------------------------
 !
-CALL IO_FILE_ADD2LIST(TZFILE,CPGDFILE,'PREPPGD','WRITE',KLFINPRAR=1,KLFITYPE=1,KLFIVERB=5)
+CALL IO_FILE_ADD2LIST(TZFILE,CPGDFILE,'PREPPGD','WRITE',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=1,KLFIVERB=5)
 !
 CALL IO_FILE_OPEN_ll(TZFILE,OPARALLELIO=.FALSE.)
 !
diff --git a/src/MNH/prep_real_case.f90 b/src/MNH/prep_real_case.f90
index d145a5c27f4abdb75d762b5f01c7cc75138be897..fb7b02f2c4d429a1418eafc4cfdf86241798b464 100644
--- a/src/MNH/prep_real_case.f90
+++ b/src/MNH/prep_real_case.f90
@@ -585,7 +585,7 @@ TLUOUT => TLUOUT0
 !
 CPGDFILE = YPGDFILE
 !
-CALL IO_FILE_ADD2LIST(TINIFILE,CINIFILE,'PREPREALCASE','WRITE',KLFINPRAR=0,KLFITYPE=1,KLFIVERB=NVERB)
+CALL IO_FILE_ADD2LIST(TINIFILE,CINIFILE,'PREPREALCASE','WRITE',KLFITYPE=1,KLFIVERB=NVERB)
 !
 CALL IO_FILE_OPEN_ll(TINIFILE)
 !
diff --git a/src/MNH/prep_surfex.f90 b/src/MNH/prep_surfex.f90
index 82efabd72f190e3a12655999ab19b855c27eded0..1a7b74c22babd8d89dd626da0eafd1b8dfef9eb3 100644
--- a/src/MNH/prep_surfex.f90
+++ b/src/MNH/prep_surfex.f90
@@ -117,7 +117,7 @@ ILUOUT0 = TLUOUT0%NLU
 !
 CPGDFILE = YPGDFILE
 !
-CALL IO_FILE_ADD2LIST(TZFILE,TRIM(CINIFILE),'PREPSURFEX','WRITE',KLFINPRAR=0,KLFITYPE=1,KLFIVERB=1)
+CALL IO_FILE_ADD2LIST(TZFILE,TRIM(CINIFILE),'PREPSURFEX','WRITE',KLFITYPE=1,KLFIVERB=1)
 !
 CALL IO_FILE_OPEN_ll(TZFILE)
 !
@@ -171,7 +171,7 @@ CALL INI_PARAZ_ll(IINFO_ll)
 !* reading of date
 !
 IF (YATMFILETYPE=='MESONH') THEN
-  CALL IO_FILE_ADD2LIST(TZATMFILE,TRIM(YATMFILE),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=1,KLFIVERB=1)
+  CALL IO_FILE_ADD2LIST(TZATMFILE,TRIM(YATMFILE),'UNKNOWN','READ',KLFITYPE=1,KLFIVERB=1)
   CALL IO_FILE_OPEN_ll(TZATMFILE)
   CALL IO_READ_FIELD(TZATMFILE,'DTCUR',TDTCUR)
   CALL IO_FILE_CLOSE_ll(TZATMFILE)
diff --git a/src/MNH/read_exsegn.f90 b/src/MNH/read_exsegn.f90
index efe465db675c63adff331be0d8006a939b11a317..2a991dc100b4c4c184fbd29f20bf2009304a5705 100644
--- a/src/MNH/read_exsegn.f90
+++ b/src/MNH/read_exsegn.f90
@@ -442,6 +442,8 @@ INTEGER :: IMOMENTS, JMODE, IMODEIDX, JMOM, JSV_NAME, JMOD, I
 !*       1.    READ EXSEG FILE
 !              ---------------
 !
+CALL PRINT_MSG(NVERB_DEBUG,'IO','READ_EXSEG_n','called for '//TRIM(HEXSEG))
+!
 CALL FMLOOK_ll(HEXSEG,HLUOUT,ILUSEG,IRESP)
 CALL FMLOOK_ll(HLUOUT,HLUOUT,ILUOUT,IRESP)
 !
diff --git a/src/MNH/spawn_model2.f90 b/src/MNH/spawn_model2.f90
index afce684f65337541d49d2b12a11abdb9c79b83bc..6ebec55f9287fb0ef7240440006fc87cf6901771 100644
--- a/src/MNH/spawn_model2.f90
+++ b/src/MNH/spawn_model2.f90
@@ -312,7 +312,7 @@ LOGICAL,               INTENT(IN) :: OSPAWN_SURF  ! flag to spawn surface fields
 !
 !
 INTEGER :: ILUOUT   ! Logical unit number for the output listing 
-INTEGER :: INPRAR   ! Number of articles predicted in the LFIFM file
+INTEGER(KIND=LFI_INT) :: INPRAR ! Number of articles predicted in the LFIFM file
 !
 CHARACTER (LEN=32) :: YDESFM          ! Name of the desfm part of the FM-file
 !  
diff --git a/src/MNH/xy_to_latlon.f90 b/src/MNH/xy_to_latlon.f90
index 40ee6f0d282229a0a163e3150d95a04a7c7e4681..0437b2d63cf4ac3ebb223090617fcd9e063361eb 100644
--- a/src/MNH/xy_to_latlon.f90
+++ b/src/MNH/xy_to_latlon.f90
@@ -136,7 +136,7 @@ CALL CLOSE_ll('XY2LATLON1.nam',IOSTAT=IRESP)
 !*    1.     Opening of MESONH file
 !            ----------------------
 !
-CALL IO_FILE_ADD2LIST(TZINIFILE,TRIM(YINIFILE),'UNKNOWN','READ',KLFINPRAR=0,KLFITYPE=2,KLFIVERB=2)
+CALL IO_FILE_ADD2LIST(TZINIFILE,TRIM(YINIFILE),'UNKNOWN','READ',KLFITYPE=2,KLFIVERB=2)
 CALL IO_FILE_OPEN_ll(TZINIFILE)
 !
 !*    2.     Reading of MESONH file
diff --git a/src/MNH/zoom_pgd.f90 b/src/MNH/zoom_pgd.f90
index 12de6215a242a5d7607d0cc1587cddfec1f25737..ce900abf48e76e820a0d3e817429c619fb93a462 100644
--- a/src/MNH/zoom_pgd.f90
+++ b/src/MNH/zoom_pgd.f90
@@ -156,7 +156,7 @@ CALL CLOSE_ll(YNAMELIST,IOSTAT=IRESP)
 !*    2.1     Open PGD file
 !             -------------
 !
-CALL IO_FILE_ADD2LIST(TZPGDFILE,TRIM(CPGDFILE),'UNKNOWN','READ',KLFINPRAR=1,KLFITYPE=2,KLFIVERB=5)
+CALL IO_FILE_ADD2LIST(TZPGDFILE,TRIM(CPGDFILE),'UNKNOWN','READ',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=2,KLFIVERB=5)
 CALL IO_FILE_OPEN_ll(TZPGDFILE)
 !
 !*    2.2     Reading of initial grid
@@ -199,7 +199,7 @@ IF ( (LEN_TRIM(YZOOMFILE) == 0) .OR. (ADJUSTL(YZOOMFILE) == ADJUSTL(CPGDFILE)) )
   YZOOMFILE=ADJUSTL(ADJUSTR(CPGDFILE)//'.z'//ADJUSTL(YZOOMNBR))
 END IF
 !
-CALL IO_FILE_ADD2LIST(TZZOOMFILE,TRIM(YZOOMFILE),'ZOOMPGD','WRITE',KLFINPRAR=1,KLFITYPE=1,KLFIVERB=5)
+CALL IO_FILE_ADD2LIST(TZZOOMFILE,TRIM(YZOOMFILE),'ZOOMPGD','WRITE',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=1,KLFIVERB=5)
 !PW: TODO: points to dad file (if existing) ! TZZOOMFILE%TDADFILE =>
 !
 CALL IO_FILE_OPEN_ll(TZZOOMFILE)