subroutine splotV_RI(pname,X,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,append)
integer :: i,Np
character(len=*) :: pname
real(8),dimension(:) :: X
integer,dimension(size(X)) :: Y1
integer,dimension(size(X)),optional :: Y2,Y3,Y4,Y5,Y6,Y7,Y8
logical,optional :: append
logical :: check,rw
rw=.false.;if(present(append))rw=append
Np=size(X)
if(rw)then
inquire(file=trim(adjustl(trim(pname))),exist=check)
open(719,file=adjustl(trim(pname)),position="append")
if(check)write(719,*)
else
open(719,file=adjustl(trim(pname)))
endif
if(present(Y8))then
do i=1,Np
write(719,"(F21.12,8(I15))")X(i),Y1(i),Y2(i),Y3(i),Y4(i),Y5(i),Y6(i),Y7(i),Y8(i)
enddo
elseif(present(Y7))then
do i=1,Np
write(719,"(F21.12,7(I15))")X(i),Y1(i),Y2(i),Y3(i),Y4(i),Y5(i),Y6(i),Y7(i)
enddo
elseif(present(Y6))then
do i=1,Np
write(719,"(F21.12,6(I15))")X(i),Y1(i),Y2(i),Y3(i),Y4(i),Y5(i),Y6(i)
enddo
elseif(present(Y5))then
do i=1,Np
write(719,"(F21.12,5(I15))")X(i),Y1(i),Y2(i),Y3(i),Y4(i),Y5(i)
enddo
elseif(present(Y4))then
do i=1,Np
write(719,"(F21.12,4(I15))")X(i),Y1(i),Y2(i),Y3(i),Y4(i)
enddo
elseif(present(Y3))then
do i=1,Np
write(719,"(F21.12,3(I15))")X(i),Y1(i),Y2(i),Y3(i)
enddo
elseif(present(Y2))then
do i=1,Np
write(719,*)X(i),Y1(i),Y2(i)
enddo
else
do i=1,Np
write(719,*)X(i),Y1(i)
enddo
endif
close(719)
end subroutine splotV_RI