From f690e611c61fb4e3f2b7880fa910adf42b9f19c1 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Thu, 7 Feb 2019 14:59:09 +0100 Subject: [PATCH] Philippe 07/02/2019: IO: remove OPARALLELIO argument from open and close files subroutines (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) --- src/LIB/SURCOUCHE/src/modd_io.f90 | 2 +- src/LIB/SURCOUCHE/src/mode_fm.f90 | 41 +++------- src/LIB/SURCOUCHE/src/mode_io.f90 | 76 +++++++------------ .../SURCOUCHE/src/mode_io_manage_struct.f90 | 57 ++++++++++---- src/LIB/SURCOUCHE/src/modi_fm.f90 | 10 +-- src/LIB/SURCOUCHE/src/modi_io.f90 | 26 ++----- src/MNH/ini_size_spawn.f90 | 6 +- src/MNH/mnhclose_aux_io_surf.f90 | 13 ++-- src/MNH/mnhopen_aux_io_surf.f90 | 4 +- src/MNH/modeln.f90 | 8 +- src/MNH/open_nestpgd_files.f90 | 4 +- src/MNH/open_prc_files.f90 | 4 +- src/MNH/prep_pgd.f90 | 10 ++- src/MNH/spawning.f90 | 6 +- 14 files changed, 127 insertions(+), 140 deletions(-) diff --git a/src/LIB/SURCOUCHE/src/modd_io.f90 b/src/LIB/SURCOUCHE/src/modd_io.f90 index f21469986..d304f439d 100644 --- a/src/LIB/SURCOUCHE/src/modd_io.f90 +++ b/src/LIB/SURCOUCHE/src/modd_io.f90 @@ -95,7 +95,7 @@ TYPE TFILEDATA ! 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) - INTEGER :: NLFITYPE = -1 !Type of the file (used to generate list of files to transfers) + INTEGER :: NLFITYPE = -1 !Type of the file (used to generate list of files to transfer) INTEGER :: NLFIVERB = 1 !LFI verbosity level INTEGER(KIND=LFI_INT) :: NLFIFLU = -1 !File identifier ! diff --git a/src/LIB/SURCOUCHE/src/mode_fm.f90 b/src/LIB/SURCOUCHE/src/mode_fm.f90 index 7c51d0a53..760c8710d 100644 --- a/src/LIB/SURCOUCHE/src/mode_fm.f90 +++ b/src/LIB/SURCOUCHE/src/mode_fm.f90 @@ -15,6 +15,8 @@ ! to allow to disable writes (for bench purposes) ! P. Wautelet 06/02/2019: simplify OPEN_ll and do somme assignments at a more logical place ! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST +! P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) !----------------------------------------------------------------- MODULE MODE_FM @@ -49,7 +51,7 @@ IF ( IP .EQ. 1 ) PRINT *,'INIT L1D,L2D,LPACK = ',L1D,L2D,LPACK END SUBROUTINE SET_FMPACK_ll -SUBROUTINE IO_FILE_OPEN_ll(TPFILE,KRESP,OPARALLELIO,HPOSITION,HSTATUS,HPROGRAM_ORIG) +SUBROUTINE IO_FILE_OPEN_ll(TPFILE,KRESP,HPOSITION,HSTATUS,HPROGRAM_ORIG) ! USE MODD_CONF, ONLY: CPROGRAM USE MODD_IO_ll, ONLY: LIO_NO_WRITE, TFILEDATA @@ -59,7 +61,6 @@ USE MODE_IO_MANAGE_STRUCT, ONLY: IO_FILE_ADD2LIST,IO_FILE_FIND_BYNAME ! TYPE(TFILEDATA),POINTER,INTENT(INOUT) :: TPFILE ! File structure INTEGER, INTENT(OUT), OPTIONAL :: KRESP ! Return code -LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: HPOSITION CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: HSTATUS CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program @@ -140,13 +141,13 @@ SELECT CASE(TPFILE%CTYPE) IF(TPFILE%CTYPE/='MNHOUTPUT' .AND. CPROGRAM/='LFICDF') THEN CALL IO_FILE_ADD2LIST(TZFILE_DES,TRIM(TPFILE%CNAME)//'.des','DES',TPFILE%CMODE,TPDATAFILE=TPFILE,OOLD=.TRUE.) !OOLD=T because the file may already be in the list CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_FILE_OPEN_ll','OPEN_ll for '//TRIM(TPFILE%CNAME)//'.des') - CALL OPEN_ll(TZFILE_DES,IOSTAT=IRESP,DELIM='QUOTE',OPARALLELIO=OPARALLELIO) + CALL OPEN_ll(TZFILE_DES,IOSTAT=IRESP,DELIM='QUOTE') TZFILE_DES%LOPENED = .TRUE. TZFILE_DES%NOPEN_CURRENT = TZFILE_DES%NOPEN_CURRENT + 1 TZFILE_DES%NOPEN = TZFILE_DES%NOPEN + 1 ENDIF ! - CALL FMOPEN_ll(TPFILE,IRESP,OPARALLELIO=OPARALLELIO,HPROGRAM_ORIG=HPROGRAM_ORIG) + CALL FMOPEN_ll(TPFILE,IRESP,HPROGRAM_ORIG=HPROGRAM_ORIG) END SELECT ! @@ -154,7 +155,7 @@ IF (PRESENT(KRESP)) KRESP = IRESP ! END SUBROUTINE IO_FILE_OPEN_ll -SUBROUTINE FMOPEN_ll(TPFILE,KRESP,OPARALLELIO,HPROGRAM_ORIG) +SUBROUTINE FMOPEN_ll(TPFILE,KRESP,HPROGRAM_ORIG) USE MODD_IO_ll, ONLY: TFILEDATA USE MODE_IO_ll, ONLY: OPEN_ll,GCONFIO !JUANZ @@ -168,7 +169,6 @@ use mode_io_file_lfi, only: io_create_file_lfi, io_open_file_lfi TYPE(TFILEDATA), INTENT(INOUT) :: TPFILE ! File structure INTEGER, INTENT(OUT) :: KRESP ! return-code -LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO CHARACTER(LEN=*),INTENT(IN), OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program ! ! Local variables @@ -178,19 +178,12 @@ CHARACTER(LEN=7) :: YACTION ! Action upon the file ('READ' or 'WRITE') CHARACTER(LEN=8) :: YRESP INTEGER :: IERR INTEGER :: INB_PROCIO -LOGICAL :: GPARALLELIO LOGICAL :: GEXIST_LFI, GEXIST_NC4 YACTION = TPFILE%CMODE CALL PRINT_MSG(NVERB_DEBUG,'IO','FMOPEN_ll','opening '//TRIM(TPFILE%CNAME)//' for '//TRIM(YACTION)) -IF ( PRESENT(OPARALLELIO) ) THEN - GPARALLELIO = OPARALLELIO -ELSE !par defaut on active les IO paralleles en Z si possible - GPARALLELIO = .TRUE. -ENDIF - IF (.NOT. GCONFIO) THEN PRINT *, 'FMOPEN_ll Aborting... Please, ensure to call SET_CONFIO_ll before & &the first FMOPEN_ll call.' @@ -214,8 +207,7 @@ ENDIF INB_PROCIO = NB_PROCIO_W END SELECT -CALL OPEN_ll(TPFILE,IOSTAT=IRESP,MODE='IO_ZSPLIT', & - KNB_PROCIO=INB_PROCIO,OPARALLELIO=GPARALLELIO,HPROGRAM_ORIG=HPROGRAM_ORIG) +CALL OPEN_ll(TPFILE,IOSTAT=IRESP,MODE='IO_ZSPLIT',HPROGRAM_ORIG=HPROGRAM_ORIG) IF (IRESP /= 0) GOTO 1000 @@ -301,7 +293,7 @@ KRESP=IRESP END SUBROUTINE FMOPEN_ll -SUBROUTINE IO_FILE_CLOSE_ll(TPFILE,KRESP,OPARALLELIO,HPROGRAM_ORIG) +SUBROUTINE IO_FILE_CLOSE_ll(TPFILE,KRESP,HPROGRAM_ORIG) ! USE MODD_CONF, ONLY: CPROGRAM USE MODD_IO_ll, ONLY: TFILEDATA @@ -310,7 +302,6 @@ USE MODE_IO_MANAGE_STRUCT, ONLY: IO_FILE_FIND_BYNAME ! TYPE(TFILEDATA), INTENT(INOUT) :: TPFILE ! File structure INTEGER, INTENT(OUT), OPTIONAL :: KRESP ! Return code -LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program ! INTEGER :: IRESP, JI @@ -377,7 +368,7 @@ SELECT CASE(TPFILE%CTYPE) !OUTPUTLISTING files CASE('OUTPUTLISTING') - CALL CLOSE_ll(TPFILE,IOSTAT=IRESP,OPARALLELIO=.FALSE.) + CALL CLOSE_ll(TPFILE,IOSTAT=IRESP) ! TPFILE%NLU = -1 @@ -412,7 +403,7 @@ SELECT CASE(TPFILE%CTYPE) END IF ENDIF ! - CALL FMCLOS_ll(TPFILE,KRESP=IRESP,OPARALLELIO=OPARALLELIO,HPROGRAM_ORIG=HPROGRAM_ORIG) + CALL FMCLOS_ll(TPFILE,KRESP=IRESP,HPROGRAM_ORIG=HPROGRAM_ORIG) ! DO JI = 1,TPFILE%NSUBFILES_IOZ TZFILE_IOZ => TPFILE%TFILES_IOZ(JI)%TFILE @@ -435,7 +426,7 @@ IF (PRESENT(KRESP)) KRESP=IRESP ! END SUBROUTINE IO_FILE_CLOSE_ll -SUBROUTINE FMCLOS_ll(TPFILE,KRESP,OPARALLELIO,HPROGRAM_ORIG) +SUBROUTINE FMCLOS_ll(TPFILE,KRESP,HPROGRAM_ORIG) ! !! MODIFICATIONS !! ------------- @@ -453,7 +444,6 @@ USE MODI_SYSTEM_MNH #endif TYPE(TFILEDATA), INTENT(INOUT) :: TPFILE ! File structure INTEGER, INTENT(OUT) :: KRESP ! return-code if problems araised -LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program INTEGER :: IRESP,IROWF @@ -464,18 +454,11 @@ CHARACTER(LEN=14) :: YTRANS CHARACTER(LEN=100) :: YCOMMAND INTEGER :: IERR, IFITYP INTEGER, SAVE :: ICPT=0 -LOGICAL :: GPARALLELIO YFILEM = TPFILE%CNAME CALL PRINT_MSG(NVERB_DEBUG,'IO','FMCLOS_ll','closing '//TRIM(YFILEM)) -IF ( PRESENT(OPARALLELIO) ) THEN - GPARALLELIO = OPARALLELIO -ELSE - GPARALLELIO = .TRUE. !par defaut on active les IO paralleles en Z si possible -ENDIF - IRESP = 0 IROWF = 0 @@ -532,7 +515,7 @@ END IF 500 CALL MPI_BCAST(IRESP,1,MPI_INTEGER,TPFILE%NMASTER_RANK-1,TPFILE%NMPICOMM,IERR) IF (IRESP /= 0) GOTO 1000 -CALL CLOSE_ll(TPFILE,IOSTAT=IRESP,OPARALLELIO=GPARALLELIO) +CALL CLOSE_ll(TPFILE,IOSTAT=IRESP) 1000 CONTINUE diff --git a/src/LIB/SURCOUCHE/src/mode_io.f90 b/src/LIB/SURCOUCHE/src/mode_io.f90 index 56fa4322e..f42f0b08e 100644 --- a/src/LIB/SURCOUCHE/src/mode_io.f90 +++ b/src/LIB/SURCOUCHE/src/mode_io.f90 @@ -26,7 +26,10 @@ ! Philippe Wautelet: 21/01/2019: add LIO_ALLOW_NO_BACKUP and LIO_NO_WRITE to modd_io_ll to allow ! to disable writes (for bench purposes) ! P. Wautelet 06/02/2019: simplify OPEN_ll and do somme assignments at a more logical place +! P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) ! +!----------------------------------------------------------------- MODULE MODE_IO_ll USE MODD_MPIF @@ -148,8 +151,6 @@ CONTAINS STATUS, & POSITION,& DELIM, & - KNB_PROCIO,& - OPARALLELIO, & HPROGRAM_ORIG) USE MODD_IO_ll @@ -167,8 +168,6 @@ CONTAINS CHARACTER(len=*),INTENT(IN), OPTIONAL :: STATUS CHARACTER(len=*),INTENT(IN), OPTIONAL :: POSITION CHARACTER(len=*),INTENT(IN), OPTIONAL :: DELIM - INTEGER, INTENT(IN), OPTIONAL :: KNB_PROCIO - LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO CHARACTER(LEN=*),INTENT(IN), OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program ! ! local var @@ -184,18 +183,11 @@ CONTAINS CHARACTER(len=20) :: YMODE CHARACTER(LEN=256) :: YIOERRMSG INTEGER :: IOS,IRESP - LOGICAL :: GPARALLELIO TYPE(TFILEDATA),POINTER :: TZSPLITFILE CHARACTER(LEN=:),ALLOCATABLE :: YPREFILENAME !To store the directory + filename CHARACTER(LEN=:),ALLOCATABLE :: YFORSTATUS ! Status for open of a file (for LFI) ('OLD','NEW','UNKNOWN','SCRATCH','REPLACE') CALL PRINT_MSG(NVERB_DEBUG,'IO','OPEN_ll','opening '//TRIM(TPFILE%CNAME)//' for '//TRIM(TPFILE%CMODE)) - ! - IF ( PRESENT(OPARALLELIO) ) THEN - GPARALLELIO = OPARALLELIO - ELSE !par defaut on active les IO paralleles en Z si possible - GPARALLELIO = .TRUE. - ENDIF IOS = 0 @@ -404,12 +396,6 @@ CONTAINS TPFILE%NMASTER_RANK = ISIOP TPFILE%LMASTER = (ISP == ISIOP) TPFILE%LMULTIMASTERS = .FALSE. - TPFILE%NSUBFILES_IOZ = 0 - IF ( GPARALLELIO .AND. PRESENT(KNB_PROCIO) ) THEN - IF (KNB_PROCIO>1) THEN - TPFILE%NSUBFILES_IOZ = KNB_PROCIO - END IF - END IF #if defined(MNH_IOCDF4) IF (TPFILE%LMASTER .AND. (TPFILE%CFORMAT=='LFI' .OR. TPFILE%CFORMAT=='LFICDF4') ) THEN @@ -425,7 +411,7 @@ CONTAINS IF (.NOT.ALLOCATED(TPFILE%TFILES_IOZ)) THEN ALLOCATE(TPFILE%TFILES_IOZ(TPFILE%NSUBFILES_IOZ)) ELSE IF ( SIZE(TPFILE%TFILES_IOZ) /= TPFILE%NSUBFILES_IOZ ) THEN - CALL PRINT_MSG(NVERB_FATAL,'IO','OPEN_ll','SIZE(PFILE%TFILES_IOZ) /= TPFILE%NSUBFILES_IOZ for '//TRIM(TPFILE%CNAME)) + CALL PRINT_MSG(NVERB_FATAL,'IO','OPEN_ll','SIZE(TPFILE%TFILES_IOZ) /= TPFILE%NSUBFILES_IOZ for '//TRIM(TPFILE%CNAME)) END IF DO IFILE=1,TPFILE%NSUBFILES_IOZ IRANK_PROCIO = 1 + IO_RANK(IFILE-1,ISNPROC,TPFILE%NSUBFILES_IOZ) @@ -515,7 +501,7 @@ CONTAINS END SUBROUTINE OPEN_ll - SUBROUTINE CLOSE_ll(TPFILE,IOSTAT,OPARALLELIO,HPROGRAM_ORIG) + SUBROUTINE CLOSE_ll(TPFILE,IOSTAT,HPROGRAM_ORIG) USE MODD_IO_ll USE MODE_IO_MANAGE_STRUCT, ONLY: IO_FILE_FIND_BYNAME @@ -526,24 +512,15 @@ CONTAINS #endif TYPE(TFILEDATA), INTENT(IN) :: TPFILE INTEGER, INTENT(OUT), OPTIONAL :: IOSTAT - LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program - INTEGER :: IERR, IGLOBALERR, IGLOBALERR2, IRESP, IRESP2 - - INTEGER :: IFILE - LOGICAL :: GPARALLELIO - TYPE(TFILEDATA),POINTER :: TZFILE + character(len=256) :: yioerrmsg + INTEGER :: IERR, IGLOBALERR, IGLOBALERR2, IRESP, IRESP2 + INTEGER :: IFILE + TYPE(TFILEDATA),POINTER :: TZFILE CALL PRINT_MSG(NVERB_DEBUG,'IO','CLOSE_ll','closing '//TRIM(TPFILE%CNAME)) - IF ( PRESENT(OPARALLELIO) ) THEN - GPARALLELIO = OPARALLELIO - ELSE !par defaut on active les IO paralleles en Z si possible - GPARALLELIO = .TRUE. - ENDIF - !JUANZ - IRESP = 0 IRESP2 = 0 IGLOBALERR = 0 @@ -551,29 +528,30 @@ CONTAINS IF (TPFILE%LMASTER) THEN IF (TPFILE%NLU/=-1 .AND. TPFILE%NLU/=NNULLUNIT) THEN - CLOSE(UNIT=TPFILE%NLU, IOSTAT=IRESP,STATUS='KEEP') + CLOSE(UNIT=TPFILE%NLU, STATUS='KEEP', IOSTAT=IRESP, IOMSG=yioerrmsg) END IF END IF - ! - IF( GPARALLELIO ) THEN - DO IFILE=1,TPFILE%NSUBFILES_IOZ - TZFILE => TPFILE%TFILES_IOZ(IFILE)%TFILE + + !Warning and not error or fatal if close fails to allow continuation of execution + IF (IRESP/=0) CALL PRINT_MSG(NVERB_WARNING,'IO','CLOSE_ll','Problem when closing '//TRIM(TPFILE%CNAME)//': '//TRIM(YIOERRMSG)) + + DO IFILE=1,TPFILE%NSUBFILES_IOZ + TZFILE => TPFILE%TFILES_IOZ(IFILE)%TFILE #if defined(MNH_IOCDF4) - !Write coordinates variables in netCDF file - IF (TZFILE%CMODE == 'WRITE' .AND. (TZFILE%CFORMAT=='NETCDF4' .OR. TZFILE%CFORMAT=='LFICDF4')) THEN - CALL IO_WRITE_COORDVAR_NC4(TZFILE,HPROGRAM_ORIG=HPROGRAM_ORIG) - END IF + !Write coordinates variables in netCDF file + IF (TZFILE%CMODE == 'WRITE' .AND. (TZFILE%CFORMAT=='NETCDF4' .OR. TZFILE%CFORMAT=='LFICDF4')) THEN + CALL IO_WRITE_COORDVAR_NC4(TZFILE,HPROGRAM_ORIG=HPROGRAM_ORIG) + END IF #endif - IF (TZFILE%LMASTER) THEN - if (tzfile%cformat == 'LFI' .or. tzfile%cformat == 'LFICDF4') call io_close_file_lfi(tzfile,iresp2) + IF (TZFILE%LMASTER) THEN + if (tzfile%cformat == 'LFI' .or. tzfile%cformat == 'LFICDF4') call io_close_file_lfi(tzfile,iresp2) #if defined(MNH_IOCDF4) - if (tzfile%cformat == 'NETCDF4' .or. tzfile%cformat == 'LFICDF4') call io_close_file_nc4(tzfile,iresp2) + if (tzfile%cformat == 'NETCDF4' .or. tzfile%cformat == 'LFICDF4') call io_close_file_nc4(tzfile,iresp2) #endif - END IF - END DO - ! - CALL MPI_ALLREDUCE(IRESP2,IGLOBALERR2,1,MPI_INTEGER,MPI_BOR,TPFILE%NMPICOMM,IERR) - END IF + END IF + END DO + ! + IF (TPFILE%NSUBFILES_IOZ>0) CALL MPI_ALLREDUCE(IRESP2,IGLOBALERR2,1,MPI_INTEGER,MPI_BOR,TPFILE%NMPICOMM,IERR) ! CALL MPI_ALLREDUCE(IRESP, IGLOBALERR, 1,MPI_INTEGER,MPI_BOR,TPFILE%NMPICOMM,IERR) diff --git a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 index fc9a50c92..b9472afd3 100644 --- a/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 +++ b/src/LIB/SURCOUCHE/src/mode_io_manage_struct.f90 @@ -13,6 +13,8 @@ ! to allow to disable writes (for bench purposes) ! P. Wautelet 06/02/2019: simplify OPEN_ll and do somme assignments at a more logical place ! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST +! P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) !----------------------------------------------------------------- MODULE MODE_IO_MANAGE_STRUCT ! @@ -287,20 +289,24 @@ DO IMI = 1, NMODEL DEALLOCATE(IOUT_STEP) ! IF (IP==1) THEN - PRINT *,'-------------------------' + PRINT *,'-------------------------------' PRINT *,'Model number: ',IMI PRINT *,'Number of backups: ',IBAK_NUMB - PRINT *,'Timestep Time' - DO JOUT = 1,IBAK_NUMB - WRITE(*,'( I9,F12.3 )' ) OUT_MODEL(IMI)%TBACKUPN(JOUT)%NSTEP,OUT_MODEL(IMI)%TBACKUPN(JOUT)%XTIME - END DO - PRINT *,'-------------------------' + if ( ibak_numb > 0 ) then + PRINT *,'Timestep Time' + DO JOUT = 1,IBAK_NUMB + WRITE(*,'( I9,F12.3 )' ) OUT_MODEL(IMI)%TBACKUPN(JOUT)%NSTEP,OUT_MODEL(IMI)%TBACKUPN(JOUT)%XTIME + END DO + end if + PRINT *,'-------------------------------' PRINT *,'Model number: ',IMI PRINT *,'Number of outputs: ',IOUT_NUMB - PRINT *,'Timestep Time' - DO JOUT = 1,IOUT_NUMB - WRITE(*,'( I9,F12.3 )' ) OUT_MODEL(IMI)%TOUTPUTN(JOUT)%NSTEP,OUT_MODEL(IMI)%TOUTPUTN(JOUT)%XTIME - END DO + if ( iout_numb > 0 ) then + PRINT *,'Timestep Time' + DO JOUT = 1,IOUT_NUMB + WRITE(*,'( I9,F12.3 )' ) OUT_MODEL(IMI)%TOUTPUTN(JOUT)%NSTEP,OUT_MODEL(IMI)%TOUTPUTN(JOUT)%XTIME + END DO + end if ! IF (IOUT_NUMB>0) THEN PRINT *,'Field list:' @@ -310,7 +316,7 @@ DO IMI = 1, NMODEL END DO END IF ! - PRINT *,'-------------------------' + PRINT *,'-------------------------------' END IF ! END DO ! IMI=1,NMODEL @@ -632,10 +638,11 @@ END SUBROUTINE IO_PREPARE_BAKOUT_STRUCT SUBROUTINE IO_FILE_ADD2LIST(TPFILE,HNAME,HTYPE,HMODE, & HFORM,HACCESS,HFORMAT,HDIRNAME, & KLFINPRAR,KLFITYPE,KLFIVERB,KRECL,KMODEL, & - TPDADFILE,TPDATAFILE,OOLD) + TPDADFILE,TPDATAFILE,OOLD,OSPLIT_IOZ) ! USE MODD_BAKOUT, ONLY: LOUT_COMPRESS,LOUT_REDUCE_FLOAT_PRECISION,NOUT_COMPRESS_LEVEL USE MODD_CONF, ONLY: CPROGRAM +use modd_confz, only: nb_procio_r,nb_procio_w ! USE MODE_MODELN_HANDLER, ONLY: GET_CURRENT_MODEL_INDEX ! @@ -657,15 +664,19 @@ TYPE(TFILEDATA),POINTER,OPTIONAL,INTENT(IN) :: TPDATAFILE!Corresponding data LOGICAL, OPTIONAL,INTENT(IN) :: OOLD !FALSE if new file (should not be found) !TRUE if the file could already be in the list ! (add it only if not yet present) +logical, optional,intent(in) :: osplit_ioz !Is the file split vertically ! INTEGER :: IMI,IRESP INTEGER(KIND=LFI_INT) :: ILFINPRAR INTEGER :: ILFITYPE INTEGER :: ILFIVERB LOGICAL :: GOLD +logical :: gsplit_ioz ! CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_FILE_ADD2LIST','called for '//TRIM(HNAME)) ! +IMI = GET_CURRENT_MODEL_INDEX() +! IF (PRESENT(OOLD)) THEN GOLD = OOLD ELSE @@ -699,8 +710,6 @@ IF (IRESP==0) THEN END IF END IF ! -IMI = GET_CURRENT_MODEL_INDEX() -! IF( PRESENT(HFORM) .AND. TRIM(HTYPE)/='SURFACE_DATA') & CALL PRINT_MSG(NVERB_WARNING,'IO','IO_FILE_ADD2LIST','optional argument HFORM is not used by '//TRIM(HTYPE)//' files') IF(.NOT.PRESENT(HFORM) .AND. TRIM(HTYPE)=='SURFACE_DATA') & @@ -782,6 +791,26 @@ END IF ! TPFILE%CMODE = HMODE ! +if ( present(osplit_ioz) ) then + gsplit_ioz = osplit_ioz +else + gsplit_ioz = .false. + if ( len_trim(htype) >= 3 ) then + if ( htype(1:3) == 'MNH' ) then + ! MNH/MNHBACKUP/MNHOUTPUT + !Remark: 'MNH' is more general than MNHBACKUP and could be in fact a MNHBACKUP file + gsplit_ioz = .true. + select case (hmode) + case('READ') + tpfile%nsubfiles_ioz = nb_procio_r + case('WRITE') + tpfile%nsubfiles_ioz = nb_procio_w + end select + if (tpfile%nsubfiles_ioz == 1) tpfile%nsubfiles_ioz = 0 + end if + end if +end if +! SELECT CASE(TPFILE%CTYPE) !Chemistry input files CASE('CHEMINPUT') diff --git a/src/LIB/SURCOUCHE/src/modi_fm.f90 b/src/LIB/SURCOUCHE/src/modi_fm.f90 index ad1466bd8..c64838a04 100644 --- a/src/LIB/SURCOUCHE/src/modi_fm.f90 +++ b/src/LIB/SURCOUCHE/src/modi_fm.f90 @@ -1,10 +1,12 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! Modifications: ! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O +! P. Wautelet 07/02/2019: OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) !----------------------------------------------------------------- MODULE MODI_FM_ll @@ -15,21 +17,19 @@ SUBROUTINE SET_FMPACK_ll(O1D,O2D,OPACK) LOGICAL, INTENT(IN) :: O1D,O2D,OPACK END SUBROUTINE SET_FMPACK_ll ! -SUBROUTINE IO_FILE_OPEN_ll(TPFILE,KRESP,OPARALLELIO,HPOSITION,HSTATUS,HPROGRAM_ORIG) +SUBROUTINE IO_FILE_OPEN_ll(TPFILE,KRESP,HPOSITION,HSTATUS,HPROGRAM_ORIG) USE MODD_IO_ll, ONLY: TFILEDATA TYPE(TFILEDATA),POINTER,INTENT(INOUT) :: TPFILE ! File structure INTEGER, INTENT(OUT), OPTIONAL :: KRESP ! Return code -LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: HPOSITION CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: HSTATUS CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program END SUBROUTINE IO_FILE_OPEN_ll ! -SUBROUTINE IO_FILE_CLOSE_ll(TPFILE,KRESP,OPARALLELIO,HPROGRAM_ORIG) +SUBROUTINE IO_FILE_CLOSE_ll(TPFILE,KRESP,HPROGRAM_ORIG) USE MODD_IO_ll, ONLY: TFILEDATA TYPE(TFILEDATA), INTENT(INOUT) :: TPFILE ! File structure INTEGER, INTENT(OUT), OPTIONAL :: KRESP ! Return code -LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program END SUBROUTINE IO_FILE_CLOSE_ll ! diff --git a/src/LIB/SURCOUCHE/src/modi_io.f90 b/src/LIB/SURCOUCHE/src/modi_io.f90 index 6136b47f5..b4fee82f8 100644 --- a/src/LIB/SURCOUCHE/src/modi_io.f90 +++ b/src/LIB/SURCOUCHE/src/modi_io.f90 @@ -1,10 +1,13 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! Modifications: ! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O +! P. Wautelet 06/02/2019: simplify OPEN_ll and do somme assignments at a more logical place +! P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) !----------------------------------------------------------------- MODULE MODI_IO_ll @@ -16,18 +19,10 @@ INTERFACE SUBROUTINE OPEN_ll(& TPFILE, & MODE, & - COMM, & STATUS, & - ACCESS, & IOSTAT, & - FORM, & - RECL, & - BLANK, & POSITION,& DELIM, & - PAD, & - KNB_PROCIO,& - OPARALLELIO, & HPROGRAM_ORIG) USE MODD_IO_ll, ONLY : TFILEDATA @@ -35,26 +30,17 @@ INTERFACE TYPE(TFILEDATA), INTENT(INOUT) :: TPFILE CHARACTER(len=*),INTENT(IN), OPTIONAL :: MODE CHARACTER(len=*),INTENT(IN), OPTIONAL :: STATUS - CHARACTER(len=*),INTENT(IN), OPTIONAL :: ACCESS INTEGER, INTENT(OUT) :: IOSTAT - CHARACTER(len=*),INTENT(IN), OPTIONAL :: FORM - INTEGER, INTENT(IN), OPTIONAL :: RECL - CHARACTER(len=*),INTENT(IN), OPTIONAL :: BLANK CHARACTER(len=*),INTENT(IN), OPTIONAL :: POSITION CHARACTER(len=*),INTENT(IN), OPTIONAL :: DELIM - CHARACTER(len=*),INTENT(IN), OPTIONAL :: PAD - INTEGER, INTENT(IN), OPTIONAL :: COMM - INTEGER, INTENT(IN), OPTIONAL :: KNB_PROCIO - LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO CHARACTER(LEN=*),INTENT(IN), OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program END SUBROUTINE OPEN_ll - SUBROUTINE CLOSE_ll(TPFILE,IOSTAT,OPARALLELIO,HPROGRAM_ORIG) + SUBROUTINE CLOSE_ll(TPFILE,IOSTAT,HPROGRAM_ORIG) USE MODD_IO_ll, ONLY : TFILEDATA TYPE(TFILEDATA), INTENT(IN) :: TPFILE INTEGER, INTENT(OUT), OPTIONAL :: IOSTAT - LOGICAL, INTENT(IN), OPTIONAL :: OPARALLELIO CHARACTER(LEN=*), INTENT(IN), OPTIONAL :: HPROGRAM_ORIG !To emulate a file coming from this program END SUBROUTINE CLOSE_ll diff --git a/src/MNH/ini_size_spawn.f90 b/src/MNH/ini_size_spawn.f90 index d6881971c..e8707b14f 100644 --- a/src/MNH/ini_size_spawn.f90 +++ b/src/MNH/ini_size_spawn.f90 @@ -68,6 +68,8 @@ END MODULE MODI_INI_SIZE_SPAWN !! J.Escobar : 19/04/2016 : Pb IOZ/NETCDF , missing OPARALLELIO=.FALSE. for PGD files !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O ! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST +! P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -226,7 +228,7 @@ IF (LEN_TRIM(CDOMAIN)>0) THEN ! structures TCRRT_COMDATA%T_CHILDREN%T_SPLITB and TCRRT_PROCONF%T_CHILDREN !$20140602 add condition on npproc CALL IO_FILE_ADD2LIST(TZDOMAIN,TRIM(CDOMAIN),'PGD','READ',KLFITYPE=2,KLFIVERB=NVERB) - CALL IO_FILE_OPEN_ll(TZDOMAIN,OPARALLELIO=.FALSE.) + CALL IO_FILE_OPEN_ll(TZDOMAIN) ! CALL IO_READ_FIELD(TZDOMAIN,'DXRATIO',NDXRATIO) CALL IO_READ_FIELD(TZDOMAIN,'DYRATIO',NDYRATIO) @@ -283,7 +285,7 @@ IF (LEN_TRIM(CDOMAIN)>0) THEN !* 1.4 read grid in file CDOMAIN if available : ! CALL READ_HGRID(2,TZDOMAIN,YMY_NAME,YDAD_NAME,YSTORAGE_TYPE) - CALL IO_FILE_CLOSE_ll(TZDOMAIN,OPARALLELIO=.FALSE.) + CALL IO_FILE_CLOSE_ll(TZDOMAIN) CALL RETRIEVE1_NEST_INFO_n(1,2,NXOR,NYOR,NXSIZE,NYSIZE,NDXRATIO,NDYRATIO) DEALLOCATE(XZS,XZSMT,XXHAT,XYHAT) ! diff --git a/src/MNH/mnhclose_aux_io_surf.f90 b/src/MNH/mnhclose_aux_io_surf.f90 index 79d262791..6a1b88477 100644 --- a/src/MNH/mnhclose_aux_io_surf.f90 +++ b/src/MNH/mnhclose_aux_io_surf.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 2003-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2003-2019 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ######################### @@ -49,11 +49,8 @@ END MODULE MODI_MNHCLOSE_AUX_IO_SURF !! ------------- !! Original 09/2003 !! J.Escobar : 19/04/2016 : Pb IOZ/NETCDF , missing OPARALLELIO=.FALSE. for PGD files -!--------------- special set of characters for RCS information -!----------------------------------------------------------------- -! $Source$ $Revision$ -! MASDEV4_7 surfex 2006/05/23 15:47:28 -!----------------------------------------------------------------- +! P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -82,7 +79,7 @@ INTEGER :: IRESP ! return-code if a problem appears !------------------------------------------------------------------------------- ! IF (CACTION=='OPEN ') THEN - CALL IO_FILE_CLOSE_ll(TPINFILE,OPARALLELIO=.FALSE.) + CALL IO_FILE_CLOSE_ll(TPINFILE) CACTION=' ' END IF ! diff --git a/src/MNH/mnhopen_aux_io_surf.f90 b/src/MNH/mnhopen_aux_io_surf.f90 index bd94f0332..0bf06bb0f 100644 --- a/src/MNH/mnhopen_aux_io_surf.f90 +++ b/src/MNH/mnhopen_aux_io_surf.f90 @@ -53,6 +53,8 @@ END MODULE MODI_MNHOPEN_AUX_IO_SURF !! J.Escobar : 02/06/2016 : abort MNHOPEN with STOP if problem with OPEN of INPUT/READ file !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O ! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST +! P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -139,7 +141,7 @@ END IF ! IF (HFILE/=YFILE .AND. HFILE/=YPGDFILE) THEN CALL IO_FILE_ADD2LIST(TPINFILE,TRIM(HFILE),'PGD','READ',KLFITYPE=2,KLFIVERB=5,OOLD=.TRUE.) - CALL IO_FILE_OPEN_ll(TPINFILE,KRESP=IRESP,OPARALLELIO=.FALSE.) + CALL IO_FILE_OPEN_ll(TPINFILE,KRESP=IRESP) ! IF (IRESP .NE. 0) THEN PRINT*," /!\ MNHOPEN_AUX_IO_SURF :: FATAL PROBLEM OPENING INPUT/READ FILES =", HFILE diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90 index 84354e1f3..bece43011 100644 --- a/src/MNH/modeln.f90 +++ b/src/MNH/modeln.f90 @@ -1,6 +1,6 @@ -!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 1994-2019 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ################### @@ -253,6 +253,8 @@ END MODULE MODI_MODEL_n !! 01/2018 (C.Lac) Add VISCOSITY !! Philippe Wautelet: 21/01/2019: add LIO_ALLOW_NO_BACKUP and LIO_NO_WRITE to modd_io_ll ! to allow to disable writes (for bench purposes) +! P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) !!------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -2111,7 +2113,7 @@ IF (OEXIT) THEN END IF ! CALL IO_FILE_CLOSE_ll(TINIFILE) - IF (CSURF=="EXTE") CALL IO_FILE_CLOSE_ll(TINIFILEPGD,OPARALLELIO=.FALSE.) + IF (CSURF=="EXTE") CALL IO_FILE_CLOSE_ll(TINIFILEPGD) ! !* 28.1 print statistics! ! diff --git a/src/MNH/open_nestpgd_files.f90 b/src/MNH/open_nestpgd_files.f90 index de2efc608..2274e9174 100644 --- a/src/MNH/open_nestpgd_files.f90 +++ b/src/MNH/open_nestpgd_files.f90 @@ -68,6 +68,8 @@ END MODULE MODI_OPEN_NESTPGD_FILES !! P.Wautelet : 08/07/2016 : removed MNH_NCWRIT define !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O ! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST +! P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -325,7 +327,7 @@ CALL IO_FILE_CLOSE_ll(TZPRE_NEST_PGD) !Remark: output PGD files are opened later when the mesh dimensions are known ! DO JPGD=1,NMODEL - CALL IO_FILE_OPEN_ll(TPFILEPGD(JPGD) %TZFILE,OPARALLELIO=.FALSE.) + CALL IO_FILE_OPEN_ll(TPFILEPGD(JPGD)%TZFILE) END DO ! !------------------------------------------------------------------------------- diff --git a/src/MNH/open_prc_files.f90 b/src/MNH/open_prc_files.f90 index b3cb79f98..a5114c836 100644 --- a/src/MNH/open_prc_files.f90 +++ b/src/MNH/open_prc_files.f90 @@ -92,6 +92,8 @@ END MODULE MODI_OPEN_PRC_FILES !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O !! P. Wautelet 01/02/2019 added missing initialization to NULL for files with OUT intent ! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST +! P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -271,7 +273,7 @@ ELSE ! TPPGDFILE => NULL() CALL IO_FILE_ADD2LIST(TPPGDFILE,TRIM(HPGDFILE),'PGD','READ',KLFITYPE=2,KLFIVERB=NVERB) - CALL IO_FILE_OPEN_ll(TPPGDFILE,IRESP,OPARALLELIO=.FALSE.) + CALL IO_FILE_OPEN_ll(TPPGDFILE,IRESP) IF (IRESP/=0) THEN !callabortstop CALL PRINT_MSG(NVERB_FATAL,'GEN','OPEN_PRC_FILES',' problem during opening of PGD file '//TRIM(HPGDFILE)) diff --git a/src/MNH/prep_pgd.f90 b/src/MNH/prep_pgd.f90 index a58862491..8617ff5c1 100644 --- a/src/MNH/prep_pgd.f90 +++ b/src/MNH/prep_pgd.f90 @@ -74,7 +74,9 @@ !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O !! Q. Rodier 01/2019 : add a new filtering for very high slopes in NAM_ZSFILTER ! P. Wautelet 07/02/2019: force TYPE to a known value for IO_FILE_ADD2LIST -!! +! P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) +! !---------------------------------------------------------------------------- ! !* 0. DECLARATION @@ -247,7 +249,7 @@ CALL PGD_SURF_ATM(YSURF_CUR,'MESONH',' ',' ',.FA ! CALL IO_FILE_ADD2LIST(TZFILE,CPGDFILE,'PGD','WRITE',KLFINPRAR=INT(1,KIND=LFI_INT),KLFITYPE=1,KLFIVERB=5) ! -CALL IO_FILE_OPEN_ll(TZFILE,OPARALLELIO=.FALSE.) +CALL IO_FILE_OPEN_ll(TZFILE) ! CALL IO_WRITE_HEADER(TZFILE) ! @@ -325,13 +327,13 @@ WRITE(ILUOUT0,*) '***************************' !* 6. Close parallelized I/O ! ---------------------- ! -CALL IO_FILE_CLOSE_ll(TZFILE,OPARALLELIO=.FALSE.) +CALL IO_FILE_CLOSE_ll(TZFILE) ! CALL SURFEX_DEALLO_LIST ! IF(NIO_VERB>=NVERB_DEBUG) CALL IO_FILE_PRINT_LIST() ! -CALL IO_FILE_CLOSE_ll(TLUOUT0,OPARALLELIO=.FALSE.) +CALL IO_FILE_CLOSE_ll(TLUOUT0) ! CALL END_PARA_ll(IINFO_ll) ! diff --git a/src/MNH/spawning.f90 b/src/MNH/spawning.f90 index 7ab352665..54c6103b6 100644 --- a/src/MNH/spawning.f90 +++ b/src/MNH/spawning.f90 @@ -1,6 +1,6 @@ !MNH_LIC Copyright 1995-2018 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence -!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt +!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. !----------------------------------------------------------------- ! ################ @@ -74,6 +74,8 @@ !! J.Escobar : 19/04/2016 : Pb IOZ/NETCDF , missing OPARALLELIO=.FALSE. for PGD files !! 06/2016 (G.Delautier) phasage surfex 8 !! Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O +! P. Wautelet 07/02/2019: remove OPARALLELIO argument from open and close files subroutines +! (nsubfiles_ioz is now determined in IO_FILE_ADD2LIST) !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -205,7 +207,7 @@ CALL INIT_MNH ! CALL IO_FILE_FIND_BYNAME(TRIM(CINIFILE),TZINIFILE,IRESP) CALL IO_FILE_CLOSE_ll(TZINIFILE) -CALL IO_FILE_CLOSE_ll(TINIFILEPGD,OPARALLELIO=.FALSE.) +CALL IO_FILE_CLOSE_ll(TINIFILEPGD) !------------------------------------------------------------------------------- ! !* 4. INITIALIZATION OF OUTER POINTS OF MODEL 1 -- GitLab