diff --git a/src/LIB/SURCOUCHE/src/mode_io_field_read.f90 b/src/LIB/SURCOUCHE/src/mode_io_field_read.f90
index 47c52b7b5eaca79b144229cea96d2548a36ffcf4..c7a39030555be3f9f1cc8e7167ed2bd4c3b97d18 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_field_read.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_field_read.f90
@@ -365,8 +365,8 @@ LOGICAL                      :: GALLOC
 logical                          :: glfi, gnc4
 INTEGER                      :: IRESP
 INTEGER                      :: IHEXTOT
-REAL(kind=MNHTIME), DIMENSION(2) :: T0, T1, T2
-REAL(kind=MNHTIME), DIMENSION(2) :: T11, T22
+REAL(kind=MNHTIME), DIMENSION(2) :: ZT0, ZT1, ZT2
+REAL(kind=MNHTIME), DIMENSION(2) :: ZT11, ZT22
 type(tfielddata)                 :: tzfield
 #ifdef MNH_GA
 REAL,DIMENSION(:,:),POINTER  :: ZFIELD_GA
@@ -376,7 +376,7 @@ INTEGER                      :: IINFO_ll
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_read_byfield_X2',TRIM(TPFILE%CNAME)//': reading '//TRIM(TPFIELD%CMNHNAME))
 !
-CALL SECOND_MNH2(T11)
+CALL SECOND_MNH2(ZT11)
 GALLOC = .FALSE.
 IRESP = 0
 ZFIELDP => NULL()
@@ -436,7 +436,7 @@ IF (IRESP==0) THEN
       if ( glfi ) call IO_Field_read_lfi( tpfile, tpfield, pfield, iresp )
     end if
   ELSE
-    CALL SECOND_MNH2(T0)
+    CALL SECOND_MNH2(ZT0)
     IF (ISP == TPFILE%NMASTER_RANK)  THEN
       ! I/O process case
       CALL ALLOCBUFFER_ll(ZFIELDP,PFIELD,TPFIELD%CDIR,GALLOC, KIMAX_ll, KJMAX_ll)
@@ -447,8 +447,8 @@ IF (IRESP==0) THEN
       ALLOCATE(ZFIELDP(0,0))
       GALLOC = .TRUE.
     END IF
-    CALL SECOND_MNH2(T1)
-    TIMEZ%T_READ2D_READ=TIMEZ%T_READ2D_READ + T1 - T0
+    CALL SECOND_MNH2(ZT1)
+    TIMEZ%T_READ2D_READ=TIMEZ%T_READ2D_READ + ZT1 - ZT0
     !
     CALL MPI_BCAST(IRESP,1,MNHINT_MPI,TPFILE%NMASTER_RANK-1,TPFILE%NMPICOMM,IERR)
     !
@@ -503,8 +503,8 @@ IF (IRESP==0) THEN
     ELSE
       CALL MPI_BCAST(PFIELD,SIZE(PFIELD),MNHREAL_MPI,TPFILE%NMASTER_RANK-1,TPFILE%NMPICOMM,IERR)
     END IF
-    CALL SECOND_MNH2(T2)
-    TIMEZ%T_READ2D_SCAT=TIMEZ%T_READ2D_SCAT + T2 - T1
+    CALL SECOND_MNH2(ZT2)
+    TIMEZ%T_READ2D_SCAT=TIMEZ%T_READ2D_SCAT + ZT2 - ZT1
   END IF
 END IF
 !
@@ -514,8 +514,8 @@ IF (IRESP==-111) IRESP = 0 !-111 is not really an error (metadata has changed)
 !
 IF (PRESENT(KRESP)) KRESP = IRESP
 !
-CALL SECOND_MNH2(T22)
-TIMEZ%T_READ2D_ALL=TIMEZ%T_READ2D_ALL + T22 - T11
+CALL SECOND_MNH2(ZT22)
+TIMEZ%T_READ2D_ALL=TIMEZ%T_READ2D_ALL + ZT22 - ZT11
 !
 END SUBROUTINE IO_Field_read_byfield_X2
 
@@ -572,18 +572,18 @@ INTEGER                               :: IHEXTOT
 INTEGER                               :: IK_FILE,IK_RANK,INB_PROC_REAL,JK_MAX
 INTEGER                               :: JI,IXO,IXE,IYO,IYE
 INTEGER                               :: JK,JKK
-INTEGER                               :: NB_REQ
-INTEGER,ALLOCATABLE,DIMENSION(:)      :: REQ_TAB
-INTEGER, DIMENSION(MPI_STATUS_SIZE)   :: STATUS
+INTEGER                               :: INB_REQ
+INTEGER,ALLOCATABLE,DIMENSION(:)      :: IREQ_TAB
+INTEGER, DIMENSION(MPI_STATUS_SIZE)   :: ISTATUS
 LOGICAL                               :: GALLOC, GALLOC_ll
 logical                               :: glfi, gnc4
-REAL,DIMENSION(:,:),POINTER           :: TX2DP
+REAL,DIMENSION(:,:),POINTER           :: ZTX2DP
 REAL,DIMENSION(:,:),POINTER           :: ZSLICE_ll,ZSLICE
 real,dimension(:),     pointer        :: zfieldp1d
 real,dimension(:,:),   pointer        :: zfieldp2d
 REAL,DIMENSION(:,:,:), POINTER        :: ZFIELDP
-REAL(kind=MNHTIME), DIMENSION(2)      :: T0, T1, T2
-REAL(kind=MNHTIME), DIMENSION(2)      :: T11, T22
+REAL(kind=MNHTIME), DIMENSION(2)      :: ZT0, ZT1, ZT2
+REAL(kind=MNHTIME), DIMENSION(2)      :: ZT11, ZT22
 CHARACTER(LEN=2)                      :: YDIR
 CHARACTER(LEN=4)                      :: YK
 CHARACTER(LEN=NMNHNAMELGTMAX+4)       :: YRECZSLICE
@@ -597,7 +597,7 @@ REAL,DIMENSION(:,:,:),POINTER              :: ZFIELD_GA
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_read_byfield_X3',TRIM(TPFILE%CNAME)//': reading '//TRIM(TPFIELD%CMNHNAME))
 !
-CALL SECOND_MNH2(T11)
+CALL SECOND_MNH2(ZT11)
 !
 TZFILE => NULL()
 GALLOC    = .FALSE.
@@ -709,7 +709,7 @@ IF (IRESP==0) THEN
     !
     ! init/create the ga
     !
-    CALL SECOND_MNH2(T0)
+    CALL SECOND_MNH2(ZT0)
     CALL MNH_INIT_GA(SIZE(PFIELD,1),SIZE(PFIELD,2),SIZE(PFIELD,3),TPFIELD%CMNHNAME,"READ")
     !
     ! read the data
@@ -735,15 +735,15 @@ IF (IRESP==0) THEN
           CALL ALLOCBUFFER_ll(ZSLICE_ll,ZSLICE,YDIR,GALLOC_ll)
         END IF
         !
-        CALL SECOND_MNH2(T0)
+        CALL SECOND_MNH2(ZT0)
         WRITE(YK,'(I4.4)')  JKK
         YRECZSLICE = TRIM(TPFIELD%CMNHNAME)//YK
         call IO_Format_read_select( tzfile, glfi, gnc4 ) !Safer to do that (probably useless)
         if ( gnc4 ) call IO_Field_read_nc4( tzfile, tzfield, zslice_ll, iresp_tmp )
         if ( glfi ) call IO_Field_read_lfi( tzfile, tzfield, zslice_ll, iresp_tmp )
         IF (IRESP_TMP .NE. 0 ) IRESP_ISP = IRESP_TMP
-        CALL SECOND_MNH2(T1)
-        TIMEZ%T_READ3D_READ=TIMEZ%T_READ3D_READ + T1 - T0
+        CALL SECOND_MNH2(ZT1)
+        TIMEZ%T_READ3D_READ=TIMEZ%T_READ3D_READ + ZT1 - ZT0
         !
         ! put the data in the g_a , this proc get this JKK slide
         !
@@ -774,7 +774,7 @@ IF (IRESP==0) THEN
     GALLOC_ll = .TRUE.
     IRESP_ISP=0
     INB_PROC_REAL = MIN(TPFILE%NSUBFILES_IOZ,ISNPROC)
-    ALLOCATE(REQ_TAB((ISNPROC-1)*INB_PROC_REAL))
+    ALLOCATE(IREQ_TAB((ISNPROC-1)*INB_PROC_REAL))
     ALLOCATE(T_TX2DP((ISNPROC-1)*INB_PROC_REAL))
     Z_SLICE: DO JK=1,SIZE(PFIELD,3),INB_PROC_REAL
       !
@@ -782,7 +782,7 @@ IF (IRESP==0) THEN
       !
       JK_MAX=MIN(SIZE(PFIELD,3),JK+INB_PROC_REAL-1)
       !
-      NB_REQ=0
+      INB_REQ=0
       DO JKK=JK,JK_MAX
         IF (TPFILE%NSUBFILES_IOZ .GT. 1 ) THEN
           IK_FILE = IO_Level2filenumber_get(JKK,TPFILE%NSUBFILES_IOZ)
@@ -803,31 +803,31 @@ IF (IRESP==0) THEN
             DEALLOCATE(ZSLICE_ll)
             CALL ALLOCBUFFER_ll(ZSLICE_ll,ZSLICE,YDIR,GALLOC_ll)
           END IF
-          CALL SECOND_MNH2(T0)
+          CALL SECOND_MNH2(ZT0)
           WRITE(YK,'(I4.4)')  JKK
           YRECZSLICE = TRIM(TPFIELD%CMNHNAME)//YK
           call IO_Format_read_select( tzfile, glfi, gnc4 ) !Safer to do that (probably useless)
           if ( gnc4 ) call IO_Field_read_nc4( tzfile, tzfield, zslice_ll, iresp_tmp )
           if ( glfi ) call IO_Field_read_lfi( tzfile, tzfield, zslice_ll, iresp_tmp )
           IF (IRESP_TMP .NE. 0 ) IRESP_ISP = IRESP_TMP
-          CALL SECOND_MNH2(T1)
-          TIMEZ%T_READ3D_READ=TIMEZ%T_READ3D_READ + T1 - T0
+          CALL SECOND_MNH2(ZT1)
+          TIMEZ%T_READ3D_READ=TIMEZ%T_READ3D_READ + ZT1 - ZT0
           DO JI = 1,ISNPROC
             CALL GET_DOMREAD_ll(JI,IXO,IXE,IYO,IYE)
-            TX2DP=>ZSLICE_ll(IXO:IXE,IYO:IYE)
+            ZTX2DP=>ZSLICE_ll(IXO:IXE,IYO:IYE)
             IF (ISP /= JI) THEN
-              NB_REQ = NB_REQ + 1
-              ALLOCATE(T_TX2DP(NB_REQ)%X(IXO:IXE,IYO:IYE))
-              T_TX2DP(NB_REQ)%X=TX2DP
-              CALL MPI_ISEND(T_TX2DP(NB_REQ)%X,SIZE(TX2DP),MNHREAL_MPI,JI-1,199+IK_RANK, &
-                             TZFILE%NMPICOMM,REQ_TAB(NB_REQ),IERR)
-              !CALL MPI_BSEND(TX2DP,SIZE(TX2DP),MNHREAL_MPI,JI-1,199+IK_RANK,TZFILE%NMPICOMM,IERR)
+              INB_REQ = INB_REQ + 1
+              ALLOCATE(T_TX2DP(INB_REQ)%X(IXO:IXE,IYO:IYE))
+              T_TX2DP(INB_REQ)%X=ZTX2DP
+              CALL MPI_ISEND(T_TX2DP(INB_REQ)%X,SIZE(ZTX2DP),MNHREAL_MPI,JI-1,199+IK_RANK, &
+                             TZFILE%NMPICOMM,IREQ_TAB(INB_REQ),IERR)
+              !CALL MPI_BSEND(ZTX2DP,SIZE(ZTX2DP),MNHREAL_MPI,JI-1,199+IK_RANK,TZFILE%NMPICOMM,IERR)
             ELSE
-              PFIELD(:,:,JKK) = TX2DP(:,:)
+              PFIELD(:,:,JKK) = ZTX2DP(:,:)
             END IF
           END DO
-          CALL SECOND_MNH2(T2)
-          TIMEZ%T_READ3D_SEND=TIMEZ%T_READ3D_SEND + T2 - T1
+          CALL SECOND_MNH2(ZT2)
+          TIMEZ%T_READ3D_SEND=TIMEZ%T_READ3D_SEND + ZT2 - ZT1
         END IF
         !
         TZFILE => NULL()
@@ -849,7 +849,7 @@ IF (IRESP==0) THEN
           !
           ! XY Scatter Field
           !
-          CALL SECOND_MNH2(T0)
+          CALL SECOND_MNH2(ZT0)
           DO JKK=JK,JK_MAX
             !
             ! get the file & rank
@@ -867,29 +867,29 @@ IF (IRESP==0) THEN
             !CALL SCATTER_XYFIELD(ZSLICE_ll,ZSLICE,TZFILE%NMASTER_RANK,TZFILE%NMPICOMM)
             IF (ISP .NE. IK_RANK) THEN
               CALL MPI_RECV(ZSLICE,SIZE(ZSLICE),MNHREAL_MPI,IK_RANK-1,199+IK_RANK, &
-                            TZFILE%NMPICOMM,STATUS,IERR)
+                            TZFILE%NMPICOMM,ISTATUS,IERR)
             END IF
             TZFILE => NULL()
           END DO
-          CALL SECOND_MNH2(T1)
-          TIMEZ%T_READ3D_RECV=TIMEZ%T_READ3D_RECV + T1 - T0
+          CALL SECOND_MNH2(ZT1)
+          TIMEZ%T_READ3D_RECV=TIMEZ%T_READ3D_RECV + ZT1 - ZT0
         END IF
       ELSE
         ! Broadcast Field
         call Print_msg( NVERB_FATAL, 'GEN', 'IO_Field_read_byfield_X3', 'broadcast field not yet planned on Blue Gene' )
         CALL MPI_BCAST(PFIELD,SIZE(PFIELD),MNHREAL_MPI,TPFILE%NMASTER_RANK-1,TPFILE%NMPICOMM,IERR)
       END IF
-      CALL SECOND_MNH2(T0)
-      IF (NB_REQ .GT.0 ) THEN
-        CALL MPI_WAITALL(NB_REQ,REQ_TAB,MNH_STATUSES_IGNORE,IERR)
-        DO JI=1,NB_REQ ;  DEALLOCATE(T_TX2DP(JI)%X) ; ENDDO
+      CALL SECOND_MNH2(ZT0)
+      IF (INB_REQ .GT.0 ) THEN
+        CALL MPI_WAITALL(INB_REQ,IREQ_TAB,MNH_STATUSES_IGNORE,IERR)
+        DO JI=1,INB_REQ ;  DEALLOCATE(T_TX2DP(JI)%X) ; ENDDO
       END IF
-      CALL SECOND_MNH2(T1)
-      TIMEZ%T_READ3D_WAIT=TIMEZ%T_READ3D_WAIT + T1 - T0
+      CALL SECOND_MNH2(ZT1)
+      TIMEZ%T_READ3D_WAIT=TIMEZ%T_READ3D_WAIT + ZT1 - ZT0
     END DO Z_SLICE
     !
     DEALLOCATE(T_TX2DP)
-    DEALLOCATE(REQ_TAB)
+    DEALLOCATE(IREQ_TAB)
     !
     CALL MPI_ALLREDUCE(-ABS(IRESP_ISP),IRESP_TMP,1,MNHINT_MPI,MPI_MIN,TPFILE%NMPICOMM,IRESP)
     IF (IRESP_TMP/=0) IRESP = IRESP_TMP !Keep last "error"
@@ -910,8 +910,8 @@ IF (IRESP==-111) IRESP = 0 !-111 is not really an error (metadata has changed)
 IF (PRESENT(KRESP)) KRESP = IRESP
 !
 CALL MPI_BARRIER(TPFILE%NMPICOMM,IERR)
-CALL SECOND_MNH2(T22)
-TIMEZ%T_READ3D_ALL=TIMEZ%T_READ3D_ALL + T22 - T11
+CALL SECOND_MNH2(ZT22)
+TIMEZ%T_READ3D_ALL=TIMEZ%T_READ3D_ALL + ZT22 - ZT11
 !
 END SUBROUTINE IO_Field_read_byfield_X3
 
@@ -2137,16 +2137,16 @@ INTEGER                                  :: IHEXTOT
 INTEGER                                  :: IIMAX_ll,IJMAX_ll
 INTEGER                                  :: IIB,IIE,IJB,IJE
 INTEGER                                  :: JI
-INTEGER                                  :: NB_REQ,IKU
-INTEGER, DIMENSION(MPI_STATUS_SIZE)      :: STATUS
-INTEGER, ALLOCATABLE,DIMENSION(:,:)      :: STATUSES
-INTEGER,ALLOCATABLE,DIMENSION(:)         :: REQ_TAB
+INTEGER                                  :: INB_REQ,IKU
+INTEGER, DIMENSION(MPI_STATUS_SIZE)      :: ISTATUS
+INTEGER, ALLOCATABLE,DIMENSION(:,:)      :: ISTATUSES
+INTEGER,ALLOCATABLE,DIMENSION(:)         :: IREQ_TAB
 logical                                  :: glfi, gnc4
 REAL,DIMENSION(:,:,:),ALLOCATABLE,TARGET :: Z3D
-real, dimension(:,:),  pointer           :: tx2dp
+real, dimension(:,:),  pointer           :: ZTX2DP
 REAL,DIMENSION(:,:,:), POINTER           :: TX3DP
-REAL(kind=MNHTIME), DIMENSION(2)         :: T0, T1, T2, T3
-REAL(kind=MNHTIME), DIMENSION(2)         :: T11, T22
+REAL(kind=MNHTIME), DIMENSION(2)         :: ZT0, ZT1, ZT2, ZT3
+REAL(kind=MNHTIME), DIMENSION(2)         :: ZT11, ZT22
 type(tfielddata)                         :: tzfield
 TYPE(TX_3DP),ALLOCATABLE,DIMENSION(:)    :: T_TX3DP
 !
@@ -2162,7 +2162,7 @@ END IF
 !
 !*      1.1   THE NAME OF LFIFM
 !
-CALL SECOND_MNH2(T11)
+CALL SECOND_MNH2(ZT11)
 IRESP = 0
 !------------------------------------------------------------------
 IHEXTOT = 2*JPHEXT+1
@@ -2183,9 +2183,9 @@ IF (IRESP==0) THEN
             tzfield%ndimlist(3)  = tzfield%ndimlist(4) !Necessary if time dimension
             tzfield%ndimlist(4:) = NMNHDIM_UNUSED
           end if
-          TX2DP=>Z3D(:,JPHEXT+1,:)
-          if ( gnc4 ) call IO_Field_read_nc4( tpfile, tzfield, tx2dp, iresp )
-          if ( glfi ) call IO_Field_read_lfi( tpfile, tzfield, tx2dp, iresp )
+          ZTX2DP=>Z3D(:,JPHEXT+1,:)
+          if ( gnc4 ) call IO_Field_read_nc4( tpfile, tzfield, ZTX2DP, iresp )
+          if ( glfi ) call IO_Field_read_lfi( tpfile, tzfield, ZTX2DP, iresp )
           Z3D(:,:,:) = SPREAD(Z3D(:,JPHEXT+1,:),DIM=2,NCOPIES=IHEXTOT)
         else
           tzfield = tpfield
@@ -2210,7 +2210,7 @@ IF (IRESP==0) THEN
     END IF
   ELSE                 ! multiprocesses execution
     IF (ISP == TPFILE%NMASTER_RANK)  THEN
