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