! call opener(lun,file,err) !open readonly ! int, char, logical ! If lun <= 0, then lunget will be called for it subroutine opener(ll,file,er) use cesr_utils implicit none integer ll,ierr character*(*) file character*256 filex logical er filex = ' ' call fullfilename(trim(file),filex,er) if (ll <= 0) ll = lunget() open(unit=ll,file=trim(filex),action='read',status='old',iostat=ierr) if(ierr.ne.0) then print *,' Subroutine opener err=',ierr,' Unit=',ll print *,' For file '//trim(file) print *,' = '//trim(filex) endif er=ierr.ne.0 return end subroutine opener