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

Philippe 11/04/2017: IO:

* removed CDADFILENAME field from TOUTBAK structure
* added TDADFILE field to TFILEDATA structure
parent 4e926578
No related branches found
No related tags found
No related merge requests found
...@@ -59,7 +59,6 @@ TYPE TOUTBAK ...@@ -59,7 +59,6 @@ TYPE TOUTBAK
INTEGER :: NSTEP !Timestep number INTEGER :: NSTEP !Timestep number
REAL :: XTIME !Time from start of the segment (in seconds and rounded to a timestep) REAL :: XTIME !Time from start of the segment (in seconds and rounded to a timestep)
INTEGER :: NOUTDAD = -1 !Index of the corresponding dad file (file with same time) INTEGER :: NOUTDAD = -1 !Index of the corresponding dad file (file with same time)
CHARACTER(LEN=28) :: CDADFILENAME !Filename of dad
TYPE(TFILEDATA),POINTER :: TFILE => NULL() !Corresponding file TYPE(TFILEDATA),POINTER :: TFILE => NULL() !Corresponding file
TYPE(TFILE_ELT),DIMENSION(:),ALLOCATABLE :: TFILE_IOZ !Corresponding Z-splitted files TYPE(TFILE_ELT),DIMENSION(:),ALLOCATABLE :: TFILE_IOZ !Corresponding Z-splitted files
INTEGER,DIMENSION(:),POINTER :: NFIELDLIST => NULL() !List of the fields to read or write INTEGER,DIMENSION(:),POINTER :: NFIELDLIST => NULL() !List of the fields to read or write
...@@ -88,6 +87,7 @@ TYPE TFILEDATA ...@@ -88,6 +87,7 @@ TYPE TFILEDATA
LOGICAL :: LNCCOMPRESS = .FALSE. ! Do compression on fields LOGICAL :: LNCCOMPRESS = .FALSE. ! Do compression on fields
INTEGER(KIND=IDCDF_KIND) :: NNCCOMPRESS_LEVEL = 0 ! Compression level INTEGER(KIND=IDCDF_KIND) :: NNCCOMPRESS_LEVEL = 0 ! Compression level
! !
TYPE(TFILEDATA),POINTER :: TDADFILE => NULL() !Corresponding dad file
TYPE(TFILEDATA),POINTER :: TFILE_PREV => NULL() TYPE(TFILEDATA),POINTER :: TFILE_PREV => NULL()
TYPE(TFILEDATA),POINTER :: TFILE_NEXT => NULL() TYPE(TFILEDATA),POINTER :: TFILE_NEXT => NULL()
END TYPE TFILEDATA END TYPE TFILEDATA
......
...@@ -178,11 +178,11 @@ DO IMI = 1, NMODEL ...@@ -178,11 +178,11 @@ DO IMI = 1, NMODEL
IF (NDAD(IMI) == IMI .OR. IMI == 1) THEN IF (NDAD(IMI) == IMI .OR. IMI == 1) THEN
OUT_MODEL(IMI)%TBACKUPN(:)%NOUTDAD = 0 OUT_MODEL(IMI)%TBACKUPN(:)%NOUTDAD = 0
DO IPOS = 1,OUT_MODEL(IMI)%NBAK_NUMB DO IPOS = 1,OUT_MODEL(IMI)%NBAK_NUMB
OUT_MODEL(IMI)%TBACKUPN(IPOS)%CDADFILENAME = OUT_MODEL(IMI)%TBACKUPN(IPOS)%TFILE%CNAME OUT_MODEL(IMI)%TBACKUPN(IPOS)%TFILE%TDADFILE => OUT_MODEL(IMI)%TBACKUPN(IPOS)%TFILE !Points to itself
END DO END DO
OUT_MODEL(IMI)%TOUTPUTN(:)%NOUTDAD = 0 OUT_MODEL(IMI)%TOUTPUTN(:)%NOUTDAD = 0
DO IPOS = 1,OUT_MODEL(IMI)%NOUT_NUMB DO IPOS = 1,OUT_MODEL(IMI)%NOUT_NUMB
OUT_MODEL(IMI)%TOUTPUTN(IPOS)%CDADFILENAME = OUT_MODEL(IMI)%TOUTPUTN(IPOS)%TFILE%CNAME OUT_MODEL(IMI)%TOUTPUTN(IPOS)%TFILE%TDADFILE => OUT_MODEL(IMI)%TOUTPUTN(IPOS)%TFILE !Points to itself
END DO END DO
ELSE ELSE
DO IPOS = 1,OUT_MODEL(IMI)%NBAK_NUMB DO IPOS = 1,OUT_MODEL(IMI)%NBAK_NUMB
...@@ -197,10 +197,10 @@ DO IMI = 1, NMODEL ...@@ -197,10 +197,10 @@ DO IMI = 1, NMODEL
IF (IDX>0) THEN IF (IDX>0) THEN
OUT_MODEL(IMI)%TBACKUPN(IPOS)%NOUTDAD = IDX OUT_MODEL(IMI)%TBACKUPN(IPOS)%NOUTDAD = IDX
WRITE (YDADNUMBER,FMT="('.',I3.3)") OUT_MODEL(IMI)%TBACKUPN(IPOS)%NOUTDAD WRITE (YDADNUMBER,FMT="('.',I3.3)") OUT_MODEL(IMI)%TBACKUPN(IPOS)%NOUTDAD
OUT_MODEL(IMI)%TBACKUPN(IPOS)%CDADFILENAME = ADJUSTL(ADJUSTR(CDAD_NAME(IMI))//YDADNUMBER) OUT_MODEL(IMI)%TBACKUPN(IPOS)%TFILE%TDADFILE => OUT_MODEL(NDAD(IMI))%TBACKUPN(IDX)%TFILE
ELSE ELSE
OUT_MODEL(IMI)%TBACKUPN(IPOS)%NOUTDAD = -1 OUT_MODEL(IMI)%TBACKUPN(IPOS)%NOUTDAD = -1
WRITE ( OUT_MODEL(IMI)%TBACKUPN(IPOS)%CDADFILENAME , FMT="('NO_DAD_FILE')" ) NULLIFY(OUT_MODEL(IMI)%TBACKUPN(IPOS)%TFILE%TDADFILE) !No dad file
END IF END IF
END DO END DO
DO IPOS = 1,OUT_MODEL(IMI)%NOUT_NUMB DO IPOS = 1,OUT_MODEL(IMI)%NOUT_NUMB
...@@ -215,10 +215,10 @@ DO IMI = 1, NMODEL ...@@ -215,10 +215,10 @@ DO IMI = 1, NMODEL
IF (IDX>0) THEN IF (IDX>0) THEN
OUT_MODEL(IMI)%TOUTPUTN(IPOS)%NOUTDAD = IDX OUT_MODEL(IMI)%TOUTPUTN(IPOS)%NOUTDAD = IDX
WRITE (YDADNUMBER,FMT="('.',I3.3)") OUT_MODEL(IMI)%TOUTPUTN(IPOS)%NOUTDAD WRITE (YDADNUMBER,FMT="('.',I3.3)") OUT_MODEL(IMI)%TOUTPUTN(IPOS)%NOUTDAD
OUT_MODEL(IMI)%TOUTPUTN(IPOS)%CDADFILENAME = ADJUSTL(ADJUSTR(CDAD_NAME(IMI))//YDADNUMBER) OUT_MODEL(IMI)%TOUTPUTN(IPOS)%TFILE%TDADFILE => OUT_MODEL(NDAD(IMI))%TBACKUPN(IDX)%TFILE
ELSE ELSE
OUT_MODEL(IMI)%TOUTPUTN(IPOS)%NOUTDAD = -1 OUT_MODEL(IMI)%TOUTPUTN(IPOS)%NOUTDAD = -1
WRITE ( OUT_MODEL(IMI)%TOUTPUTN(IPOS)%CDADFILENAME , FMT="('NO_DAD_FILE')" ) NULLIFY(OUT_MODEL(IMI)%TOUTPUTN(IPOS)%TFILE%TDADFILE) !No dad file
END IF END IF
END DO END DO
END IF END IF
......
...@@ -1551,6 +1551,7 @@ IF (KMI == 1) THEN ...@@ -1551,6 +1551,7 @@ IF (KMI == 1) THEN
LUNIT_MODEL(IMI)%TDIAFILE%CMODE = 'WRITE' LUNIT_MODEL(IMI)%TDIAFILE%CMODE = 'WRITE'
LUNIT_MODEL(IMI)%TDIAFILE%NLFITYPE = 1 LUNIT_MODEL(IMI)%TDIAFILE%NLFITYPE = 1
LUNIT_MODEL(IMI)%TDIAFILE%NLFIVERB = NVERB LUNIT_MODEL(IMI)%TDIAFILE%NLFIVERB = NVERB
LUNIT_MODEL(IMI)%TDIAFILE%TDADFILE => LUNIT_MODEL(NDAD(IMI))%TDIAFILE
END DO END DO
! !
IF (CPROGRAM=='MESONH') THEN IF (CPROGRAM=='MESONH') THEN
......
...@@ -420,7 +420,6 @@ INTEGER :: ILUOUT ! Logical unit number for the output listing ...@@ -420,7 +420,6 @@ INTEGER :: ILUOUT ! Logical unit number for the output listing
INTEGER :: IIU,IJU,IKU ! array size in first, second and third dimensions INTEGER :: IIU,IJU,IKU ! array size in first, second and third dimensions
INTEGER :: IIB,IIE,IJB,IJE,IKB,IKE ! index values for the physical subdomain INTEGER :: IIB,IIE,IJB,IJE,IKB,IKE ! index values for the physical subdomain
INTEGER :: JSV,JRR ! Loop index for scalar and moist variables INTEGER :: JSV,JRR ! Loop index for scalar and moist variables
CHARACTER (LEN=28) :: YDADFILE ! name of the corresponding DAD model OUTPUT FM-file
INTEGER :: INBVAR ! number of HALO2_lls to allocate INTEGER :: INBVAR ! number of HALO2_lls to allocate
INTEGER :: IRESP ! return code in FM routines INTEGER :: IRESP ! return code in FM routines
INTEGER :: IINFO_ll ! return code of parallel routine INTEGER :: IINFO_ll ! return code of parallel routine
...@@ -908,14 +907,13 @@ IF (IBAK < NBAK_NUMB ) THEN ...@@ -908,14 +907,13 @@ IF (IBAK < NBAK_NUMB ) THEN
GCLOSE_OUT=.TRUE. GCLOSE_OUT=.TRUE.
! !
TZBAKFILE => TBACKUPN(IBAK)%TFILE TZBAKFILE => TBACKUPN(IBAK)%TFILE
YDADFILE = TBACKUPN(IBAK)%CDADFILENAME
IVERB = TZBAKFILE%NLFIVERB IVERB = TZBAKFILE%NLFIVERB
! !
CALL IO_FILE_OPEN_ll(TZBAKFILE,CLUOUT,IRESP) CALL IO_FILE_OPEN_ll(TZBAKFILE,CLUOUT,IRESP)
! !
CALL WRITE_DESFM_n(IMI,TRIM(TZBAKFILE%CNAME)//'.des',CLUOUT) CALL WRITE_DESFM_n(IMI,TRIM(TZBAKFILE%CNAME)//'.des',CLUOUT)
CALL IO_WRITE_HEADER_NC4(TBACKUPN(IBAK)%TFILE,CLUOUT) CALL IO_WRITE_HEADER_NC4(TBACKUPN(IBAK)%TFILE,CLUOUT)
CALL WRITE_LFIFM_n(TBACKUPN(IBAK)%TFILE,YDADFILE) CALL WRITE_LFIFM_n(TBACKUPN(IBAK)%TFILE,TBACKUPN(IBAK)%TFILE%TDADFILE%CNAME)
COUTFMFILE = TZBAKFILE%CNAME COUTFMFILE = TZBAKFILE%CNAME
CALL MNHWRITE_ZS_DUMMY_n(TZBAKFILE) CALL MNHWRITE_ZS_DUMMY_n(TZBAKFILE)
IF (CSURF=='EXTE') THEN IF (CSURF=='EXTE') THEN
......
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