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

Philippe 05/04/2018: IO: add NMODEL field to TFILEDATA type

needed to manage correctly domain number when writing dimension variables
parent d7224401
Branches
Tags
No related merge requests found
......@@ -85,6 +85,8 @@ TYPE TFILEDATA
!the 2 sub-files are abcd.Z001 and abcd.Z002
TYPE(TFILE_ELT),DIMENSION(:),ALLOCATABLE :: TFILES_IOZ !Corresponding Z-splitted files
!
INTEGER :: NMODEL = 0 !Model number corresponding to the file (field not always set)
!
! Fields for LFI files
INTEGER(KIND=LFI_INT) :: NLFININAR = 0 !Number of articles of the LFI file (only accurate if file opened in read mode)
INTEGER(KIND=LFI_INT) :: NLFINPRAR = 0 !Number of predicted articles of the LFI file (non crucial)
......
......@@ -573,8 +573,9 @@ END SUBROUTINE POPULATE_STRUCT
!
END SUBROUTINE IO_PREPARE_BAKOUT_STRUCT
!
SUBROUTINE IO_FILE_ADD2LIST(TPFILE,HNAME,HTYPE,HMODE, &
HFORM,HACCESS,HFORMAT,KLFINPRAR,KLFITYPE,KLFIVERB,KRECL,TPDADFILE,TPDATAFILE,OOLD)
SUBROUTINE IO_FILE_ADD2LIST(TPFILE,HNAME,HTYPE,HMODE, &
HFORM,HACCESS,HFORMAT,KLFINPRAR,KLFITYPE,KLFIVERB,KRECL, &
KMODEL,TPDADFILE,TPDATAFILE,OOLD)
!
USE MODD_BAKOUT, ONLY: LOUT_COMPRESS,LOUT_REDUCE_FLOAT_PRECISION,NOUT_COMPRESS_LEVEL
USE MODD_CONF, ONLY: CPROGRAM
......@@ -592,6 +593,7 @@ INTEGER(KIND=LFI_INT), OPTIONAL,INTENT(IN) :: KLFINPRAR !Number of predicted
INTEGER, OPTIONAL,INTENT(IN) :: KLFITYPE !Type of the file (used to generate list of files to transfers)
INTEGER, OPTIONAL,INTENT(IN) :: KLFIVERB !LFI verbosity level
INTEGER, OPTIONAL,INTENT(IN) :: KRECL !Record length
INTEGER, OPTIONAL,INTENT(IN) :: KMODEL !Model number
TYPE(TFILEDATA),POINTER,OPTIONAL,INTENT(IN) :: TPDADFILE !Corresponding dad file
TYPE(TFILEDATA),POINTER,OPTIONAL,INTENT(IN) :: TPDATAFILE!Corresponding data file (used only for DES files)
LOGICAL, OPTIONAL,INTENT(IN) :: OOLD !FALSE if new file (should not be found)
......@@ -836,6 +838,8 @@ SELECT CASE(TPFILE%CTYPE)
END IF
END SELECT
!
IF(PRESENT(KMODEL)) TPFILE%NMODEL = KMODEL
!
TPFILE%LOPENED = .FALSE.
TPFILE%NOPEN = 0
TPFILE%NCLOSE = 0
......
......@@ -310,11 +310,11 @@ DO JPGD=1,NMODEL
IF (NDAD(JPGD)>=1) THEN
TZDADFILE => TPFILENESTPGD(NDAD(JPGD))%TZFILE
CALL IO_FILE_ADD2LIST(TPFILENESTPGD(JPGD)%TZFILE,TRIM(YPGD(JPGD))//'.nest'//ADJUSTL(YNEST),'PREPNESTPGD', &
'WRITE',KLFITYPE=1,KLFIVERB=NVERB,TPDADFILE=TZDADFILE)
'WRITE',KLFITYPE=1,KLFIVERB=NVERB,KMODEL=JPGD,TPDADFILE=TZDADFILE)
ELSE
NULLIFY(TZDADFILE)
CALL IO_FILE_ADD2LIST(TPFILENESTPGD(JPGD)%TZFILE,TRIM(YPGD(JPGD))//'.nest'//ADJUSTL(YNEST),'PREPNESTPGD', &
'WRITE',KLFITYPE=1,KLFIVERB=NVERB)
'WRITE',KLFITYPE=1,KLFIVERB=NVERB,KMODEL=JPGD)
END IF
END DO
!
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment