diff --git a/src/MNH/ini_prog_var.f90 b/src/MNH/ini_prog_var.f90
index 2e9702b85ea4cbd506b6aa0cf522c9376c3b1f9c..3a60efc9a5abd1f14821d44e067347c0832345d0 100644
--- a/src/MNH/ini_prog_var.f90
+++ b/src/MNH/ini_prog_var.f90
@@ -158,6 +158,7 @@ INTEGER :: JSV   ! Loop index
 INTEGER :: JMOM, IMOMENTS, JMODE, ISV_NAME_IDX, IMODEIDX  ! dust and salt modes
 INTEGER :: ILUDES                         !  logical unit numbers of DESFM file
 LOGICAL :: GFOUND                         ! Return code when searching namelist
+LOGICAL :: GOLDFILEFORMAT
 TYPE(TFIELDMETADATA)    :: TZFIELD
 TYPE(TFILEDATA),POINTER :: TZCHEMFILE => NULL()
 !-------------------------------------------------------------------------------
@@ -213,7 +214,12 @@ IF(PRESENT(HCHEMFILE)) THEN
   ! Read dimensions in chem file and checks with output file
   CALL IO_File_add2list(TZCHEMFILE,TRIM(HCHEMFILE),'MNH','READ',KLFITYPE=2,KLFIVERB=NVERB)
   CALL IO_File_open(TZCHEMFILE)
-  !
+
+  !If TZCHEMFILE file was written with a MesoNH version < 5.5.1, some variables had different names (or were not available)
+  GOLDFILEFORMAT = ( TZCHEMFILE%NMNHVERSION(1) < 5                                                                              &
+              .OR. ( TZCHEMFILE%NMNHVERSION(1) == 5 .AND. TZCHEMFILE%NMNHVERSION(2) < 5 )                                       &
+              .OR. ( TZCHEMFILE%NMNHVERSION(1) == 5 .AND. TZCHEMFILE%NMNHVERSION(2) == 5  .AND. TZCHEMFILE%NMNHVERSION(3) < 1 ) )
+
   ILUDES = TZCHEMFILE%TDESFILE%NLU
   !
   CALL IO_Field_read(TZCHEMFILE,'IMAX',IIMAX,IRESP)
@@ -270,8 +276,10 @@ IF(PRESENT(HCHEMFILE)) THEN
   IF (.NOT.LDUST) THEN
     DO JSV = NSV_CHEMBEG, NSV_CHEMEND
       TZFIELD = TSVLIST(JSV)
-      TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-      TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+      IF ( GOLDFILEFORMAT ) THEN
+        TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
+        TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+      END IF
       CALL IO_Field_read(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP)
       IF (IRESP/=0) THEN
         WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),' NOT FOUND IN THE CHEM FILE ',HCHEMFILE
@@ -287,8 +295,10 @@ IF(PRESENT(HCHEMFILE)) THEN
   IF (LORILAM) THEN
     DO JSV = NSV_AERBEG,NSV_AEREND
       TZFIELD = TSVLIST(JSV)
-      TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-      TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+      IF ( GOLDFILEFORMAT ) THEN
+        TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
+        TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+      END IF
       CALL IO_Field_read(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP)
       IF (IRESP/=0) THEN
         WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE
@@ -299,8 +309,10 @@ IF(PRESENT(HCHEMFILE)) THEN
     IF (LDEPOS_AER(IMI)) THEN   
       DO JSV = NSV_AERDEPBEG,NSV_AERDEPEND
         TZFIELD = TSVLIST(JSV)
-        TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-        TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+        IF ( GOLDFILEFORMAT ) THEN
+          TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
+          TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+        END IF
         CALL IO_Field_read(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP)
         IF (IRESP/=0) THEN
           WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE
@@ -313,8 +325,10 @@ IF(PRESENT(HCHEMFILE)) THEN
   IF (LDUST) THEN
     DO JSV = NSV_DSTBEG, NSV_DSTEND
       TZFIELD = TSVLIST(JSV)
