Ignore:
Timestamp:
Aug 10, 2016 2:07:17 PM (5 years ago)
Author:
gronemeier
Message:

Bugfix: check if output can be opened in newly created directory

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/check_open.f90

    r1975 r1986  
    1919! Current revisions:
    2020! -----------------
    21 !
     21! Bugfix: check if output can be opened in newly created directory. If not
     22! wait one second and try again.
    2223!
    2324! Former revisions:
     
    146147    USE pegrid
    147148
     149    USE posix_calls_from_fortran,                                              &
     150        ONLY:  fortran_sleep
     151
    148152    USE profil_parameter,                                                      &
    149153        ONLY:  cross_ts_numbers, cross_ts_number_count
     
    175179    INTEGER(iwp) ::  i           !<
    176180    INTEGER(iwp) ::  iaddres     !<
     181    INTEGER(iwp) ::  ioerr       !< IOSTAT flag for IO-commands ( 0 = no error )
    177182    INTEGER(iwp) ::  iusern      !<
    178183    INTEGER(iwp) ::  j           !<
     
    327332             CALL MPI_BARRIER( comm2d, ierr )
    328333#endif
    329              OPEN ( 14, FILE='BINOUT'//TRIM(coupling_char)//'/'//myid_char,    &
    330                         FORM='UNFORMATTED' )
     334             ioerr = 1
     335             DO WHILE ( ioerr /= 0 )
     336                OPEN ( 14, FILE='BINOUT'//TRIM(coupling_char)//'/'//myid_char, &
     337                           FORM='UNFORMATTED', IOSTAT=ioerr )
     338                IF ( ioerr /= 0 )  CALL fortran_sleep( 1 )
     339             ENDDO
     340
    331341          ENDIF
    332342
     
    370380             CALL MPI_BARRIER( comm2d, ierr )
    371381#endif
    372              OPEN ( 20, FILE='DATA_LOG'//TRIM( coupling_char )//'/'//          &
    373                         myid_char, FORM='UNFORMATTED', POSITION='APPEND' )
     382             ioerr = 1
     383             DO WHILE ( ioerr /= 0 )
     384                OPEN ( 20, FILE='DATA_LOG'//TRIM( coupling_char )//'/'//       &
     385                           myid_char, FORM='UNFORMATTED', POSITION='APPEND',   &
     386                           IOSTAT=ioerr )
     387                IF ( ioerr /= 0 )  CALL fortran_sleep( 1 )
     388             ENDDO
     389
    374390          ENDIF
    375391
     
    614630             CALL MPI_BARRIER( comm2d, ierr )
    615631#endif
    616              OPEN ( 85, FILE='PARTICLE_DATA'//TRIM( coupling_char )//'/'//     &
    617                         myid_char,                                             &
    618                         FORM='UNFORMATTED', POSITION='APPEND' )
     632             ioerr = 1
     633             DO WHILE ( ioerr /= 0 )
     634                OPEN ( 85, FILE='PARTICLE_DATA'//TRIM( coupling_char )//'/'//  &
     635                           myid_char,                                          &
     636                           FORM='UNFORMATTED', POSITION='APPEND', IOSTAT=ioerr )
     637                IF ( ioerr /= 0 )  CALL fortran_sleep( 1 )
     638             ENDDO
     639
    619640          ENDIF
    620641
Note: See TracChangeset for help on using the changeset viewer.