-      CALL SECOND_MNH2(T0)
+      CALL SECOND_MNH2(ZT0)
       CALL GET_GLOBALDIMS_ll(IIMAX_ll,IJMAX_ll)
       IF (YLBTYPE == 'LBX' .OR. YLBTYPE == 'LBXU') THEN
         ALLOCATE(Z3D(KL3D,IJMAX_ll+2*JPHEXT,SIZE(PLB,3)))
@@ -2238,8 +2238,8 @@ IF (IRESP==0) THEN
         ! erase gap in LB field
         Z3D(:,KRIM+JPHEXT+1:2*(KRIM+JPHEXT),:) = Z3D(:,KL3D-KRIM-JPHEXT+1:KL3D,:)
       END IF
-      CALL SECOND_MNH2(T1)
-      TIMEZ%T_READLB_READ=TIMEZ%T_READLB_READ + T1 - T0
+      CALL SECOND_MNH2(ZT1)
+      TIMEZ%T_READLB_READ=TIMEZ%T_READLB_READ + ZT1 - ZT0
     END IF
     !
     CALL MPI_BCAST(IRESP,1,MNHINT_MPI,TPFILE%NMASTER_RANK-1,TPFILE%NMPICOMM,IERR)
@@ -2248,13 +2248,13 @@ IF (IRESP==0) THEN
     !because metadata of field has been modified in IO_Field_read_xxx
     IF (IRESP==-111) CALL IO_Field_metadata_bcast(TPFILE,TPFIELD)
     !
-    NB_REQ=0
-    ALLOCATE(REQ_TAB(ISNPROC-1))
-    !REQ_TAB=MPI_REQUEST_NULL
+    INB_REQ=0
+    ALLOCATE(IREQ_TAB(ISNPROC-1))
+    !IREQ_TAB=MPI_REQUEST_NULL
     IF (ISP == TPFILE%NMASTER_RANK)  THEN
-       CALL SECOND_MNH2(T1)
-      !ALLOCATE(REQ_TAB(ISNPROC-1))
-      !REQ_TAB=MPI_REQUEST_NULL
+       CALL SECOND_MNH2(ZT1)
+      !ALLOCATE(IREQ_TAB(ISNPROC-1))
+      !IREQ_TAB=MPI_REQUEST_NULL
       ALLOCATE(T_TX3DP(ISNPROC-1))
       IKU = SIZE(Z3D,3)
       DO JI = 1,ISNPROC
@@ -2262,46 +2262,46 @@ IF (IRESP==0) THEN
         IF (IIB /= 0) THEN
           TX3DP=>Z3D(IIB:IIE,IJB:IJE,:)
           IF (ISP /= JI) THEN
-            NB_REQ = NB_REQ + 1
-            ALLOCATE(T_TX3DP(NB_REQ)%X(IIB:IIE,IJB:IJE,IKU))
-            T_TX3DP(NB_REQ)%X=Z3D(IIB:IIE,IJB:IJE,:)
-            CALL MPI_ISEND(T_TX3DP(NB_REQ)%X,SIZE(TX3DP),MNHREAL_MPI,JI-1,99,TPFILE%NMPICOMM,REQ_TAB(NB_REQ),IERR)
-            !CALL MPI_BSEND(T_TX3DP(NB_REQ)%X,SIZE(TX3DP),MNHREAL_MPI,JI-1,99,TPFILE%NMPICOMM,IERR)
+            INB_REQ = INB_REQ + 1
+            ALLOCATE(T_TX3DP(INB_REQ)%X(IIB:IIE,IJB:IJE,IKU))
+            T_TX3DP(INB_REQ)%X=Z3D(IIB:IIE,IJB:IJE,:)
+            CALL MPI_ISEND(T_TX3DP(INB_REQ)%X,SIZE(TX3DP),MNHREAL_MPI,JI-1,99,TPFILE%NMPICOMM,IREQ_TAB(INB_REQ),IERR)
+            !CALL MPI_BSEND(T_TX3DP(INB_REQ)%X,SIZE(TX3DP),MNHREAL_MPI,JI-1,99,TPFILE%NMPICOMM,IERR)
           ELSE
             CALL GET_DISTRIB_lb(YLBTYPE,JI,'LOC','READ',KRIM,IIB,IIE,IJB,IJE)
             PLB(IIB:IIE,IJB:IJE,:) = TX3DP(:,:,:)
           END IF
         END IF
       END DO
-      CALL SECOND_MNH2(T2)
-      TIMEZ%T_READLB_SEND=TIMEZ%T_READLB_SEND + T2 - T1
-      IF (NB_REQ .GT.0 ) THEN
-         !ALLOCATE(STATUSES(MPI_STATUS_SIZE,NB_REQ))
-         !CALL MPI_WAITALL(NB_REQ,REQ_TAB,STATUSES,IERR)
-         CALL MPI_WAITALL(NB_REQ,REQ_TAB,MNH_STATUSES_IGNORE,IERR)
-         !DEALLOCATE(STATUSES)
-         DO JI=1,NB_REQ ;  DEALLOCATE(T_TX3DP(JI)%X) ; ENDDO
+      CALL SECOND_MNH2(ZT2)
+      TIMEZ%T_READLB_SEND=TIMEZ%T_READLB_SEND + ZT2 - ZT1
+      IF (INB_REQ .GT.0 ) THEN
+         !ALLOCATE(ISTATUSES(MPI_STATUS_SIZE,INB_REQ))
+         !CALL MPI_WAITALL(INB_REQ,IREQ_TAB,ISTATUSES,IERR)
+         CALL MPI_WAITALL(INB_REQ,IREQ_TAB,MNH_STATUSES_IGNORE,IERR)
+         !DEALLOCATE(ISTATUSES)
+         DO JI=1,INB_REQ ;  DEALLOCATE(T_TX3DP(JI)%X) ; ENDDO
       END IF
       DEALLOCATE(T_TX3DP)
-      !DEALLOCATE(REQ_TAB)
-      CALL SECOND_MNH2(T3)
-      TIMEZ%T_READLB_WAIT=TIMEZ%T_READLB_WAIT + T3 - T2
+      !DEALLOCATE(IREQ_TAB)
+      CALL SECOND_MNH2(ZT3)
+      TIMEZ%T_READLB_WAIT=TIMEZ%T_READLB_WAIT + ZT3 - ZT2
     ELSE
-       CALL SECOND_MNH2(T0)
-      !ALLOCATE(REQ_TAB(1))
-      !REQ_TAB=MPI_REQUEST_NULL
+       CALL SECOND_MNH2(ZT0)
+      !ALLOCATE(IREQ_TAB(1))
+      !IREQ_TAB=MPI_REQUEST_NULL
       CALL GET_DISTRIB_lb(YLBTYPE,ISP,'LOC','READ',KRIM,IIB,IIE,IJB,IJE)
       IF (IIB /= 0) THEN
         TX3DP=>PLB(IIB:IIE,IJB:IJE,:)
-        CALL MPI_RECV(TX3DP,SIZE(TX3DP),MNHREAL_MPI,TPFILE%NMASTER_RANK-1,99,TPFILE%NMPICOMM,STATUS,IERR)
-        !NB_REQ = NB_REQ + 1
-        !CALL MPI_IRECV(TX3DP,SIZE(TX3DP),MNHREAL_MPI,TPFILE%NMASTER_RANK-1,99,TPFILE%NMPICOMM,REQ_TAB(NB_REQ),IERR)
-        !IF (NB_REQ .GT.0 ) CALL MPI_WAITALL(NB_REQ,REQ_TAB,MNH_STATUSES_IGNORE,IERR)
+        CALL MPI_RECV(TX3DP,SIZE(TX3DP),MNHREAL_MPI,TPFILE%NMASTER_RANK-1,99,TPFILE%NMPICOMM,ISTATUS,IERR)
+        !INB_REQ = INB_REQ + 1
+        !CALL MPI_IRECV(TX3DP,SIZE(TX3DP),MNHREAL_MPI,TPFILE%NMASTER_RANK-1,99,TPFILE%NMPICOMM,IREQ_TAB(INB_REQ),IERR)
+        !IF (INB_REQ .GT.0 ) CALL MPI_WAITALL(INB_REQ,IREQ_TAB,MNH_STATUSES_IGNORE,IERR)
       END IF
-      CALL SECOND_MNH2(T1)
-      TIMEZ%T_READLB_RECV=TIMEZ%T_READLB_RECV + T1 - T0
+      CALL SECOND_MNH2(ZT1)
+      TIMEZ%T_READLB_RECV=TIMEZ%T_READLB_RECV + ZT1 - ZT0
     END IF
-    DEALLOCATE(REQ_TAB)
+    DEALLOCATE(IREQ_TAB)
   END IF !(GSMONOPROC)
 END IF
 !----------------------------------------------------------------
@@ -2312,8 +2312,8 @@ IF (IRESP==-111) IRESP = 0 !-111 is not really an error (metadata has changed)
 !
 IF (PRESENT(KRESP)) KRESP = IRESP
 !
-CALL SECOND_MNH2(T22)
-TIMEZ%T_READLB_ALL=TIMEZ%T_READLB_ALL + T22 - T11
+CALL SECOND_MNH2(ZT22)
+TIMEZ%T_READLB_ALL=TIMEZ%T_READLB_ALL + ZT22 - ZT11
 !
 END SUBROUTINE IO_Field_read_byfield_lb
 
diff --git a/src/LIB/SURCOUCHE/src/mode_io_field_write.f90 b/src/LIB/SURCOUCHE/src/mode_io_field_write.f90
index e777d5cac115882bb0cd781ac0f704acae52686f..ad12c64bd4efd7fe553f2f386ce238de8a5ffd9e 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_field_write.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_field_write.f90
@@ -572,8 +572,8 @@ CONTAINS
     LOGICAL                                  :: GALLOC
     LOGICAL                                  :: GLFI, GNC4
     !
-    REAL(kind=MNHTIME), DIMENSION(2)         :: T0, T1, T2
-    REAL(kind=MNHTIME), DIMENSION(2)         :: T11, T22
+    REAL(kind=MNHTIME), DIMENSION(2)         :: ZT0, ZT1, ZT2
+    REAL(kind=MNHTIME), DIMENSION(2)         :: ZT11, ZT22
 #ifdef MNH_GA
     REAL,DIMENSION(:,:),POINTER              :: ZFIELD_GA
 #endif
@@ -592,7 +592,7 @@ CONTAINS
     GALLOC = .FALSE.
     IHEXTOT = 2*JPHEXT+1
     !
-    CALL SECOND_MNH2(T11)
+    CALL SECOND_MNH2(ZT11)
     !
     CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_byfield_X2',TRIM(YFILEM)//': writing '//TRIM(YRECFM))
     !
@@ -651,7 +651,7 @@ CONTAINS
           IF (GNC4) CALL IO_Field_write_nc4(TPFILE,TPFIELD,PFIELD,iresp_nc4)
         END IF
       ELSE ! multiprocesses execution
-          CALL SECOND_MNH2(T0)
+          CALL SECOND_MNH2(ZT0)
           CALL MPI_ALLREDUCE(SIZE(PFIELD),ISIZEMAX,1,MNHINT_MPI,MPI_MAX,TPFILE%NMPICOMM,IERR)
           IF (ISIZEMAX==0) THEN
              CALL PRINT_MSG(NVERB_INFO,'IO','IO_Field_write_byfield_X2','ignoring variable with a zero size ('//TRIM(YRECFM)//')')
@@ -703,8 +703,8 @@ CONTAINS
 #endif
              END IF
           END IF
-          CALL SECOND_MNH2(T1)
-          TIMEZ%T_WRIT2D_GATH=TIMEZ%T_WRIT2D_GATH + T1 - T0
+          CALL SECOND_MNH2(ZT1)
+          TIMEZ%T_WRIT2D_GATH=TIMEZ%T_WRIT2D_GATH + ZT1 - ZT0
           !
           IF (ISP == TPFILE%NMASTER_RANK) THEN
              IF (GLFI) CALL IO_Field_write_lfi(TPFILE,TPFIELD,ZFIELDP,iresp_lfi)
@@ -713,8 +713,8 @@ CONTAINS
 #ifdef MNH_GA
          call ga_sync
 #endif
-          CALL SECOND_MNH2(T2)
-          TIMEZ%T_WRIT2D_WRIT=TIMEZ%T_WRIT2D_WRIT + T2 - T1
+          CALL SECOND_MNH2(ZT2)
+          TIMEZ%T_WRIT2D_WRIT=TIMEZ%T_WRIT2D_WRIT + ZT2 - ZT1
        END IF
     END IF
 
@@ -722,8 +722,8 @@ CONTAINS
     if ( Present( kresp ) ) kresp = iresp_glob
 
     IF (GALLOC) DEALLOCATE(ZFIELDP)
-    CALL SECOND_MNH2(T22)
-    TIMEZ%T_WRIT2D_ALL=TIMEZ%T_WRIT2D_ALL + T22 - T11
+    CALL SECOND_MNH2(ZT22)
+    TIMEZ%T_WRIT2D_ALL=TIMEZ%T_WRIT2D_ALL + ZT22 - ZT11
   END SUBROUTINE IO_Field_write_byfield_X2
 
 
@@ -774,7 +774,7 @@ CONTAINS
     TYPE(TFILEDATA),TARGET,      INTENT(IN) :: TPFILE
     TYPE(TFIELDDATA),            INTENT(IN) :: TPFIELD
     REAL,DIMENSION(:,:,:),TARGET,INTENT(IN) :: PFIELD   ! array containing the data field
-    INTEGER,OPTIONAL,            INTENT(OUT):: KRESP    ! return-code 
+    INTEGER,OPTIONAL,            INTENT(OUT):: KRESP    ! return-code
     !
     !*      0.2   Declarations of local variables
     !
@@ -795,17 +795,17 @@ CONTAINS
     REAL,DIMENSION(:,:),POINTER              :: ZSLICE_ll,ZSLICE
     INTEGER                                  :: IK_FILE,IK_RANK,INB_PROC_REAL,JK_MAX
     INTEGER                                  :: JI,IXO,IXE,IYO,IYE
-    REAL,DIMENSION(:,:),POINTER              :: TX2DP
-    INTEGER, DIMENSION(MPI_STATUS_SIZE)      :: STATUS
+    REAL,DIMENSION(:,:),POINTER              :: ZTX2DP
+    INTEGER, DIMENSION(MPI_STATUS_SIZE)      :: ISTATUS
     LOGICAL                                  :: GALLOC_ll
-    INTEGER,ALLOCATABLE,DIMENSION(:)         :: REQ_TAB
-    INTEGER                                  :: NB_REQ
+    INTEGER,ALLOCATABLE,DIMENSION(:)         :: IREQ_TAB
+    INTEGER                                  :: INB_REQ
     TYPE TX_2DP
        REAL, DIMENSION(:,:), POINTER :: X
     END TYPE TX_2DP
     TYPE(TX_2DP),ALLOCATABLE,DIMENSION(:)    :: T_TX2DP
-    REAL(kind=MNHTIME), DIMENSION(2)         :: T0, T1, T2
-    REAL(kind=MNHTIME), DIMENSION(2)         :: T11, T22
+    REAL(kind=MNHTIME), DIMENSION(2)         :: ZT0, ZT1, ZT2
+    REAL(kind=MNHTIME), DIMENSION(2)         :: ZT11, ZT22
 #ifdef MNH_GA
     REAL,DIMENSION(:,:,:),POINTER            :: ZFIELD_GA
 #endif
@@ -833,7 +833,7 @@ CONTAINS
     !
     CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_byfield_X3',TRIM(YFILEM)//': writing '//TRIM(YRECFM))
     !
-    CALL SECOND_MNH2(T11)
+    CALL SECOND_MNH2(ZT11)
     !
     CALL IO_Field_metadata_check(TPFIELD,TYPEREAL,3,'IO_Field_write_byfield_X3')
     !
@@ -843,7 +843,7 @@ CONTAINS
     !
     IF (IRESP==0) THEN
       IF (GSMONOPROC .AND. TPFILE%NSUBFILES_IOZ==0 ) THEN ! sequential execution
-          !    IF (LPACK .AND. L1D .AND. YDIR=='XY') THEN 
+          !    IF (LPACK .AND. L1D .AND. YDIR=='XY') THEN
         IF (LPACK .AND. L1D .AND. SIZE(PFIELD,1)==IHEXTOT .AND. SIZE(PFIELD,2)==IHEXTOT) THEN
           if ( tpfile%ldimreduced ) then
             tzfield = tpfield
@@ -940,20 +940,20 @@ CONTAINS
           !
           ! init/create the ga
           !
-          CALL SECOND_MNH2(T0)
+          CALL SECOND_MNH2(ZT0)
           CALL MNH_INIT_GA(SIZE(PFIELD,1),SIZE(PFIELD,2),SIZE(PFIELD,3),YRECFM,"WRITE")
          !
-         !   copy columun data to global arrays g_a 
+         !   copy columun data to global arrays g_a
          !
          ALLOCATE (ZFIELD_GA (SIZE(PFIELD,1),SIZE(PFIELD,2),SIZE(PFIELD,3)))
          ZFIELD_GA = PFIELD
          !print*,"IO_WRITE_FIELD_BYFIELD_X3::nga_put=",g_a, lo_col, hi_col,NIXO_L,NIYO_L , ld_col, YRECFM ; call flush(6)
          call ga_sync()
-         call nga_put(g_a, lo_col, hi_col,ZFIELD_GA(NIXO_L,NIYO_L,1) , ld_col)  
+         call nga_put(g_a, lo_col, hi_col,ZFIELD_GA(NIXO_L,NIYO_L,1) , ld_col)
          call ga_sync()
          DEALLOCATE(ZFIELD_GA)
-         CALL SECOND_MNH2(T1)
-         TIMEZ%T_WRIT3D_SEND=TIMEZ%T_WRIT3D_SEND + T1 - T0
+         CALL SECOND_MNH2(ZT1)
+         TIMEZ%T_WRIT3D_SEND=TIMEZ%T_WRIT3D_SEND + ZT1 - ZT0
          !
          ! write the data
          !
@@ -967,8 +967,8 @@ CONTAINS
             !
             IK_RANK = TZFILE%NMASTER_RANK
             !
-            IF (ISP == IK_RANK )  THEN 
-               CALL SECOND_MNH2(T0)
+            IF (ISP == IK_RANK )  THEN
+               CALL SECOND_MNH2(ZT0)
                !
                IF ( SIZE(ZSLICE_ll) .EQ. 0 ) THEN
                   DEALLOCATE(ZSLICE_ll)
@@ -981,22 +981,22 @@ CONTAINS
                hi_zplan(JPIZ) = JKK
                !print*,"IO_WRITE_FIELD_BYFIELD_X3::nga_get=",g_a, lo_zplan, hi_zplan, ld_zplan, YRECFM,JKK ; call flush(6)
                call nga_get(g_a, lo_zplan, hi_zplan,ZSLICE_ll, ld_zplan)
-               CALL SECOND_MNH2(T1)
-               TIMEZ%T_WRIT3D_RECV=TIMEZ%T_WRIT3D_RECV + T1 - T0
+               CALL SECOND_MNH2(ZT1)
+               TIMEZ%T_WRIT3D_RECV=TIMEZ%T_WRIT3D_RECV + ZT1 - ZT0
                !
                IF (GLFI) CALL IO_Field_write_lfi(TPFILE,TPFIELD,ZSLICE_ll,iresp_tmp_lfi,KVERTLEVEL=JKK,KZFILE=IK_FILE+1)
                if ( iresp_tmp_lfi /= 0 ) iresp_lfi = iresp_tmp_lfi
                IF (GNC4) CALL IO_Field_write_nc4(TPFILE,TPFIELD,ZSLICE_ll,iresp_tmp_nc4,KVERTLEVEL=JKK,KZFILE=IK_FILE+1)
                if ( iresp_tmp_nc4 /= 0 ) iresp_nc4 = iresp_tmp_nc4
-               CALL SECOND_MNH2(T2)
-               TIMEZ%T_WRIT3D_WRIT=TIMEZ%T_WRIT3D_WRIT + T2 - T1
+               CALL SECOND_MNH2(ZT2)
+               TIMEZ%T_WRIT3D_WRIT=TIMEZ%T_WRIT3D_WRIT + ZT2 - ZT1
             END IF
          END DO
          !
-         CALL SECOND_MNH2(T0) 
+         CALL SECOND_MNH2(ZT0)
          call ga_sync
-         CALL SECOND_MNH2(T1) 
-         TIMEZ%T_WRIT3D_WAIT=TIMEZ%T_WRIT3D_WAIT + T1 - T0     
+         CALL SECOND_MNH2(ZT1)
+         TIMEZ%T_WRIT3D_WAIT=TIMEZ%T_WRIT3D_WAIT + ZT1 - ZT0
 #else
           !
           ALLOCATE(ZSLICE_ll(0,0))
@@ -1008,8 +1008,8 @@ CONTAINS
              !
              JK_MAX=MIN(SIZE(PFIELD,3),JK+INB_PROC_REAL-1)
              !
-             NB_REQ=0
-             ALLOCATE(REQ_TAB(INB_PROC_REAL))
+             INB_REQ=0
+             ALLOCATE(IREQ_TAB(INB_PROC_REAL))
              ALLOCATE(T_TX2DP(INB_PROC_REAL))
              DO JKK=JK,JK_MAX
                 !
@@ -1033,23 +1033,23 @@ CONTAINS
                                       '2D not (yet) allowed for parallel execution' )
                       CALL GATHER_XXFIELD('XX',PFIELD(:,JPHEXT+1,:),ZFIELDP(:,1,:),TPFILE%NMASTER_RANK,TPFILE%NMPICOMM)
                    ELSE
