sreadP_RI Subroutine

subroutine sreadP_RI(pname, X, Y1, Y2, Y3, Y4, Y5, Y6, Y7, Y8)

Arguments

Type IntentOptional Attributes Name
character(len=*) :: pname
real(kind=8) :: X
integer :: Y1
integer, optional :: Y2
integer, optional :: Y3
integer, optional :: Y4
integer, optional :: Y5
integer, optional :: Y6
integer, optional :: Y7
integer, optional :: Y8

Source Code

subroutine sreadP_RI(pname,X,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
  character(len=*) :: pname
  real(8)          :: X
  integer          :: Y1
  integer,optional :: Y2,Y3,Y4,Y5,Y6,Y7,Y8
  open(719,file=trim(adjustl(trim(pname))))
  if(present(Y8))then
     read(719,"(F21.12,8I15)")X,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8
  elseif(present(Y7))then
     read(719,"(F21.12,7I15)")X,Y1,Y2,Y3,Y4,Y5,Y6,Y7
  elseif(present(Y6))then
     read(719,"(F21.12,6I15)")X,Y1,Y2,Y3,Y4,Y5,Y6
  elseif(present(Y5))then
     read(719,"(F21.12,5I15)")X,Y1,Y2,Y3,Y4,Y5
  elseif(present(Y4))then
     read(719,"(F21.12,4I15)")X,Y1,Y2,Y3,Y4
  elseif(present(Y3))then
     read(719,"(F21.12,3I15)")X,Y1,Y2,Y3
  elseif(present(Y2))then
     read(719,*)X,Y1,Y2
  else
     read(719,*)X,Y1
  endif
  close(719)
end subroutine sreadP_RI