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

Philippe 15/05/2017: IO: end of replacements of FMWRIT calls by IO_WRITE_FIELD calls

parent 58a80e50
No related branches found
No related tags found
No related merge requests found
......@@ -12,7 +12,7 @@ USE MODE_MSG
!
IMPLICIT NONE
!
INTEGER,PRIVATE,PARAMETER :: MAXFIELDS = 200
INTEGER,PRIVATE,PARAMETER :: MAXFIELDS = 250
INTEGER,PARAMETER :: TYPEUNDEF = -1, TYPEINT = 1, TYPELOG = 2, TYPEREAL = 3, TYPECHAR = 4, TYPEDATE = 5
!
TYPE TFIELDPTR_C0D
......@@ -2051,7 +2051,7 @@ TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: DIRFLASWD'
TFIELDLIST(IDX)%CUNITS = 'W m-2'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_DIRect Downward Long Waves on FLAT surface'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_DIRect Downward Short Waves on FLAT surface'
TFIELDLIST(IDX)%NGRID = 1
TFIELDLIST(IDX)%NTYPE = TYPEREAL
TFIELDLIST(IDX)%NDIMS = 3
......@@ -2064,7 +2064,7 @@ TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: SCAFLASWD'
TFIELDLIST(IDX)%CUNITS = 'W m-2'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_SCAttered Downward Long Waves on FLAT surface'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_SCAttered Downward Short Waves on FLAT surface'
TFIELDLIST(IDX)%NGRID = 1
TFIELDLIST(IDX)%NTYPE = TYPEREAL
TFIELDLIST(IDX)%NDIMS = 3
......@@ -2077,7 +2077,7 @@ TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: DIRSRFSWD'
TFIELDLIST(IDX)%CUNITS = 'W m-2'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_DIRect Downward Long Waves'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_DIRect Downward Short Waves'
TFIELDLIST(IDX)%NGRID = 1
TFIELDLIST(IDX)%NTYPE = TYPEREAL
TFIELDLIST(IDX)%NDIMS = 3
......@@ -2127,7 +2127,7 @@ IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'DIR_ALB'
TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: DIR_ALB'
TFIELDLIST(IDX)%CUNITS = ''
TFIELDLIST(IDX)%CUNITS = '1'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_DIRect ALBedo'
TFIELDLIST(IDX)%NGRID = 1
......@@ -2140,7 +2140,7 @@ IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'SCA_ALB'
TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: SCA_ALB'
TFIELDLIST(IDX)%CUNITS = ''
TFIELDLIST(IDX)%CUNITS = '1'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_SCAttered ALBedo'
TFIELDLIST(IDX)%NGRID = 1
......@@ -2153,7 +2153,7 @@ IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'EMIS'
TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: EMIS'
TFIELDLIST(IDX)%CUNITS = ''
TFIELDLIST(IDX)%CUNITS = '1'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_EMISsivity'
TFIELDLIST(IDX)%NGRID = 1
......@@ -2285,6 +2285,84 @@ ALLOCATE(TFIELDLIST(IDX)%TFIELD_X2D(IMODEL))
IDX = IDX+1
!
IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'DSVCONV'
TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: DSVCONV'
TFIELDLIST(IDX)%CUNITS = 's-1'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'Tracer tendencies'
TFIELDLIST(IDX)%NGRID = 1
TFIELDLIST(IDX)%NTYPE = TYPEREAL
TFIELDLIST(IDX)%NDIMS = 4
ALLOCATE(TFIELDLIST(IDX)%TFIELD_X4D(IMODEL))
IDX = IDX+1
!
IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'PRLFLXCONV'
TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: PRLFLXCONV'
TFIELDLIST(IDX)%CUNITS = 'm s-1'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_Liquid Precipitation Convective Flux'
TFIELDLIST(IDX)%NGRID = 4
TFIELDLIST(IDX)%NTYPE = TYPEREAL
TFIELDLIST(IDX)%NDIMS = 3
ALLOCATE(TFIELDLIST(IDX)%TFIELD_X3D(IMODEL))
IDX = IDX+1
!
IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'PRSFLXCONV'
TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: PRSFLXCONV'
TFIELDLIST(IDX)%CUNITS = 'm s-1'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_Solid Precipitation Convective Flux'
TFIELDLIST(IDX)%NGRID = 4
TFIELDLIST(IDX)%NTYPE = TYPEREAL
TFIELDLIST(IDX)%NDIMS = 3
ALLOCATE(TFIELDLIST(IDX)%TFIELD_X3D(IMODEL))
IDX = IDX+1
!
IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'UMFCONV'
TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: UMFCONV'
TFIELDLIST(IDX)%CUNITS = 'kg s-1 m-2'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_Updraft Convective Mass Flux'
TFIELDLIST(IDX)%NGRID = 4
TFIELDLIST(IDX)%NTYPE = TYPEREAL
TFIELDLIST(IDX)%NDIMS = 3
ALLOCATE(TFIELDLIST(IDX)%TFIELD_X3D(IMODEL))
IDX = IDX+1
!
IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'DMFCONV'
TFIELDLIST(IDX)%CSTDNAME = 'X_Y_Downdraft Convective Mass Flux'
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: DMFCONV'
TFIELDLIST(IDX)%CUNITS = 'kg s-1 m-2'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = ''
TFIELDLIST(IDX)%NGRID = 4
TFIELDLIST(IDX)%NTYPE = TYPEREAL
TFIELDLIST(IDX)%NDIMS = 3
ALLOCATE(TFIELDLIST(IDX)%TFIELD_X3D(IMODEL))
IDX = IDX+1
!
IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'MFCONV'
TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: MFCONV'
TFIELDLIST(IDX)%CUNITS = 'kg s-1 m-2'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'X_Y_Convective Mass Flux'
TFIELDLIST(IDX)%NGRID = 4
TFIELDLIST(IDX)%NTYPE = TYPEREAL
TFIELDLIST(IDX)%NDIMS = 3
ALLOCATE(TFIELDLIST(IDX)%TFIELD_X3D(IMODEL))
IDX = IDX+1
!
IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'CAPE'
TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: CAPE'
......@@ -2298,6 +2376,32 @@ ALLOCATE(TFIELDLIST(IDX)%TFIELD_X2D(IMODEL))
IDX = IDX+1
!
IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'CLTOPCONV'
TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: CLTOPCONV'
TFIELDLIST(IDX)%CUNITS = '1'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'Convective cloud top level'
TFIELDLIST(IDX)%NGRID = 1
TFIELDLIST(IDX)%NTYPE = TYPEINT
TFIELDLIST(IDX)%NDIMS = 2
ALLOCATE(TFIELDLIST(IDX)%TFIELD_N2D(IMODEL))
IDX = IDX+1
!
IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'CLBASCONV'
TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: CLBASCONV'
TFIELDLIST(IDX)%CUNITS = '1'
TFIELDLIST(IDX)%CDIR = 'XY'
TFIELDLIST(IDX)%CCOMMENT = 'Convective cloud base level'
TFIELDLIST(IDX)%NGRID = 1
TFIELDLIST(IDX)%NTYPE = TYPEINT
TFIELDLIST(IDX)%NDIMS = 2
ALLOCATE(TFIELDLIST(IDX)%TFIELD_N2D(IMODEL))
IDX = IDX+1
!
IF(IDX>MAXFIELDS) CALL ERR_INI_FIELD_LIST()
TFIELDLIST(IDX)%CMNHNAME = 'IC_RATE'
TFIELDLIST(IDX)%CSTDNAME = ''
TFIELDLIST(IDX)%CLONGNAME = 'MesoNH: IC_RATE'
......@@ -3462,7 +3566,15 @@ IF (TRIM(CPROGRAM) /= 'PGD' .AND. TRIM(CPROGRAM) /= 'NESPGD' .AND. TRIM(CPROGRAM
CALL FIND_FIELD_ID_FROM_MNHNAME('PRCONV', IID,IRESP); TFIELDLIST(IID)%TFIELD_X2D(KFROM)%DATA => XPRCONV
CALL FIND_FIELD_ID_FROM_MNHNAME('PACCONV', IID,IRESP); TFIELDLIST(IID)%TFIELD_X2D(KFROM)%DATA => XPACCONV
CALL FIND_FIELD_ID_FROM_MNHNAME('PRSCONV', IID,IRESP); TFIELDLIST(IID)%TFIELD_X2D(KFROM)%DATA => XPRSCONV
CALL FIND_FIELD_ID_FROM_MNHNAME('DSVCONV', IID,IRESP); TFIELDLIST(IID)%TFIELD_X4D(KFROM)%DATA => XDSVCONV
CALL FIND_FIELD_ID_FROM_MNHNAME('PRLFLXCONV', IID,IRESP); TFIELDLIST(IID)%TFIELD_X3D(KFROM)%DATA => XPRLFLXCONV
CALL FIND_FIELD_ID_FROM_MNHNAME('PRSFLXCONV', IID,IRESP); TFIELDLIST(IID)%TFIELD_X3D(KFROM)%DATA => XPRSFLXCONV
CALL FIND_FIELD_ID_FROM_MNHNAME('UMFCONV', IID,IRESP); TFIELDLIST(IID)%TFIELD_X3D(KFROM)%DATA => XUMFCONV
CALL FIND_FIELD_ID_FROM_MNHNAME('DMFCONV', IID,IRESP); TFIELDLIST(IID)%TFIELD_X3D(KFROM)%DATA => XDMFCONV
CALL FIND_FIELD_ID_FROM_MNHNAME('MFCONV', IID,IRESP); TFIELDLIST(IID)%TFIELD_X3D(KFROM)%DATA => XMFCONV
CALL FIND_FIELD_ID_FROM_MNHNAME('CAPE', IID,IRESP); TFIELDLIST(IID)%TFIELD_X2D(KFROM)%DATA => XCAPE
CALL FIND_FIELD_ID_FROM_MNHNAME('CLTOPCONV', IID,IRESP); TFIELDLIST(IID)%TFIELD_N2D(KFROM)%DATA => NCLTOPCONV
CALL FIND_FIELD_ID_FROM_MNHNAME('CLBASCONV', IID,IRESP); TFIELDLIST(IID)%TFIELD_N2D(KFROM)%DATA => NCLBASCONV
CALL FIND_FIELD_ID_FROM_MNHNAME('IC_RATE', IID,IRESP); TFIELDLIST(IID)%TFIELD_X2D(KFROM)%DATA => XIC_RATE
CALL FIND_FIELD_ID_FROM_MNHNAME('CG_RATE', IID,IRESP); TFIELDLIST(IID)%TFIELD_X2D(KFROM)%DATA => XCG_RATE
CALL FIND_FIELD_ID_FROM_MNHNAME('IC_TOTAL_NB',IID,IRESP); TFIELDLIST(IID)%TFIELD_X2D(KFROM)%DATA => XIC_TOTAL_NUMBER
......@@ -3854,7 +3966,15 @@ IF (TRIM(CPROGRAM) /= 'PGD' .AND. TRIM(CPROGRAM) /= 'NESPGD' .AND. TRIM(CPROGRAM
CALL FIND_FIELD_ID_FROM_MNHNAME('PRCONV', IID,IRESP); XPRCONV => TFIELDLIST(IID)%TFIELD_X2D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('PACCONV', IID,IRESP); XPACCONV => TFIELDLIST(IID)%TFIELD_X2D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('PRSCONV', IID,IRESP); XPRSCONV => TFIELDLIST(IID)%TFIELD_X2D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('DSVCONV', IID,IRESP); XDSVCONV => TFIELDLIST(IID)%TFIELD_X4D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('PRLFLXCONV', IID,IRESP); XPRLFLXCONV => TFIELDLIST(IID)%TFIELD_X3D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('PRSFLXCONV', IID,IRESP); XPRSFLXCONV => TFIELDLIST(IID)%TFIELD_X3D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('UMFCONV', IID,IRESP); XUMFCONV => TFIELDLIST(IID)%TFIELD_X3D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('DMFCONV', IID,IRESP); XDMFCONV => TFIELDLIST(IID)%TFIELD_X3D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('MFCONV', IID,IRESP); XMFCONV => TFIELDLIST(IID)%TFIELD_X3D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('CAPE', IID,IRESP); XCAPE => TFIELDLIST(IID)%TFIELD_X2D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('CLTOPCONV', IID,IRESP); NCLTOPCONV => TFIELDLIST(IID)%TFIELD_N2D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('CLBASCONV', IID,IRESP); NCLBASCONV => TFIELDLIST(IID)%TFIELD_N2D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('IC_RATE', IID,IRESP); XIC_RATE => TFIELDLIST(IID)%TFIELD_X2D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('CG_RATE', IID,IRESP); XCG_RATE => TFIELDLIST(IID)%TFIELD_X2D(KTO)%DATA
CALL FIND_FIELD_ID_FROM_MNHNAME('IC_TOTAL_NB',IID,IRESP); XIC_TOTAL_NUMBER => TFIELDLIST(IID)%TFIELD_X2D(KTO)%DATA
......
......@@ -79,6 +79,7 @@ USE MODI_SHUMAN
!
USE MODD_VAR_ll
!
USE MODE_FIELD
USE MODE_FM
USE MODE_FMWRIT
USE MODE_FMREAD
......@@ -102,7 +103,6 @@ INTEGER :: ININAR ! number of articles present in
INTEGER :: ITYPE ! type of file (conv2dia and transfer)
!
CHARACTER(LEN=100) :: YCOMMENT
CHARACTER(LEN=28) :: YFMFILE ! Name of FM-file to write
CHARACTER(LEN=16) :: YRECFM
INTEGER :: IFILECUR,JFILECUR,NIU,NJU,NKU,IGRID,ILENCH
INTEGER :: NFILES,JLOOP
......@@ -126,6 +126,7 @@ INTEGER :: INBR_START
REAL :: ZXMAX,ZYMAX,ZZMAX ! domain extrema
INTEGER, DIMENSION(100) :: NBRFILES
INTEGER :: IKU
TYPE(TFIELDDATA) :: TZFIELD
!
!-------------------------------------------------------------------------------
!
......@@ -136,8 +137,6 @@ ITYPE=2
ZSPVAL=-1.E+11
IKU=SIZE(XZHAT)
!
YFMFILE = TPFILE%CNAME
!
!-------------------------------------------------------------------------------
!
!* 2.0 FIND THE FILE TO BE TREATED AND THE INIT-SV FILES
......@@ -297,31 +296,42 @@ DO JFILECUR=1,NFILES
! computing the new origin
!
IF (GSTART) THEN
IGRID=1
PRINT *,'INBR_START',INBR_START,' NBRFILES(JFILECUR)',NBRFILES(JFILECUR)
WRITE(YRECFM,'(A2,I2.2)')'X0',INBR_START
WRITE(YCOMMENT,'(A8,I2.2)')'X_Y_Z_X0',INBR_START
YCOMMENT=YCOMMENT(1:10)//YDATE//' (KM)'
PRINT *,'YCOMMENT = ',YCOMMENT
ILENCH=LEN(YCOMMENT)
CALL FMWRIT(YFMFILE,YRECFM,CLUOUT,'XY',ZX00(:,:,:),IGRID,ILENCH, &
YCOMMENT,IRESP)
WRITE(TZFIELD%CMNHNAME,'(A2,I2.2)')'X0',INBR_START
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'km'
TZFIELD%CDIR = 'XY'
TZFIELD%CCOMMENT = 'X_Y_Z_'//TRIM(TZFIELD%CMNHNAME)//YDATE
PRINT *,'YCOMMENT = ',TRIM(TZFIELD%CCOMMENT)
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
CALL IO_WRITE_FIELD(TPFILE,TZFIELD,CLUOUT,IRESP,ZX00(:,:,:))
!
WRITE(YRECFM,'(A2,I2.2)')'Y0',INBR_START
WRITE(YCOMMENT,'(A8,I2.2)')'X_Y_Z_Y0',INBR_START
YCOMMENT=YCOMMENT(1:10)//YDATE//' (KM)'
PRINT *,'YCOMMENT = ',YCOMMENT
ILENCH=LEN(YCOMMENT)
CALL FMWRIT(YFMFILE,YRECFM,CLUOUT,'XY',ZY00(:,:,:),IGRID,ILENCH, &
YCOMMENT,IRESP)
WRITE(TZFIELD%CMNHNAME,'(A2,I2.2)')'Y0',INBR_START
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'km'
TZFIELD%CDIR = 'XY'
TZFIELD%CCOMMENT = 'X_Y_Z_'//TRIM(TZFIELD%CMNHNAME)//YDATE
PRINT *,'YCOMMENT = ',TRIM(TZFIELD%CCOMMENT)
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
CALL IO_WRITE_FIELD(TPFILE,TZFIELD,CLUOUT,IRESP,ZY00(:,:,:))
!
WRITE(YRECFM,'(A2,I2.2)')'Z0',INBR_START
WRITE(YCOMMENT,'(A8,I2.2)')'X_Y_Z_Z0',INBR_START
YCOMMENT=YCOMMENT(1:10)//YDATE//' (KM)'
PRINT *,'YCOMMENT = ',YCOMMENT
ILENCH=LEN(YCOMMENT)
CALL FMWRIT(YFMFILE,YRECFM,CLUOUT,'XY',ZZ00(:,:,:),IGRID,ILENCH, &
YCOMMENT,IRESP)
WRITE(TZFIELD%CMNHNAME,'(A2,I2.2)')'Z0',INBR_START
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'km'
TZFIELD%CDIR = 'XY'
TZFIELD%CCOMMENT = 'X_Y_Z_'//TRIM(TZFIELD%CMNHNAME)//YDATE
PRINT *,'YCOMMENT = ',TRIM(TZFIELD%CCOMMENT)
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
CALL IO_WRITE_FIELD(TPFILE,TZFIELD,CLUOUT,IRESP,ZZ00(:,:,:))
END IF
!
!
......@@ -339,23 +349,29 @@ DO JFILECUR=1,NFILES
!
IF (GSTART) THEN
!
WRITE(YRECFM,'(A3,I2.2)')'TH0',INBR_START
WRITE(YCOMMENT,'(A9,I2.2)')'X_Y_Z_TH0',INBR_START
YCOMMENT=YCOMMENT(1:11)//YDATE//' (K)'
PRINT *,'YCOMMENT = ',YCOMMENT
ILENCH=LEN(YCOMMENT)
CALL FMWRIT(YFMFILE,YRECFM,CLUOUT,'XY', &
ZWORK1(:,:,:),IGRID,ILENCH, &
YCOMMENT,IRESP)
WRITE(TZFIELD%CMNHNAME,'(A3,I2.2)')'TH0',INBR_START
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'K'
TZFIELD%CDIR = 'XY'
TZFIELD%CCOMMENT = 'X_Y_Z_'//TRIM(TZFIELD%CMNHNAME)//YDATE
PRINT *,'YCOMMENT = ',TRIM(TZFIELD%CCOMMENT)
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
CALL IO_WRITE_FIELD(TPFILE,TZFIELD,CLUOUT,IRESP,ZWORK1(:,:,:))
!
WRITE(YRECFM,'(A3,I2.2)')'RV0',INBR_START
WRITE(YCOMMENT,'(A9,I2.2)')'X_Y_Z_RV0',INBR_START
YCOMMENT=YCOMMENT(1:11)//YDATE//' (G/KG)'
PRINT *,'YCOMMENT = ',YCOMMENT
ILENCH=LEN(YCOMMENT)
CALL FMWRIT(YFMFILE,YRECFM,CLUOUT,'XY', &
ZWORK2(:,:,:),IGRID,ILENCH, &
YCOMMENT,IRESP)
WRITE(TZFIELD%CMNHNAME,'(A3,I2.2)')'RV0',INBR_START
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = 'g kg-1'
TZFIELD%CDIR = 'XY'
TZFIELD%CCOMMENT = 'X_Y_Z_'//TRIM(TZFIELD%CMNHNAME)//YDATE
PRINT *,'YCOMMENT = ',TRIM(TZFIELD%CCOMMENT)
TZFIELD%NGRID = 1
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 3
CALL IO_WRITE_FIELD(TPFILE,TZFIELD,CLUOUT,IRESP,ZWORK2(:,:,:))
ENDIF
!* 4.4 compute the origin of the particules using one more segment
!
......
......@@ -39,7 +39,7 @@ USE MODD_CLOUDPAR_n
USE MODD_CLOUD_MF_n
USE MODD_CONF_n
USE MODD_CURVCOR_n
USE MODD_DEEP_CONVECTION_n
!USE MODD_DEEP_CONVECTION_n
USE MODD_DIM_n
USE MODD_DUMMY_GR_FIELD_n
USE MODD_DYN_n
......@@ -135,7 +135,7 @@ CALL CLOUDPAR_GOTO_MODEL(KFROM, KTO)
CALL CLOUD_MF_GOTO_MODEL(KFROM, KTO)
CALL CONF_GOTO_MODEL(KFROM, KTO)
CALL CURVCOR_GOTO_MODEL(KFROM, KTO)
CALL DEEP_CONVECTION_GOTO_MODEL(KFROM, KTO)
!CALL DEEP_CONVECTION_GOTO_MODEL(KFROM, KTO)
CALL DIM_GOTO_MODEL(KFROM, KTO)
CALL DUMMY_GR_FIELD_GOTO_MODEL(KFROM, KTO)
CALL DYN_GOTO_MODEL(KFROM, KTO)
......
......@@ -43,112 +43,39 @@
USE MODD_PARAMETERS, ONLY: JPMODELMAX
IMPLICIT NONE
TYPE DEEP_CONVECTION_t
!
! INTEGER, DIMENSION(:,:),POINTER :: NCOUNTCONV=>NULL()! convective counter used
! ! to refresh the
! ! convective tendencies
! REAL, DIMENSION(:,:,:) ,POINTER :: XDTHCONV=>NULL() ! convective TH tendency (K/s)
! REAL, DIMENSION(:,:,:) ,POINTER :: XDRVCONV=>NULL() ! convective r_v tendency (1/s)
! REAL, DIMENSION(:,:,:) ,POINTER :: XDRCCONV=>NULL() ! convective r_c tendency (1/s)
! REAL, DIMENSION(:,:,:) ,POINTER :: XDRICONV=>NULL() ! convective r_i tendency (1/s)
! REAL, DIMENSION(:,:) ,POINTER :: XPRCONV=>NULL() ! total precipitation rate (m/s)
! REAL, DIMENSION(:,:) ,POINTER :: XPRSCONV=>NULL() ! solid precipitation rate (m/s)
! REAL, DIMENSION(:,:) ,POINTER :: XPACCONV=>NULL() ! accumulated convective
! ! precipitation (m)
REAL, DIMENSION(:,:,:,:),POINTER ::XDSVCONV=>NULL() ! tracer tendencies (1/s)
! diagnostic variables
REAL, DIMENSION(:,:,:) ,POINTER :: XUMFCONV=>NULL() ! updraft mass flux (kg/s m2)
REAL, DIMENSION(:,:,:) ,POINTER :: XDMFCONV=>NULL() ! downdraft mass flux (kg/s m2)
REAL, DIMENSION(:,:,:) ,POINTER :: XMFCONV=>NULL() ! convective mass flux (kg/s m2)
REAL, DIMENSION(:,:,:) ,POINTER ::XPRLFLXCONV=>NULL()! liquid precip flux (m/s)
REAL, DIMENSION(:,:,:) ,POINTER ::XPRSFLXCONV=>NULL()! solid precip flux (m/s)
! REAL, DIMENSION(:,:) ,POINTER :: XCAPE=>NULL() ! CAPE (J/kg)
INTEGER,DIMENSION(:,:), POINTER :: NCLTOPCONV=>NULL()! convective cloud top level
INTEGER,DIMENSION(:,:), POINTER :: NCLBASCONV=>NULL()! convective cloud base level
!
! REAL, DIMENSION(:,:) , POINTER :: XIC_RATE=>NULL() ! IC lightning frequency
! REAL, DIMENSION(:,:) , POINTER :: XCG_RATE=>NULL() ! CG lightning frequency
! REAL, DIMENSION(:,:) , POINTER :: XIC_TOTAL_NUMBER=>NULL() !Total number of IC
! REAL, DIMENSION(:,:) , POINTER :: XCG_TOTAL_NUMBER=>NULL() !Total number of CG
END TYPE DEEP_CONVECTION_t
TYPE(DEEP_CONVECTION_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: DEEP_CONVECTION_MODEL
INTEGER, DIMENSION(:,:),POINTER :: NCOUNTCONV=>NULL() ! convective counter used
! to refresh the
! convective tendencies
REAL, DIMENSION(:,:,:) ,POINTER :: XDTHCONV=>NULL() ! convective TH tendency (K/s)
REAL, DIMENSION(:,:,:) ,POINTER :: XDRVCONV=>NULL() ! convective r_v tendency (1/s)
REAL, DIMENSION(:,:,:) ,POINTER :: XDRCCONV=>NULL() ! convective r_c tendency (1/s)
REAL, DIMENSION(:,:,:) ,POINTER :: XDRICONV=>NULL() ! convective r_i tendency (1/s)
REAL, DIMENSION(:,:) ,POINTER :: XPRCONV=>NULL() ! total precipitation rate (m/s)
REAL, DIMENSION(:,:) ,POINTER :: XPRSCONV=>NULL() ! solid precipitation rate (m/s)
REAL, DIMENSION(:,:) ,POINTER :: XPACCONV=>NULL() ! accumulated convective
! precipitation (m)
REAL, DIMENSION(:,:,:,:),POINTER ::XDSVCONV=>NULL() ! tracer tendencies (1/s)
!diagnostic variables
REAL, DIMENSION(:,:,:) ,POINTER :: XUMFCONV=>NULL() ! updraft mass flux (kg/s m2)
REAL, DIMENSION(:,:,:) ,POINTER :: XDMFCONV=>NULL() ! downdraft mass flux (kg/s m2)
REAL, DIMENSION(:,:,:) ,POINTER :: XMFCONV=>NULL() ! convective mass flux (kg/s m2)
REAL, DIMENSION(:,:,:) ,POINTER :: XPRLFLXCONV=>NULL() ! liquid precip flux (m/s)
REAL, DIMENSION(:,:,:) ,POINTER :: XPRSFLXCONV=>NULL() ! solid precip flux (m/s)
REAL, DIMENSION(:,:) ,POINTER :: XCAPE=>NULL() ! CAPE (J/kg)
INTEGER,DIMENSION(:,:), POINTER :: NCLTOPCONV=>NULL() ! convective cloud top level
INTEGER,DIMENSION(:,:), POINTER :: NCLBASCONV=>NULL() ! convective cloud base level
INTEGER, DIMENSION(:,:),POINTER :: NCOUNTCONV=>NULL()
REAL, DIMENSION(:,:,:) ,POINTER :: XDTHCONV=>NULL()
REAL, DIMENSION(:,:,:) ,POINTER :: XDRVCONV=>NULL()
REAL, DIMENSION(:,:,:) ,POINTER :: XDRCCONV=>NULL()
REAL, DIMENSION(:,:,:) ,POINTER :: XDRICONV=>NULL()
REAL, DIMENSION(:,:) ,POINTER :: XPRCONV=>NULL()
REAL, DIMENSION(:,:) ,POINTER :: XPRSCONV=>NULL()
REAL, DIMENSION(:,:) ,POINTER :: XPACCONV=>NULL()
REAL, DIMENSION(:,:,:,:),POINTER :: XDSVCONV=>NULL()
REAL, DIMENSION(:,:,:) ,POINTER :: XUMFCONV=>NULL()
REAL, DIMENSION(:,:,:) ,POINTER :: XDMFCONV=>NULL()
REAL, DIMENSION(:,:,:) ,POINTER :: XMFCONV=>NULL()
REAL, DIMENSION(:,:,:) ,POINTER :: XPRLFLXCONV=>NULL()
REAL, DIMENSION(:,:,:) ,POINTER :: XPRSFLXCONV=>NULL()
REAL, DIMENSION(:,:) ,POINTER :: XCAPE=>NULL()
INTEGER,DIMENSION(:,:), POINTER :: NCLTOPCONV=>NULL()
INTEGER,DIMENSION(:,:), POINTER :: NCLBASCONV=>NULL()
REAL, DIMENSION(:,:) ,POINTER :: XIC_RATE=>NULL()
REAL, DIMENSION(:,:) ,POINTER :: XCG_RATE=>NULL()
REAL, DIMENSION(:,:) ,POINTER :: XIC_TOTAL_NUMBER=>NULL()
REAL, DIMENSION(:,:) ,POINTER :: XCG_TOTAL_NUMBER=>NULL()
REAL, DIMENSION(:,:) , POINTER :: XIC_RATE=>NULL() ! IC lightning frequency
REAL, DIMENSION(:,:) , POINTER :: XCG_RATE=>NULL() ! CG lightning frequency
REAL, DIMENSION(:,:) , POINTER :: XIC_TOTAL_NUMBER=>NULL() ! Total number of IC
REAL, DIMENSION(:,:) , POINTER :: XCG_TOTAL_NUMBER=>NULL() ! Total number of CG
CONTAINS
SUBROUTINE DEEP_CONVECTION_GOTO_MODEL(KFROM, KTO)
INTEGER, INTENT(IN) :: KFROM, KTO
!
! Save current state for allocated arrays
!DEEP_CONVECTION_MODEL(KFROM)%NCOUNTCONV=>NCOUNTCONV !Done in FIELDLIST_GOTO_MODEL
!DEEP_CONVECTION_MODEL(KFROM)%XDTHCONV=>XDTHCONV !Done in FIELDLIST_GOTO_MODEL
!DEEP_CONVECTION_MODEL(KFROM)%XDRVCONV=>XDRVCONV !Done in FIELDLIST_GOTO_MODEL
!DEEP_CONVECTION_MODEL(KFROM)%XDRCCONV=>XDRCCONV !Done in FIELDLIST_GOTO_MODEL
!DEEP_CONVECTION_MODEL(KFROM)%XDRICONV=>XDRICONV !Done in FIELDLIST_GOTO_MODEL
!DEEP_CONVECTION_MODEL(KFROM)%XPRCONV=>XPRCONV !Done in FIELDLIST_GOTO_MODEL
!DEEP_CONVECTION_MODEL(KFROM)%XPRSCONV=>XPRSCONV !Done in FIELDLIST_GOTO_MODEL
!DEEP_CONVECTION_MODEL(KFROM)%XPACCONV=>XPACCONV !Done in FIELDLIST_GOTO_MODEL
DEEP_CONVECTION_MODEL(KFROM)%XDSVCONV=>XDSVCONV
DEEP_CONVECTION_MODEL(KFROM)%XUMFCONV=>XUMFCONV
DEEP_CONVECTION_MODEL(KFROM)%XDMFCONV=>XDMFCONV
DEEP_CONVECTION_MODEL(KFROM)%XMFCONV=>XMFCONV
DEEP_CONVECTION_MODEL(KFROM)%XPRLFLXCONV=>XPRLFLXCONV
DEEP_CONVECTION_MODEL(KFROM)%XPRSFLXCONV=>XPRSFLXCONV
!DEEP_CONVECTION_MODEL(KFROM)%XCAPE=>XCAPE !Done in FIELDLIST_GOTO_MODEL
DEEP_CONVECTION_MODEL(KFROM)%NCLTOPCONV=>NCLTOPCONV
DEEP_CONVECTION_MODEL(KFROM)%NCLBASCONV=>NCLBASCONV
!DEEP_CONVECTION_MODEL(KFROM)%XIC_RATE=>XIC_RATE !Done in FIELDLIST_GOTO_MODEL
!DEEP_CONVECTION_MODEL(KFROM)%XCG_RATE=>XCG_RATE !Done in FIELDLIST_GOTO_MODEL
!DEEP_CONVECTION_MODEL(KFROM)%XIC_TOTAL_NUMBER=>XIC_TOTAL_NUMBER !Done in FIELDLIST_GOTO_MODEL
!DEEP_CONVECTION_MODEL(KFROM)%XCG_TOTAL_NUMBER=>XCG_TOTAL_NUMBER !Done in FIELDLIST_GOTO_MODEL
INTEGER, INTENT(IN) :: KFROM, KTO
!
! Current model is set to model KTO
!NCOUNTCONV=>DEEP_CONVECTION_MODEL(KTO)%NCOUNTCONV !Done in FIELDLIST_GOTO_MODEL
!XDTHCONV=>DEEP_CONVECTION_MODEL(KTO)%XDTHCONV !Done in FIELDLIST_GOTO_MODEL
!XDRVCONV=>DEEP_CONVECTION_MODEL(KTO)%XDRVCONV !Done in FIELDLIST_GOTO_MODEL
!XDRCCONV=>DEEP_CONVECTION_MODEL(KTO)%XDRCCONV !Done in FIELDLIST_GOTO_MODEL
!XDRICONV=>DEEP_CONVECTION_MODEL(KTO)%XDRICONV !Done in FIELDLIST_GOTO_MODEL
!XPRCONV=>DEEP_CONVECTION_MODEL(KTO)%XPRCONV !Done in FIELDLIST_GOTO_MODEL
!XPRSCONV=>DEEP_CONVECTION_MODEL(KTO)%XPRSCONV !Done in FIELDLIST_GOTO_MODEL
!XPACCONV=>DEEP_CONVECTION_MODEL(KTO)%XPACCONV !Done in FIELDLIST_GOTO_MODEL
XDSVCONV=>DEEP_CONVECTION_MODEL(KTO)%XDSVCONV
XUMFCONV=>DEEP_CONVECTION_MODEL(KTO)%XUMFCONV
XDMFCONV=>DEEP_CONVECTION_MODEL(KTO)%XDMFCONV
XMFCONV=>DEEP_CONVECTION_MODEL(KTO)%XMFCONV
XPRLFLXCONV=>DEEP_CONVECTION_MODEL(KTO)%XPRLFLXCONV
XPRSFLXCONV=>DEEP_CONVECTION_MODEL(KTO)%XPRSFLXCONV
!XCAPE=>DEEP_CONVECTION_MODEL(KTO)%XCAPE !Done in FIELDLIST_GOTO_MODEL
NCLTOPCONV=>DEEP_CONVECTION_MODEL(KTO)%NCLTOPCONV
NCLBASCONV=>DEEP_CONVECTION_MODEL(KTO)%NCLBASCONV
!XIC_RATE=>DEEP_CONVECTION_MODEL(KTO)%XIC_RATE !Done in FIELDLIST_GOTO_MODEL
!XCG_RATE=>DEEP_CONVECTION_MODEL(KTO)%XCG_RATE !Done in FIELDLIST_GOTO_MODEL
!XIC_TOTAL_NUMBER=>DEEP_CONVECTION_MODEL(KTO)%XIC_TOTAL_NUMBER !Done in FIELDLIST_GOTO_MODEL
!XCG_TOTAL_NUMBER=>DEEP_CONVECTION_MODEL(KTO)%XCG_TOTAL_NUMBER !Done in FIELDLIST_GOTO_MODEL
END SUBROUTINE DEEP_CONVECTION_GOTO_MODEL
END MODULE MODD_DEEP_CONVECTION_n
......@@ -167,11 +167,7 @@ INTEGER, INTENT(IN) :: KSV ! Number of Scalar Variables
INTEGER :: IRESP ! IRESP : return-code if a problem appears
! at the open of the file
! LFI routines
INTEGER :: IGRID ! IGRID : grid indicator
INTEGER :: ILENCH ! ILENCH : length of comment string
!
CHARACTER(LEN=16) :: YRECFM ! Name of the article to be written
CHARACTER(LEN=20) :: YCOMMENT ! Comment string
INTEGER :: JT,JPROC,JMASK
!
!
......@@ -1038,11 +1034,16 @@ SELECT CASE (CBUTYPE)
!
!* 3.1 storage of the masks array
!
WRITE(YRECFM,FMT="('MASK_',I4.4,'.MASK')") NBUTSHIFT
WRITE(YCOMMENT,FMT="('X_Y_MASK',I4.4)") NBUTSHIFT
ILENCH=LEN(YCOMMENT)
CALL FMWRIT(YFILEDIA,YRECFM,HLUOUT,'XY',ZWORKMASK(:,:,:,:,:,:),IGRID, &
ILENCH,YCOMMENT,IRESP)
WRITE(TZFIELD%CMNHNAME,FMT="('MASK_',I4.4,'.MASK')") NBUTSHIFT
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'MesoNH: '//TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = ''
TZFIELD%CDIR = 'XY'
WRITE(TZFIELD%CCOMMENT,FMT="('X_Y_MASK',I4.4)") NBUTSHIFT
TZFIELD%NGRID = 0
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 6
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUT,IRESP,ZWORKMASK(:,:,:,:,:,:))
WRITE(YRECFM,FMT="('MASK_',I4.4)") NBUTSHIFT
CALL MENU_DIACHRO(TPDIAFILE,HLUOUT,YRECFM)
DEALLOCATE(ZWORKMASK)
......
......@@ -473,9 +473,7 @@ IF(PRESENT(PMASK))THEN
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)
CALL IO_WRITE_FIELD(TPDIAFILE,TZFIELD,HLUOUTDIA,IRESPDIA,PMASK)
ENDIF
!
! 9eme enregistrement TRAJY
......
This diff is collapsed.
......@@ -1464,12 +1464,14 @@ END SUBROUTINE WRITE_SURFT0_MNH
!* 0. DECLARATIONS
! ------------
!
USE MODE_FIELD, ONLY: TFIELDDATA, TYPEINT, TYPEREAL
USE MODE_FM
USE MODE_FMWRIT
USE MODE_MSG
!
USE MODD_IO_SURF_MNH, ONLY : COUT, COUTFILE, NLUOUT
USE MODD_CONF_n, ONLY : CSTORAGE_TYPE
USE MODD_IO_ll, ONLY: TFILE_SURFEX
USE MODD_IO_SURF_MNH, ONLY : COUT, COUTFILE, NLUOUT
USE MODD_CONF_n, ONLY : CSTORAGE_TYPE
!
!
IMPLICIT NONE
......@@ -1488,9 +1490,9 @@ CHARACTER(LEN=100), INTENT(IN) :: HCOMMENT ! Comment string
!* 0.2 Declarations of local variables
!
!
CHARACTER(LEN=LEN_HREC) :: YRECFM ! Name of the article to be written
INTEGER, DIMENSION(3,KL1) :: ITDATE
CHARACTER(LEN=5) :: YMSG
TYPE(TFIELDDATA) :: TZFIELD
!-------------------------------------------------------------------------------
!
CALL PRINT_MSG(NVERB_DEBUG,'IO','WRITE_SURFT1_MNH','writing '//TRIM(HREC))
......@@ -1499,21 +1501,39 @@ IF( HREC=='DTCUR' .AND. CSTORAGE_TYPE/='SU' ) THEN
CALL PRINT_MSG(NVERB_DEBUG,'IO','WRITE_SURFT1_MNH',TRIM(HREC)//' not written in file by externalized surface')
RETURN
ELSE
!
YRECFM=TRIM(HREC)//'%TDATE'
!
!
ITDATE(1,:) = KYEAR (:)
ITDATE(2,:) = KMONTH (:)
ITDATE(3,:) = KDAY (:)
CALL FMWRIT(COUTFILE,YRECFM,COUT,'--',ITDATE(:,:),0,LEN(HCOMMENT),HCOMMENT,KRESP)
!
!
TZFIELD%CMNHNAME = TRIM(HREC)//'%TDATE'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'SURFEX: '//TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(HCOMMENT)
TZFIELD%NGRID = 0
TZFIELD%NTYPE = TYPEINT
TZFIELD%NDIMS = 2
!
CALL IO_WRITE_FIELD(TFILE_SURFEX,TZFIELD,COUT,KRESP,ITDATE(:,:))
!
IF (KRESP /=0) THEN
WRITE ( YMSG, '( I5 )' ) KRESP
CALL PRINT_MSG(NVERB_ERROR,'IO','WRITE_SURFT1_MNH','error when writing article '//TRIM(HREC)//' KRESP='//YMSG)
END IF
!
YRECFM=TRIM(HREC)//'%TIME'
CALL FMWRIT(COUTFILE,YRECFM,COUT,'--',PTIME(:),0,LEN(HCOMMENT),HCOMMENT,KRESP)
!
TZFIELD%CMNHNAME = TRIM(HREC)//'%TIME'
TZFIELD%CSTDNAME = ''
TZFIELD%CLONGNAME = 'SURFEX: '//TRIM(TZFIELD%CMNHNAME)
TZFIELD%CUNITS = ''
TZFIELD%CDIR = '--'
TZFIELD%CCOMMENT = TRIM(HCOMMENT)
TZFIELD%NGRID = 0
TZFIELD%NTYPE = TYPEREAL
TZFIELD%NDIMS = 1
!
CALL IO_WRITE_FIELD(TFILE_SURFEX,TZFIELD,COUT,KRESP,PTIME(:))
!
IF (KRESP /=0) THEN
WRITE ( YMSG, '( I5 )' ) KRESP
......
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