-                      CALL SECOND_MNH2(T0)
+                      CALL SECOND_MNH2(ZT0)
                       IF ( ISP /= IK_RANK )  THEN
                          ! Other processes
                          CALL GET_DOMWRITE_ll(ISP,'local',IXO,IXE,IYO,IYE)
                          IF (IXO /= 0) THEN ! intersection is not empty
-                            NB_REQ = NB_REQ + 1
-                            ALLOCATE(T_TX2DP(NB_REQ)%X(IXO:IXE,IYO:IYE))
+                            INB_REQ = INB_REQ + 1
+                            ALLOCATE(T_TX2DP(INB_REQ)%X(IXO:IXE,IYO:IYE))
                             ZSLICE => PFIELD(:,:,JKK)
-                            TX2DP=>ZSLICE(IXO:IXE,IYO:IYE)
-                            T_TX2DP(NB_REQ)%X=ZSLICE(IXO:IXE,IYO:IYE)
-                            CALL MPI_ISEND(T_TX2DP(NB_REQ)%X,SIZE(TX2DP),MNHREAL_MPI,IK_RANK-1,99+IK_RANK &
-                                          & ,TZFILE%NMPICOMM,REQ_TAB(NB_REQ),IERR)
-                            !CALL MPI_BSEND(TX2DP,SIZE(TX2DP),MNHREAL_MPI,IK_RANK-1,99+IK_RANK,TZFILE%NMPICOMM,IERR)
+                            ZTX2DP=>ZSLICE(IXO:IXE,IYO:IYE)
+                            T_TX2DP(INB_REQ)%X=ZSLICE(IXO:IXE,IYO:IYE)
+                            CALL MPI_ISEND(T_TX2DP(INB_REQ)%X,SIZE(ZTX2DP),MNHREAL_MPI,IK_RANK-1,99+IK_RANK &
+                                          & ,TZFILE%NMPICOMM,IREQ_TAB(INB_REQ),IERR)
+                            !CALL MPI_BSEND(ZTX2DP,SIZE(ZTX2DP),MNHREAL_MPI,IK_RANK-1,99+IK_RANK,TZFILE%NMPICOMM,IERR)
                          END IF
                       END IF
-                      CALL SECOND_MNH2(T1)
-                      TIMEZ%T_WRIT3D_SEND=TIMEZ%T_WRIT3D_SEND + T1 - T0
+                      CALL SECOND_MNH2(ZT1)
+                      TIMEZ%T_WRIT3D_SEND=TIMEZ%T_WRIT3D_SEND + ZT1 - ZT0
                    END IF
                 END IF
              END DO
@@ -1071,7 +1071,7 @@ CONTAINS
                 IK_RANK = TZFILE%NMASTER_RANK
                 !
                 IF (ISP == IK_RANK )  THEN
-                   CALL SECOND_MNH2(T0)
+                   CALL SECOND_MNH2(ZT0)
                    ! I/O proc case
                    IF ( SIZE(ZSLICE_ll) .EQ. 0 ) THEN
                       DEALLOCATE(ZSLICE_ll)
@@ -1080,36 +1080,36 @@ CONTAINS
                    DO JI=1,ISNPROC
                       CALL GET_DOMWRITE_ll(JI,'global',IXO,IXE,IYO,IYE)
                       IF (IXO /= 0) THEN ! intersection is not empty
-                         TX2DP=>ZSLICE_ll(IXO:IXE,IYO:IYE)
-                         IF (ISP == JI) THEN 
+                         ZTX2DP=>ZSLICE_ll(IXO:IXE,IYO:IYE)
+                         IF (ISP == JI) THEN
                             CALL GET_DOMWRITE_ll(JI,'local',IXO,IXE,IYO,IYE)
                             ZSLICE => PFIELD(:,:,JKK)
-                            TX2DP = ZSLICE(IXO:IXE,IYO:IYE)
-                         ELSE 
-                            CALL MPI_RECV(TX2DP,SIZE(TX2DP),MNHREAL_MPI,JI-1,99+IK_RANK,TZFILE%NMPICOMM,STATUS,IERR)
+                            ZTX2DP = ZSLICE(IXO:IXE,IYO:IYE)
+                         ELSE
+                            CALL MPI_RECV(ZTX2DP,SIZE(ZTX2DP),MNHREAL_MPI,JI-1,99+IK_RANK,TZFILE%NMPICOMM,ISTATUS,IERR)
                          END IF
                       END IF
                    END DO
-                   CALL SECOND_MNH2(T1)
-                   TIMEZ%T_WRIT3D_RECV=TIMEZ%T_WRIT3D_RECV + T1 - T0
+                   CALL SECOND_MNH2(ZT1)
+                   TIMEZ%T_WRIT3D_RECV=TIMEZ%T_WRIT3D_RECV + ZT1 - ZT0
                    IF (GLFI) CALL IO_Field_write_lfi(TPFILE,TPFIELD,ZSLICE_ll,iresp_tmp_lfi,KVERTLEVEL=JKK,KZFILE=IK_FILE+1)
                    if ( iresp_tmp_lfi /= 0 ) iresp_lfi = iresp_tmp_lfi
                    IF (GNC4) CALL IO_Field_write_nc4(TPFILE,TPFIELD,ZSLICE_ll,iresp_tmp_nc4,KVERTLEVEL=JKK,KZFILE=IK_FILE+1)
                    if ( iresp_tmp_nc4 /= 0 ) iresp_nc4 = iresp_tmp_nc4
-                   CALL SECOND_MNH2(T2)
-                   TIMEZ%T_WRIT3D_WRIT=TIMEZ%T_WRIT3D_WRIT + T2 - T1
+                   CALL SECOND_MNH2(ZT2)
+                   TIMEZ%T_WRIT3D_WRIT=TIMEZ%T_WRIT3D_WRIT + ZT2 - ZT1
                 END IF
              END DO
              !
-             CALL SECOND_MNH2(T0) 
-             IF (NB_REQ .GT.0 ) THEN
-                CALL MPI_WAITALL(NB_REQ,REQ_TAB,MNH_STATUSES_IGNORE,IERR)
-                DO JI=1,NB_REQ ;  DEALLOCATE(T_TX2DP(JI)%X) ; ENDDO
+             CALL SECOND_MNH2(ZT0)
+             IF (INB_REQ .GT.0 ) THEN
+                CALL MPI_WAITALL(INB_REQ,IREQ_TAB,MNH_STATUSES_IGNORE,IERR)
+                DO JI=1,INB_REQ ;  DEALLOCATE(T_TX2DP(JI)%X) ; ENDDO
              END IF
              DEALLOCATE(T_TX2DP)
-             DEALLOCATE(REQ_TAB)
-             CALL SECOND_MNH2(T1) 
-             TIMEZ%T_WRIT3D_WAIT=TIMEZ%T_WRIT3D_WAIT + T1 - T0
+             DEALLOCATE(IREQ_TAB)
+             CALL SECOND_MNH2(ZT1)
+             TIMEZ%T_WRIT3D_WAIT=TIMEZ%T_WRIT3D_WAIT + ZT1 - ZT0
           END DO Z_SLICE
           !JUAN BG Z SLICE
 ! end of MNH_GA
@@ -1127,8 +1127,8 @@ CONTAINS
 
     IF (GALLOC)    DEALLOCATE(ZFIELDP)
     IF (GALLOC_ll) DEALLOCATE(ZSLICE_ll)
-    CALL SECOND_MNH2(T22)
-    TIMEZ%T_WRIT3D_ALL=TIMEZ%T_WRIT3D_ALL + T22 - T11
+    CALL SECOND_MNH2(ZT22)
+    TIMEZ%T_WRIT3D_ALL=TIMEZ%T_WRIT3D_ALL + ZT22 - ZT11
   END SUBROUTINE IO_Field_write_byfield_X3
 
 
@@ -1851,8 +1851,8 @@ CONTAINS
     LOGICAL                                  :: GALLOC
     LOGICAL                                  :: GLFI, GNC4
     !
-    REAL(kind=MNHTIME), DIMENSION(2)         :: T0, T1, T2
-    REAL(kind=MNHTIME), DIMENSION(2)         :: T11, T22
+    REAL(kind=MNHTIME), DIMENSION(2)         :: ZT0, ZT1, ZT2
+    REAL(kind=MNHTIME), DIMENSION(2)         :: ZT11, ZT22
     INTEGER                                  :: IHEXTOT
     CHARACTER(LEN=:),ALLOCATABLE             :: YMSG
     CHARACTER(LEN=6)                         :: YRESP
@@ -1871,7 +1871,7 @@ CONTAINS
     !
     CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_byfield_N2',TRIM(YFILEM)//': writing '//TRIM(YRECFM))
     !
-    CALL SECOND_MNH2(T11)
+    CALL SECOND_MNH2(ZT11)
     !
     CALL IO_Field_metadata_check(TPFIELD,TYPEINT,2,'IO_Field_write_byfield_N2')
     !
@@ -1934,7 +1934,7 @@ CONTAINS
              RETURN
           END IF
 
-          CALL SECOND_MNH2(T0)
+          CALL SECOND_MNH2(ZT0)
           IF (ISP == TPFILE%NMASTER_RANK) THEN
              ! I/O process case
              CALL ALLOCBUFFER_ll(IFIELDP,KFIELD,YDIR,GALLOC)
@@ -1953,15 +1953,15 @@ CONTAINS
                 CALL GATHER_XYFIELD(KFIELD,IFIELDP,TPFILE%NMASTER_RANK,TPFILE%NMPICOMM)
              END IF
           END IF
-          CALL SECOND_MNH2(T1)
-          TIMEZ%T_WRIT2D_GATH=TIMEZ%T_WRIT2D_GATH + T1 - T0
+          CALL SECOND_MNH2(ZT1)
+          TIMEZ%T_WRIT2D_GATH=TIMEZ%T_WRIT2D_GATH + ZT1 - ZT0
           !
           IF (ISP == TPFILE%NMASTER_RANK) THEN
              IF (GLFI) CALL IO_Field_write_lfi(TPFILE,TPFIELD,IFIELDP,iresp_lfi)
              IF (GNC4) CALL IO_Field_write_nc4(TPFILE,TPFIELD,IFIELDP,iresp_nc4)
           END IF
-          CALL SECOND_MNH2(T2)
-          TIMEZ%T_WRIT2D_WRIT=TIMEZ%T_WRIT2D_WRIT + T2 - T1
+          CALL SECOND_MNH2(ZT2)
+          TIMEZ%T_WRIT2D_WRIT=TIMEZ%T_WRIT2D_WRIT + ZT2 - ZT1
        END IF
     END IF
 
@@ -1969,8 +1969,8 @@ CONTAINS
     if ( Present( kresp ) ) kresp = iresp_glob
 
     IF (GALLOC) DEALLOCATE(IFIELDP)
-    CALL SECOND_MNH2(T22)
-    TIMEZ%T_WRIT2D_ALL=TIMEZ%T_WRIT2D_ALL + T22 - T11
+    CALL SECOND_MNH2(ZT22)
+    TIMEZ%T_WRIT2D_ALL=TIMEZ%T_WRIT2D_ALL + ZT22 - ZT11
     !
   END SUBROUTINE IO_Field_write_byfield_N2
 
@@ -2032,7 +2032,7 @@ CONTAINS
     LOGICAL                                  :: GALLOC
     LOGICAL                                  :: GLFI, GNC4
     !
-    REAL(kind=MNHTIME), DIMENSION(2)         :: T11, T22
+    REAL(kind=MNHTIME), DIMENSION(2)         :: ZT11, ZT22
     INTEGER                                  :: IHEXTOT
     CHARACTER(LEN=:),ALLOCATABLE             :: YMSG
     CHARACTER(LEN=6)                         :: YRESP
@@ -2051,7 +2051,7 @@ CONTAINS
     !
     CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_byfield_N3',TRIM(YFILEM)//': writing '//TRIM(YRECFM))
     !
-    CALL SECOND_MNH2(T11)
+    CALL SECOND_MNH2(ZT11)
     !
     CALL IO_Field_metadata_check(TPFIELD,TYPEINT,3,'IO_Field_write_byfield_N3')
     !
@@ -2144,8 +2144,8 @@ CONTAINS
     if ( Present( kresp ) ) kresp = iresp_glob
 
     IF (GALLOC) DEALLOCATE(IFIELDP)
-    CALL SECOND_MNH2(T22)
-    TIMEZ%T_WRIT3D_ALL=TIMEZ%T_WRIT3D_ALL + T22 - T11
+    CALL SECOND_MNH2(ZT22)
+    TIMEZ%T_WRIT3D_ALL=TIMEZ%T_WRIT3D_ALL + ZT22 - ZT11
     !
   END SUBROUTINE IO_Field_write_byfield_N3
 
@@ -2739,14 +2739,14 @@ CONTAINS
     INTEGER                                  :: IERR
     integer                                  :: iresp, iresp_lfi, iresp_nc4, iresp_glob
     REAL,DIMENSION(:,:,:),ALLOCATABLE,TARGET :: Z3D
-    real,dimension(:,:),   pointer           :: tx2dp
+    real,dimension(:,:),   pointer           :: ztx2dp
     REAL,DIMENSION(:,:,:), POINTER           :: TX3DP
     INTEGER                                  :: IIMAX_ll,IJMAX_ll
     INTEGER                                  :: JI
     INTEGER                                  :: IIB,IIE,IJB,IJE
-    INTEGER, DIMENSION(MPI_STATUS_SIZE)      :: STATUS
-    INTEGER,ALLOCATABLE,DIMENSION(:)         :: REQ_TAB
-    INTEGER                                  :: NB_REQ,IKU
+    INTEGER, DIMENSION(MPI_STATUS_SIZE)      :: ISTATUS
+    INTEGER,ALLOCATABLE,DIMENSION(:)         :: IREQ_TAB
+    INTEGER                                  :: INB_REQ,IKU
     LOGICAL                                  :: GLFI, GNC4
     TYPE TX_3DP
        REAL,DIMENSION(:,:,:), POINTER    :: X
@@ -2797,9 +2797,9 @@ CONTAINS
               tzfield%ndimlist(3)  = tzfield%ndimlist(4) !Necessary if time dimension
               tzfield%ndimlist(4:) = NMNHDIM_UNUSED
             end if
-            tx2dp => plb(:, jphext + 1, :)
-            if ( glfi ) call IO_Field_write_lfi( tpfile, tzfield, tx2dp, iresp_lfi )
-            if ( gnc4 ) call IO_Field_write_nc4( tpfile, tzfield, tx2dp, iresp_nc4 )
+            ztx2dp => plb(:, jphext + 1, :)
+            if ( glfi ) call IO_Field_write_lfi( tpfile, tzfield, ztx2dp, iresp_lfi )
+            if ( gnc4 ) call IO_Field_write_nc4( tpfile, tzfield, ztx2dp, iresp_nc4 )
           else
             tzfield = tpfield
             if ( tzfield%ndimlist(2) /= NMNHDIM_UNKNOWN ) tzfield%ndimlist(2) = NMNHDIM_ONE
@@ -2825,7 +2825,7 @@ CONTAINS
                 IF (IIB /= 0) THEN
                    TX3DP=>Z3D(IIB:IIE,IJB:IJE,:)
                    IF (ISP /= JI) THEN
-                      CALL MPI_RECV(TX3DP,SIZE(TX3DP),MNHREAL_MPI,JI-1,99,TPFILE%NMPICOMM,STATUS,IERR)
+                      CALL MPI_RECV(TX3DP,SIZE(TX3DP),MNHREAL_MPI,JI-1,99,TPFILE%NMPICOMM,ISTATUS,IERR)
                    ELSE
                       CALL GET_DISTRIB_lb(YLBTYPE,JI,'LOC','WRITE',IRIM,IIB,IIE,IJB,IJE)
                       TX3DP = PLB(IIB:IIE,IJB:IJE,:)
@@ -2841,26 +2841,26 @@ CONTAINS
              IF (GLFI) CALL IO_Field_write_lfi(TPFILE,TPFIELD,TX3DP,iresp_lfi)
              IF (GNC4) CALL IO_Field_write_nc4(TPFILE,TPFIELD,TX3DP,iresp_nc4)
           ELSE
-             NB_REQ=0
-             ALLOCATE(REQ_TAB(1))
+             INB_REQ=0
+             ALLOCATE(IREQ_TAB(1))
              ALLOCATE(T_TX3DP(1))
              IKU = SIZE(PLB,3)
              ! Other processes
              CALL GET_DISTRIB_lb(YLBTYPE,ISP,'LOC','WRITE',IRIM,IIB,IIE,IJB,IJE)
              IF (IIB /= 0) THEN
                 TX3DP=>PLB(IIB:IIE,IJB:IJE,:)
-                NB_REQ = NB_REQ + 1
-                ALLOCATE(T_TX3DP(NB_REQ)%X(IIB:IIE,IJB:IJE,IKU))  
-                T_TX3DP(NB_REQ)%X=PLB(IIB:IIE,IJB:IJE,:)
-                CALL MPI_ISEND(T_TX3DP(NB_REQ)%X,SIZE(TX3DP),MNHREAL_MPI,TPFILE%NMASTER_RANK-1,99, &
-                               TPFILE%NMPICOMM,REQ_TAB(NB_REQ),IERR)
+                INB_REQ = INB_REQ + 1
+                ALLOCATE(T_TX3DP(INB_REQ)%X(IIB:IIE,IJB:IJE,IKU))
+                T_TX3DP(INB_REQ)%X=PLB(IIB:IIE,IJB:IJE,:)
+                CALL MPI_ISEND(T_TX3DP(INB_REQ)%X,SIZE(TX3DP),MNHREAL_MPI,TPFILE%NMASTER_RANK-1,99, &
+                               TPFILE%NMPICOMM,IREQ_TAB(INB_REQ),IERR)
                 !CALL MPI_BSEND(TX3DP,SIZE(TX3DP),MNHREAL_MPI,TPFILE%NMASTER_RANK-1,99,TPFILE%NMPICOMM,IERR)
              END IF
