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

Philippe 24/11/2017: IO: removed MODE field of FD_ll

parent b2c337c7
No related branches found
No related tags found
No related merge requests found
...@@ -24,7 +24,6 @@ INTEGER, PARAMETER :: JPFINL = 32 ! File name length ...@@ -24,7 +24,6 @@ INTEGER, PARAMETER :: JPFINL = 32 ! File name length
TYPE FD_ll TYPE FD_ll
CHARACTER(LEN=JPFINL) :: NAME ! File name CHARACTER(LEN=JPFINL) :: NAME ! File name
INTEGER :: FLU ! Fortran logical unit INTEGER :: FLU ! Fortran logical unit
CHARACTER(LEN=15) :: MODE ! Flag mode acces ('distrib','global','specific')
TYPE(FD_ll), POINTER :: NEXT TYPE(FD_ll), POINTER :: NEXT
END TYPE FD_ll END TYPE FD_ll
......
...@@ -73,7 +73,6 @@ IF (GSMONOPROC) THEN ! sequential execution ...@@ -73,7 +73,6 @@ IF (GSMONOPROC) THEN ! sequential execution
!! Add a new FD element !! Add a new FD element
TZFD=>NEWFD() TZFD=>NEWFD()
TZFD%NAME = HFILEM TZFD%NAME = HFILEM
TZFD%MODE = 'GLOBAL'
TZFD%FLU = IONEWFLU() TZFD%FLU = IONEWFLU()
! !
KNUMBR = TZFD%FLU KNUMBR = TZFD%FLU
......
...@@ -357,7 +357,6 @@ CONTAINS ...@@ -357,7 +357,6 @@ CONTAINS
TZFD%NAME = TPFILE%CNAME TZFD%NAME = TPFILE%CNAME
TZFD%MODE = YMODE
#if defined(MNH_SX5) || defined(MNH_SP4) || defined(NAGf95) || defined(MNH_LINUX) #if defined(MNH_SX5) || defined(MNH_SP4) || defined(NAGf95) || defined(MNH_LINUX)
!JUAN !JUAN
...@@ -671,7 +670,6 @@ CONTAINS ...@@ -671,7 +670,6 @@ CONTAINS
YFILE_IOZ = TRIM(TPFILE%CNAME)//CFILE//".lfi" YFILE_IOZ = TRIM(TPFILE%CNAME)//CFILE//".lfi"
TZFD_IOZ =>NEWFD() TZFD_IOZ =>NEWFD()
TZFD_IOZ%NAME = YFILE_IOZ TZFD_IOZ%NAME = YFILE_IOZ
TZFD_IOZ%MODE = 'IO_ZSPLIT'
TZFD_IOZ%FLU = -1 TZFD_IOZ%FLU = -1
CALL IO_FILE_FIND_BYNAME(TRIM(TPFILE%CNAME)//TRIM(CFILE),TZSPLITFILE,IRESP,OOLD=.FALSE.) CALL IO_FILE_FIND_BYNAME(TRIM(TPFILE%CNAME)//TRIM(CFILE),TZSPLITFILE,IRESP,OOLD=.FALSE.)
...@@ -841,7 +839,7 @@ CONTAINS ...@@ -841,7 +839,7 @@ CONTAINS
TYPE(FD_ll), POINTER :: TZFD TYPE(FD_ll), POINTER :: TZFD
INTEGER :: IERR, IGLOBALERR, IRESP INTEGER :: IERR, IGLOBALERR, IGLOBALERR2, IRESP, IRESP2
CHARACTER(LEN=100) :: STATUSL CHARACTER(LEN=100) :: STATUSL
INTEGER :: IFILE INTEGER :: IFILE
...@@ -875,46 +873,50 @@ CONTAINS ...@@ -875,46 +873,50 @@ CONTAINS
RETURN RETURN
END IF END IF
IRESP = 0 IRESP = 0
IGLOBALERR = 0 IRESP2 = 0
IGLOBALERR = 0
IGLOBALERR2 = 0
IF (PRESENT(STATUS)) THEN IF (PRESENT(STATUS)) THEN
STATUSL = STATUS STATUSL = STATUS
ELSE ELSE
STATUSL = "KEEP" STATUSL = "KEEP"
ENDIF ENDIF
SELECT CASE(TZFD%MODE) IF (TPFILE%LMASTER) THEN
CASE('GLOBAL','SPECIFIC') IF (TPFILE%NLU>0 .AND. TPFILE%NLU/=JPFNULL) THEN
IF (TPFILE%LMASTER) THEN CLOSE(UNIT=TPFILE%NLU, IOSTAT=IRESP,STATUS=STATUSL)
CLOSE(UNIT=TPFILE%NLU, IOSTAT=IRESP,STATUS=STATUSL) CALL IOFREEFLU(TPFILE%NLU)
CALL IOFREEFLU(TPFILE%NLU) END IF
END IF END IF
CALL MPI_ALLREDUCE(IRESP,IGLOBALERR,1,MPI_INTEGER,MPI_BOR,TPFILE%NMPICOMM,IERR) !
CASE('DISTRIBUTED') IF( GPARALLELIO ) THEN
! nothing to close with FM-Files DO IFILE=1,TPFILE%NSUBFILES_IOZ
TZFILE => TPFILE%TFILES_IOZ(IFILE)%TFILE
CASE('IO_ZSPLIT') IF (TPFILE%LMASTER) THEN
! IF (TZFILE%NLFIFLU > 0) THEN !if LFI
! close LFI file in the different PROC CALL LFIFER(IRESP8,TZFILE%NLFIFLU,YSTATU)
! CALL IOFREEFLU(INT(TPFILE%NLFIFLU))
IF( GPARALLELIO ) THEN IRESP2 = IRESP8
DO IFILE=1,TPFILE%NSUBFILES_IOZ END IF
TZFILE => TPFILE%TFILES_IOZ(IFILE)%TFILE IF (ASSOCIATED(TZFILE%TNCDIMS)) CALL CLEANIOCDF(TZFILE%TNCDIMS)
IF (TPFILE%LMASTER) THEN END IF
IF (TZFILE%NLFIFLU > 0) THEN !if LFI END DO
CALL LFIFER(IRESP8,TZFILE%NLFIFLU,YSTATU) !
CALL IOFREEFLU(INT(TPFILE%NLFIFLU)) CALL MPI_ALLREDUCE(IRESP2,IGLOBALERR2,1,MPI_INTEGER,MPI_BOR,TPFILE%NMPICOMM,IERR)
IRESP = IRESP8 END IF
END IF !
IF (ASSOCIATED(TZFILE%TNCDIMS)) CALL CLEANIOCDF(TZFILE%TNCDIMS) CALL MPI_ALLREDUCE(IRESP, IGLOBALERR, 1,MPI_INTEGER,MPI_BOR,TPFILE%NMPICOMM,IERR)
END IF
END DO
END IF
END SELECT
CALL DELFD(TZFD) CALL DELFD(TZFD)
IF (PRESENT(IOSTAT)) IOSTAT = IGLOBALERR IF (PRESENT(IOSTAT)) THEN
IF (IGLOBALERR/=0) THEN
IOSTAT = IGLOBALERR
ELSE
IOSTAT = IGLOBALERR2
END IF
END IF
END SUBROUTINE CLOSE_ll END SUBROUTINE CLOSE_ll
......
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