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