-             IF (NB_REQ .GT.0 ) THEN
-                CALL MPI_WAITALL(NB_REQ,REQ_TAB,MNH_STATUSES_IGNORE,IERR)
+             IF (INB_REQ .GT.0 ) THEN
+                CALL MPI_WAITALL(INB_REQ,IREQ_TAB,MNH_STATUSES_IGNORE,IERR)
                 DEALLOCATE(T_TX3DP(1)%X) 
              END IF
-             DEALLOCATE(T_TX3DP,REQ_TAB)
+             DEALLOCATE(T_TX3DP,IREQ_TAB)
           END IF
        END IF
     END IF
diff --git a/src/LIB/SURCOUCHE/src/mode_io_read_nc4.f90 b/src/LIB/SURCOUCHE/src/mode_io_read_nc4.f90
index ed9e0833eeb74c12365adccc7304821de1d57498..c81a2edb710e2dd94d7abc1cecb0630f8874a5b9 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_read_nc4.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_read_nc4.f90
@@ -63,7 +63,7 @@ INTEGER                      :: IERRLEVEL
 INTEGER                      :: IGRID
 INTEGER(KIND=CDFINT)         :: INCID
 INTEGER(KIND=CDFINT)         :: ILEN
-INTEGER(KIND=CDFINT)         :: STATUS
+INTEGER(KIND=CDFINT)         :: istatus
 CHARACTER(LEN=12)            :: YVAL_FILE, YVAL_MEM
 CHARACTER(LEN=:),ALLOCATABLE :: YVALUE
 LOGICAL                      :: GOLDMNH !if old version of MesoNH (<5.4, old files without complete and correct metadata)
@@ -83,9 +83,9 @@ END IF
 !
 ! GRID
 !
-STATUS = NF90_GET_ATT(INCID,KVARID,'grid',IGRID)
-IF (STATUS /= NF90_NOERR) STATUS = NF90_GET_ATT(INCID,KVARID,'GRID',IGRID)
-IF (STATUS == NF90_NOERR) THEN
+istatus = NF90_GET_ATT(INCID,KVARID,'grid',IGRID)
+IF (istatus /= NF90_NOERR) istatus = NF90_GET_ATT(INCID,KVARID,'GRID',IGRID)
+IF (istatus == NF90_NOERR) THEN
   IF (IGRID/=TPFIELD%NGRID) THEN
     WRITE(YVAL_FILE,'(I12)') IGRID
     WRITE(YVAL_MEM, '(I12)') TPFIELD%NGRID
@@ -112,10 +112,10 @@ ENDIF
 !
 ! COMMENT
 !
-STATUS = NF90_INQUIRE_ATTRIBUTE(INCID, KVARID, 'comment', LEN=ILEN)
-IF (STATUS == NF90_NOERR) THEN
+istatus = NF90_INQUIRE_ATTRIBUTE(INCID, KVARID, 'comment', LEN=ILEN)
+IF (istatus == NF90_NOERR) THEN
   ALLOCATE(CHARACTER(LEN=ILEN) :: YVALUE)
-  STATUS = NF90_GET_ATT(INCID, KVARID, 'comment', YVALUE)
+  istatus = NF90_GET_ATT(INCID, KVARID, 'comment', YVALUE)
   IF (LEN_TRIM(TPFIELD%CCOMMENT)==0 .AND. LEN_TRIM(YVALUE)>0) THEN
     !Expected comment is empty, read comment is not
     CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_attr_read_check_nc4',TRIM(TPFILE%CNAME)// &
@@ -144,10 +144,10 @@ END IF
 !
 ! STDNAME
 !
-STATUS = NF90_INQUIRE_ATTRIBUTE(INCID, KVARID, 'standard_name', LEN=ILEN)
-IF (STATUS == NF90_NOERR) THEN
+istatus = NF90_INQUIRE_ATTRIBUTE(INCID, KVARID, 'standard_name', LEN=ILEN)
+IF (istatus == NF90_NOERR) THEN
   ALLOCATE(CHARACTER(LEN=ILEN) :: YVALUE)
-  STATUS = NF90_GET_ATT(INCID, KVARID, 'standard_name', YVALUE)
+  istatus = NF90_GET_ATT(INCID, KVARID, 'standard_name', YVALUE)
   IF (TRIM(YVALUE)/=TRIM(TPFIELD%CSTDNAME)) THEN
     CALL PRINT_MSG(NVERB_WARNING,'IO','IO_Field_attr_read_check_nc4',TRIM(TPFILE%CNAME)// &
                    ': expected STDNAME  ('//TRIM(TPFIELD%CSTDNAME)//                      &
@@ -171,10 +171,10 @@ END IF
 !
 ! LONGNAME
 !
-STATUS = NF90_INQUIRE_ATTRIBUTE(INCID, KVARID, 'long_name', LEN=ILEN)
-IF (STATUS == NF90_NOERR) THEN
+istatus = NF90_INQUIRE_ATTRIBUTE(INCID, KVARID, 'long_name', LEN=ILEN)
+IF (istatus == NF90_NOERR) THEN
   ALLOCATE(CHARACTER(LEN=ILEN) :: YVALUE)
-  STATUS = NF90_GET_ATT(INCID, KVARID, 'long_name', YVALUE)
+  istatus = NF90_GET_ATT(INCID, KVARID, 'long_name', YVALUE)
   IF (TRIM(YVALUE)/=TRIM(TPFIELD%CLONGNAME)) THEN
     CALL PRINT_MSG(NVERB_WARNING,'IO','IO_Field_attr_read_check_nc4',TRIM(TPFILE%CNAME)// &
                    ': expected LONGNAME ('//TRIM(TPFIELD%CLONGNAME)//                  &
@@ -198,10 +198,10 @@ END IF
 !
 ! UNITS
 !
-STATUS = NF90_INQUIRE_ATTRIBUTE(INCID, KVARID, 'units', LEN=ILEN)
-IF (STATUS == NF90_NOERR) THEN
+istatus = NF90_INQUIRE_ATTRIBUTE(INCID, KVARID, 'units', LEN=ILEN)
+IF (istatus == NF90_NOERR) THEN
   ALLOCATE(CHARACTER(LEN=ILEN) :: YVALUE)
-  STATUS = NF90_GET_ATT(INCID, KVARID, 'units', YVALUE)
+  istatus = NF90_GET_ATT(INCID, KVARID, 'units', YVALUE)
   IF (TRIM(YVALUE)/=TRIM(TPFIELD%CUNITS)) THEN
     IF(.NOT.PRESENT(HCALENDAR)) THEN
       CALL PRINT_MSG(NVERB_WARNING,'IO','IO_Field_attr_read_check_nc4',TRIM(TPFILE%CNAME)// &
@@ -237,10 +237,10 @@ END IF
 ! CALENDAR
 !
 IF(PRESENT(HCALENDAR)) THEN
-STATUS = NF90_INQUIRE_ATTRIBUTE(INCID, KVARID, 'calendar', LEN=ILEN)
-IF (STATUS == NF90_NOERR) THEN
+istatus = NF90_INQUIRE_ATTRIBUTE(INCID, KVARID, 'calendar', LEN=ILEN)
+IF (istatus == NF90_NOERR) THEN
   ALLOCATE(CHARACTER(LEN=ILEN) :: YVALUE)
-  STATUS = NF90_GET_ATT(INCID, KVARID, 'calendar', YVALUE)
+  istatus = NF90_GET_ATT(INCID, KVARID, 'calendar', YVALUE)
   IF (TRIM(YVALUE)/=TRIM(HCALENDAR)) THEN
     CALL PRINT_MSG(NVERB_WARNING,'IO','IO_Field_attr_read_check_nc4',TRIM(TPFILE%CNAME)// &
                    ': expected CALENDAR ('//TRIM(HCALENDAR)//                             &
@@ -265,7 +265,7 @@ TYPE(TFIELDDATA), INTENT(INOUT) :: TPFIELD
 REAL,             INTENT(INOUT) :: PFIELD
 INTEGER,          INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: INCID
 INTEGER(KIND=CDFINT) :: IVARID
 INTEGER(KIND=CDFINT) :: ITYPE   ! variable type
@@ -282,22 +282,22 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X0','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X0','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X0','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X0','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 
 IF (IDIMS == 0 .AND. (ITYPE == NF90_FLOAT .OR. ITYPE == NF90_DOUBLE) ) THEN
   ! Read variable
-  STATUS = NF90_GET_VAR(INCID, IVARID, PFIELD)
-  IF (STATUS /= NF90_NOERR) THEN
-    CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X0','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+  istatus = NF90_GET_VAR(INCID, IVARID, PFIELD)
+  IF (istatus /= NF90_NOERR) THEN
+    CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X0','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
     GOTO 1000
   END IF
   ! Read and check attributes of variable
@@ -320,7 +320,7 @@ TYPE(TFIELDDATA), INTENT(INOUT) :: TPFIELD
 REAL,DIMENSION(:),INTENT(INOUT) :: PFIELD
 INTEGER,          INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: INCID
 INTEGER(KIND=CDFINT) :: IVARID
 INTEGER(KIND=CDFINT) :: ITYPE   ! variable type
@@ -339,27 +339,27 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X1','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X1','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X1','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X1','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 
 IF (IDIMS == 1 .AND. (ITYPE == NF90_FLOAT .OR. ITYPE == NF90_DOUBLE) ) THEN
   ! Check size of variable before reading
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN)
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X1','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN)
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X1','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
 
   IF (IDIMLEN == SIZE(PFIELD)) THEN
     ! Read variable
-    STATUS = NF90_GET_VAR(INCID, IVARID, PFIELD)
-    IF (STATUS /= NF90_NOERR) THEN
-      CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X1','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+    istatus = NF90_GET_VAR(INCID, IVARID, PFIELD)
+    IF (istatus /= NF90_NOERR) THEN
+      CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X1','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
       GOTO 1000
     END IF
     ! Read and check attributes of variable
@@ -387,7 +387,7 @@ TYPE(TFIELDDATA),   INTENT(INOUT) :: TPFIELD
 REAL,DIMENSION(:,:),INTENT(INOUT) :: PFIELD
 INTEGER,            INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: INCID
 INTEGER(KIND=CDFINT) :: IVARID
 INTEGER(KIND=CDFINT) :: ITYPE   ! variable type
@@ -406,21 +406,21 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X2','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X2','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X2','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X2','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 
 !Treat special case of a degenerated 3D array (3rd dimension size is 1)
 IF (IDIMS==3) THEN
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X2','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X2','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
   IF (IDIMLEN(3)==1) THEN
     CALL PRINT_MSG(NVERB_INFO,'IO','IO_Field_read_nc4_X2',TRIM(TPFILE%CNAME)// &
                    ': reading 3D array with degenerated third dimension in 2D array for '//TRIM(YVARNAME))
@@ -432,16 +432,16 @@ END IF
 
 IF (IDIMS == 2 .AND. (ITYPE == NF90_FLOAT .OR. ITYPE == NF90_DOUBLE) ) THEN
   ! Check size of variable before reading
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X2','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X2','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X2','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X2','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
 
   IF (IDIMLEN(1) == SIZE(PFIELD,1) .AND. IDIMLEN(2) == SIZE(PFIELD,2)) THEN
     ! Read variable
-    STATUS = NF90_GET_VAR(INCID, IVARID, PFIELD)
-    IF (STATUS /= NF90_NOERR) THEN
-      CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X2','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+    istatus = NF90_GET_VAR(INCID, IVARID, PFIELD)
+    IF (istatus /= NF90_NOERR) THEN
+      CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X2','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
       GOTO 1000
     END IF
     ! Read and check attributes of variable
@@ -469,7 +469,7 @@ TYPE(TFIELDDATA),     INTENT(INOUT) :: TPFIELD
 REAL,DIMENSION(:,:,:),INTENT(INOUT) :: PFIELD
 INTEGER,              INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT)                              :: STATUS
+INTEGER(KIND=CDFINT)                              :: istatus
 INTEGER(KIND=CDFINT)                              :: INCID
 INTEGER(KIND=CDFINT)                              :: IVARID
 INTEGER(KIND=CDFINT)                              :: ITYPE   ! variable type
@@ -488,31 +488,31 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X3','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X3','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X3','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X3','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 
 IF (IDIMS == 3 .AND. (ITYPE == NF90_FLOAT .OR. ITYPE == NF90_DOUBLE) ) THEN
   ! Check size of variable before reading
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X3','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X3','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X3','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X3','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X3','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X3','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
 
   IF (IDIMLEN(1) == SIZE(PFIELD,1) .AND. IDIMLEN(2) == SIZE(PFIELD,2) .AND. IDIMLEN(3) == SIZE(PFIELD,3)) THEN
     ! Read variable
-    STATUS = NF90_GET_VAR(INCID, IVARID, PFIELD)
-    IF (STATUS /= NF90_NOERR) THEN
-      CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X3','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+    istatus = NF90_GET_VAR(INCID, IVARID, PFIELD)
+    IF (istatus /= NF90_NOERR) THEN
+      CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X3','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
       GOTO 1000
     END IF
     ! Read and check attributes of variable
@@ -540,7 +540,7 @@ TYPE(TFIELDDATA),       INTENT(INOUT) :: TPFIELD
 REAL,DIMENSION(:,:,:,:),INTENT(INOUT) :: PFIELD
 INTEGER,                INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT)                              :: STATUS
+INTEGER(KIND=CDFINT)                              :: istatus
 INTEGER(KIND=CDFINT)                              :: INCID
 INTEGER(KIND=CDFINT)                              :: IVARID
 INTEGER(KIND=CDFINT)                              :: ITYPE   ! variable type
@@ -559,34 +559,34 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X4','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X4','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X4','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X4','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 
 IF (IDIMS == 4 .AND. (ITYPE == NF90_FLOAT .OR. ITYPE == NF90_DOUBLE) ) THEN
   ! Check size of variable before reading
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X4','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X4','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X4','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(4), LEN=IDIMLEN(4))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X4','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X4','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X4','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X4','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(4), LEN=IDIMLEN(4))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X4','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
 
   IF ( IDIMLEN(1) == SIZE(PFIELD,1) .AND. IDIMLEN(2) == SIZE(PFIELD,2) .AND. &
        IDIMLEN(3) == SIZE(PFIELD,3) .AND. IDIMLEN(4) == SIZE(PFIELD,4)) THEN
     ! Read variable
-    STATUS = NF90_GET_VAR(INCID, IVARID, PFIELD)
-    IF (STATUS /= NF90_NOERR) THEN
-      CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X4','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+    istatus = NF90_GET_VAR(INCID, IVARID, PFIELD)
+    IF (istatus /= NF90_NOERR) THEN
+      CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X4','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
       GOTO 1000
     END IF
     ! Read and check attributes of variable
@@ -614,7 +614,7 @@ TYPE(TFIELDDATA),         INTENT(INOUT) :: TPFIELD
 REAL,DIMENSION(:,:,:,:,:),INTENT(INOUT) :: PFIELD
 INTEGER,                  INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT)                              :: STATUS
+INTEGER(KIND=CDFINT)                              :: istatus
 INTEGER(KIND=CDFINT)                              :: INCID
 INTEGER(KIND=CDFINT)                              :: IVARID
 INTEGER(KIND=CDFINT)                              :: ITYPE   ! variable type
@@ -633,37 +633,37 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X5','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X5','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X5','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X5','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 
 IF (IDIMS == 5 .AND. (ITYPE == NF90_FLOAT .OR. ITYPE == NF90_DOUBLE) ) THEN
   ! Check size of variable before reading
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X5','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X5','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X5','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(4), LEN=IDIMLEN(4))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X5','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(5), LEN=IDIMLEN(5))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X5','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X5','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X5','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X5','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(4), LEN=IDIMLEN(4))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X5','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(5), LEN=IDIMLEN(5))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X5','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
 
   IF ( IDIMLEN(1) == SIZE(PFIELD,1) .AND. IDIMLEN(2) == SIZE(PFIELD,2) .AND. &
        IDIMLEN(3) == SIZE(PFIELD,3) .AND. IDIMLEN(4) == SIZE(PFIELD,4) .AND. &
        IDIMLEN(5) == SIZE(PFIELD,5) ) THEN
     ! Read variable
-    STATUS = NF90_GET_VAR(INCID, IVARID, PFIELD)
-    IF (STATUS /= NF90_NOERR) THEN
-      CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X5','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+    istatus = NF90_GET_VAR(INCID, IVARID, PFIELD)
+    IF (istatus /= NF90_NOERR) THEN
+      CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X5','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
       GOTO 1000
     END IF
     ! Read and check attributes of variable
@@ -691,7 +691,7 @@ TYPE(TFIELDDATA),           INTENT(INOUT) :: TPFIELD
 REAL,DIMENSION(:,:,:,:,:,:),INTENT(INOUT) :: PFIELD
 INTEGER,                    INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT)                              :: STATUS
+INTEGER(KIND=CDFINT)                              :: istatus
 INTEGER(KIND=CDFINT)                              :: INCID
 INTEGER(KIND=CDFINT)                              :: IVARID
 INTEGER(KIND=CDFINT)                              :: ITYPE   ! variable type
@@ -710,39 +710,39 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X6','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X6','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X6','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X6','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 
 IF (IDIMS == 6 .AND. (ITYPE == NF90_FLOAT .OR. ITYPE == NF90_DOUBLE) ) THEN
   ! Check size of variable before reading
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X6','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X6','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X6','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(4), LEN=IDIMLEN(4))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X6','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(5), LEN=IDIMLEN(5))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X6','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(6), LEN=IDIMLEN(6))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X6','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X6','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X6','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X6','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(4), LEN=IDIMLEN(4))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X6','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(5), LEN=IDIMLEN(5))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X6','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(6), LEN=IDIMLEN(6))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X6','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
 
   IF ( IDIMLEN(1) == SIZE(PFIELD,1) .AND. IDIMLEN(2) == SIZE(PFIELD,2) .AND. &
        IDIMLEN(3) == SIZE(PFIELD,3) .AND. IDIMLEN(4) == SIZE(PFIELD,4) .AND. &
        IDIMLEN(5) == SIZE(PFIELD,5) .AND. IDIMLEN(6) == SIZE(PFIELD,6) ) THEN
     ! Read variable
-    STATUS = NF90_GET_VAR(INCID, IVARID, PFIELD)
-    IF (STATUS /= NF90_NOERR) THEN
-      CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_X6','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+    istatus = NF90_GET_VAR(INCID, IVARID, PFIELD)
+    IF (istatus /= NF90_NOERR) THEN
+      CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_X6','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
       GOTO 1000
     END IF
     ! Read and check attributes of variable
@@ -770,7 +770,7 @@ TYPE(TFIELDDATA), INTENT(INOUT) :: TPFIELD
 INTEGER,          INTENT(INOUT) :: KFIELD
 INTEGER,          INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: INCID
 INTEGER(KIND=CDFINT) :: IVARID
 INTEGER(KIND=CDFINT) :: ITYPE   ! variable type
@@ -787,13 +787,13 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N0','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N0','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N0','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N0','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
@@ -801,9 +801,9 @@ IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 !Can read either 4 or 8 byte integers
 IF (IDIMS == 0 .AND. (ITYPE == NF90_INT .OR. ITYPE == NF90_INT64) ) THEN
    ! Read variable
-   STATUS = NF90_GET_VAR(INCID, IVARID, KFIELD)
-   IF (STATUS /= NF90_NOERR) THEN
-      CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N0','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+   istatus = NF90_GET_VAR(INCID, IVARID, KFIELD)
+   IF (istatus /= NF90_NOERR) THEN
+      CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N0','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
       GOTO 1000
    END IF
    ! Read and check attributes of variable
@@ -826,7 +826,7 @@ TYPE(TFIELDDATA),        INTENT(INOUT) :: TPFIELD
 INTEGER, DIMENSION(:),   INTENT(INOUT) :: KFIELD
 INTEGER,                 INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT)                              :: STATUS
+INTEGER(KIND=CDFINT)                              :: istatus
 INTEGER(KIND=CDFINT)                              :: INCID
 INTEGER(KIND=CDFINT)                              :: IVARID
 INTEGER(KIND=CDFINT)                              :: ITYPE   ! variable type
@@ -845,13 +845,13 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N1','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N1','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N1','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N1','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
@@ -859,14 +859,14 @@ IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 !NF90_INT1 is for the case a boolean was written
 IF (IDIMS == 1 .AND. (ITYPE == NF90_INT .OR. ITYPE == NF90_INT64 .OR. ITYPE == NF90_INT1) ) THEN
   ! Check size of variable before reading
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN)
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N1','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN)
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N1','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
 
   IF (IDIMLEN == SIZE(KFIELD)) THEN
     ! Read variable
-    STATUS = NF90_GET_VAR(INCID, IVARID, KFIELD)
-    IF (STATUS /= NF90_NOERR) THEN
-      CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N1','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+    istatus = NF90_GET_VAR(INCID, IVARID, KFIELD)
+    IF (istatus /= NF90_NOERR) THEN
+      CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N1','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
       GOTO 1000
     END IF
     ! Read and check attributes of variable
@@ -894,7 +894,7 @@ TYPE(TFIELDDATA),        INTENT(INOUT) :: TPFIELD
 INTEGER, DIMENSION(:,:), INTENT(INOUT) :: KFIELD
 INTEGER,                 INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT)                              :: STATUS
+INTEGER(KIND=CDFINT)                              :: istatus
 INTEGER(KIND=CDFINT)                              :: INCID
 INTEGER(KIND=CDFINT)                              :: IVARID
 INTEGER(KIND=CDFINT)                              :: ITYPE   ! variable type
@@ -913,21 +913,21 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N2','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N2','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N2','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N2','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 
 !Treat special case of a degenerated 3D array (3rd dimension size is 1)
 IF (IDIMS==3) THEN
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N2','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N2','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
   IF (IDIMLEN(3)==1) THEN
     CALL PRINT_MSG(NVERB_INFO,'IO','IO_Field_read_nc4_N2',TRIM(TPFILE%CNAME)// &
                    ': reading 3D array with degenerated third dimension in 2D array for '//TRIM(YVARNAME))
@@ -940,16 +940,16 @@ END IF
 !NF90_INT1 is for the case a boolean was written
 IF (IDIMS == SIZE(SHAPE(KFIELD)) .AND. (ITYPE == NF90_INT .OR. ITYPE == NF90_INT64 .OR. ITYPE == NF90_INT1) ) THEN
   ! Check size of variable before reading
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N2','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N2','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N2','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N2','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
 
   IF (IDIMLEN(1) == SIZE(KFIELD,1) .AND. IDIMLEN(2) == SIZE(KFIELD,2)) THEN
     ! Read variable
-    STATUS = NF90_GET_VAR(INCID, IVARID, KFIELD)
-    IF (STATUS /= NF90_NOERR) THEN
-      CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N2','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+    istatus = NF90_GET_VAR(INCID, IVARID, KFIELD)
+    IF (istatus /= NF90_NOERR) THEN
+      CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N2','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
       GOTO 1000
     END IF
     ! Read and check attributes of variable
@@ -976,7 +976,7 @@ TYPE(TFIELDDATA),          INTENT(INOUT) :: TPFIELD
 INTEGER, DIMENSION(:,:,:), INTENT(INOUT) :: KFIELD
 INTEGER,                   INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT)                              :: STATUS
+INTEGER(KIND=CDFINT)                              :: istatus
 INTEGER(KIND=CDFINT)                              :: INCID
 INTEGER(KIND=CDFINT)                              :: IVARID
 INTEGER(KIND=CDFINT)                              :: ITYPE   ! variable type
@@ -995,13 +995,13 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N3','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N3','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N3','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N3','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
@@ -1009,18 +1009,18 @@ IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 !NF90_INT1 is for the case a boolean was written
 IF (IDIMS == SIZE(SHAPE(KFIELD)) .AND. (ITYPE == NF90_INT .OR. ITYPE == NF90_INT64 .OR. ITYPE == NF90_INT1) ) THEN
   ! Check size of variable before reading
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N3','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N3','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N3','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN(1))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N3','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(2), LEN=IDIMLEN(2))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N3','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(3), LEN=IDIMLEN(3))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N3','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
 
   IF (IDIMLEN(1) == SIZE(KFIELD,1) .AND. IDIMLEN(2) == SIZE(KFIELD,2) .AND. IDIMLEN(3) == SIZE(KFIELD,3)) THEN
     ! Read variable
-    STATUS = NF90_GET_VAR(INCID, IVARID, KFIELD)
-    IF (STATUS /= NF90_NOERR) THEN
-      CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_N3','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+    istatus = NF90_GET_VAR(INCID, IVARID, KFIELD)
+    IF (istatus /= NF90_NOERR) THEN
+      CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_N3','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
       GOTO 1000
     END IF
     ! Read and check attributes of variable
@@ -1047,7 +1047,7 @@ TYPE(TFIELDDATA), INTENT(INOUT) :: TPFIELD
 LOGICAL,          INTENT(INOUT) :: OFIELD
 INTEGER,          INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: INCID
 INTEGER(KIND=CDFINT) :: IVARID
 INTEGER(KIND=CDFINT) :: ITYPE   ! variable type
@@ -1065,13 +1065,13 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_L0','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_L0','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_L0','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_L0','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
@@ -1080,9 +1080,9 @@ IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 !Accept also INT and INT64 (for backward compatibility)
 IF (IDIMS == 0 .AND. (ITYPE == NF90_INT1 .OR. ITYPE == NF90_INT .OR. ITYPE == NF90_INT64)  ) THEN
   ! Read variable
-  STATUS = NF90_GET_VAR(INCID, IVARID, IFIELD)
-  IF (STATUS /= NF90_NOERR) THEN
-    CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_L0','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+  istatus = NF90_GET_VAR(INCID, IVARID, IFIELD)
+  IF (istatus /= NF90_NOERR) THEN
+    CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_L0','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
     GOTO 1000
   END IF
 
@@ -1117,7 +1117,7 @@ TYPE(TFIELDDATA),    INTENT(INOUT) :: TPFIELD
 LOGICAL,DIMENSION(:),INTENT(INOUT) :: OFIELD
 INTEGER,             INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT)                              :: STATUS
+INTEGER(KIND=CDFINT)                              :: istatus
 INTEGER(KIND=CDFINT)                              :: INCID
 INTEGER(KIND=CDFINT)                              :: IVARID
 INTEGER(KIND=CDFINT)                              :: ITYPE   ! variable type
@@ -1138,13 +1138,13 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_L1','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_L1','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_L1','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_L1','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 !Neglect the time dimension (of size 1)
 IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
@@ -1153,14 +1153,14 @@ IF (TPFIELD%LTIMEDEP) IDIMS=IDIMS-1
 !Accept also INT and INT64 (for backward compatibility)
 IF (IDIMS == 1 .AND. (ITYPE == NF90_INT1 .OR. ITYPE == NF90_INT .OR. ITYPE == NF90_INT64)  ) THEN
   ! Check size of variable before reading
-  STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN)
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_L1','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+  istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN)
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_L1','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
 
   IF (IDIMLEN == SIZE(OFIELD)) THEN
     ! Read variable
-    STATUS = NF90_GET_VAR(INCID, IVARID, IFIELD)
-    IF (STATUS /= NF90_NOERR) THEN
-      CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_L1','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+    istatus = NF90_GET_VAR(INCID, IVARID, IFIELD)
+    IF (istatus /= NF90_NOERR) THEN
+      CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_L1','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
       GOTO 1000
     END IF
 
@@ -1204,7 +1204,7 @@ TYPE(TFIELDDATA), INTENT(INOUT) :: TPFIELD
 CHARACTER(LEN=*), INTENT(INOUT) :: HFIELD
 INTEGER,          INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT)                              :: STATUS
+INTEGER(KIND=CDFINT)                              :: istatus
 INTEGER(KIND=CDFINT)                              :: INCID
 INTEGER(KIND=CDFINT)                              :: IVARID
 INTEGER(KIND=CDFINT)                              :: ITYPE   ! variable type
@@ -1224,24 +1224,24 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_C0','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_C0','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_C0','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS, DIMIDS=IVDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_C0','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 IF (IDIMS == 1 .AND. (ITYPE == NF90_CHAR) ) THEN
    ! Check size of variable before reading
-   STATUS = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN)
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_C0','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
+   istatus = NF90_INQUIRE_DIMENSION(INCID, IVDIMS(1), LEN=IDIMLEN)
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_C0','NF90_INQUIRE_DIMENSION',TRIM(YVARNAME))
    !
    ALLOCATE(CHARACTER(LEN=IDIMLEN)::YSTR)
    ! Read variable
-   STATUS = NF90_GET_VAR(INCID, IVARID, YSTR)
-   IF (STATUS /= NF90_NOERR) THEN
-     CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_C0','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+   istatus = NF90_GET_VAR(INCID, IVARID, YSTR)
+   IF (istatus /= NF90_NOERR) THEN
+     CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_C0','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
      GOTO 1000
    END IF
    IF (LEN_TRIM(YSTR) > LEN(HFIELD)) &
@@ -1273,7 +1273,7 @@ TYPE(TFIELDDATA), INTENT(INOUT) :: TPFIELD
 TYPE (DATE_TIME), INTENT(INOUT) :: TPDATA
 INTEGER,          INTENT(OUT)   :: KRESP  ! return-code
 
-INTEGER(KIND=CDFINT)         :: STATUS
+INTEGER(KIND=CDFINT)         :: istatus
 INTEGER(KIND=CDFINT)         :: INCID
 INTEGER(KIND=CDFINT)         :: IVARID
 INTEGER(KIND=CDFINT)         :: ITYPE   ! variable type
@@ -1292,19 +1292,19 @@ INCID = TPFILE%NNCID
 CALL IO_Mnhname_clean(TPFIELD%CMNHNAME,YVARNAME)
 
 ! Get variable ID, NDIMS and TYPE
-STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-IF (STATUS /= NF90_NOERR) THEN
-  CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_T0','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
+istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+IF (istatus /= NF90_NOERR) THEN
+  CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_T0','NF90_INQ_VARID',TRIM(YVARNAME),IRESP)
   GOTO 1000
 END IF
-STATUS = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS)
-IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_T0','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
+istatus = NF90_INQUIRE_VARIABLE(INCID, IVARID, XTYPE=ITYPE, NDIMS=IDIMS)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_T0','NF90_INQUIRE_VARIABLE',TRIM(YVARNAME))
 
 IF (IDIMS == 0 .AND. (ITYPE == NF90_FLOAT .OR. ITYPE == NF90_DOUBLE) ) THEN
   ! Read time
