sreadV_RR Subroutine

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

Arguments

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

Source Code

subroutine sreadV_RR(pname,X,Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8)
  integer                             :: i,Np
  character(len=*)                    :: pname
  real(8),dimension(:)                :: X
  real(8),dimension(size(X))          :: Y1
  real(8),dimension(size(X)),optional :: Y2,Y3,Y4,Y5,Y6,Y7,Y8
  Np=size(X)
  open(719,file=adjustl(trim(pname)))
  if(present(Y8))then
     do i=1,Np
        read(719,"(9(F21.12))")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
        read(719,"(8(F21.12))")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
        read(719,"(7(F21.12))")X(i),Y1(i),Y2(i),Y3(i),Y4(i),Y5(i),Y6(i)
     enddo
  elseif(present(Y5))then
     do i=1,Np
        read(719,"(6(F21.12))")X(i),Y1(i),Y2(i),Y3(i),Y4(i),Y5(i)
     enddo
  elseif(present(Y4))then
     do i=1,Np
        read(719,"(5(F21.12))")X(i),Y1(i),Y2(i),Y3(i),Y4(i)
     enddo
  elseif(present(Y3))then
     do i=1,Np
        read(719,"(4(F21.12))")X(i),Y1(i),Y2(i),Y3(i)
     enddo
  elseif(present(Y2))then
     do i=1,Np
        read(719,*)X(i),Y1(i),Y2(i)
     enddo
  else
     do i=1,Np
        read(719,*)X(i),Y1(i)
     enddo
  endif
  close(719)
end subroutine sreadV_RR