diff --git a/src/MNH/ini_prog_var.f90 b/src/MNH/ini_prog_var.f90 index 8b686161c35bdc1be00f6d506e7c8e77e95ae62f..1b26369bdcac73d5369a950f7245bea1bc0a6dc0 100644 --- a/src/MNH/ini_prog_var.f90 +++ b/src/MNH/ini_prog_var.f90 @@ -307,36 +307,45 @@ IF(PRESENT(HCHEMFILE)) THEN IF (LORILAM) THEN CALL CH_AER_INIT_SOA(ILUOUT,NVERB) + ! + TZFIELD%CSTDNAME = '' + TZFIELD%CUNITS = 'ppp' + TZFIELD%CDIR = 'XY' + TZFIELD%NGRID = 1 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 3 + ! DO JSV = NSV_AERBEG,NSV_AEREND - YRECFM=TRIM(CAERONAMES(JSV-NSV_AERBEG+1))//'T' - YDIR='XY' - CALL FMREAD(HCHEMFILE,YRECFM,HLUOUT,YDIR,XSVT(:,:,:,JSV),IGRID,ILENCH, & - YCOMMENT,IRESP) + TZFIELD%CMNHNAME = TRIM(CAERONAMES(JSV-NSV_AERBEG+1))//'T' + TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME) + WRITE(TZFIELD%CCOMMENT,'(A6,A3,I3.3)')'X_Y_Z_','SVT',JSV + CALL IO_READ_FIELD(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP) IF (IRESP/=0) THEN - WRITE(ILUOUT,FMT=9000) - WRITE(ILUOUT,*) TRIM(YRECFM),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE -!callabortstop -!CALL ABORT -! STOP + WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE LORILAM=.FALSE. END IF !IRESP - END DO ! JSV + END DO ! JSV + ! IF (LDEPOS_AER(IMI)) THEN IF(.NOT.ALLOCATED(CDEAERNAMES)) THEN ALLOCATE(CDEAERNAMES(JPMODE*2)) CDEAERNAMES(:) = YPDEAER_INI(:) ENDIF + ! + TZFIELD%CSTDNAME = '' + TZFIELD%CUNITS = 'ppp' + TZFIELD%CDIR = 'XY' + TZFIELD%NGRID = 1 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 3 + ! DO JSV = NSV_AERDEPBEG,NSV_AERDEPEND - YRECFM=TRIM(CDEAERNAMES(JSV-NSV_AERDEPBEG+1))//'T' - YDIR='XY' - CALL FMREAD(HCHEMFILE,YRECFM,HLUOUT,YDIR,XSVT(:,:,:,JSV),IGRID,ILENCH, & - YCOMMENT,IRESP) + TZFIELD%CMNHNAME = TRIM(CDEAERNAMES(JSV-NSV_AERDEPBEG+1))//'T' + TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME) + WRITE(TZFIELD%CCOMMENT,'(A6,A3,I3.3)')'X_Y_Z_','SVT',JSV + CALL IO_READ_FIELD(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP) IF (IRESP/=0) THEN - WRITE(ILUOUT,FMT=9000) - WRITE(ILUOUT,*) TRIM(YRECFM),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE -!callabortstop -!CALL ABORT -! STOP + WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE LDEPOS_AER(IMI)=.FALSE. END IF !IRESP END DO ! JSV @@ -393,18 +402,22 @@ IF(PRESENT(HCHEMFILE)) THEN CDEDSTNAMES(JMODE) = YPDEDST_INI(IMODEIDX) CDEDSTNAMES(NMODE_DST+JMODE) = YPDEDST_INI(NMODE_DST+IMODEIDX) ENDDO - ENDIF - DO JSV = NSV_DSTDEPBEG,NSV_DSTDEPEND - YRECFM=TRIM(CDEDSTNAMES(JSV-NSV_DSTDEPBEG+1))//'T' - YDIR='XY' - CALL FMREAD(HCHEMFILE,YRECFM,HLUOUT,YDIR,XSVT(:,:,:,JSV),IGRID,ILENCH, & - YCOMMENT,IRESP) + ENDIF + ! + TZFIELD%CSTDNAME = '' + TZFIELD%CUNITS = 'ppp' + TZFIELD%CDIR = 'XY' + TZFIELD%NGRID = 1 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 3 + ! + DO JSV = NSV_DSTDEPBEG,NSV_DSTDEPEND + TZFIELD%CMNHNAME = TRIM(CDEDSTNAMES(JSV-NSV_DSTDEPBEG+1))//'T' + TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME) + WRITE(TZFIELD%CCOMMENT,'(A6,A3,I3.3)')'X_Y_Z_','SVT',JSV + CALL IO_READ_FIELD(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP) IF (IRESP/=0) THEN - WRITE(ILUOUT,FMT=9000) - WRITE(ILUOUT,*) TRIM(YRECFM),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE -!callabortstop -!CALL ABORT -! STOP + WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE LDEPOS_DST(IMI)=.FALSE. END IF !IRESP END DO ! JSV @@ -451,7 +464,8 @@ IF(PRESENT(HCHEMFILE)) THEN END IF !IRESP END DO ! JMOM END DO !JMOD - END IF !if IMOMENTS + END IF !if IMOMENTS + ! IF (LDEPOS_SLT(IMI)) THEN IF(.NOT.ALLOCATED(CDESLTNAMES)) THEN ALLOCATE(CDESLTNAMES(NMODE_SLT*2)) @@ -461,17 +475,21 @@ IF(PRESENT(HCHEMFILE)) THEN CDESLTNAMES(NMODE_SLT+JMODE) = YPDESLT_INI(NMODE_SLT+IMODEIDX) ENDDO ENDIF + ! + TZFIELD%CSTDNAME = '' + TZFIELD%CUNITS = 'ppp' + TZFIELD%CDIR = 'XY' + TZFIELD%NGRID = 1 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 3 + ! DO JSV = NSV_SLTDEPBEG,NSV_SLTDEPEND - YRECFM=TRIM(CDESLTNAMES(JSV-NSV_SLTDEPBEG+1))//'T' - YDIR='XY' - CALL FMREAD(HCHEMFILE,YRECFM,HLUOUT,YDIR,XSVT(:,:,:,JSV),IGRID,ILENCH, & - YCOMMENT,IRESP) + TZFIELD%CMNHNAME = TRIM(CDESLTNAMES(JSV-NSV_SLTDEPBEG+1))//'T' + TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME) + WRITE(TZFIELD%CCOMMENT,'(A6,A3,I3.3)')'X_Y_Z_','SVT',JSV + CALL IO_READ_FIELD(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP) IF (IRESP/=0) THEN - WRITE(ILUOUT,FMT=9000) - WRITE(ILUOUT,*) TRIM(YRECFM),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE -!callabortstop -!CALL ABORT -! STOP + WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE LDEPOS_SLT(IMI)=.FALSE. END IF !IRESP END DO ! JSV diff --git a/src/MNH/mnh2lpdm.f90 b/src/MNH/mnh2lpdm.f90 index b8a7d9c8875dda68bd1093575148c2c97ef00b8f..23e4ed695f1d364747b83cd969a8acb3cc2716f8 100644 --- a/src/MNH/mnh2lpdm.f90 +++ b/src/MNH/mnh2lpdm.f90 @@ -90,7 +90,10 @@ CALL POSNAM(IFNML,'NAM_CONFIO',GFOUND) IF (GFOUND) THEN READ(UNIT=IFNML,NML=NAM_CONFIO) END IF -CALL SET_CONFIO_ll(.FALSE., .FALSE., .FALSE.) +LCDF4 = .FALSE. +LLFIOUT = .FALSE. +LLFIREAD = .FALSE. +CALL SET_CONFIO_ll() CALL CLOSE_LL(YFNML,IREP,'KEEP') ! ! diff --git a/src/MNH/prep_real_case.f90 b/src/MNH/prep_real_case.f90 index eda9a8424f70c40bf668fdfafda7e69c848f51b7..d145a5c27f4abdb75d762b5f01c7cc75138be897 100644 --- a/src/MNH/prep_real_case.f90 +++ b/src/MNH/prep_real_case.f90 @@ -518,6 +518,7 @@ LOGICAL :: LUSECHAQ LOGICAL :: LUSECHIC LOGICAL :: LUSECHEM ! +TYPE(TFILEDATA),POINTER :: TZATMFILE => NULL() TYPE(TFILEDATA),POINTER :: TZPGDFILE => NULL() ! ! @@ -752,7 +753,7 @@ IF(LEN_TRIM(YCHEMFILE)>0)THEN IF(YCHEMFILETYPE=='GRIBEX') & CALL READ_ALL_DATA_GRIB_CASE('CHEM',YPRE_REAL1,YCHEMFILE,TZPGDFILE,ZHORI,NVERB,LDUMMY_REAL) IF (YCHEMFILETYPE=='NETCDF') & - CALL READ_CHEM_DATA_NETCDF_CASE(YPRE_REAL1,YCHEMFILE,YPGDFILE,ZHORI,NVERB,LDUMMY_REAL) + CALL READ_CHEM_DATA_NETCDF_CASE(YPRE_REAL1,YCHEMFILE,TZPGDFILE,ZHORI,NVERB,LDUMMY_REAL) END IF ! CALL CLOSE_ll(YPRE_REAL1, IOSTAT=IRESP) diff --git a/src/MNH/prep_surfex.f90 b/src/MNH/prep_surfex.f90 index b17c1531fb4706f26f3fed57de6352f5f666589b..82efabd72f190e3a12655999ab19b855c27eded0 100644 --- a/src/MNH/prep_surfex.f90 +++ b/src/MNH/prep_surfex.f90 @@ -88,6 +88,7 @@ CHARACTER (LEN=100) :: HCOMMENT INTEGER :: II, IJ, IGRID, ILENGTH ! TYPE(TFILEDATA),POINTER :: TZFILE => NULL() +TYPE(TFILEDATA),POINTER :: TZATMFILE => NULL() TYPE(TFILEDATA),POINTER :: TZPGDFILE => NULL() ! !------------------------------------------------------------------------------- diff --git a/src/MNH/read_chem_data_netcdf_case.f90 b/src/MNH/read_chem_data_netcdf_case.f90 index f8294a62fcb212641ee5b9a083393ad47231762f..a16f39cfdddbbd477e33f8f40803347a1f17096d 100644 --- a/src/MNH/read_chem_data_netcdf_case.f90 +++ b/src/MNH/read_chem_data_netcdf_case.f90 @@ -2,23 +2,25 @@ MODULE MODI_READ_CHEM_DATA_NETCDF_CASE ! ################################# INTERFACE -SUBROUTINE READ_CHEM_DATA_NETCDF_CASE(HPRE_REAL1,HFILE,HPGDFILE, & - PTIME_HORI,KVERB,ODUMMY_REAL ) -! -CHARACTER(LEN=28), INTENT(IN) :: HPRE_REAL1 ! name of the PRE_REAL1 file -CHARACTER(LEN=28), INTENT(IN) :: HFILE ! name of the NETCDF file -CHARACTER(LEN=28), INTENT(IN) :: HPGDFILE ! name of the physiographic data file -INTEGER, INTENT(IN) :: KVERB ! verbosity level -LOGICAL, INTENT(IN) :: ODUMMY_REAL! flag to interpolate dummy fields -REAL, INTENT(INOUT) :: PTIME_HORI ! time spent in hor. interpolations +SUBROUTINE READ_CHEM_DATA_NETCDF_CASE(HPRE_REAL1,HFILE,TPPGDFILE, & + PTIME_HORI,KVERB,ODUMMY_REAL ) +! +USE MODD_IO_ll, ONLY: TFILEDATA +! +CHARACTER(LEN=28), INTENT(IN) :: HPRE_REAL1 ! name of the PRE_REAL1 file +CHARACTER(LEN=28), INTENT(IN) :: HFILE ! name of the NETCDF file +TYPE(TFILEDATA), INTENT(IN) :: TPPGDFILE ! physiographic data file +REAL, INTENT(INOUT) :: PTIME_HORI ! time spent in hor. interpolations +INTEGER, INTENT(IN) :: KVERB ! verbosity level +LOGICAL, INTENT(IN) :: ODUMMY_REAL! flag to interpolate dummy fields END SUBROUTINE READ_CHEM_DATA_NETCDF_CASE ! END INTERFACE END MODULE MODI_READ_CHEM_DATA_NETCDF_CASE -! ########################################################################## - SUBROUTINE READ_CHEM_DATA_NETCDF_CASE(HPRE_REAL1,HFILE,HPGDFILE, & - PTIME_HORI,KVERB,ODUMMY_REAL ) -! ########################################################################## +! #################################################################### + SUBROUTINE READ_CHEM_DATA_NETCDF_CASE(HPRE_REAL1,HFILE,TPPGDFILE, & + PTIME_HORI,KVERB,ODUMMY_REAL ) +! #################################################################### ! !!**** *READ_CHEM_DATA_NETCDF_CASE* - reads data for the initialization of real cases. !! @@ -96,6 +98,7 @@ USE MODI_CH_AER_INIT_SOA USE MODD_CONF USE MODD_CONF_n USE MODD_CST +USE MODD_IO_ll, ONLY: TFILEDATA USE MODD_LUNIT USE MODD_PARAMETERS USE MODD_GRID @@ -126,12 +129,12 @@ include 'netcdf.inc' !* 0.1. Declaration of arguments ! ------------------------ ! -CHARACTER(LEN=28), INTENT(IN) :: HPRE_REAL1 ! name of the PRE_REAL1 file -CHARACTER(LEN=28), INTENT(IN) :: HFILE ! name of the GRIB file -CHARACTER(LEN=28), INTENT(IN) :: HPGDFILE ! name of the physiographic data file -INTEGER, INTENT(IN) :: KVERB ! verbosity level -LOGICAL, INTENT(IN) :: ODUMMY_REAL! flag to interpolate dummy fields -REAL, INTENT(INOUT) :: PTIME_HORI ! time spent in hor. interpolations +CHARACTER(LEN=28), INTENT(IN) :: HPRE_REAL1 ! name of the PRE_REAL1 file +CHARACTER(LEN=28), INTENT(IN) :: HFILE ! name of the NETCDF file +TYPE(TFILEDATA), INTENT(IN) :: TPPGDFILE ! physiographic data file +REAL, INTENT(INOUT) :: PTIME_HORI ! time spent in hor. interpolations +INTEGER, INTENT(IN) :: KVERB ! verbosity level +LOGICAL, INTENT(IN) :: ODUMMY_REAL! flag to interpolate dummy fields ! !* 0.2 Declaration of local variables ! ------------------------------ @@ -212,7 +215,7 @@ IMI = GET_CURRENT_MODEL_INDEX() ! ------------- ! CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT0,IRET) -CALL READ_HGRID_n(HPGDFILE,YPGD_NAME,YPGD_DAD_NAME,YPGD_TYPE) +CALL READ_HGRID_n(TPPGDFILE,YPGD_NAME,YPGD_DAD_NAME,YPGD_TYPE) ! ! 1.1 Domain restriction ! diff --git a/src/MNH/read_field.f90 b/src/MNH/read_field.f90 index bc4029673d605f2d17976bf370a249ef5c767ead..184fea2c23d6925eaee3b5069f7c829fa20b6ab6 100644 --- a/src/MNH/read_field.f90 +++ b/src/MNH/read_field.f90 @@ -1353,15 +1353,27 @@ IF ( LFORCING ) THEN TZFIELD%NDIMS = 0 CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PPGROUNDFRC(JT)) ! - YRECFM='TENDUFRC'//YFRC - YDIR='--' - CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,Z1D,IGRID,ILENCH,YCOMMENT,IRESP) - PTENDUFRC(:,JT)=Z1D(:) -! - YRECFM='TENDVFRC'//YFRC - YDIR='--' - CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,Z1D,IGRID,ILENCH,YCOMMENT,IRESP) - PTENDVFRC(:,JT)=Z1D(:) + TZFIELD%CMNHNAME = 'TENDUFRC'//YFRC + TZFIELD%CSTDNAME = '' + TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME) + TZFIELD%CUNITS = 'm s-1' + TZFIELD%CDIR = '--' + TZFIELD%CCOMMENT = 'Large-scale U tendency for forcing' + TZFIELD%NGRID = 1 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 1 + CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PTENDUFRC(:,JT)) +! + TZFIELD%CMNHNAME = 'TENDVFRC'//YFRC + TZFIELD%CSTDNAME = '' + TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME) + TZFIELD%CUNITS = 'm s-1' + TZFIELD%CDIR = '--' + TZFIELD%CCOMMENT = 'Large-scale V tendency for forcing' + TZFIELD%NGRID = 1 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 1 + CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PTENDVFRC(:,JT)) END DO END IF ! diff --git a/src/MNH/write_lfifm1_for_diag.f90 b/src/MNH/write_lfifm1_for_diag.f90 index c1c3d75a86dc1850efe3ac2b325a68d5f2bcd0bd..8be8a3272cda800f1dc0c1db5110a5e1ef773e91 100644 --- a/src/MNH/write_lfifm1_for_diag.f90 +++ b/src/MNH/write_lfifm1_for_diag.f90 @@ -3564,13 +3564,19 @@ IF (CBLTOP == 'THETA') THEN END DO ZSHMIX(:,:)=ZSHMIX(:,:)-XZS(:,:) ZSHMIX(:,:)=MAX(ZSHMIX(:,:),50.0) - YRECFM='HBLTOP' - YCOMMENT='Height of Boundary Layer TOP (M)' - ILENCH=LEN(YCOMMENT) - IGRID=1 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSHMIX,IGRID,ILENCH,YCOMMENT,IRESP) ! + ! + TZFIELD%CMNHNAME = 'HBLTOP' + TZFIELD%CSTDNAME = 'atmosphere_boundary_layer_thickness' + TZFIELD%CLONGNAME = 'MesoNH: HBLTOP' + TZFIELD%CUNITS = 'm' + TZFIELD%CDIR = 'XY' + TZFIELD%CCOMMENT = 'Height of Boundary Layer TOP' + TZFIELD%NGRID = 1 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 2 + CALL IO_WRITE_FIELD(TPFILE,TZFIELD,ZSHMIX) + ! DEALLOCATE(ZSHMIX) - ELSEIF (CBLTOP == 'RICHA') THEN ! ! méthode du "bulk Richardson number" @@ -3601,11 +3607,18 @@ ELSEIF (CBLTOP == 'RICHA') THEN END DO END DO ZSHMIX(:,:)=ZSHMIX(:,:)-XZS(:,:) - YRECFM='HBLTOP' - YCOMMENT='Height of Boundary Layer TOP (M)' - ILENCH=LEN(YCOMMENT) - IGRID=1 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSHMIX,IGRID,ILENCH,YCOMMENT,IRESP) ! + ! + TZFIELD%CMNHNAME = 'HBLTOP' + TZFIELD%CSTDNAME = 'atmosphere_boundary_layer_thickness' + TZFIELD%CLONGNAME = 'MesoNH: HBLTOP' + TZFIELD%CUNITS = 'm' + TZFIELD%CDIR = 'XY' + TZFIELD%CCOMMENT = 'Height of Boundary Layer TOP' + TZFIELD%NGRID = 1 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 2 + CALL IO_WRITE_FIELD(TPFILE,TZFIELD,ZSHMIX) + ! DEALLOCATE(ZRIB,ZSHMIX) ENDIF ! used before 5-3-1 version diff --git a/src/MNH/write_lfifm1_for_diag_supp.f90 b/src/MNH/write_lfifm1_for_diag_supp.f90 index 6ebc210d654333df31de62ec2557bced2190b636..bb96e67bd6f1b30559c418ecf9f3624725dac341 100644 --- a/src/MNH/write_lfifm1_for_diag_supp.f90 +++ b/src/MNH/write_lfifm1_for_diag_supp.f90 @@ -710,15 +710,19 @@ END IF !LCHEMDIAG, NSV_CHEMBEG, NSV_CHEMEND IF (LCHEMDIAG) THEN - DO JSV = NSV_CHEMBEG, NSV_CHEMEND - YRECFM = 'FLX_'//TRIM(CNAMES(JSV-NSV_CHEMBEG+1)) - WRITE(YCOMMENT,'(A6,A,A26)')'X_Y_Z_',TRIM(CNAMES(JSV-NSV_CHEMBEG+1)), & - ' Net chemical flux ppb.m/s' - ILENCH = LEN(YCOMMENT) - ZWORK21(:,:) = XCHFLX(:,:,JSV-NSV_CHEMBEG+1) * 1E9 - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY', ZWORK21(:,:), & - IGRID,ILENCH,YCOMMENT,IRESP) - END DO + TZFIELD%CSTDNAME = '' + TZFIELD%CUNITS = 'ppb m s-1' + TZFIELD%CDIR = 'XY' + TZFIELD%NGRID = 1 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 2 + ! + DO JSV = NSV_CHEMBEG, NSV_CHEMEND + TZFIELD%CMNHNAME = 'FLX_'//TRIM(CNAMES(JSV-NSV_CHEMBEG+1)) + TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME) + WRITE(TZFIELD%CCOMMENT,'(A6,A,A)')'X_Y_Z_',TRIM(CNAMES(JSV-NSV_CHEMBEG+1)),' Net chemical flux' + CALL IO_WRITE_FIELD(TPFILE,TZFIELD,XCHFLX(:,:,JSV-NSV_CHEMBEG+1) * 1E9) + END DO END IF !------------------------------------------------------------------------------- ! diff --git a/src/MNH/write_lfin.f90 b/src/MNH/write_lfin.f90 index 3b3e802034ca8585a9d0447031cce5ce021d79df..aec6fa674f9b973869b8387ee8e3569a0a15a32a 100644 --- a/src/MNH/write_lfin.f90 +++ b/src/MNH/write_lfin.f90 @@ -1856,19 +1856,27 @@ IF (LFORCING) THEN TZFIELD%NDIMS = 0 CALL IO_WRITE_FIELD(TPFILE,TZFIELD,XPGROUNDFRC(JT)) ! - YRECFM='TENDUFRC'//YFRC - YCOMMENT=' ' - IGRID=1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XTENDUFRC(:,JT),IGRID,ILENCH, & - YCOMMENT,IRESP) - - YRECFM='TENDVFRC'//YFRC - YCOMMENT=' ' - IGRID=1 - ILENCH=LEN(YCOMMENT) - CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XTENDVFRC(:,JT),IGRID,ILENCH, & - YCOMMENT,IRESP) + TZFIELD%CMNHNAME = 'TENDUFRC'//YFRC + TZFIELD%CSTDNAME = '' + TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME) + TZFIELD%CUNITS = 'm s-1' + TZFIELD%CDIR = '--' + TZFIELD%CCOMMENT = 'Large-scale U tendency for forcing' + TZFIELD%NGRID = 1 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 1 + CALL IO_WRITE_FIELD(TPFILE,TZFIELD,XTENDUFRC(:,JT)) +! + TZFIELD%CMNHNAME = 'TENDVFRC'//YFRC + TZFIELD%CSTDNAME = '' + TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME) + TZFIELD%CUNITS = 'm s-1' + TZFIELD%CDIR = '--' + TZFIELD%CCOMMENT = 'Large-scale V tendency for forcing' + TZFIELD%NGRID = 1 + TZFIELD%NTYPE = TYPEREAL + TZFIELD%NDIMS = 1 + CALL IO_WRITE_FIELD(TPFILE,TZFIELD,XTENDVFRC(:,JT)) ! END DO !