subroutine sreadM_RR(pname,X,Y1,Y2,Y3,Y4)
integer :: i,j,Ny1,Ny2
character(len=*) :: pname
real(8),dimension(:,:) :: Y1
real(8),dimension(size(Y1,1),size(Y1,2)),optional :: Y2,Y3,Y4
real(8),dimension(size(Y1,2)) :: X
Ny1=size(Y1,1) ; Ny2=size(Y1,2)
open(719,file=adjustl(trim(pname)))
if(present(Y4))then
do i=1,Ny1
do j=1,Ny2
write(719,"(5(F21.12))")X(j),Y1(i,j),Y2(i,j),Y3(i,j),Y4(i,j)
enddo
enddo
elseif(present(Y3))then
do i=1,Ny1
do j=1,Ny2
write(719,"(4(F21.12))")X(j),Y1(i,j),Y2(i,j),Y3(i,j)
enddo
enddo
elseif(present(Y2))then
do i=1,Ny1
do j=1,Ny2
read(719,*)X(j),Y1(i,j),Y2(i,j)
enddo
enddo
else
do i=1,Ny1
do j=1,Ny2
read(719,*)X(j),Y1(i,j)
enddo
enddo
endif
close(719)
end subroutine sreadM_RR