subroutine data_saveA3_C(pname,Y1,X)
integer :: i,j,k,Ny1,Ny2,Ny3
character(len=*) :: pname
complex(8),dimension(:,:,:) :: Y1
real(8),optional,dimension(size(Y1,3)) :: X
Ny1=size(Y1,1) ; Ny2=size(Y1,2); Ny3=size(Y1,3)
open(719,file=adjustl(trim(pname)))
do i=1,Ny1
do j=1,Ny2
do k=1,Ny3
if(present(X))then
write(719,*)X(k),dimag(Y1(i,j,k)),dreal(Y1(i,j,k))
else
write(719,*)dimag(Y1(i,j,k)),dreal(Y1(i,j,k))
endif
enddo
write(719,*)
enddo
enddo
close(719)
call data_store(reg(pname))
end subroutine data_saveA3_C