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

Philippe 20/03/2017: IO: use IO_WRITE_FIELD for diachronic files

parent 3a5ebc65
No related branches found
No related tags found
No related merge requests found
......@@ -57,10 +57,12 @@
!* 0. DECLARATIONS
! ------------
!
USE MODD_CONF
USE MODD_IO_ll, ONLY: TFILEDATA
!
USE MODE_FIELD
USE MODE_FMREAD
USE MODE_FMWRIT
USE MODD_CONF
!
IMPLICIT NONE
!
......@@ -84,6 +86,7 @@ INTEGER :: IRESPDIA
INTEGER,SAVE :: IGROUP=0
INTEGER,DIMENSION(:),ALLOCATABLE :: ITABCHAR
LOGICAL :: GPACK
TYPE(TFIELDDATA) :: TZFIELD
!------------------------------------------------------------------------------
!
YFILEDIA = TPDIAFILE%CNAME
......@@ -99,22 +102,37 @@ IF(HGROUP == 'END')THEN
LPACK=GPACK
RETURN
ENDIF
IGRID=0
ILENG=16*IGROUP
ILENCH=LEN(YCOMMENT)
YRECFM='MENU_BUDGET.DIM'
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--',ILENG,&
IGRID,ILENCH,YCOMMENT,IRESPDIA)
YRECFM='MENU_BUDGET'
TZFIELD%CMNHNAME = 'MENU_BUDGET.DIM'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: MENU_BUDGET.DIM'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = 0
TZFIELD%NTYPE = TYPEINT
TZFIELD%NDIMS = 0
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,ILENG)
ALLOCATE(ITABCHAR(ILENG))
DO JJ=1,IGROUP
DO J = 1,16
ITABCHAR(16*(JJ-1)+J) = ICHAR(YGROUP(JJ)(J:J))
ENDDO
ENDDO
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--',ITABCHAR, &
IGRID,ILENCH,YCOMMENT,IRESPDIA)
TZFIELD%CMNHNAME = 'MENU_BUDGET'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: MENU_BUDGET'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = 0
TZFIELD%NTYPE = TYPEINT
TZFIELD%NDIMS = 1
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,ITABCHAR)
DEALLOCATE(ITABCHAR)
ELSE IF(HGROUP == 'READ')THEN
......
......@@ -75,16 +75,18 @@
!* 0. DECLARATIONS
! ------------
!
USE MODD_BUDGET
USE MODD_CONF
USE MODE_FIELD
USE MODD_IO_ll, ONLY : TFILEDATA
USE MODD_PARAMETERS, ONLY : JPHEXT
!
USE MODE_ll
USE MODE_FM
USE MODE_FMWRIT
USE MODE_IO_ll
!
USE MODI_MENU_DIACHRO
USE MODD_PARAMETERS, ONLY : JPHEXT
USE MODD_CONF
USE MODD_BUDGET
USE MODD_IO_ll, ONLY: TFILEDATA
!
IMPLICIT NONE
!
......@@ -109,11 +111,9 @@ REAL,DIMENSION(:,:,:,:,:,:), INTENT(IN),OPTIONAL :: PMASK
!
!* 0.1 Local variables
! ---------------
CHARACTER(LEN=16) :: YRECFM
CHARACTER(LEN=28) :: YFILEDIA
CHARACTER(LEN=20) :: YCOMMENT
CHARACTER(LEN=3) :: YJ
INTEGER :: ILENG, ILENCH, ILENTITRE, ILENUNITE, ILENCOMMENT, ILE, IRESP
INTEGER :: ILENG, ILENTITRE, ILENUNITE, ILENCOMMENT, IRESP
INTEGER :: ILUOUTDIA, IRESPDIA,INPRARDIA,IFTYPEDIA,IVERBDIA,ININARDIA
INTEGER :: II, IJ, IK, IT, IN, IP, INUM, J, JJ
INTEGER :: INTRAJT, IKTRAJX, IKTRAJY, IKTRAJZ
......@@ -124,14 +124,12 @@ INTEGER :: ICOMPX, ICOMPY, ICOMPZ
INTEGER :: IIMAX_ll, IJMAX_ll ! size of the physical global domain
INTEGER,DIMENSION(:),ALLOCATABLE :: ITABCHAR
LOGICAL :: GPACK
TYPE(TFIELDDATA) :: TZFIELD
!------------------------------------------------------------------------------
!
YFILEDIA = TPDIAFILE%CNAME
!
GPACK=LPACK
LPACK=.FALSE.
YCOMMENT='NOTHING'
ILENCH = LEN(YCOMMENT)
!
! BUG ...ca passe que si PRESENT(OICP) sinon OICP non defini
! Question: doit-on mettre condition comme:
......@@ -225,45 +223,43 @@ IF(IRESP == -54)THEN
IFTYPEDIA = 0; IVERBDIA = 5
ENDIF
!
CALL FMLOOK_ll(ADJUSTL(ADJUSTR(YFILEDIA)//'.lfi'),HLUOUTDIA,INUM,IRESPDIA)
CALL FMLOOK_ll(TRIM(TPDIAFILE%CNAME)//'.lfi',HLUOUTDIA,INUM,IRESPDIA)
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)' WRITE_DIACHRO: ',TRIM(ADJUSTL(ADJUSTR(YFILEDIA)//'.lfi')),' IRESPDIA=',IRESPDIA
WRITE(ILUOUTDIA,*)' WRITE_DIACHRO: ',TRIM(TPDIAFILE%CNAME)//'.lfi',' IRESPDIA=',IRESPDIA
ENDIF
IF(IRESPDIA == -54)THEN
CALL FMOPEN_ll(YFILEDIA,'WRITE',HLUOUTDIA,INPRARDIA,IFTYPEDIA,IVERBDIA, &
CALL FMOPEN_ll(TPDIAFILE%CNAME,'WRITE',HLUOUTDIA,INPRARDIA,IFTYPEDIA,IVERBDIA, &
ININARDIA,IRESPDIA)
ENDIF
!
! 1er enregistrement TYPE
!
YRECFM = ADJUSTL(ADJUSTR(HGROUP)//'.TYPE')
#if defined(MNH_IOCDF4)
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
HTYPE,KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
#else
ILENG = LEN(HTYPE)
ALLOCATE(ITABCHAR(ILENG))
DO J = 1,ILENG
ITABCHAR(J) = ICHAR(HTYPE(J:J))
ENDDO
!print *,SIZE(ITABCHAR),' ITABCHAR ',ITABCHAR,' KGRID ',KGRID,HLUOUTDIA,YFILEDIA
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
ITABCHAR,KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
DEALLOCATE(ITABCHAR)
#endif
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.TYPE'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.TYPE'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = KGRID(1)
TZFIELD%NTYPE = TYPECHAR
TZFIELD%NDIMS = 0
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,HTYPE)
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)' 1st ENREGISTREMENT(',TRIM(YRECFM),'): OK'
WRITE(ILUOUTDIA,*)' 1st record (',TRIM(TZFIELD%CMNHNAME),'): OK'
ENDIF
!
! 2eme enregistrement DIMENSIONS des MATRICES et LONGUEUR des TABLEAUX de CARACTERES et FLAGS de COMPRESSION sur les DIFFERENTS AXES
!
YRECFM = ADJUSTL(ADJUSTR(HGROUP)//'.DIM')
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.DIM'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.DIM'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = KGRID(1)
TZFIELD%NTYPE = TYPEINT
TZFIELD%NDIMS = 1
SELECT CASE(HTYPE)
CASE('CART','MASK','SPXY')
ILENG = 34
......@@ -290,8 +286,7 @@ SELECT CASE(HTYPE)
ITABCHAR(29)=IIMASK; ITABCHAR(30)=IJMASK
ITABCHAR(31)=IKMASK; ITABCHAR(32)=ITMASK
ITABCHAR(33)=INMASK; ITABCHAR(34)=IPMASK
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--',ITABCHAR, &
KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,ITABCHAR)
DEALLOCATE(ITABCHAR)
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)' ILENTITRE,ILENUNITE,ILENCOMMENT ',ILENTITRE,ILENUNITE,ILENCOMMENT
......@@ -312,108 +307,62 @@ SELECT CASE(HTYPE)
ITABCHAR(20)=IIMASK; ITABCHAR(21)=IJMASK
ITABCHAR(22)=IKMASK; ITABCHAR(23)=ITMASK
ITABCHAR(24)=INMASK; ITABCHAR(25)=IPMASK
! CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--',ILENTITRE,ILENUNITE, &
! ILENCOMMENT,II,IJ,IK,IT,IN,IP,KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--',ITABCHAR, &
KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,ITABCHAR)
DEALLOCATE(ITABCHAR)
END SELECT
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)' 2nd ENREGISTREMENT(',TRIM(YRECFM),'): OK'
WRITE(ILUOUTDIA,*)' 2nd record (',TRIM(TZFIELD%CMNHNAME),'): OK'
ENDIF
!
! 3eme enregistrement TITRE
!
YRECFM = ADJUSTL(ADJUSTR(HGROUP)//'.TITRE')
#if defined(MNH_IOCDF4)
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
HTITRE(1:IP),KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
#else
ILE = LEN(HTITRE)
ILENG = ILE*IP
ALLOCATE(ITABCHAR(ILENG))
DO JJ = 1,IP
DO J = 1,ILE
ITABCHAR(ILE*(JJ-1)+J) = ICHAR(HTITRE(JJ)(J:J))
ENDDO
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)JJ,TRIM(HTITRE(JJ))
ENDIF
ENDDO
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
ITABCHAR,KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
DEALLOCATE(ITABCHAR)
#endif
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.TITRE'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.TITRE'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = KGRID(1)
TZFIELD%NTYPE = TYPECHAR
TZFIELD%NDIMS = 1
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,HTITRE(1:IP))
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)' 3rd ENREGISTREMENT(',TRIM(YRECFM),'): OK'
WRITE(ILUOUTDIA,*)' 3rd record (',TRIM(TZFIELD%CMNHNAME),'): OK'
ENDIF
!
! 4eme enregistrement UNITE
!
YRECFM = ADJUSTL(ADJUSTR(HGROUP)//'.UNITE')
#if defined(MNH_IOCDF4)
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
HUNITE(1:IP),KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
#else
ILE = LEN(HUNITE)
ILENG = ILE*IP
ALLOCATE(ITABCHAR(ILENG))
DO JJ = 1,IP
DO J = 1,ILE
ITABCHAR(ILE*(JJ-1)+J) = ICHAR(HUNITE(JJ)(J:J))
ENDDO
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)JJ,TRIM(HUNITE(JJ))
ENDIF
ENDDO
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
ITABCHAR,KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
DEALLOCATE(ITABCHAR)
#endif
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.UNITE'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.UNITE'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = KGRID(1)
TZFIELD%NTYPE = TYPECHAR
TZFIELD%NDIMS = 1
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,HUNITE(1:IP))
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)' 4th ENREGISTREMENT(',TRIM(YRECFM),'): OK'
WRITE(ILUOUTDIA,*)' 4th record (',TRIM(TZFIELD%CMNHNAME),'): OK'
ENDIF
!
! 5eme enregistrement COMMENT
!
YRECFM = ADJUSTL(ADJUSTR(HGROUP)//'.COMMENT')
#if defined(MNH_IOCDF4)
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
HCOMMENT(1:IP),KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
#else
ILE = LEN(HCOMMENT)
ILENG = ILE*IP
ALLOCATE(ITABCHAR(ILENG))
DO JJ = 1,IP
DO J = 1,ILE
ITABCHAR(ILE*(JJ-1)+J) = ICHAR(HCOMMENT(JJ)(J:J))
ENDDO
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)JJ,TRIM(HCOMMENT(JJ))
ENDIF
ENDDO
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
ITABCHAR,KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
DEALLOCATE(ITABCHAR)
#endif
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.COMMENT'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.COMMENT'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = KGRID(1)
TZFIELD%NTYPE = TYPECHAR
TZFIELD%NDIMS = 1
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,HCOMMENT(1:IP))
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)' 5th ENREGISTREMENT(',TRIM(YRECFM),'): OK'
WRITE(ILUOUTDIA,*)' 5th record (',TRIM(TZFIELD%CMNHNAME),'): OK'
ENDIF
!
! 6eme enregistrement PVAR
......@@ -431,39 +380,59 @@ DO J = 1,IP
ELSE IF(J >= 100 .AND. J < 1000) THEN
WRITE(YJ,'(I3)')J
ENDIF
YRECFM = ADJUSTL(ADJUSTR(HGROUP)//'.PROC'//YJ)
ILENG = II*IJ*IK*IT*IN
!print *,' PVAR '
!print *,' YJ ILENG YRECFM KGRID(J) ',YJ,ILENG,YRECFM,KGRID(J)
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.PROC'//YJ
! BUG ...ca passe que si PRESENT(OICP) sinon OICP non defini
IF (PRESENT(OICP) .AND. PRESENT(OJCP)) THEN
IF(HTYPE == 'CART' .AND. .NOT. OICP .AND. .NOT. OJCP) THEN
CALL FMWRITBOX(YFILEDIA,YRECFM,HLUOUTDIA,'BUDGET',PVAR(:,:,:,:,:,J),KGRID(J), &
CALL FMWRITBOX(TPDIAFILE%CNAME,TZFIELD%CMNHNAME,HLUOUTDIA,'BUDGET',PVAR(:,:,:,:,:,J),KGRID(J), &
HTITRE(J),KIL+JPHEXT,KIH+JPHEXT,KJL+JPHEXT,KJH+JPHEXT,IRESPDIA)
ELSE
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--',PVAR(:,:,:,:,:,J),KGRID(J), &
LEN(HTITRE(J)),HTITRE(J),IRESPDIA)
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.PROC'//YJ
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.PROC'//YJ
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(HTITRE(J))
TZFIELD%NGRID = KGRID(J)
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 5
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,PVAR(:,:,:,:,:,J))
ENDIF
ELSE
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--',PVAR(:,:,:,:,:,J),KGRID(J), &
LEN(HTITRE(J)),HTITRE(J),IRESPDIA)
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.PROC'//YJ
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.PROC'//YJ
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(HTITRE(J))
TZFIELD%NGRID = KGRID(J)
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 5
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,PVAR(:,:,:,:,:,J))
END IF
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)J,TRIM(YRECFM)
WRITE(ILUOUTDIA,*)J,TRIM(TZFIELD%CMNHNAME)
ENDIF
ENDDO
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)' 6th ENREGISTREMENT: OK'
WRITE(ILUOUTDIA,*)' 6th record: OK'
ENDIF
!
! 7eme enregistrement TRAJT
!
YRECFM = ADJUSTL(ADJUSTR(HGROUP)//'.TRAJT')
ILENG = IT*INTRAJT
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
PTRAJT,KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.TRAJT'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.TRAJT'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = KGRID(1)
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 2
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,PTRAJT)
IF (NVERB>=5) THEN
WRITE(ILUOUTDIA,*)' 7th ENREGISTREMENT(',TRIM(YRECFM),'): OK'
WRITE(ILUOUTDIA,*)' 7th record (',TRIM(TZFIELD%CMNHNAME),'): OK'
ENDIF
!
! Dans certains cas
......@@ -472,45 +441,77 @@ ENDIF
! 8eme enregistrement TRAJX
!
IF(PRESENT(PTRAJX))THEN
YRECFM = ADJUSTL(ADJUSTR(HGROUP)//'.TRAJX')
ILENG = IKTRAJX*ITTRAJX*INTRAJX
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
PTRAJX,KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.TRAJX'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.TRAJX'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = KGRID(1)
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,PTRAJX)
ENDIF
!
! ou
!
IF(PRESENT(PMASK))THEN
YRECFM = ADJUSTL(ADJUSTR(HGROUP)//'.MASK')
ILENG = IIMASK*IJMASK*IKMASK*ITMASK*INMASK*IPMASK
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'XY',PMASK,KGRID(1), &
ILENCH,YCOMMENT,IRESPDIA)
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.MASK'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.MASK'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = 'XY'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = KGRID(1)
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 6
!PW: not yet implemented CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,PMASK)
CALL FMWRIT(TPDIAFILE%CNAME,TZFIELD%CMNHNAME,HLUOUTDIA,'XY',PMASK,KGRID(1), &
LEN_TRIM(YCOMMENT),YCOMMENT,IRESPDIA)
ENDIF
!
! 9eme enregistrement TRAJY
!
IF(PRESENT(PTRAJY))THEN
YRECFM = ADJUSTL(ADJUSTR(HGROUP)//'.TRAJY')
ILENG = IKTRAJY*ITTRAJY*INTRAJY
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
PTRAJY,KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.TRAJY'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.TRAJY'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = KGRID(1)
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,PTRAJY)
ENDIF
!
! 10eme enregistrement TRAJZ
!
IF(PRESENT(PTRAJZ))THEN
YRECFM = ADJUSTL(ADJUSTR(HGROUP)//'.TRAJZ')
ILENG = IKTRAJZ*ITTRAJZ*INTRAJZ
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
PTRAJZ,KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.TRAJZ'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.TRAJZ'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = KGRID(1)
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,PTRAJZ)
ENDIF
!
! 11eme enregistrement PDATIME
!
YRECFM = ADJUSTL(ADJUSTR(HGROUP)//'.DATIM')
ILENG=16*IT
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUTDIA,'--', &
PDATIME,KGRID(1),ILENCH,YCOMMENT,IRESPDIA)
TZFIELD%CMNHNAME = TRIM(HGROUP)//'.DATIM'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(HGROUP)//'.DATIM'
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(YCOMMENT)
TZFIELD%NGRID = KGRID(1)
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 2
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,PDATIME)
!
CALL MENU_DIACHRO(TPDIAFILE,HLUOUTDIA,HGROUP)
LPACK=GPACK
......
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