-  STATUS = NF90_GET_VAR(INCID, IVARID, TPDATA%TIME)
-  IF (STATUS /= NF90_NOERR) THEN
-    CALL IO_Err_handle_nc4(status,'IO_Field_read_nc4_T0','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
+  istatus = NF90_GET_VAR(INCID, IVARID, TPDATA%TIME)
+  IF (istatus /= NF90_NOERR) THEN
+    CALL IO_Err_handle_nc4(istatus,'IO_Field_read_nc4_T0','NF90_GET_VAR',TRIM(YVARNAME),IRESP)
     GOTO 1000
   END IF
   ! Read and check attributes of variable
diff --git a/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90 b/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90
index afd9c8da0cfb252253323f0c57f0bb2aefd0c4e5..0dd498e97178b902db75519aea05911de248139a 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90
@@ -170,10 +170,10 @@ INTEGER(KIND=CDFINT), DIMENSION(:), OPTIONAL, INTENT(IN) :: KSHAPE
 CHARACTER(LEN=*),                   OPTIONAL, INTENT(IN) :: HCALENDAR
 LOGICAL,                            OPTIONAL, INTENT(IN) :: OISCOORD   ! Is a coordinate variable (->do not write coordinates attribute)
 !
-INTEGER(KIND=CDFINT)         :: INCID
-INTEGER(KIND=CDFINT)         :: STATUS
-CHARACTER(LEN=:),ALLOCATABLE :: YCOORDS
-LOGICAL                      :: GISCOORD
+CHARACTER(LEN=:),                   ALLOCATABLE :: YCOORDS
+INTEGER(KIND=CDFINT)                            :: INCID
+INTEGER(KIND=CDFINT)                            :: istatus
+LOGICAL                                         :: GISCOORD
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_attr_write_nc4','called for field '//TRIM(TPFIELD%CMNHNAME))
 !
@@ -197,8 +197,8 @@ INCID = TPFILE%NNCID
 IF(LEN_TRIM(TPFIELD%CSTDNAME)==0) THEN
   CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_attr_write_nc4','TPFIELD%CSTDNAME not set for variable '//TRIM(TPFIELD%CMNHNAME))
 ELSE
-  STATUS = NF90_PUT_ATT(INCID, KVARID,'standard_name', TRIM(TPFIELD%CSTDNAME))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','standard_name for ' &
+  istatus = NF90_PUT_ATT(INCID, KVARID,'standard_name', TRIM(TPFIELD%CSTDNAME))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','standard_name for ' &
                                                    //trim(TPFIELD%CMNHNAME))
 ENDIF
 !
@@ -206,8 +206,8 @@ ENDIF
 IF(LEN_TRIM(TPFIELD%CLONGNAME)==0) THEN
   CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_attr_write_nc4','TPFIELD%CLONGNAME not set for variable '//TRIM(TPFIELD%CMNHNAME))
 ELSE
-  STATUS = NF90_PUT_ATT(INCID, KVARID,'long_name', TRIM(TPFIELD%CLONGNAME))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','long_name for ' &
+  istatus = NF90_PUT_ATT(INCID, KVARID,'long_name', TRIM(TPFIELD%CLONGNAME))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','long_name for ' &
                                                    //trim(TPFIELD%CMNHNAME))
 ENDIF
 !
@@ -215,8 +215,8 @@ ENDIF
 IF(LEN_TRIM(TPFIELD%CUNITS)==0) THEN
   CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_attr_write_nc4','TPFIELD%CUNITS not set for variable '//TRIM(TPFIELD%CMNHNAME))
 ELSE
-  STATUS = NF90_PUT_ATT(INCID, KVARID,'units', TRIM(TPFIELD%CUNITS))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','units for ' &
+  istatus = NF90_PUT_ATT(INCID, KVARID,'units', TRIM(TPFIELD%CUNITS))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','units for ' &
                                                    //trim(TPFIELD%CMNHNAME))
 ENDIF
 !
@@ -225,8 +225,8 @@ IF(TPFIELD%NGRID<0) THEN
   CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_attr_write_nc4','TPFIELD%NGRID not set for variable '//TRIM(TPFIELD%CMNHNAME))
 !Do not write GRID attribute if NGRID=0
 ELSE IF (TPFIELD%NGRID>0) THEN
-  STATUS = NF90_PUT_ATT(INCID, KVARID, 'grid', TPFIELD%NGRID)
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','grid for ' &
+  istatus = NF90_PUT_ATT(INCID, KVARID, 'grid', TPFIELD%NGRID)
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','grid for ' &
                                                    //trim(TPFIELD%CMNHNAME))
 ENDIF
 !
@@ -234,16 +234,16 @@ ENDIF
 IF(LEN_TRIM(TPFIELD%CCOMMENT)==0) THEN
   CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_attr_write_nc4','TPFIELD%CCOMMENT not set for variable '//TRIM(TPFIELD%CMNHNAME))
 ELSE
-  STATUS = NF90_PUT_ATT(INCID, KVARID,'comment', TRIM(TPFIELD%CCOMMENT))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','comment for ' &
+  istatus = NF90_PUT_ATT(INCID, KVARID,'comment', TRIM(TPFIELD%CCOMMENT))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','comment for ' &
                                                    //trim(TPFIELD%CMNHNAME))
 ENDIF
 !
 ! Calendar (CF convention)
 IF(PRESENT(HCALENDAR)) THEN
   CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_attr_write_nc4','CALENDAR provided for variable '//TRIM(TPFIELD%CMNHNAME))
-  STATUS = NF90_PUT_ATT(INCID, KVARID,'calendar', TRIM(HCALENDAR))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','calendar for ' &
+  istatus = NF90_PUT_ATT(INCID, KVARID,'calendar', TRIM(HCALENDAR))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','calendar for ' &
                                                    //trim(TPFIELD%CMNHNAME))
 ENDIF
 !
@@ -278,8 +278,8 @@ IF (.NOT.GISCOORD) THEN
             CALL PRINT_MSG(NVERB_ERROR,'IO','IO_Field_attr_write_nc4','invalid NGRID for variable '//TRIM(TPFIELD%CMNHNAME))
         END SELECT
         !
-        STATUS = NF90_PUT_ATT(INCID, KVARID,'coordinates',YCOORDS)
-        IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','coordinates')
+        istatus = NF90_PUT_ATT(INCID, KVARID,'coordinates',YCOORDS)
+        IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','coordinates')
         DEALLOCATE(YCOORDS)
       ELSE
         CALL PRINT_MSG(NVERB_WARNING,'IO','IO_Field_attr_write_nc4','coordinates not implemented for variable ' &
@@ -303,16 +303,16 @@ IF(TPFIELD%NTYPE==TYPEINT .AND. TPFIELD%NDIMS>0) THEN
   !BUG: NF90_PUT_ATT does not work for NF90_INT64 and _FillValue attribute if netCDF-fortran version < 4.4.5 (bug in netCDF)
   !     (see https://github.com/Unidata/netcdf-fortran/issues/62)
   IF(.NOT.OEXISTED) THEN
-    STATUS = NF90_PUT_ATT(INCID, KVARID,'_FillValue', TPFIELD%NFILLVALUE)
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','_FillValue')
+    istatus = NF90_PUT_ATT(INCID, KVARID,'_FillValue', TPFIELD%NFILLVALUE)
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','_FillValue')
   END IF
   !
   ! Valid_min/max (CF/COMODO convention)
-  STATUS = NF90_PUT_ATT(INCID, KVARID,'valid_min', TPFIELD%NVALIDMIN)
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','valid_min')
+  istatus = NF90_PUT_ATT(INCID, KVARID,'valid_min', TPFIELD%NVALIDMIN)
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','valid_min')
   !
-  STATUS = NF90_PUT_ATT(INCID, KVARID,'valid_max',TPFIELD%NVALIDMAX)
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','valid_max')
+  istatus = NF90_PUT_ATT(INCID, KVARID,'valid_max',TPFIELD%NVALIDMAX)
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','valid_max')
 ENDIF
 !
 IF(TPFIELD%NTYPE==TYPEREAL .AND. TPFIELD%NDIMS>0) THEN
@@ -326,27 +326,27 @@ IF(TPFIELD%NTYPE==TYPEREAL .AND. TPFIELD%NDIMS>0) THEN
   !          * it cannot be modified if some data has already been written (->check OEXISTED)
   IF(.NOT.OEXISTED) THEN
     IF (TPFILE%LNCREDUCE_FLOAT_PRECISION) THEN
-      STATUS = NF90_PUT_ATT(INCID, KVARID,'_FillValue', REAL(TPFIELD%XFILLVALUE,KIND=4))
+      istatus = NF90_PUT_ATT(INCID, KVARID,'_FillValue', REAL(TPFIELD%XFILLVALUE,KIND=4))
     ELSE
-      STATUS = NF90_PUT_ATT(INCID, KVARID,'_FillValue', TPFIELD%XFILLVALUE)
+      istatus = NF90_PUT_ATT(INCID, KVARID,'_FillValue', TPFIELD%XFILLVALUE)
     END IF
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','_FillValue')
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','_FillValue')
   END IF
   !
   ! Valid_min/max (CF/COMODO convention)
   IF (TPFILE%LNCREDUCE_FLOAT_PRECISION) THEN
-    STATUS = NF90_PUT_ATT(INCID, KVARID,'valid_min', REAL(TPFIELD%XVALIDMIN,KIND=4))
+    istatus = NF90_PUT_ATT(INCID, KVARID,'valid_min', REAL(TPFIELD%XVALIDMIN,KIND=4))
   ELSE
-    STATUS = NF90_PUT_ATT(INCID, KVARID,'valid_min', TPFIELD%XVALIDMIN)
+    istatus = NF90_PUT_ATT(INCID, KVARID,'valid_min', TPFIELD%XVALIDMIN)
   END IF
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','valid_min')
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','valid_min')
   !
   IF (TPFILE%LNCREDUCE_FLOAT_PRECISION) THEN
-    STATUS = NF90_PUT_ATT(INCID, KVARID,'valid_max', REAL(TPFIELD%XVALIDMAX,KIND=4))
+    istatus = NF90_PUT_ATT(INCID, KVARID,'valid_max', REAL(TPFIELD%XVALIDMAX,KIND=4))
   ELSE
-    STATUS = NF90_PUT_ATT(INCID, KVARID,'valid_max',TPFIELD%XVALIDMAX)
+    istatus = NF90_PUT_ATT(INCID, KVARID,'valid_max',TPFIELD%XVALIDMAX)
   END IF
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_attr_write_nc4','NF90_PUT_ATT','valid_max')
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_attr_write_nc4','NF90_PUT_ATT','valid_max')
 ENDIF
 !
 END SUBROUTINE IO_Field_attr_write_nc4
@@ -515,7 +515,7 @@ TYPE(TFIELDDATA),      INTENT(IN) :: TPFIELD
 REAL,                  INTENT(IN) :: PFIELD
 INTEGER,               INTENT(OUT):: KRESP
 !
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_nc4_X0',TRIM(TPFILE%CNAME)//': writing '//TRIM(TPFIELD%CMNHNAME))
@@ -525,8 +525,8 @@ KRESP = 0
 call IO_Field_create_nc4( tpfile, tpfield, kvarid = ivarid )
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, PFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_X0','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, PFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_X0','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_X0
 
@@ -538,7 +538,7 @@ TYPE(TFIELDDATA),      INTENT(IN) :: TPFIELD
 REAL,DIMENSION(:),     INTENT(IN) :: PFIELD   ! array containing the data field
 INTEGER,               INTENT(OUT):: KRESP
 !
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 logical              :: gisempty
 !
@@ -549,8 +549,8 @@ KRESP = 0
 call IO_Field_create_nc4( tpfile, tpfield, kshape = Shape( pfield ), kvarid = ivarid, oisempty = gisempty )
 
 ! Write the data
-if ( .not. gisempty ) STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, PFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_X1','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+if ( .not. gisempty ) istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, PFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_X1','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_X1
 
@@ -565,7 +565,7 @@ INTEGER,OPTIONAL,      INTENT(IN) :: KVERTLEVEL ! Number of the vertical level (
 INTEGER,OPTIONAL,      INTENT(IN) :: KZFILE     ! Number of the Z-level split file
 LOGICAL,OPTIONAL,      INTENT(IN) :: OISCOORD   ! Is a coordinate variable (->do not write coordinates attribute)
 !
-INTEGER(KIND=CDFINT)     :: STATUS
+INTEGER(KIND=CDFINT)     :: istatus
 CHARACTER(LEN=4)         :: YSUFFIX
 INTEGER(KIND=CDFINT)     :: IVARID
 TYPE(TFIELDDATA)         :: TZFIELD
@@ -596,8 +596,8 @@ CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_nc4_X2',TRIM(TZFILE%CNAME)//': w
 call IO_Field_create_nc4( tzfile, tzfield, kshape = Shape( pfield ), oiscoord = oiscoord, kvarid = ivarid )
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TZFILE%NNCID, IVARID, PFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_X2','NF90_PUT_VAR',trim(TZFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TZFILE%NNCID, IVARID, PFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_X2','NF90_PUT_VAR',trim(TZFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_X2
 
@@ -609,7 +609,7 @@ TYPE(TFIELDDATA),      INTENT(IN) :: TPFIELD
 REAL,DIMENSION(:,:,:), INTENT(IN) :: PFIELD   ! array containing the data field
 INTEGER,               INTENT(OUT):: KRESP
 !
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_nc4_X3',TRIM(TPFILE%CNAME)//': writing '//TRIM(TPFIELD%CMNHNAME))
@@ -619,8 +619,8 @@ KRESP = 0
 call IO_Field_create_nc4( tpfile, tpfield, kshape = Shape( pfield ), kvarid = ivarid )
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, PFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_X3','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, PFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_X3','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_X3
 
@@ -632,7 +632,7 @@ TYPE(TFIELDDATA),          INTENT(IN) :: TPFIELD
 REAL,DIMENSION(:,:,:,:),   INTENT(IN) :: PFIELD   ! array containing the data field
 INTEGER,                   INTENT(OUT):: KRESP
 !
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_nc4_X4',TRIM(TPFILE%CNAME)//': writing '//TRIM(TPFIELD%CMNHNAME))
@@ -642,8 +642,8 @@ KRESP = 0
 call IO_Field_create_nc4( tpfile, tpfield, kshape = Shape( pfield ), kvarid = ivarid )
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, PFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_X4','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, PFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_X4','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_X4
 
@@ -655,7 +655,7 @@ TYPE(TFIELDDATA),          INTENT(IN) :: TPFIELD
 REAL,DIMENSION(:,:,:,:,:), INTENT(IN) :: PFIELD   ! array containing the data field
 INTEGER,                   INTENT(OUT):: KRESP
 !
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_nc4_X5',TRIM(TPFILE%CNAME)//': writing '//TRIM(TPFIELD%CMNHNAME))
@@ -665,8 +665,8 @@ KRESP = 0
 call IO_Field_create_nc4( tpfile, tpfield, kshape = Shape( pfield ), kvarid = ivarid )
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, PFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_X5','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, PFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_X5','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_X5
 
@@ -678,7 +678,7 @@ TYPE(TFIELDDATA),            INTENT(IN) :: TPFIELD
 REAL,DIMENSION(:,:,:,:,:,:), INTENT(IN) :: PFIELD   ! array containing the data field
 INTEGER,                     INTENT(OUT):: KRESP
 !
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_nc4_X6',TRIM(TPFILE%CNAME)//': writing '//TRIM(TPFIELD%CMNHNAME))
@@ -688,8 +688,8 @@ KRESP = 0
 call IO_Field_create_nc4( tpfile, tpfield, kshape = Shape( pfield ), kvarid = ivarid )
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, PFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_X6','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, PFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_X6','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_X6
 
@@ -711,7 +711,7 @@ INTEGER,               INTENT(IN) :: KFIELD
 INTEGER,               INTENT(OUT):: KRESP
 !
 integer              :: iidx
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_nc4_N0',TRIM(TPFILE%CNAME)//': writing '//TRIM(TPFIELD%CMNHNAME))
@@ -721,8 +721,8 @@ KRESP = 0
 call IO_Field_create_nc4( tpfile, tpfield, kvarid = ivarid )
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, KFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_N0','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, KFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_N0','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 !
 ! Use IMAX, JMAX, KMAX to define DIM_NI, DIM_NJ, DIM_LEVEL
 ! /!\ Can only work if IMAX, JMAX or KMAX are written before any array
@@ -760,7 +760,7 @@ TYPE(TFIELDDATA),      INTENT(IN) :: TPFIELD
 INTEGER, DIMENSION(:), INTENT(IN) :: KFIELD
 INTEGER,               INTENT(OUT):: KRESP
 !
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_nc4_N1',TRIM(TPFILE%CNAME)//': writing '//TRIM(TPFIELD%CMNHNAME))
@@ -770,8 +770,8 @@ KRESP = 0
 call IO_Field_create_nc4( tpfile, tpfield, kshape = Shape( kfield ), kvarid = ivarid )
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, KFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_N1','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, KFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_N1','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_N1
 
@@ -783,7 +783,7 @@ TYPE(TFIELDDATA),      INTENT(IN) :: TPFIELD
 INTEGER,DIMENSION(:,:),INTENT(IN) :: KFIELD   ! array containing the data field
 INTEGER,               INTENT(OUT):: KRESP
 !
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_nc4_N2',TRIM(TPFILE%CNAME)//': writing '//TRIM(TPFIELD%CMNHNAME))
@@ -793,8 +793,8 @@ KRESP = 0
 call IO_Field_create_nc4( tpfile, tpfield, kshape = Shape( kfield ), kvarid = ivarid )
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, KFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_N2','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, KFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_N2','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_N2
 
@@ -806,7 +806,7 @@ TYPE(TFIELDDATA),        INTENT(IN) :: TPFIELD
 INTEGER,DIMENSION(:,:,:),INTENT(IN) :: KFIELD   ! array containing the data field
 INTEGER,                 INTENT(OUT):: KRESP
 !
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_nc4_N3',TRIM(TPFILE%CNAME)//': writing '//TRIM(TPFIELD%CMNHNAME))
@@ -816,8 +816,8 @@ KRESP = 0
 call IO_Field_create_nc4( tpfile, tpfield, kshape = Shape( kfield ), kvarid = ivarid )
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, KFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_N3','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, KFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_N3','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_N3
 
@@ -830,7 +830,7 @@ LOGICAL,               INTENT(IN) :: OFIELD
 INTEGER,               INTENT(OUT):: KRESP
 !
 INTEGER              :: IFIELD
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_nc4_L0',TRIM(TPFILE%CNAME)//': writing '//TRIM(TPFIELD%CMNHNAME))
@@ -847,8 +847,8 @@ ELSE
 END IF
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, IFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_L0','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, IFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_L0','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_L0
 
@@ -861,7 +861,7 @@ LOGICAL, DIMENSION(:), INTENT(IN) :: OFIELD
 INTEGER,               INTENT(OUT):: KRESP
 !
 INTEGER, DIMENSION(SIZE(OFIELD)) :: IFIELD
-INTEGER(KIND=CDFINT)             :: STATUS
+INTEGER(KIND=CDFINT)             :: istatus
 INTEGER(KIND=CDFINT)             :: IVARID
 !
 CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_Field_write_nc4_L1',TRIM(TPFILE%CNAME)//': writing '//TRIM(TPFIELD%CMNHNAME))
@@ -878,8 +878,8 @@ ELSEWHERE
 END WHERE
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, IFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_L1','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, IFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_L1','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_L1
 
@@ -891,7 +891,7 @@ TYPE(TFIELDDATA),      INTENT(IN) :: TPFIELD
 CHARACTER(LEN=*),      INTENT(IN) :: HFIELD
 INTEGER,               INTENT(OUT):: KRESP
 !
-INTEGER(KIND=CDFINT)          :: STATUS
+INTEGER(KIND=CDFINT)          :: istatus
 INTEGER(KIND=CDFINT)          :: IVARID
 INTEGER                       :: ILEN
 CHARACTER(LEN=:), ALLOCATABLE :: YFIELD
@@ -914,8 +914,8 @@ YFIELD(1:LEN_TRIM(HFIELD))=TRIM(HFIELD)
 YFIELD(LEN_TRIM(HFIELD)+1:)=' '
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, YFIELD)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_C0','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, YFIELD)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_C0','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_C0
 
@@ -931,7 +931,7 @@ INTEGER,                      INTENT(OUT) :: KRESP
 !
 INTEGER(KIND=CDFINT),PARAMETER :: IONE = 1
 !
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 INTEGER(KIND=CDFINT) :: ILEN, ISIZE
 !
@@ -945,8 +945,8 @@ ISIZE = SIZE(HFIELD)
 call IO_Field_create_nc4( tpfile, tpfield, kshape = [ ilen, isize ], kvarid = ivarid )
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, HFIELD(1:ISIZE)(1:ILEN), START=(/IONE,IONE/), COUNT=(/ILEN,ISIZE/))
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_C1','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, HFIELD(1:ISIZE)(1:ILEN), START=(/IONE,IONE/), COUNT=(/ILEN,ISIZE/))
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_C1','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_C1
 
@@ -963,7 +963,7 @@ TYPE(TFIELDDATA),      INTENT(IN) :: TPFIELD
 TYPE (DATE_TIME),      INTENT(IN) :: TPDATA
 INTEGER,               INTENT(OUT):: KRESP
 !
-INTEGER(KIND=CDFINT) :: STATUS
+INTEGER(KIND=CDFINT) :: istatus
 INTEGER(KIND=CDFINT) :: IVARID
 TYPE(TFIELDDATA)     :: TZFIELD
 CHARACTER(LEN=40)    :: YUNITS
@@ -999,8 +999,8 @@ call IO_Field_create_nc4( tpfile, tzfield, kvarid = ivarid, hcalendar = 'standar
 CALL DATETIME_DISTANCE(TZREF,TPDATA,ZDELTATIME)
 
 ! Write the data
-STATUS = NF90_PUT_VAR(TPFILE%NNCID, IVARID, ZDELTATIME)
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_T0','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR(TPFILE%NNCID, IVARID, ZDELTATIME)
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_T0','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_T0
 
@@ -1019,7 +1019,7 @@ INTEGER,                        INTENT(OUT):: KRESP
 !
 CHARACTER(LEN=40)               :: YUNITS
 INTEGER                         :: JI
-INTEGER(KIND=CDFINT)            :: STATUS
+INTEGER(KIND=CDFINT)            :: istatus
 INTEGER(KIND=CDFINT)            :: IVARID
 REAL, DIMENSION(:), ALLOCATABLE :: ZDELTATIME !Distance in seconds since reference date and time
 TYPE(DATE_TIME)                 :: TZREF
@@ -1058,8 +1058,8 @@ DO JI = 1, SIZE( TPDATA )
 END DO
 
 ! Write the data
-STATUS = NF90_PUT_VAR( TPFILE%NNCID, IVARID, ZDELTATIME(:) )
-IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'IO_Field_write_nc4_T1','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
+istatus = NF90_PUT_VAR( TPFILE%NNCID, IVARID, ZDELTATIME(:) )
+IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'IO_Field_write_nc4_T1','NF90_PUT_VAR',trim(TPFIELD%CMNHNAME),KRESP)
 
 END SUBROUTINE IO_Field_write_nc4_T1
 
@@ -1464,68 +1464,70 @@ SUBROUTINE WRITE_VER_COORD(TDIM,HLONGNAME,HSTDNAME,HCOMPNAME,PSHIFT,KBOUNDLOW,KB
   INTEGER                       :: JI
   INTEGER(KIND=CDFINT)          :: IVARID
   INTEGER(KIND=CDFINT)          :: IVDIM
-  INTEGER(KIND=CDFINT)          :: STATUS
+  INTEGER(KIND=CDFINT)          :: istatus
 
   isize    = tdim%nlen
   yvarname = Trim( tdim%cname )
   ivdim    = tdim%nid
 
-  STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-  IF (STATUS /= NF90_NOERR) THEN
+  istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+  IF (istatus /= NF90_NOERR) THEN
     ! Define the coordinate variable
-    STATUS = NF90_DEF_VAR(INCID, YVARNAME, MNHREAL_NF90, IVDIM, IVARID)
-    IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_DEF_VAR',trim(YVARNAME))
+    istatus = NF90_DEF_VAR(INCID, YVARNAME, MNHREAL_NF90, IVDIM, IVARID)
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_DEF_VAR',trim(YVARNAME))
   ELSE
     CALL PRINT_MSG(NVERB_ERROR,'IO','WRITE_VER_COORD',TRIM(YVARNAME)//' already defined')
   END IF
 
   ! Write metadata
-  STATUS = NF90_PUT_ATT(INCID, IVARID, 'long_name',HLONGNAME)
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_ATT','long_name for '//trim(YVARNAME))
+  istatus = NF90_PUT_ATT(INCID, IVARID, 'long_name',HLONGNAME)
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_ATT','long_name for '//trim(YVARNAME))
   if ( Len_trim( hstdname ) > 0 ) then
-    STATUS = NF90_PUT_ATT(INCID, IVARID, 'standard_name',HSTDNAME)
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_ATT','standard_name for '//trim(YVARNAME))
+    istatus = NF90_PUT_ATT(INCID, IVARID, 'standard_name',HSTDNAME)
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_ATT','standard_name for '//trim(YVARNAME))
   end if
-  STATUS = NF90_PUT_ATT(INCID, IVARID, 'units','m')
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_ATT','units for '//trim(YVARNAME))
-  STATUS = NF90_PUT_ATT(INCID, IVARID, 'axis','Z')
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_ATT','axis for '//trim(YVARNAME))
-  STATUS = NF90_PUT_ATT(INCID, IVARID, 'positive','up')
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_ATT','positive for '//trim(YVARNAME))
-  STATUS = NF90_PUT_ATT(INCID, IVARID, 'c_grid_axis_shift',PSHIFT)
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_ATT','c_grid_axis_shift for ' &
+  istatus = NF90_PUT_ATT(INCID, IVARID, 'units','m')
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_ATT','units for '//trim(YVARNAME))
+  istatus = NF90_PUT_ATT(INCID, IVARID, 'axis','Z')
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_ATT','axis for '//trim(YVARNAME))
+  istatus = NF90_PUT_ATT(INCID, IVARID, 'positive','up')
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_ATT','positive for '//trim(YVARNAME))
+  istatus = NF90_PUT_ATT(INCID, IVARID, 'c_grid_axis_shift',PSHIFT)
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_ATT','c_grid_axis_shift for ' &
                                                    //trim(YVARNAME))
   WRITE(YRANGE,'( I0,":",I0 )') 1+KBOUNDLOW,ISIZE-KBOUNDHIGH
-  STATUS = NF90_PUT_ATT(INCID, IVARID, 'c_grid_dynamic_range',TRIM(YRANGE))
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_ATT','c_grid_dynamic_range for ' &
+  istatus = NF90_PUT_ATT(INCID, IVARID, 'c_grid_dynamic_range',TRIM(YRANGE))
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_ATT','c_grid_dynamic_range for ' &
                                                    //trim(YVARNAME))
   !
   IF (GSLEVE) THEN
     !Remark: ZS, ZSMT and ZTOP in the formula are the same for mass point or flux point
-    STATUS = NF90_PUT_ATT(INCID, IVARID,'formula_terms','s: '//TRIM(YVARNAME)//                   &
+    istatus = NF90_PUT_ATT(INCID, IVARID,'formula_terms','s: '//TRIM(YVARNAME)//                   &
                                         ' height: ZTOP oro_ls: ZSMT oro: ZS len1: LEN1 len2: LEN2')
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_ATT','formula_terms for '//trim(YVARNAME))
-    STATUS = NF90_PUT_ATT(INCID, IVARID, 'formula_definition','z(n,k,j,i)=s(k)'//                                      &
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_ATT','formula_terms for '//trim(YVARNAME))
+    istatus = NF90_PUT_ATT(INCID, IVARID, 'formula_definition','z(n,k,j,i)=s(k)'//                                      &
                           '+ oro_ls(j,i)*sinh((height/len1)**1.35-(s(k)/len1)**1.35)/sinh((s(k)/len1)**1.35)'//        &
                           '+(oro(j,i)-oro_ls(j,i))*sinh((height/len2)**1.35-(s(k)/len2)**1.35)/sinh((s(k)/len2)**1.35)')
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_ATT','formula_definition for ' &
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_ATT','formula_definition for ' &
                                                      //trim(YVARNAME))
   ELSE
     !Remark: ZS and ZTOP in the formula are the same for mass point or flux point
-    STATUS = NF90_PUT_ATT(INCID, IVARID, 'formula_terms','s: '//TRIM(YVARNAME)//' height: ZTOP orog: ZS')
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_ATT','formula_terms for '//trim(YVARNAME))
-    STATUS = NF90_PUT_ATT(INCID, IVARID, 'formula_definition','z(n,k,j,i)=s(k)*(height-orog(j,i))/height+orog(j,i)')
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_ATT','formula_definition for ' &
+    istatus = NF90_PUT_ATT(INCID, IVARID, 'formula_terms','s: '//TRIM(YVARNAME)//' height: ZTOP orog: ZS')
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_ATT','formula_terms for '//trim(YVARNAME))
+    istatus = NF90_PUT_ATT(INCID, IVARID, 'formula_definition','z(n,k,j,i)=s(k)*(height-orog(j,i))/height+orog(j,i)')
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_ATT','formula_definition for ' &
                                                      //trim(YVARNAME))
   ENDIF
   !
-  STATUS = NF90_PUT_ATT(INCID, IVARID, 'computed_standard_name',HCOMPNAME)
-  IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_ATT','computed_standard_name for ' &
-                                                   //trim(YVARNAME))
+  if ( Len_trim( hcompname ) > 0 ) then
+    istatus = NF90_PUT_ATT(INCID, IVARID, 'computed_standard_name',HCOMPNAME)
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_ATT','computed_standard_name for ' &
+                                                     //trim(YVARNAME))
+  end if
 
   ! Write the data
-  STATUS = NF90_PUT_VAR(INCID, IVARID, PCOORDS)
-  IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_VER_COORD','NF90_PUT_VAR',trim(YVARNAME))
+  istatus = NF90_PUT_VAR(INCID, IVARID, PCOORDS)
+  IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_VER_COORD','NF90_PUT_VAR',trim(YVARNAME))
 
 END SUBROUTINE WRITE_VER_COORD
 
@@ -1545,7 +1547,7 @@ SUBROUTINE WRITE_TIME_COORD(TDIM)
   CHARACTER(LEN=:),ALLOCATABLE :: YVARNAME
   INTEGER(KIND=CDFINT)         :: IVARID
   INTEGER(KIND=CDFINT)         :: IVDIM
-  INTEGER(KIND=CDFINT)         :: STATUS
+  INTEGER(KIND=CDFINT)         :: istatus
   TYPE(DATE_TIME)              :: TZREF
 
 
@@ -1553,28 +1555,29 @@ SUBROUTINE WRITE_TIME_COORD(TDIM)
     yvarname = Trim( tdim%cname )
     ivdim    = tdim%nid
 
-    STATUS = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
-    IF (STATUS /= NF90_NOERR) THEN
+    istatus = NF90_INQ_VARID(INCID, YVARNAME, IVARID)
+    IF (istatus /= NF90_NOERR) THEN
       ! Define the coordinate variable
-      STATUS = NF90_DEF_VAR(INCID, YVARNAME, MNHREAL_NF90, IVDIM, IVARID)
-      IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_TIME_COORD','NF90_DEF_VAR',trim(YVARNAME))
+      istatus = NF90_DEF_VAR(INCID, YVARNAME, MNHREAL_NF90, IVDIM, IVARID)
+      IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_TIME_COORD','NF90_DEF_VAR',trim(YVARNAME))
     ELSE
       CALL PRINT_MSG(NVERB_ERROR,'IO','WRITE_TIME_COORD',TRIM(YVARNAME)//' already defined')
     END IF
 
     ! Write metadata
-    STATUS = NF90_PUT_ATT(INCID, IVARID, 'long_name','time axis')
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_TIME_COORD','NF90_PUT_ATT','long_name for '//trim(YVARNAME))
-    STATUS = NF90_PUT_ATT(INCID, IVARID, 'standard_name','time')
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_TIME_COORD','NF90_PUT_ATT','standard_name for '//trim(YVARNAME))
+    istatus = NF90_PUT_ATT(INCID, IVARID, 'long_name','time axis')
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_TIME_COORD','NF90_PUT_ATT','long_name for '//trim(YVARNAME))
+    istatus = NF90_PUT_ATT(INCID, IVARID, 'standard_name','time')
+    IF (istatus /= NF90_NOERR) &
+      CALL IO_Err_handle_nc4(istatus,'WRITE_TIME_COORD','NF90_PUT_ATT','standard_name for '//trim(YVARNAME))
     WRITE(YUNITS,'( "seconds since ",I4.4,"-",I2.2,"-",I2.2," 00:00:00 +0:00" )') &
           TDTMOD%TDATE%YEAR,TDTMOD%TDATE%MONTH,TDTMOD%TDATE%DAY
-    STATUS = NF90_PUT_ATT(INCID, IVARID, 'units',YUNITS)
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_TIME_COORD','NF90_PUT_ATT','units for '//trim(YVARNAME))
-    STATUS = NF90_PUT_ATT(INCID, IVARID, 'axis','T')
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_TIME_COORD','NF90_PUT_ATT','axis for '//trim(YVARNAME))
-    STATUS = NF90_PUT_ATT(INCID, IVARID,'calendar','standard')
-    IF (STATUS /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_TIME_COORD','NF90_PUT_ATT','calendar for '//trim(YVARNAME))
+    istatus = NF90_PUT_ATT(INCID, IVARID, 'units',YUNITS)
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_TIME_COORD','NF90_PUT_ATT','units for '//trim(YVARNAME))
+    istatus = NF90_PUT_ATT(INCID, IVARID, 'axis','T')
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_TIME_COORD','NF90_PUT_ATT','axis for '//trim(YVARNAME))
+    istatus = NF90_PUT_ATT(INCID, IVARID,'calendar','standard')
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_TIME_COORD','NF90_PUT_ATT','calendar for '//trim(YVARNAME))
 
     ! Model beginning date (TDTMOD%TDATE) is used as the reference date
     ! Reference time is set to 0.
@@ -1583,8 +1586,8 @@ SUBROUTINE WRITE_TIME_COORD(TDIM)
     ! Compute the temporal distance from reference
     CALL DATETIME_DISTANCE(TZREF,TDTCUR,ZDELTATIME)
     ! Write the data
-    STATUS = NF90_PUT_VAR(INCID, IVARID, ZDELTATIME)
-    IF (status /= NF90_NOERR) CALL IO_Err_handle_nc4(status,'WRITE_TIME_COORD','NF90_PUT_VAR',trim(YVARNAME))
+    istatus = NF90_PUT_VAR(INCID, IVARID, ZDELTATIME)
+    IF (istatus /= NF90_NOERR) CALL IO_Err_handle_nc4(istatus,'WRITE_TIME_COORD','NF90_PUT_VAR',trim(YVARNAME))
   END IF
 
 END SUBROUTINE WRITE_TIME_COORD
diff --git a/src/MNH/read_chem_data_netcdf_case.f90 b/src/MNH/read_chem_data_netcdf_case.f90
index dcfe7b1e65ffd3fe804e74db710c50fa29b2b7a1..2bcfc576c330bbf0f687a939d3926d349e9a5d15 100644
--- a/src/MNH/read_chem_data_netcdf_case.f90
+++ b/src/MNH/read_chem_data_netcdf_case.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2012-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2012-2020 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -192,25 +192,25 @@ TYPE(TFILEDATA),POINTER                       :: TZFILE
 !
 ! For netcdf 
 !
-integer(kind=CDFINT) :: status, ncid, varid
-integer(kind=CDFINT) :: lat_varid, lon_varid, lev_varid, time_varid
-integer(kind=CDFINT) :: hyam_varid, hybm_varid, p0_varid, t_varid, q_varid, ps_varid
-integer(kind=CDFINT) :: recid, latid, lonid, levid, timeid
-integer(kind=CDFINT) :: latlen, lonlen, levlen, nrecs, timelen
-integer(kind=CDFINT) :: itimeindex, KILEN
-CHARACTER(LEN=40)                     :: recname
-REAL, DIMENSION(:), ALLOCATABLE       :: lats
-REAL, DIMENSION(:), ALLOCATABLE       :: lons 
-REAL, DIMENSION(:), ALLOCATABLE       :: levs 
-INTEGER(kind=CDFINT), DIMENSION(:), ALLOCATABLE :: count3d, start3d
-INTEGER(kind=CDFINT), DIMENSION(:), ALLOCATABLE :: count2d, start2d
-REAL, DIMENSION(:), ALLOCATABLE       :: time, hyam, hybm 
-REAL                                  :: p0 
-INTEGER, DIMENSION(:), ALLOCATABLE    :: kinlo 
-REAL, DIMENSION(:,:,:), ALLOCATABLE   :: vartemp3d,vartemp3dbis,vartemp3dter 
-REAL, DIMENSION(:,:,:), ALLOCATABLE   :: vartemp3dquater 
-REAL, DIMENSION(:,:,:), ALLOCATABLE   :: ZCHEMMOZ, TMOZ, QMOZ
-REAL, DIMENSION(:,:), ALLOCATABLE     :: PSMOZ 
+CHARACTER(LEN=40)                     :: yrecname
+integer(kind=CDFINT) :: istatus, incid, ivarid
+integer(kind=CDFINT) :: ilat_varid, ilon_varid, ilev_varid, itime_varid
+integer(kind=CDFINT) :: ihyam_varid, ihybm_varid, ip0_varid, it_varid, iq_varid, ips_varid
+integer(kind=CDFINT) :: irecid, ilatid, ilonid, ilevid, itimeid
+integer(kind=CDFINT) :: ilatlen, ilonlen, ilevlen, inrecs, itimelen
+integer(kind=CDFINT) :: itimeindex, IKILEN
+INTEGER, DIMENSION(:), ALLOCATABLE    :: ikinlo
+INTEGER(kind=CDFINT), DIMENSION(:), ALLOCATABLE :: icount3d, istart3d
+INTEGER(kind=CDFINT), DIMENSION(:), ALLOCATABLE :: icount2d, istart2d
+REAL                                  :: zp0
+REAL, DIMENSION(:), ALLOCATABLE       :: zlats
+REAL, DIMENSION(:), ALLOCATABLE       :: zlons
+REAL, DIMENSION(:), ALLOCATABLE       :: zlevs
+REAL, DIMENSION(:), ALLOCATABLE       :: ztime, zhyam, zhybm
+REAL, DIMENSION(:,:), ALLOCATABLE     :: ZPSMOZ
+REAL, DIMENSION(:,:,:), ALLOCATABLE   :: zvartemp3d, zvartemp3dbis, zvartemp3dter
+REAL, DIMENSION(:,:,:), ALLOCATABLE   :: zvartemp3dquater
+REAL, DIMENSION(:,:,:), ALLOCATABLE   :: ZCHEMMOZ, ZTMOZ, ZQMOZ
 
 real ::a,b
 
@@ -263,87 +263,87 @@ DEALLOCATE (ZXM)
 ! 2.1 Open netcdf files
 !print*,'Open netcdf files:',HFILE
 !
-status = nf90_open(HFILE, nf90_nowrite, ncid) 
-if (status /= nf90_noerr) call handle_err(status)
+istatus = nf90_open(HFILE, nf90_nowrite, incid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
 !
 ! 2.2 Read netcdf files
 !
 ! get dimension IDs
 !
 !* get dimension ID of unlimited variable in netcdf file
-status = nf90_inquire(ncid, unlimitedDimId = recid)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inq_dimid(ncid, "lat", latid)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inq_dimid(ncid, "lon", lonid)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inq_dimid(ncid, "lev", levid)
-if (status /= nf90_noerr) call handle_err(status)
+istatus = nf90_inquire(incid, unlimitedDimId = irecid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inq_dimid(incid, "lat", ilatid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inq_dimid(incid, "lon", ilonid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inq_dimid(incid, "lev", ilevid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
 !
 ! get dimensions
 !
 !* get dimension and name of unlimited variable in netcdf file
-status = nf90_inquire_dimension(ncid, recid, name=recname, len=nrecs)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inquire_dimension(ncid, latid, len=latlen)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inquire_dimension(ncid, lonid, len=lonlen)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inquire_dimension(ncid, levid, len=levlen)
-if (status /= nf90_noerr) call handle_err(status)
-!print*, latlen, lonlen, levlen, nrecs
+istatus = nf90_inquire_dimension(incid, irecid, name=yrecname, len=inrecs)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inquire_dimension(incid, ilatid, len=ilatlen)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inquire_dimension(incid, ilonid, len=ilonlen)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inquire_dimension(incid, ilevid, len=ilevlen)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+!print*, ilatlen, ilonlen, ilevlen, inrecs
 !
 ! get variable IDs
 !
-status = nf90_inq_varid(ncid, "lat", lat_varid)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inq_varid(ncid, "lon", lon_varid)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inq_varid(ncid, "lev", lev_varid)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inq_varid(ncid, "time", time_varid)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inq_varid(ncid, "P0", p0_varid)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inq_varid(ncid, "hyam", hyam_varid)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inq_varid(ncid, "hybm", hybm_varid)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inq_varid(ncid, "T", t_varid)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inq_varid(ncid, "Q", q_varid)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_inq_varid(ncid, "PS", ps_varid)
-if (status /= nf90_noerr) call handle_err(status)
-!
-KILEN = latlen * lonlen
+istatus = nf90_inq_varid(incid, "lat", ilat_varid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inq_varid(incid, "lon", ilon_varid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inq_varid(incid, "lev", ilev_varid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inq_varid(incid, "time", itime_varid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inq_varid(incid, "P0", ip0_varid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inq_varid(incid, "hyam", ihyam_varid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inq_varid(incid, "hybm", ihybm_varid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inq_varid(incid, "T", it_varid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inq_varid(incid, "Q", iq_varid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_inq_varid(incid, "PS", ips_varid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+!
+IKILEN = ilatlen * ilonlen
 !
 ! 2.3 Read data.
 !
-ALLOCATE (count3d(4))
-ALLOCATE (start3d(4))
-ALLOCATE (count2d(3))
-ALLOCATE (start2d(3))
-ALLOCATE (lats(latlen))
-ALLOCATE (lons(lonlen))
-ALLOCATE (levs(levlen))
-ALLOCATE (time(nrecs))
-ALLOCATE (kinlo(latlen))
-kinlo(:) = lonlen
-ALLOCATE (vartemp3d(lonlen,latlen,levlen))
-ALLOCATE (vartemp3dbis(lonlen,latlen,levlen))
-ALLOCATE (vartemp3dter(lonlen,latlen,levlen))
-ALLOCATE (vartemp3dquater(lonlen,latlen,levlen))
-ALLOCATE (ZCHEMMOZ(lonlen,latlen,levlen))
-ALLOCATE (TMOZ(lonlen,latlen,levlen))
-ALLOCATE (QMOZ(lonlen,latlen,levlen))
-ALLOCATE (PSMOZ(lonlen,latlen))
-ALLOCATE (XA_SV_LS(levlen))
-ALLOCATE (hyam(levlen))
-ALLOCATE (XB_SV_LS(levlen))
-ALLOCATE (hybm(levlen))
-ALLOCATE (XT_SV_LS(IIU,IJU,levlen))
-ALLOCATE (XQ_SV_LS(IIU,IJU,levlen,1))
+ALLOCATE (icount3d(4))
+ALLOCATE (istart3d(4))
+ALLOCATE (icount2d(3))
+ALLOCATE (istart2d(3))
+ALLOCATE (zlats(ilatlen))
+ALLOCATE (zlons(ilonlen))
+ALLOCATE (zlevs(ilevlen))
+ALLOCATE (ztime(inrecs))
+ALLOCATE (ikinlo(ilatlen))
+ikinlo(:) = ilonlen
+ALLOCATE (zvartemp3d(ilonlen,ilatlen,ilevlen))
+ALLOCATE (zvartemp3dbis(ilonlen,ilatlen,ilevlen))
+ALLOCATE (zvartemp3dter(ilonlen,ilatlen,ilevlen))
+ALLOCATE (zvartemp3dquater(ilonlen,ilatlen,ilevlen))
+ALLOCATE (ZCHEMMOZ(ilonlen,ilatlen,ilevlen))
+ALLOCATE (ZTMOZ(ilonlen,ilatlen,ilevlen))
+ALLOCATE (ZQMOZ(ilonlen,ilatlen,ilevlen))
+ALLOCATE (ZPSMOZ(ilonlen,ilatlen))
+ALLOCATE (XA_SV_LS(ilevlen))
+ALLOCATE (zhyam(ilevlen))
+ALLOCATE (XB_SV_LS(ilevlen))
+ALLOCATE (zhybm(ilevlen))
+ALLOCATE (XT_SV_LS(IIU,IJU,ilevlen))
+ALLOCATE (XQ_SV_LS(IIU,IJU,ilevlen,1))
 ALLOCATE (XPS_SV_LS(IIU,IJU))
 ALLOCATE (XZS_SV_LS(IIU,IJU))
 ! take the orography from ECMWF
@@ -351,40 +351,40 @@ XZS_SV_LS(:,:) = XZS_LS(:,:)
 !
 ! get values of variables
 !
-status = nf90_get_var(ncid, lat_varid, lats(:))
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_get_var(ncid, lon_varid, lons(:))
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_get_var(ncid, lev_varid, levs(:))
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_get_var(ncid, time_varid, time(:))
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_get_var(ncid, hyam_varid, hyam)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_get_var(ncid, hybm_varid, hybm)
-if (status /= nf90_noerr) call handle_err(status)
-status = nf90_get_var(ncid, p0_varid, p0)
-if (status /= nf90_noerr) call handle_err(status)
-XP00_SV_LS = p0
+istatus = nf90_get_var(incid, ilat_varid, zlats(:))
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_get_var(incid, ilon_varid, zlons(:))
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_get_var(incid, ilev_varid, zlevs(:))
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_get_var(incid, itime_varid, ztime(:))
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_get_var(incid, ihyam_varid, zhyam)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_get_var(incid, ihybm_varid, zhybm)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+istatus = nf90_get_var(incid, ip0_varid, zp0)
+if (istatus /= nf90_noerr) call handle_err(istatus)
+XP00_SV_LS = zp0
 !
 ! hyam and hybm coefficients for pressure calculations have to be reversed 
 ! from top-bottom to bottom-up direction
-do JJ = 1, levlen
-  XA_SV_LS(JJ) = hyam(levlen+1-JJ)
-  XB_SV_LS(JJ) = hybm(levlen+1-JJ)
+do JJ = 1, ilevlen
+  XA_SV_LS(JJ) = zhyam(ilevlen+1-JJ)
+  XB_SV_LS(JJ) = zhybm(ilevlen+1-JJ)
 end do
 !
 !
 !     Read 1 record of lon*lat*lev values, starting at the
 !     beginning of the record (the (1, 1, 1, rec) element in the netCDF
 !     file).
- count3d(1) = lonlen
- count3d(2) = latlen
- count3d(3) = levlen
- count3d(4) = 1
- start3d(1) = 1
- start3d(2) = 1
- start3d(3) = 1
+ icount3d(1) = ilonlen
+ icount3d(2) = ilatlen
+ icount3d(3) = ilevlen
+ icount3d(4) = 1
+ istart3d(1) = 1
+ istart3d(2) = 1
+ istart3d(3) = 1
 ! Choose time index according to the chosen time in namelist
 ! 1 for 06h - 2 for 12h - 3 for 18h - 4 for 24h
 IF (CDUMMY1=="06") THEN
@@ -396,32 +396,32 @@ ELSEIF (CDUMMY1=="18") THEN
 ELSEIF ((CDUMMY1=="24").OR.(CDUMMY1=="00")) THEN
        itimeindex=4
 ENDIF
- start3d(4) = itimeindex
+ istart3d(4) = itimeindex
 !
-  status = nf90_get_var(ncid, t_varid, vartemp3d, start=start3d, count=count3d)
-  if (status /= nf90_noerr) call handle_err(status)
+  istatus = nf90_get_var(incid, it_varid, zvartemp3d, start=istart3d, count=icount3d)
+  if (istatus /= nf90_noerr) call handle_err(istatus)
 !
-do JJ=1,levlen
+do JJ=1,ilevlen
 ! lev, lat, lon
- TMOZ(:,:,JJ) = vartemp3d(:,:,levlen+1-JJ)
+ ZTMOZ(:,:,JJ) = zvartemp3d(:,:,ilevlen+1-JJ)
 enddo
 !
-  status = nf90_get_var(ncid, q_varid, vartemp3d, start=start3d, count=count3d)
-  if (status /= nf90_noerr) call handle_err(status)
+  istatus = nf90_get_var(incid, iq_varid, zvartemp3d, start=istart3d, count=icount3d)
+  if (istatus /= nf90_noerr) call handle_err(istatus)
 !
-do JJ=1,levlen
+do JJ=1,ilevlen
 ! lev, lat, lon
- QMOZ(:,:,JJ) = vartemp3d(:,:,levlen+1-JJ)
+ ZQMOZ(:,:,JJ) = zvartemp3d(:,:,ilevlen+1-JJ)
 enddo
 !
- count2d(1) = lonlen
- count2d(2) = latlen
- count2d(3) = 1
- start2d(1) = 1
- start2d(2) = 1
- start2d(3) = itimeindex
-  status = nf90_get_var(ncid, ps_varid, PSMOZ(:,:), start=start2d, count=count2d)
-  if (status /= nf90_noerr) call handle_err(status)
+ icount2d(1) = ilonlen
+ icount2d(2) = ilatlen
+ icount2d(3) = 1
+ istart2d(1) = 1
+ istart2d(2) = 1
+ istart2d(3) = itimeindex
+  istatus = nf90_get_var(incid, ips_varid, ZPSMOZ(:,:), start=istart2d, count=icount2d)
+  if (istatus /= nf90_noerr) call handle_err(istatus)
 
   
 !------------------------------------------------------------------------
@@ -439,16 +439,16 @@ enddo
   ! initialise NSV_* variables
   CALL INI_NSV(1)
     DEALLOCATE(XSV_LS)
-    ALLOCATE (XSV_LS(IIU,IJU,levlen,NSV))
+    ALLOCATE (XSV_LS(IIU,IJU,ilevlen,NSV))
    XSV_LS(:,:,:,:) = 0.
 !
   WRITE (ILUOUT0,'(A,A4,A)') ' | Reading MOZART species (ppp) from ',HFILE,' file'
 
 where (ZLONOUT(:) < 0.) ZLONOUT(:) = ZLONOUT(:) + 360.
 !
-ALLOCATE(ZVALUE(levlen,KILEN))
-ALLOCATE(ZOUT(levlen,INO))
-ALLOCATE(ZVALUE1D(KILEN))
+ALLOCATE(ZVALUE(ilevlen,IKILEN))
+ALLOCATE(ZOUT(ilevlen,INO))
+ALLOCATE(ZVALUE1D(IKILEN))
 ALLOCATE(ZOUT1D(INO))
 
 !
@@ -505,162 +505,162 @@ DO JI = 1,IMOZ               !for every MNH species existing in MOZ1.nam
   DO JNCHEM = NSV_CHEMBEG, NSV_CHEMEND  !loop on all MNH species
     IF (trim(CNAMES(JNCHEM-NSV_CHEMBEG+1))==trim(YSPCMNH(JI))) THEN !MNH mechanism species
        IF (ISPCMOZ(JI)==1) THEN
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,1)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3d, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         DO JJ=1,levlen ! lev, lat, lon
-           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*vartemp3d(:,:,levlen+1-JJ)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,1)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3d, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         DO JJ=1,ilevlen ! lev, lat, lon
+           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*zvartemp3d(:,:,ilevlen+1-JJ)
          ENDDO
        ELSE IF (ISPCMOZ(JI)==2) THEN
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,1)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3d, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,2)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3dbis, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         DO JJ=1,levlen ! lev, lat, lon
-           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*vartemp3d(:,:,levlen+1-JJ) + &
-                               ZCOEFMOZART(JI,2)*vartemp3dbis(:,:,levlen+1-JJ) 
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,1)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3d, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,2)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3dbis, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         DO JJ=1,ilevlen ! lev, lat, lon
+           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*zvartemp3d(:,:,ilevlen+1-JJ) + &
+                               ZCOEFMOZART(JI,2)*zvartemp3dbis(:,:,ilevlen+1-JJ)
          ENDDO
        ELSE IF (ISPCMOZ(JI)==3) THEN
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,1)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3d, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,2)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3dbis, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,3)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3dter, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         DO JJ=1,levlen ! lev, lat, lon
-           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*vartemp3d(:,:,levlen+1-JJ)+&
-                            ZCOEFMOZART(JI,2)*vartemp3dbis(:,:,levlen+1-JJ)+&
-                            ZCOEFMOZART(JI,3)*vartemp3dter(:,:,levlen+1-JJ)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,1)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3d, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,2)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3dbis, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,3)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3dter, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         DO JJ=1,ilevlen ! lev, lat, lon
+           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*zvartemp3d(:,:,ilevlen+1-JJ)+&
+                            ZCOEFMOZART(JI,2)*zvartemp3dbis(:,:,ilevlen+1-JJ)+&
+                            ZCOEFMOZART(JI,3)*zvartemp3dter(:,:,ilevlen+1-JJ)
          ENDDO
        ELSE IF (ISPCMOZ(JI)==4) THEN
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,1)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3d, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,2)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3dbis, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,3)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3dter, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,4)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3dquater, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         DO JJ=1,levlen ! lev, lat, lon
-           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*vartemp3d(:,:,levlen+1-JJ)+&
-                               ZCOEFMOZART(JI,2)*vartemp3dbis(:,:,levlen+1-JJ)+&
-                               ZCOEFMOZART(JI,3)*vartemp3dter(:,:,levlen+1-JJ)+&
-                               ZCOEFMOZART(JI,4)*vartemp3dquater(:,:,levlen+1-JJ)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,1)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3d, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,2)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3dbis, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,3)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3dter, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,4)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3dquater, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         DO JJ=1,ilevlen ! lev, lat, lon
+           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*zvartemp3d(:,:,ilevlen+1-JJ)+&
+                               ZCOEFMOZART(JI,2)*zvartemp3dbis(:,:,ilevlen+1-JJ)+&
+                               ZCOEFMOZART(JI,3)*zvartemp3dter(:,:,ilevlen+1-JJ)+&
+                               ZCOEFMOZART(JI,4)*zvartemp3dquater(:,:,ilevlen+1-JJ)
          ENDDO
        ENDIF
-       DO JK = 1, levlen
+       DO JK = 1, ilevlen
          JLOOP1 = 0
-         DO JJ = 1, latlen
-           ZVALUE(JK,JLOOP1+1:JLOOP1+lonlen) = ZCHEMMOZ(1:lonlen,JJ,JK)
-           JLOOP1 = JLOOP1+lonlen
+         DO JJ = 1, ilatlen
+           ZVALUE(JK,JLOOP1+1:JLOOP1+ilonlen) = ZCHEMMOZ(1:ilonlen,JJ,JK)
+           JLOOP1 = JLOOP1+ilonlen
          ENDDO                                                                                           
-         CALL HORIBL(lats(1),lons(1),lats(latlen),lons(lonlen), &
-                     int(latlen,kind=kind(1)),kinlo,KILEN,      &
+         CALL HORIBL(zlats(1),zlons(1),zlats(ilatlen),zlons(ilonlen), &
+                     int(ilatlen,kind=kind(1)),ikinlo,IKILEN,      &
                      ZVALUE(JK,:),INO,ZLONOUT,ZLATOUT,          &
                      ZOUT(JK,:),.FALSE.,PTIME_HORI,.TRUE.)
          CALL ARRAY_1D_TO_2D(INO,ZOUT(JK,:),IIU,IJU, &
                              XSV_LS(:,:,JK,JNCHEM)   )
-       ENDDO  ! levlen
+       ENDDO  ! ilevlen
     ENDIF      
 
   ENDDO ! JNCHEM
   DO JNAER = NSV_AERBEG, NSV_AEREND 
     IF (trim(CAERONAMES(JNAER-NSV_AERBEG+1))==trim(YSPCMNH(JI))) THEN !MNH mechanism species
        IF (ISPCMOZ(JI)==1) THEN
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,1)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3d, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         DO JJ=1,levlen ! lev, lat, lon
-           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*vartemp3d(:,:,levlen+1-JJ)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,1)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3d, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         DO JJ=1,ilevlen ! lev, lat, lon
+           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*zvartemp3d(:,:,ilevlen+1-JJ)
          ENDDO
        ELSE IF (ISPCMOZ(JI)==2) THEN
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,1)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3d, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,2)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3dbis, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         DO JJ=1,levlen ! lev, lat, lon
-           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*vartemp3d(:,:,levlen+1-JJ) + &
-                               ZCOEFMOZART(JI,2)*vartemp3dbis(:,:,levlen+1-JJ) 
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,1)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3d, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,2)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3dbis, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         DO JJ=1,ilevlen ! lev, lat, lon
+           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*zvartemp3d(:,:,ilevlen+1-JJ) + &
+                               ZCOEFMOZART(JI,2)*zvartemp3dbis(:,:,ilevlen+1-JJ)
          ENDDO
        ELSE IF (ISPCMOZ(JI)==3) THEN
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,1)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3d, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,2)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3dbis, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,3)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3dter, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         DO JJ=1,levlen ! lev, lat, lon
-           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*vartemp3d(:,:,levlen+1-JJ)+&
-                            ZCOEFMOZART(JI,2)*vartemp3dbis(:,:,levlen+1-JJ)+&
-                            ZCOEFMOZART(JI,3)*vartemp3dter(:,:,levlen+1-JJ)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,1)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3d, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,2)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3dbis, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,3)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3dter, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         DO JJ=1,ilevlen ! lev, lat, lon
+           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*zvartemp3d(:,:,ilevlen+1-JJ)+&
+                            ZCOEFMOZART(JI,2)*zvartemp3dbis(:,:,ilevlen+1-JJ)+&
+                            ZCOEFMOZART(JI,3)*zvartemp3dter(:,:,ilevlen+1-JJ)
          ENDDO
        ELSE IF (ISPCMOZ(JI)==4) THEN
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,1)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3d, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,2)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3dbis, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,3)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3dter, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         status = nf90_inq_varid(ncid, trim(YCHANGE(JI,4)), ind_netcdf)
-         if (status /= nf90_noerr) call handle_err(status)
-         status = nf90_get_var(ncid, ind_netcdf, vartemp3dquater, start=start3d, count=count3d)
-         if (status /= nf90_noerr) call  handle_err(status)
-         DO JJ=1,levlen ! lev, lat, lon
-           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*vartemp3d(:,:,levlen+1-JJ)+&
-                               ZCOEFMOZART(JI,2)*vartemp3dbis(:,:,levlen+1-JJ)+&
-                               ZCOEFMOZART(JI,3)*vartemp3dter(:,:,levlen+1-JJ)+&
-                               ZCOEFMOZART(JI,4)*vartemp3dquater(:,:,levlen+1-JJ)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,1)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3d, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,2)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3dbis, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,3)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3dter, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         istatus = nf90_inq_varid(incid, trim(YCHANGE(JI,4)), ind_netcdf)
+         if (istatus /= nf90_noerr) call handle_err(istatus)
+         istatus = nf90_get_var(incid, ind_netcdf, zvartemp3dquater, start=istart3d, count=icount3d)
+         if (istatus /= nf90_noerr) call  handle_err(istatus)
+         DO JJ=1,ilevlen ! lev, lat, lon
+           ZCHEMMOZ(:,:,JJ)=ZCOEFMOZART(JI,1)*zvartemp3d(:,:,ilevlen+1-JJ)+&
+                               ZCOEFMOZART(JI,2)*zvartemp3dbis(:,:,ilevlen+1-JJ)+&
+                               ZCOEFMOZART(JI,3)*zvartemp3dter(:,:,ilevlen+1-JJ)+&
+                               ZCOEFMOZART(JI,4)*zvartemp3dquater(:,:,ilevlen+1-JJ)
          ENDDO
        ENDIF