-      TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-      TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+      IF ( GOLDFILEFORMAT ) THEN
+        TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
+        TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+      END IF
       CALL IO_Field_read(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP)
       IF (IRESP/=0) THEN
         CALL PRINT_MSG(NVERB_FATAL,'GEN','INI_PROG_VAR',TRIM(TZFIELD%CMNHNAME)//' not found in the CHEM file '//TRIM(HCHEMFILE))
@@ -324,8 +338,10 @@ IF(PRESENT(HCHEMFILE)) THEN
     IF (LDEPOS_DST(IMI)) THEN   
       DO JSV = NSV_DSTDEPBEG,NSV_DSTDEPEND
         TZFIELD = TSVLIST(JSV)
-        TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-        TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+        IF ( GOLDFILEFORMAT ) THEN
+          TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
+          TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+        END IF
         CALL IO_Field_read(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP)
         IF (IRESP/=0) THEN
           WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE
@@ -338,8 +354,10 @@ IF(PRESENT(HCHEMFILE)) THEN
   IF (LSALT) THEN
     DO JSV = NSV_SLTBEG, NSV_SLTEND
       TZFIELD = TSVLIST(JSV)
-      TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-      TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+      IF ( GOLDFILEFORMAT ) THEN
+        TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
+        TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+      END IF
       CALL IO_Field_read(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP)
       IF (IRESP/=0) THEN
         CALL PRINT_MSG(NVERB_FATAL,'GEN','INI_PROG_VAR',TRIM(TZFIELD%CMNHNAME)//' not found in the CHEM file '//TRIM(HCHEMFILE))
@@ -349,8 +367,10 @@ IF(PRESENT(HCHEMFILE)) THEN
     IF (LDEPOS_SLT(IMI)) THEN
       DO JSV = NSV_SLTDEPBEG,NSV_SLTDEPEND
         TZFIELD = TSVLIST(JSV)
-        TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-        TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+        IF ( GOLDFILEFORMAT ) THEN
+          TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
+          TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+        END IF
         CALL IO_Field_read(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP)
         IF (IRESP/=0) THEN
           WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE
diff --git a/src/MNH/read_field.f90 b/src/MNH/read_field.f90
index 34a20049a6758d3c453f7d4d41355e1f06aadc64..8b72ffd03fe9501e92091e34b8af99d65dd29d6f 100644
--- a/src/MNH/read_field.f90
+++ b/src/MNH/read_field.f90
@@ -814,21 +814,23 @@ DO JSV = 1, NSV              ! initialize according to the get indicators
     CASE ('READ')
       TZFIELD = TSVLIST(JSV)
 
-      IF ( GOLDFILEFORMAT .AND.                               &
-           ( ( JSV >= 1         .AND. JSV <= NSV_USER  ) .OR. &
+      IF ( GOLDFILEFORMAT ) THEN
+        IF ( ( JSV >= 1         .AND. JSV <= NSV_USER  ) .OR. &
              ( JSV >= NSV_PPBEG .AND. JSV <= NSV_PPEND ) .OR. &
 #ifdef MNH_FOREFIRE
              ( JSV >= NSV_FFBEG .AND. JSV <= NSV_FFEND ) .OR. &
 #endif
-             ( JSV >= NSV_CSBEG .AND. JSV <= NSV_CSEND ) )    ) THEN
-        !Some variables were written with an other name in MesoNH < 5.5.1
-        WRITE(TZFIELD%CMNHNAME,'(A3,I3.3)')'SVT',JSV
-        TZFIELD%CLONGNAME  = TRIM(TZFIELD%CMNHNAME)
-        TZFIELD%CSTDNAME   = ''
-        TZFIELD%CCOMMENT   = 'X_Y_Z_'//TRIM(TZFIELD%CMNHNAME)
-      ELSE
-        TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-        TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+             ( JSV >= NSV_CSBEG .AND. JSV <= NSV_CSEND )      ) THEN
+          !Some variables were written with an other name in MesoNH < 5.5.1
+          WRITE(TZFIELD%CMNHNAME,'(A3,I3.3)')'SVT',JSV
+          TZFIELD%CLONGNAME  = TRIM(TZFIELD%CMNHNAME)
+          TZFIELD%CSTDNAME   = ''
+          TZFIELD%CCOMMENT   = 'X_Y_Z_'//TRIM(TZFIELD%CMNHNAME)
+        ELSE
+          !Scalar variables were written with a T suffix in older versions
+          TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
+          TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+        END IF
       END IF
 
       CALL IO_Field_read( TPINIFILE, TZFIELD, PSVT(:,:,:,JSV), IRESP )
diff --git a/src/MNH/spawn_field2.f90 b/src/MNH/spawn_field2.f90
index 993f0ebd32726023a91b4f504902fe3b3a08c265..ccd4ceaeaed9abcfb84ac59a647e5671491e419a 100644
--- a/src/MNH/spawn_field2.f90
+++ b/src/MNH/spawn_field2.f90
@@ -836,21 +836,23 @@ IF (PRESENT(TPSONFILE)) THEN
   !
   DO JSV = 1, NSV
     TZFIELD = TSVLIST(JSV)
-    IF ( GOLDFILEFORMAT .AND.                               &
-         ( ( JSV >= 1         .AND. JSV <= NSV_USER  ) .OR. &
+    IF ( GOLDFILEFORMAT ) THEN
+      IF ( ( JSV >= 1         .AND. JSV <= NSV_USER  ) .OR. &
            ( JSV >= NSV_PPBEG .AND. JSV <= NSV_PPEND ) .OR. &
 #ifdef MNH_FOREFIRE
            ( JSV >= NSV_FFBEG .AND. JSV <= NSV_FFEND ) .OR. &
 #endif
-           ( JSV >= NSV_CSBEG .AND. JSV <= NSV_CSEND ) )    ) THEN
+           ( JSV >= NSV_CSBEG .AND. JSV <= NSV_CSEND )      ) THEN
         !Some variables were written with an other name in MesoNH < 5.5.1
-      WRITE(TZFIELD%CMNHNAME,'(A3,I3.3)')'SVT',JSV
-      TZFIELD%CLONGNAME  = TRIM(TZFIELD%CMNHNAME)
-      TZFIELD%CSTDNAME   = ''
-      TZFIELD%CCOMMENT   = 'X_Y_Z_'//TRIM(TZFIELD%CMNHNAME)
-    ELSE
-      TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-      TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+        WRITE(TZFIELD%CMNHNAME,'(A3,I3.3)')'SVT',JSV
+        TZFIELD%CLONGNAME  = TRIM(TZFIELD%CMNHNAME)
+        TZFIELD%CSTDNAME   = ''
+        TZFIELD%CCOMMENT   = 'X_Y_Z_'//TRIM(TZFIELD%CMNHNAME)
+      ELSE
+        !Scalar variables were written with a T suffix in older versions
+        TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
+        TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
+      END IF
     END IF
 
     CALL IO_Field_read( TPSONFILE, TZFIELD, ZWORK3D, IRESP )
diff --git a/src/MNH/write_lfifm1_for_diag.f90 b/src/MNH/write_lfifm1_for_diag.f90
index a14c099e66da32835771f770310cd2664e6da1b0..08471b0cfbfcef022df6f7a06d7cd23c2cea0c31 100644
--- a/src/MNH/write_lfifm1_for_diag.f90
+++ b/src/MNH/write_lfifm1_for_diag.f90
@@ -1065,8 +1065,6 @@ END IF
 IF(LVAR_MRW) THEN
   DO JSV = NSV_C2R2BEG,NSV_C2R2END
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
    IF (JSV < NSV_C2R2END) THEN
       TZFIELD%CUNITS     = 'cm-3'
       ZWORK31(:,:,:)=XSVT(:,:,:,JSV)*1.E-6
@@ -1080,8 +1078,6 @@ IF(LVAR_MRW) THEN
   ! microphysical C3R5 scheme additional scalar variables
   DO JSV = NSV_C1R3BEG,NSV_C1R3END
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     TZFIELD%CUNITS     = 'l-1'
     CALL IO_Field_write(TPFILE,TZFIELD,XSVT(:,:,:,JSV)*1.E-3)
   END DO
@@ -1107,54 +1103,54 @@ IF (LLIMA_DIAG) THEN
     !
 ! Nc
     IF (JSV .EQ. NSV_LIMA_NC) THEN
-      TZFIELD%CMNHNAME   = TRIM(CLIMA_WARM_CONC(1))//'T'
+      TZFIELD%CMNHNAME   = TRIM(CLIMA_WARM_CONC(1))
     END IF
 ! Nr
     IF (JSV .EQ. NSV_LIMA_NR) THEN
-      TZFIELD%CMNHNAME   = TRIM(CLIMA_WARM_CONC(2))//'T'
+      TZFIELD%CMNHNAME   = TRIM(CLIMA_WARM_CONC(2))
     END IF
 ! N CCN free
     IF (JSV .GE. NSV_LIMA_CCN_FREE .AND. JSV .LT. NSV_LIMA_CCN_ACTI) THEN
       WRITE(INDICE,'(I2.2)')(JSV - NSV_LIMA_CCN_FREE + 1)
-      TZFIELD%CMNHNAME   = TRIM(CLIMA_WARM_CONC(3))//INDICE//'T'
+      TZFIELD%CMNHNAME   = TRIM(CLIMA_WARM_CONC(3))//INDICE
     END IF
 ! N CCN acti
     IF (JSV .GE. NSV_LIMA_CCN_ACTI .AND. JSV .LT. NSV_LIMA_CCN_ACTI + NMOD_CCN) THEN
       WRITE(INDICE,'(I2.2)')(JSV - NSV_LIMA_CCN_ACTI + 1)
-      TZFIELD%CMNHNAME   = TRIM(CLIMA_WARM_CONC(4))//INDICE//'T'
+      TZFIELD%CMNHNAME   = TRIM(CLIMA_WARM_CONC(4))//INDICE
     END IF
 ! Scavenging
     IF (JSV .EQ. NSV_LIMA_SCAVMASS) THEN
-      TZFIELD%CMNHNAME   = TRIM(CAERO_MASS(1))//'T'
+      TZFIELD%CMNHNAME   = TRIM(CAERO_MASS(1))
       TZFIELD%CUNITS     = 'kg cm-3'
     END IF
 ! Ni
     IF (JSV .EQ. NSV_LIMA_NI) THEN
-      TZFIELD%CMNHNAME   = TRIM(CLIMA_COLD_CONC(1))//'T'
+      TZFIELD%CMNHNAME   = TRIM(CLIMA_COLD_CONC(1))
     END IF
 ! N IFN free
     IF (JSV .GE. NSV_LIMA_IFN_FREE .AND. JSV .LT. NSV_LIMA_IFN_NUCL) THEN
       WRITE(INDICE,'(I2.2)')(JSV - NSV_LIMA_IFN_FREE + 1)
-      TZFIELD%CMNHNAME   = TRIM(CLIMA_COLD_CONC(2))//INDICE//'T'
+      TZFIELD%CMNHNAME   = TRIM(CLIMA_COLD_CONC(2))//INDICE
     END IF
 ! N IFN nucl
     IF (JSV .GE. NSV_LIMA_IFN_NUCL .AND. JSV .LT. NSV_LIMA_IFN_NUCL + NMOD_IFN) THEN
       WRITE(INDICE,'(I2.2)')(JSV - NSV_LIMA_IFN_NUCL + 1)
-      TZFIELD%CMNHNAME   = TRIM(CLIMA_COLD_CONC(3))//INDICE//'T'
+      TZFIELD%CMNHNAME   = TRIM(CLIMA_COLD_CONC(3))//INDICE
     END IF
 ! N IMM nucl
     IF (JSV .GE. NSV_LIMA_IMM_NUCL .AND. JSV .LT. NSV_LIMA_IMM_NUCL + NMOD_IMM) THEN
       WRITE(INDICE,'(I2.2)')(NINDICE_CCN_IMM(JSV - NSV_LIMA_IMM_NUCL + 1))
-      TZFIELD%CMNHNAME   = TRIM(CLIMA_COLD_CONC(4))//INDICE//'T'
+      TZFIELD%CMNHNAME   = TRIM(CLIMA_COLD_CONC(4))//INDICE
     END IF
 ! Hom. freez. of CCN
     IF (JSV .EQ. NSV_LIMA_HOM_HAZE) THEN
-      TZFIELD%CMNHNAME   = TRIM(CLIMA_COLD_CONC(5))//'T'
+      TZFIELD%CMNHNAME   = TRIM(CLIMA_COLD_CONC(5))
     END IF
     !
 ! Supersaturation
     IF (JSV .EQ. NSV_LIMA_SPRO) THEN
-      TZFIELD%CMNHNAME   = TRIM(CLIMA_WARM_CONC(5))//'T'
+      TZFIELD%CMNHNAME   = TRIM(CLIMA_WARM_CONC(5))
     END IF
     !
     TZFIELD%CLONGNAME  = TRIM(TZFIELD%CMNHNAME)
@@ -1198,8 +1194,6 @@ END IF
 IF (LELECDIAG .AND. CELEC .NE. "NONE") THEN
   DO JSV = NSV_ELECBEG,NSV_ELECEND
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     IF ( JSV > NSV_ELECBEG .AND. JSV < NSV_ELECEND ) THEN
       TZFIELD%CUNITS = 'C m-3'
       WRITE( TZFIELD%CCOMMENT, '( A6, A3, I3.3 )' ) 'X_Y_Z_', 'SVT', JSV
@@ -1216,8 +1210,6 @@ END IF
 IF (LTRAJ) THEN
   DO JSV = NSV_LGBEG, NSV_LGEND
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     WRITE(TZFIELD%CCOMMENT,'(A6,A20,I3.3,A4)')'X_Y_Z_','Lagrangian variable ',JSV
     CALL IO_Field_write(TPFILE,TZFIELD,XSVT(:,:,:,JSV))
   END DO
@@ -1278,8 +1270,6 @@ IF (LPASPOL) THEN
   !
   DO JSV = NSV_PPBEG, NSV_PPEND
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     TZFIELD%CUNITS     = 'g m-3'
 
     ZTMP(:,:,:)=ABS( XSVT(:,:,:,JSV)*ZRHOT(:,:,:) )
@@ -1293,8 +1283,6 @@ END IF
 IF (LCONDSAMP) THEN
   DO JSV = NSV_CSBEG, NSV_CSEND
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     CALL IO_Field_write(TPFILE,TZFIELD,XSVT(:,:,:,JSV))
   END DO
 END IF
@@ -1302,8 +1290,6 @@ END IF
 IF (LCHEMDIAG) THEN
   DO JSV = NSV_CHGSBEG,NSV_CHGSEND
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     TZFIELD%CUNITS    = 'ppb'
     WRITE(TZFIELD%CCOMMENT,'(A6,A4,I3.3)')'X_Y_Z_','CHIM',JSV
     CALL IO_Field_write(TPFILE,TZFIELD,XSVT(:,:,:,JSV)*1.E9)
@@ -1313,8 +1299,6 @@ IF (LCHAQDIAG) THEN    !aqueous concentration in M
   ZWORK31(:,:,:)=0.
   DO JSV = NSV_CHACBEG, NSV_CHACBEG-1+NEQAQ/2   !cloud water
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     TZFIELD%CUNITS    = 'mol l-1' !Original value: 'M' (molar) but not known by udunits => replaced by equivalent mol l-1
     WRITE(TZFIELD%CCOMMENT,'(A6,A4,I3.3)')'X_Y_Z_','CHAQ',JSV
     WHERE(((XRT(:,:,:,2)*XRHODREF(:,:,:))/1.e3) .GE. XRTMIN_AQ)
@@ -1326,8 +1310,6 @@ IF (LCHAQDIAG) THEN    !aqueous concentration in M
   ZWORK31(:,:,:)=0.
   DO JSV = NSV_CHACBEG+NEQAQ/2, NSV_CHACEND    !rain water
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     TZFIELD%CUNITS    = 'mol l-1' !Original value: 'M' (molar) but not known by udunits => replaced by equivalent mol l-1
     WRITE(TZFIELD%CCOMMENT,'(A6,A4,I3.3)')'X_Y_Z_','CHAQ',JSV
     WHERE(((XRT(:,:,:,3)*XRHODREF(:,:,:))/1.e3) .GE. XRTMIN_AQ)
@@ -1337,7 +1319,7 @@ IF (LCHAQDIAG) THEN    !aqueous concentration in M
   END DO
 !  ZWORK31(:,:,:)=0.
 !  DO JSV = NSV_CHICBEG,NSV_CHICEND   ! ice phase
-!    TZFIELD%CMNHNAME   = TRIM(CICNAMES(JSV-NSV_CHICBEG+1))//'T'
+!    TZFIELD%CMNHNAME   = TRIM(CICNAMES(JSV-NSV_CHICBEG+1))
 !    TZFIELD%CLONGNAME  = TRIM(TZFIELD%CMNHNAME)
 !    WRITE(TZFIELD%CCOMMENT,'(A6,A4,I3.3,A4)')'X_Y_Z_','CHIC',JSV,' (M)'
 !    WHERE(((XRT(:,:,:,3)*XRHODREF(:,:,:))/1.e3) .GE. XRTMIN_AQ)
@@ -1350,8 +1332,6 @@ END IF
 IF ((LCHEMDIAG).AND.(LORILAM).AND.(LUSECHEM)) THEN
   DO JSV = NSV_AERBEG, NSV_AEREND
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     TZFIELD%CUNITS    = 'ppb'
     WRITE(TZFIELD%CCOMMENT,'(A6,A4,I3.3)')'X_Y_Z_','AERO',JSV
     CALL IO_Field_write(TPFILE,TZFIELD,XSVT(:,:,:,JSV)*1.E9)
@@ -1512,8 +1492,6 @@ IF (LDUST) THEN
   !
   DO JSV = NSV_DSTBEG, NSV_DSTEND
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     TZFIELD%CUNITS    = 'ppb'
     WRITE(TZFIELD%CCOMMENT,'(A6,A4,I3.3)')'X_Y_Z_','DUST',JSV
     CALL IO_Field_write(TPFILE,TZFIELD,XSVT(:,:,:,JSV)*1.E9)
@@ -1591,8 +1569,6 @@ END IF
 IF (LDUST.AND.LDEPOS_DST(IMI)) THEN
   DO JSV = NSV_DSTBEG, NSV_DSTEND
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     TZFIELD%CUNITS    = 'ppb'
     WRITE(TZFIELD%CCOMMENT,'(A,I3.3)') 'X_Y_Z_DUSTDEP', JSV
     CALL IO_Field_write(TPFILE,TZFIELD,XSVT(:,:,:,JSV)*1.E9)
@@ -1698,8 +1674,6 @@ IF (LSALT) THEN
   !
   DO JSV = NSV_SLTBEG, NSV_SLTEND
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     TZFIELD%CUNITS    = 'ppb'
     WRITE(TZFIELD%CCOMMENT,'(A,I3.3)') 'X_Y_Z_SALT', JSV
     CALL IO_Field_write(TPFILE,TZFIELD,XSVT(:,:,:,JSV)*1.E9)
@@ -1778,8 +1752,6 @@ IF (LSALT.AND.LDEPOS_SLT(IMI)) THEN
   !
   DO JSV = NSV_SLTDEPBEG, NSV_SLTDEPEND
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     TZFIELD%CUNITS    = 'ppb'
     WRITE(TZFIELD%CCOMMENT,'(A,I3.3)') 'X_Y_Z_SALTDEP', JSV
     CALL IO_Field_write(TPFILE,TZFIELD,XSVT(:,:,:,JSV)*1.E9)
@@ -1996,8 +1968,6 @@ END IF
 IF (.NOT.(LUSECHEM .OR. LCHEMDIAG) .AND. LCH_CONV_LINOX) THEN
   DO JSV = NSV_LNOXBEG, NSV_LNOXEND
     TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
     TZFIELD%CUNITS    = 'ppb'
     WRITE(TZFIELD%CCOMMENT,'(A,I3.3)') 'X_Y_Z_LNOX', JSV
     CALL IO_Field_write(TPFILE,TZFIELD,XSVT(:,:,:,JSV)*1.E9)
diff --git a/src/MNH/write_lfin.f90 b/src/MNH/write_lfin.f90
index 1a6694ce0a36402f5c39a0b899f8701148f8475b..48184083922428bf61b4d506a6b50a17b959ca0c 100644
--- a/src/MNH/write_lfin.f90
+++ b/src/MNH/write_lfin.f90
@@ -919,10 +919,7 @@ IF (NSV >= 1 ) THEN
 
   !Store all scalar variables
   DO JSV = 1, NSV
-    TZFIELD = TSVLIST(JSV)
-    TZFIELD%CMNHNAME  = TRIM( TZFIELD%CMNHNAME )  // 'T'
-    TZFIELD%CLONGNAME = TRIM( TZFIELD%CLONGNAME ) // 'T'
-    CALL IO_Field_write(TPFILE,TZFIELD,XSVT(:,:,:,JSV))
+    CALL IO_Field_write( TPFILE, TSVLIST(JSV), XSVT(:,:,:,JSV) )
   END DO
 
   IF (LSCAV .AND. LAERO_MASS) THEN