SUBROUTINE buvplot C Plots observed u-v coverage, including different symbol sizes C for different observed visibility amplitudes. Uses C PGPLOT package. Note that PGPLOT wants REAL*4 reals. C C.A. Hummel June 18, 1991 INCLUDE 'BINFIT.INC' real*4 u(mxrec,mxfilt),v(mxrec,mxfilt) real*4 umax,umin,vmax,vmin real*4 vismax(mxfilt),vismin(mxfilt) character*40 title character*8 plotfile character*4 plot_dev integer*4 ier,date,nplots,isymb integer*4 pgbegin logical*1 hcopy external pgbegin ier=1 hcopy=.false. plotfile='UV .ps' nplots=0 C Find the minimum and maximum u's, v's, and visibilities umax=0 umin=0 vmax=0 vmin=0 5 do ig=1,nfilt vismax(ig)=0 vismin(ig)=1 do id=1,ndata u(id,ig)=-udata(id,ig)/1000000. v(id,ig)=vdata(id,ig)/1000000. umax=max(umax,u(id,ig),-u(id,ig)) umin=min(umin,u(id,ig),-u(id,ig)) vmax=max(vmax,v(id,ig),-v(id,ig)) vmin=min(vmin,v(id,ig),-v(id,ig)) if(obsvis2(id,ig).ne.2)then vismax(ig)=max(vismax(ig),obsvis2(id,ig)) vismin(ig)=min(vismin(ig),obsvis2(id,ig)) endif enddo enddo vmax=vmax*1.1 vmin=vmin*1.1 umax=umax*1.1 umin=umin*1.1 write(title,'(a,a,i4,a,i2,a,i6)') 1 starname(1:8),' = FK ',starno,' Baseline: ', 2 baseline(1),' ',date 10 if(hcopy)then write(outc,*)' Making hardcopy' ier=pgbegin(0,plotfile//plot_dev,1,1) else ier=pgbegin(0,'/ega',1,1) endif if(ier.ne.1)return call pgscf(1) ! 1=Plain font, 2=Roman, 3=Italic, 4=Script call pgsch(1.2) ! Set character height call pgsci(5) ! 1=white, 5=cyan call pgenv(umin,umax,vmin,vmax,1,0) call pglabel('-u (millions of wavelengths)', 1 'v (millions of wavelengths)',title) do ig=1,nfilt if(ig.eq.1)call pgsci(2) if(ig.eq.2)call pgsci(4) if(ig.eq.3)call pgsci(3) do id=1,ndata isymb=int((abs((obsvis2(id,ig)-vismin(ig))*0.34 1 /(vismax(ig)-vismin(ig)))+1.)*20.) call pgpoint(1,u(id,ig),v(id,ig),isymb) call pgpoint(1,-u(id,ig),-v(id,ig),isymb) enddo enddo call pgend hcopy=.false. 19 if(query(' Make a hard copy (y/n)?'))then hcopy=.true. plot_dev='/vps' nplots=nplots+1 write(plotfile(3:5),'(i3.3)')nplots write(outc,*)' Creating file ',plotfile//plot_dev,' OK?' read(inc,*)answer call caps(answer) if(answer.ne.'Y')goto 19 goto 10 elseif(query(' Repeat the screen plot? (y/n)'))then goto 5 endif return END