-       DO JK = 1, levlen
+       DO JK = 1, ilevlen
          JLOOP1 = 0
-         DO JJ = 1, latlen
-           ZVALUE(JK,JLOOP1+1:JLOOP1+lonlen) = ZCHEMMOZ(1:lonlen,JJ,JK)
-           JLOOP1 = JLOOP1+lonlen
+         DO JJ = 1, ilatlen
+           ZVALUE(JK,JLOOP1+1:JLOOP1+ilonlen) = ZCHEMMOZ(1:ilonlen,JJ,JK)
+           JLOOP1 = JLOOP1+ilonlen
          ENDDO                                                                                           
-         CALL HORIBL(lats(1),lons(1),lats(latlen),lons(lonlen), &
-                     int(latlen,kind=kind(1)),kinlo,KILEN,      &
+         CALL HORIBL(zlats(1),zlons(1),zlats(ilatlen),zlons(ilonlen), &
+                     int(ilatlen,kind=kind(1)),ikinlo,IKILEN,      &
                      ZVALUE(JK,:),INO,ZLONOUT,ZLATOUT,          &
                      ZOUT(JK,:),.FALSE.,PTIME_HORI,.TRUE.)
          CALL ARRAY_1D_TO_2D(INO,ZOUT(JK,:),IIU,IJU, &
                              XSV_LS(:,:,JK,JNAER)   )
-       ENDDO  ! levlen
+       ENDDO  ! ilevlen
     ENDIF         
   ENDDO ! JNAER
 ENDDO  ! JIDO JNCHEM = NSV_CHEMBEG, NSV_CHEMEND  !loop on all MNH species
@@ -672,14 +672,14 @@ DEALLOCATE(YCHANGE)
 !
 XSV_LS(:,:,:,:) = MAX(XSV_LS(:,:,:,:),0.)
 !
-DO JK = 1, levlen
+DO JK = 1, ilevlen
   JLOOP1 = 0
-  DO JJ = 1, latlen
-    ZVALUE(JK,JLOOP1+1:JLOOP1+lonlen) = TMOZ(1:lonlen,JJ,JK)
-    JLOOP1 = JLOOP1 + lonlen
+  DO JJ = 1, ilatlen
+    ZVALUE(JK,JLOOP1+1:JLOOP1+ilonlen) = ZTMOZ(1:ilonlen,JJ,JK)
+    JLOOP1 = JLOOP1 + ilonlen
   ENDDO
-  CALL HORIBL(lats(1),lons(1),lats(latlen),lons(lonlen), &
-              int(latlen,kind=kind(1)),kinlo,KILEN,      &
+  CALL HORIBL(zlats(1),zlons(1),zlats(ilatlen),zlons(ilonlen), &
+              int(ilatlen,kind=kind(1)),ikinlo,IKILEN,      &
               ZVALUE(JK,:),INO,ZLONOUT,ZLATOUT,          &
               ZOUT(JK,:),.FALSE.,PTIME_HORI,.FALSE.)
 !
@@ -688,14 +688,14 @@ DO JK = 1, levlen
 ENDDO 
 XT_SV_LS(:,:,:) = MAX(XT_SV_LS(:,:,:),0.)
 !
-DO JK = 1, levlen
+DO JK = 1, ilevlen
   JLOOP1 = 0
-  DO JJ = 1, latlen
-    ZVALUE(JK,JLOOP1+1:JLOOP1+lonlen) = QMOZ(1:lonlen,JJ,JK)
-    JLOOP1 = JLOOP1 + lonlen
+  DO JJ = 1, ilatlen
+    ZVALUE(JK,JLOOP1+1:JLOOP1+ilonlen) = ZQMOZ(1:ilonlen,JJ,JK)
+    JLOOP1 = JLOOP1 + ilonlen
   ENDDO
-  CALL HORIBL(lats(1),lons(1),lats(latlen),lons(lonlen), &
-              int(latlen,kind=kind(1)),kinlo,KILEN,      &
+  CALL HORIBL(zlats(1),zlons(1),zlats(ilatlen),zlons(ilonlen), &
+              int(ilatlen,kind=kind(1)),ikinlo,IKILEN,      &
               ZVALUE(JK,:),INO,ZLONOUT,ZLATOUT,                  &
               ZOUT(JK,:),.FALSE.,PTIME_HORI,.FALSE.)
 !
@@ -705,12 +705,12 @@ ENDDO
 XQ_SV_LS(:,:,:,1) = MAX(XQ_SV_LS(:,:,:,1),0.)
 !
 JLOOP1 = 0
-DO JJ = 1, latlen
-  ZVALUE1D(JLOOP1+1:JLOOP1+lonlen) = PSMOZ(1:lonlen,JJ)
-  JLOOP1 = JLOOP1 + lonlen
+DO JJ = 1, ilatlen
+  ZVALUE1D(JLOOP1+1:JLOOP1+ilonlen) = ZPSMOZ(1:ilonlen,JJ)
+  JLOOP1 = JLOOP1 + ilonlen
 ENDDO
-CALL HORIBL(lats(1),lons(1),lats(latlen),lons(lonlen), &
-            int(latlen,kind=kind(1)),kinlo,KILEN,      &
+CALL HORIBL(zlats(1),zlons(1),zlats(ilatlen),zlons(ilonlen), &
+            int(ilatlen,kind=kind(1)),ikinlo,IKILEN,      &
             ZVALUE1D(:),INO,ZLONOUT,ZLATOUT,                  &
             ZOUT1D(:),.FALSE.,PTIME_HORI,.FALSE.)
 !
@@ -721,8 +721,8 @@ XPS_SV_LS(:,:) = MAX(XPS_SV_LS(:,:),0.)
 !
 !
 ! close the netcdf file
-status = nf90_close(ncid) 
-if (status /= nf90_noerr) call handle_err(status)
+istatus = nf90_close(incid)
+if (istatus /= nf90_noerr) call handle_err(istatus)
 !
   DEALLOCATE (ZVALUE)
   DEALLOCATE (ZOUT)
@@ -752,12 +752,12 @@ CALL READ_VER_GRID(TPPRE_REAL1)
 !
 DEALLOCATE (ZLATOUT)
 DEALLOCATE (ZLONOUT)
-DEALLOCATE (hyam)
-DEALLOCATE (hybm)
-DEALLOCATE (vartemp3d)
-DEALLOCATE (vartemp3dbis)
-DEALLOCATE (vartemp3dter)
-DEALLOCATE (vartemp3dquater)
+DEALLOCATE (zhyam)
+DEALLOCATE (zhybm)
+DEALLOCATE (zvartemp3d)
+DEALLOCATE (zvartemp3dbis)
+DEALLOCATE (zvartemp3dter)
+DEALLOCATE (zvartemp3dquater)
 !
 WRITE (ILUOUT0,'(A,A4,A)') ' -- netcdf decoder for ',HFILE,' file ended successfully'
 !
@@ -765,14 +765,14 @@ WRITE (ILUOUT0,'(A,A4,A)') ' -- netcdf decoder for ',HFILE,' file ended successf
 CONTAINS
 !
 ! #############################
-  subroutine handle_err(status)
+  subroutine handle_err(istatus)
 ! #############################
     use mode_msg
 
-    integer(kind=CDFINT) status
+    integer(kind=CDFINT) istatus
 
-    if ( status /= NF90_NOERR ) then
-      call Print_msg( NVERB_FATAL, 'IO', 'HANDLE_ERR', NF90_STRERROR(status) )
+    if ( istatus /= NF90_NOERR ) then
+      call Print_msg( NVERB_FATAL, 'IO', 'HANDLE_ERR', NF90_STRERROR(istatus) )
     end if
 
   end subroutine handle_err