234 character(len=*),
intent(inout) :: filename
235 character(len=2),
intent(in) :: qual
236 integer,
intent(in) :: iufind
237 integer,
intent(inout) :: iunit
238 integer,
intent(out) :: iostat
278 character(len=7) :: cstat
279 character(len=11) :: cform
289 if(iufind==1) iunit = -1
293 if(iufind/=0 .and. iufind/=1)
then 294 if(i_print >0)
write(i_out,*) &
295 'Z_FILEIO: Incorrect value for IUFIND:',iufind
300 if (
parll .and. iunit <= 0 )
then 301 ilpos = index( filename,
' ' )-1
302 write(filename(ilpos+1:ilpos+4),33)
inode 308 if(i_print>=1)
write(i_out,*)
'Z_FILEIO/A:',trim(filename),
' ', &
311 if (index(
'ORSUD',qual(1:1)) ==0 .or. &
312 index(
'FUB',qual(2:2)) ==0)
then 313 if(i_print > 0)
write(i_out,*)
'Incorrect file qualifier' 316 if(qual(1:1) ==
'O') cstat =
'old' 317 if(qual(1:1) ==
'R') cstat =
'replace' 318 if(qual(1:1) ==
'S') cstat =
'scratch' 319 if(qual(1:1) ==
'U') cstat =
'unknown' 320 if(qual(1:1) ==
'D') cstat =
'delete' 322 if(qual(2:2) ==
'F') cform =
'formatted' 323 if(qual(2:2) ==
'U') cform =
'unformatted' 324 if(qual(2:2) ==
'B') cform =
'binary' 325 if(qual(2:2) ==
'R') cform =
'unformatted' 329 inquire(file=filename,exist=lexist)
330 if(i_print >=2)
write(i_out,*)
'Z_FILEIO file exists?:', &
331 trim(filename),
':',lexist
335 if(lexist .and. qual(1:1)==
'D')
then 336 inquire(file=filename,opened=lopen)
338 inquire(file=filename,number=junit)
340 if(iufind == 1)
call z_flunit(iunit,iuerr)
343 open(file=filename,unit=junit,form=cform,iostat=iostat)
350 close(junit,status=cstat)
357 if(i_print >=2)
write(i_out,*)
'Z_FILEIO: File exists:', &
359 inquire(file=filename,opened=lopen)
361 if(i_print >=2)
write(i_out,*)
'Z_FILEIO: File is opened:', &
367 inquire(file=filename,number=junit)
368 if(i_print >=2)
write(i_out,*) &
369 'Z_FILEIO: File is connected to unit:', junit
375 if(i_print >=2)
write(i_out,*) &
376 'Z_FILEIO: File is not connected to a unit number' 378 if(i_print >=2)
write(i_out,*) &
379 'Z_FILEIO: Assign user defined unit number:',iunit
380 elseif(iufind==1)
then 381 call z_flunit(iunit,iuerr)
382 if(i_print >=2)
write(i_out,*) &
383 'Z_FILEIO: New unit number IUNIT:',iunit
388 open(file=filename,unit=junit,form=cform,status=cstat)
399 write(i_out,*)
'Z_FILEIO: File does not exist !' 400 write(i_out,*)
'Z_FILEIO: Qual:',qual(1:1)
403 if(index(
'SRU',qual(1:1)) > 0)
then 405 call z_flunit(iunit,iuerr)
406 if(i_print >=1)
write(i_out,*) &
407 'Z_FILEIO: New unit number IUNIT:',iunit
414 open(file=filename,unit=junit,form=cform,iostat=iuerr)
428 elseif(
'O'==qual(1:1))
then 429 if(i_print>=2)
write(i_out,*) &
430 'Z_FILEIO: File cannot be opened because it does not exist' 438 if(i_print>=1)
write(i_out,*)
'Z_FILEIO/Z:',trim(filename),
' ', &