Skip to content
Snippets Groups Projects
Commit 09be96ec authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 27/10/2017: corrected compilation problems due to previous merge

* replace FMREAD/FMWRIT by IO_READ/WRITE_FIELD
* modify SET_CONFIO_ll call in mnh2lpdm.f90
* use TZPGDFILE for read_chem_data_netcdf_case.f90
* declare TZATMFILE when necessary
parent 39509f5a
No related branches found
No related tags found
No related merge requests found
...@@ -307,36 +307,45 @@ IF(PRESENT(HCHEMFILE)) THEN ...@@ -307,36 +307,45 @@ IF(PRESENT(HCHEMFILE)) THEN
IF (LORILAM) THEN IF (LORILAM) THEN
CALL CH_AER_INIT_SOA(ILUOUT,NVERB) 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 DO JSV = NSV_AERBEG,NSV_AEREND
YRECFM=TRIM(CAERONAMES(JSV-NSV_AERBEG+1))//'T' TZFIELD%CMNHNAME = TRIM(CAERONAMES(JSV-NSV_AERBEG+1))//'T'
YDIR='XY' TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME)
CALL FMREAD(HCHEMFILE,YRECFM,HLUOUT,YDIR,XSVT(:,:,:,JSV),IGRID,ILENCH, & WRITE(TZFIELD%CCOMMENT,'(A6,A3,I3.3)')'X_Y_Z_','SVT',JSV
YCOMMENT,IRESP) CALL IO_READ_FIELD(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP)
IF (IRESP/=0) THEN IF (IRESP/=0) THEN
WRITE(ILUOUT,FMT=9000) WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE
WRITE(ILUOUT,*) TRIM(YRECFM),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE
!callabortstop
!CALL ABORT
! STOP
LORILAM=.FALSE. LORILAM=.FALSE.
END IF !IRESP END IF !IRESP
END DO ! JSV END DO ! JSV
!
IF (LDEPOS_AER(IMI)) THEN IF (LDEPOS_AER(IMI)) THEN
IF(.NOT.ALLOCATED(CDEAERNAMES)) THEN IF(.NOT.ALLOCATED(CDEAERNAMES)) THEN
ALLOCATE(CDEAERNAMES(JPMODE*2)) ALLOCATE(CDEAERNAMES(JPMODE*2))
CDEAERNAMES(:) = YPDEAER_INI(:) CDEAERNAMES(:) = YPDEAER_INI(:)
ENDIF ENDIF
!
TZFIELD%CSTDNAME = ''
TZFIELD%CUNITS = 'ppp'
TZFIELD%CDIR = 'XY'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
!
DO JSV = NSV_AERDEPBEG,NSV_AERDEPEND DO JSV = NSV_AERDEPBEG,NSV_AERDEPEND
YRECFM=TRIM(CDEAERNAMES(JSV-NSV_AERDEPBEG+1))//'T' TZFIELD%CMNHNAME = TRIM(CDEAERNAMES(JSV-NSV_AERDEPBEG+1))//'T'
YDIR='XY' TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME)
CALL FMREAD(HCHEMFILE,YRECFM,HLUOUT,YDIR,XSVT(:,:,:,JSV),IGRID,ILENCH, & WRITE(TZFIELD%CCOMMENT,'(A6,A3,I3.3)')'X_Y_Z_','SVT',JSV
YCOMMENT,IRESP) CALL IO_READ_FIELD(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP)
IF (IRESP/=0) THEN IF (IRESP/=0) THEN
WRITE(ILUOUT,FMT=9000) WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE
WRITE(ILUOUT,*) TRIM(YRECFM),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE
!callabortstop
!CALL ABORT
! STOP
LDEPOS_AER(IMI)=.FALSE. LDEPOS_AER(IMI)=.FALSE.
END IF !IRESP END IF !IRESP
END DO ! JSV END DO ! JSV
...@@ -393,18 +402,22 @@ IF(PRESENT(HCHEMFILE)) THEN ...@@ -393,18 +402,22 @@ IF(PRESENT(HCHEMFILE)) THEN
CDEDSTNAMES(JMODE) = YPDEDST_INI(IMODEIDX) CDEDSTNAMES(JMODE) = YPDEDST_INI(IMODEIDX)
CDEDSTNAMES(NMODE_DST+JMODE) = YPDEDST_INI(NMODE_DST+IMODEIDX) CDEDSTNAMES(NMODE_DST+JMODE) = YPDEDST_INI(NMODE_DST+IMODEIDX)
ENDDO ENDDO
ENDIF ENDIF
DO JSV = NSV_DSTDEPBEG,NSV_DSTDEPEND !
YRECFM=TRIM(CDEDSTNAMES(JSV-NSV_DSTDEPBEG+1))//'T' TZFIELD%CSTDNAME = ''
YDIR='XY' TZFIELD%CUNITS = 'ppp'
CALL FMREAD(HCHEMFILE,YRECFM,HLUOUT,YDIR,XSVT(:,:,:,JSV),IGRID,ILENCH, & TZFIELD%CDIR = 'XY'
YCOMMENT,IRESP) 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 IF (IRESP/=0) THEN
WRITE(ILUOUT,FMT=9000) WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE
WRITE(ILUOUT,*) TRIM(YRECFM),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE
!callabortstop
!CALL ABORT
! STOP
LDEPOS_DST(IMI)=.FALSE. LDEPOS_DST(IMI)=.FALSE.
END IF !IRESP END IF !IRESP
END DO ! JSV END DO ! JSV
...@@ -451,7 +464,8 @@ IF(PRESENT(HCHEMFILE)) THEN ...@@ -451,7 +464,8 @@ IF(PRESENT(HCHEMFILE)) THEN
END IF !IRESP END IF !IRESP
END DO ! JMOM END DO ! JMOM
END DO !JMOD END DO !JMOD
END IF !if IMOMENTS END IF !if IMOMENTS
!
IF (LDEPOS_SLT(IMI)) THEN IF (LDEPOS_SLT(IMI)) THEN
IF(.NOT.ALLOCATED(CDESLTNAMES)) THEN IF(.NOT.ALLOCATED(CDESLTNAMES)) THEN
ALLOCATE(CDESLTNAMES(NMODE_SLT*2)) ALLOCATE(CDESLTNAMES(NMODE_SLT*2))
...@@ -461,17 +475,21 @@ IF(PRESENT(HCHEMFILE)) THEN ...@@ -461,17 +475,21 @@ IF(PRESENT(HCHEMFILE)) THEN
CDESLTNAMES(NMODE_SLT+JMODE) = YPDESLT_INI(NMODE_SLT+IMODEIDX) CDESLTNAMES(NMODE_SLT+JMODE) = YPDESLT_INI(NMODE_SLT+IMODEIDX)
ENDDO ENDDO
ENDIF ENDIF
!
TZFIELD%CSTDNAME = ''
TZFIELD%CUNITS = 'ppp'
TZFIELD%CDIR = 'XY'
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
!
DO JSV = NSV_SLTDEPBEG,NSV_SLTDEPEND DO JSV = NSV_SLTDEPBEG,NSV_SLTDEPEND
YRECFM=TRIM(CDESLTNAMES(JSV-NSV_SLTDEPBEG+1))//'T' TZFIELD%CMNHNAME = TRIM(CDESLTNAMES(JSV-NSV_SLTDEPBEG+1))//'T'
YDIR='XY' TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME)
CALL FMREAD(HCHEMFILE,YRECFM,HLUOUT,YDIR,XSVT(:,:,:,JSV),IGRID,ILENCH, & WRITE(TZFIELD%CCOMMENT,'(A6,A3,I3.3)')'X_Y_Z_','SVT',JSV
YCOMMENT,IRESP) CALL IO_READ_FIELD(TZCHEMFILE,TZFIELD,XSVT(:,:,:,JSV),IRESP)
IF (IRESP/=0) THEN IF (IRESP/=0) THEN
WRITE(ILUOUT,FMT=9000) WRITE(ILUOUT,*) TRIM(TZFIELD%CMNHNAME),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE
WRITE(ILUOUT,*) TRIM(YRECFM),'NOT FOUND IN THE CHEM FILE ',HCHEMFILE
!callabortstop
!CALL ABORT
! STOP
LDEPOS_SLT(IMI)=.FALSE. LDEPOS_SLT(IMI)=.FALSE.
END IF !IRESP END IF !IRESP
END DO ! JSV END DO ! JSV
......
...@@ -90,7 +90,10 @@ CALL POSNAM(IFNML,'NAM_CONFIO',GFOUND) ...@@ -90,7 +90,10 @@ CALL POSNAM(IFNML,'NAM_CONFIO',GFOUND)
IF (GFOUND) THEN IF (GFOUND) THEN
READ(UNIT=IFNML,NML=NAM_CONFIO) READ(UNIT=IFNML,NML=NAM_CONFIO)
END IF 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') CALL CLOSE_LL(YFNML,IREP,'KEEP')
! !
! !
......
...@@ -518,6 +518,7 @@ LOGICAL :: LUSECHAQ ...@@ -518,6 +518,7 @@ LOGICAL :: LUSECHAQ
LOGICAL :: LUSECHIC LOGICAL :: LUSECHIC
LOGICAL :: LUSECHEM LOGICAL :: LUSECHEM
! !
TYPE(TFILEDATA),POINTER :: TZATMFILE => NULL()
TYPE(TFILEDATA),POINTER :: TZPGDFILE => NULL() TYPE(TFILEDATA),POINTER :: TZPGDFILE => NULL()
! !
! !
...@@ -752,7 +753,7 @@ IF(LEN_TRIM(YCHEMFILE)>0)THEN ...@@ -752,7 +753,7 @@ IF(LEN_TRIM(YCHEMFILE)>0)THEN
IF(YCHEMFILETYPE=='GRIBEX') & IF(YCHEMFILETYPE=='GRIBEX') &
CALL READ_ALL_DATA_GRIB_CASE('CHEM',YPRE_REAL1,YCHEMFILE,TZPGDFILE,ZHORI,NVERB,LDUMMY_REAL) CALL READ_ALL_DATA_GRIB_CASE('CHEM',YPRE_REAL1,YCHEMFILE,TZPGDFILE,ZHORI,NVERB,LDUMMY_REAL)
IF (YCHEMFILETYPE=='NETCDF') & 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 END IF
! !
CALL CLOSE_ll(YPRE_REAL1, IOSTAT=IRESP) CALL CLOSE_ll(YPRE_REAL1, IOSTAT=IRESP)
......
...@@ -88,6 +88,7 @@ CHARACTER (LEN=100) :: HCOMMENT ...@@ -88,6 +88,7 @@ CHARACTER (LEN=100) :: HCOMMENT
INTEGER :: II, IJ, IGRID, ILENGTH INTEGER :: II, IJ, IGRID, ILENGTH
! !
TYPE(TFILEDATA),POINTER :: TZFILE => NULL() TYPE(TFILEDATA),POINTER :: TZFILE => NULL()
TYPE(TFILEDATA),POINTER :: TZATMFILE => NULL()
TYPE(TFILEDATA),POINTER :: TZPGDFILE => NULL() TYPE(TFILEDATA),POINTER :: TZPGDFILE => NULL()
! !
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
......
...@@ -2,23 +2,25 @@ ...@@ -2,23 +2,25 @@
MODULE MODI_READ_CHEM_DATA_NETCDF_CASE MODULE MODI_READ_CHEM_DATA_NETCDF_CASE
! ################################# ! #################################
INTERFACE INTERFACE
SUBROUTINE READ_CHEM_DATA_NETCDF_CASE(HPRE_REAL1,HFILE,HPGDFILE, & SUBROUTINE READ_CHEM_DATA_NETCDF_CASE(HPRE_REAL1,HFILE,TPPGDFILE, &
PTIME_HORI,KVERB,ODUMMY_REAL ) PTIME_HORI,KVERB,ODUMMY_REAL )
! !
CHARACTER(LEN=28), INTENT(IN) :: HPRE_REAL1 ! name of the PRE_REAL1 file USE MODD_IO_ll, ONLY: TFILEDATA
CHARACTER(LEN=28), INTENT(IN) :: HFILE ! name of the NETCDF file !
CHARACTER(LEN=28), INTENT(IN) :: HPGDFILE ! name of the physiographic data file CHARACTER(LEN=28), INTENT(IN) :: HPRE_REAL1 ! name of the PRE_REAL1 file
INTEGER, INTENT(IN) :: KVERB ! verbosity level CHARACTER(LEN=28), INTENT(IN) :: HFILE ! name of the NETCDF file
LOGICAL, INTENT(IN) :: ODUMMY_REAL! flag to interpolate dummy fields TYPE(TFILEDATA), INTENT(IN) :: TPPGDFILE ! physiographic data file
REAL, INTENT(INOUT) :: PTIME_HORI ! time spent in hor. interpolations 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 SUBROUTINE READ_CHEM_DATA_NETCDF_CASE
! !
END INTERFACE END INTERFACE
END MODULE MODI_READ_CHEM_DATA_NETCDF_CASE END MODULE MODI_READ_CHEM_DATA_NETCDF_CASE
! ########################################################################## ! ####################################################################
SUBROUTINE READ_CHEM_DATA_NETCDF_CASE(HPRE_REAL1,HFILE,HPGDFILE, & SUBROUTINE READ_CHEM_DATA_NETCDF_CASE(HPRE_REAL1,HFILE,TPPGDFILE, &
PTIME_HORI,KVERB,ODUMMY_REAL ) PTIME_HORI,KVERB,ODUMMY_REAL )
! ########################################################################## ! ####################################################################
! !
!!**** *READ_CHEM_DATA_NETCDF_CASE* - reads data for the initialization of real cases. !!**** *READ_CHEM_DATA_NETCDF_CASE* - reads data for the initialization of real cases.
!! !!
...@@ -96,6 +98,7 @@ USE MODI_CH_AER_INIT_SOA ...@@ -96,6 +98,7 @@ USE MODI_CH_AER_INIT_SOA
USE MODD_CONF USE MODD_CONF
USE MODD_CONF_n USE MODD_CONF_n
USE MODD_CST USE MODD_CST
USE MODD_IO_ll, ONLY: TFILEDATA
USE MODD_LUNIT USE MODD_LUNIT
USE MODD_PARAMETERS USE MODD_PARAMETERS
USE MODD_GRID USE MODD_GRID
...@@ -126,12 +129,12 @@ include 'netcdf.inc' ...@@ -126,12 +129,12 @@ include 'netcdf.inc'
!* 0.1. Declaration of arguments !* 0.1. Declaration of arguments
! ------------------------ ! ------------------------
! !
CHARACTER(LEN=28), INTENT(IN) :: HPRE_REAL1 ! name of the PRE_REAL1 file 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) :: HFILE ! name of the NETCDF file
CHARACTER(LEN=28), INTENT(IN) :: HPGDFILE ! name of the physiographic data file TYPE(TFILEDATA), INTENT(IN) :: TPPGDFILE ! physiographic data file
INTEGER, INTENT(IN) :: KVERB ! verbosity level REAL, INTENT(INOUT) :: PTIME_HORI ! time spent in hor. interpolations
LOGICAL, INTENT(IN) :: ODUMMY_REAL! flag to interpolate dummy fields INTEGER, INTENT(IN) :: KVERB ! verbosity level
REAL, INTENT(INOUT) :: PTIME_HORI ! time spent in hor. interpolations LOGICAL, INTENT(IN) :: ODUMMY_REAL! flag to interpolate dummy fields
! !
!* 0.2 Declaration of local variables !* 0.2 Declaration of local variables
! ------------------------------ ! ------------------------------
...@@ -212,7 +215,7 @@ IMI = GET_CURRENT_MODEL_INDEX() ...@@ -212,7 +215,7 @@ IMI = GET_CURRENT_MODEL_INDEX()
! ------------- ! -------------
! !
CALL FMLOOK_ll(CLUOUT0,CLUOUT0,ILUOUT0,IRET) 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 ! 1.1 Domain restriction
! !
......
...@@ -1353,15 +1353,27 @@ IF ( LFORCING ) THEN ...@@ -1353,15 +1353,27 @@ IF ( LFORCING ) THEN
TZFIELD%NDIMS = 0 TZFIELD%NDIMS = 0
CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PPGROUNDFRC(JT)) CALL IO_READ_FIELD(TPINIFILE,TZFIELD,PPGROUNDFRC(JT))
! !
YRECFM='TENDUFRC'//YFRC TZFIELD%CMNHNAME = 'TENDUFRC'//YFRC
YDIR='--' TZFIELD%CSTDNAME = ''
CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,Z1D,IGRID,ILENCH,YCOMMENT,IRESP) TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME)
PTENDUFRC(:,JT)=Z1D(:) TZFIELD%CUNITS = 'm s-1'
! TZFIELD%CDIR = '--'
YRECFM='TENDVFRC'//YFRC TZFIELD%CCOMMENT = 'Large-scale U tendency for forcing'
YDIR='--' TZFIELD%NGRID = 1
CALL FMREAD(HINIFILE,YRECFM,HLUOUT,YDIR,Z1D,IGRID,ILENCH,YCOMMENT,IRESP) TZFIELD%NTYPE = TYPEREAL
PTENDVFRC(:,JT)=Z1D(:) 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 DO
END IF END IF
! !
......
...@@ -3564,13 +3564,19 @@ IF (CBLTOP == 'THETA') THEN ...@@ -3564,13 +3564,19 @@ IF (CBLTOP == 'THETA') THEN
END DO END DO
ZSHMIX(:,:)=ZSHMIX(:,:)-XZS(:,:) ZSHMIX(:,:)=ZSHMIX(:,:)-XZS(:,:)
ZSHMIX(:,:)=MAX(ZSHMIX(:,:),50.0) ZSHMIX(:,:)=MAX(ZSHMIX(:,:),50.0)
YRECFM='HBLTOP' !
YCOMMENT='Height of Boundary Layer TOP (M)' TZFIELD%CMNHNAME = 'HBLTOP'
ILENCH=LEN(YCOMMENT) TZFIELD%CSTDNAME = 'atmosphere_boundary_layer_thickness'
IGRID=1 TZFIELD%CLONGNAME = 'MesoNH: HBLTOP'
CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSHMIX,IGRID,ILENCH,YCOMMENT,IRESP) ! 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) DEALLOCATE(ZSHMIX)
ELSEIF (CBLTOP == 'RICHA') THEN ELSEIF (CBLTOP == 'RICHA') THEN
! !
! mthode du "bulk Richardson number" ! mthode du "bulk Richardson number"
...@@ -3601,11 +3607,18 @@ ELSEIF (CBLTOP == 'RICHA') THEN ...@@ -3601,11 +3607,18 @@ ELSEIF (CBLTOP == 'RICHA') THEN
END DO END DO
END DO END DO
ZSHMIX(:,:)=ZSHMIX(:,:)-XZS(:,:) ZSHMIX(:,:)=ZSHMIX(:,:)-XZS(:,:)
YRECFM='HBLTOP' !
YCOMMENT='Height of Boundary Layer TOP (M)' TZFIELD%CMNHNAME = 'HBLTOP'
ILENCH=LEN(YCOMMENT) TZFIELD%CSTDNAME = 'atmosphere_boundary_layer_thickness'
IGRID=1 TZFIELD%CLONGNAME = 'MesoNH: HBLTOP'
CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY',ZSHMIX,IGRID,ILENCH,YCOMMENT,IRESP) ! 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) DEALLOCATE(ZRIB,ZSHMIX)
ENDIF ENDIF
! used before 5-3-1 version ! used before 5-3-1 version
......
...@@ -710,15 +710,19 @@ END IF ...@@ -710,15 +710,19 @@ END IF
!LCHEMDIAG, NSV_CHEMBEG, NSV_CHEMEND !LCHEMDIAG, NSV_CHEMBEG, NSV_CHEMEND
IF (LCHEMDIAG) THEN IF (LCHEMDIAG) THEN
DO JSV = NSV_CHEMBEG, NSV_CHEMEND TZFIELD%CSTDNAME = ''
YRECFM = 'FLX_'//TRIM(CNAMES(JSV-NSV_CHEMBEG+1)) TZFIELD%CUNITS = 'ppb m s-1'
WRITE(YCOMMENT,'(A6,A,A26)')'X_Y_Z_',TRIM(CNAMES(JSV-NSV_CHEMBEG+1)), & TZFIELD%CDIR = 'XY'
' Net chemical flux ppb.m/s' TZFIELD%NGRID = 1
ILENCH = LEN(YCOMMENT) TZFIELD%NTYPE = TYPEREAL
ZWORK21(:,:) = XCHFLX(:,:,JSV-NSV_CHEMBEG+1) * 1E9 TZFIELD%NDIMS = 2
CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,'XY', ZWORK21(:,:), & !
IGRID,ILENCH,YCOMMENT,IRESP) DO JSV = NSV_CHEMBEG, NSV_CHEMEND
END DO 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 END IF
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
......
...@@ -1856,19 +1856,27 @@ IF (LFORCING) THEN ...@@ -1856,19 +1856,27 @@ IF (LFORCING) THEN
TZFIELD%NDIMS = 0 TZFIELD%NDIMS = 0
CALL IO_WRITE_FIELD(TPFILE,TZFIELD,XPGROUNDFRC(JT)) CALL IO_WRITE_FIELD(TPFILE,TZFIELD,XPGROUNDFRC(JT))
! !
YRECFM='TENDUFRC'//YFRC TZFIELD%CMNHNAME = 'TENDUFRC'//YFRC
YCOMMENT=' ' TZFIELD%CSTDNAME = ''
IGRID=1 TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME)
ILENCH=LEN(YCOMMENT) TZFIELD%CUNITS = 'm s-1'
CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XTENDUFRC(:,JT),IGRID,ILENCH, & TZFIELD%CDIR = '--'
YCOMMENT,IRESP) TZFIELD%CCOMMENT = 'Large-scale U tendency for forcing'
TZFIELD%NGRID = 1
YRECFM='TENDVFRC'//YFRC TZFIELD%NTYPE = TYPEREAL
YCOMMENT=' ' TZFIELD%NDIMS = 1
IGRID=1 CALL IO_WRITE_FIELD(TPFILE,TZFIELD,XTENDUFRC(:,JT))
ILENCH=LEN(YCOMMENT) !
CALL FMWRIT(HFMFILE,YRECFM,CLUOUT,YDIR,XTENDVFRC(:,JT),IGRID,ILENCH, & TZFIELD%CMNHNAME = 'TENDVFRC'//YFRC
YCOMMENT,IRESP) 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 END DO
! !
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment