pro uti_polphase_fix, file=file, flipsign=flipsign common global common data_set sign=-1. if keyword_set(flipsign) then sign=1. nlines=file_lines(file) temp=dblarr(2, nlines-1) openr, unit, file, /get_lun readf,unit,temp close, unit & free_lun, unit reftime=temp[0,*] refdpha=temp[1,*] ;print, reftime ;rint, refdpha result=dat_list(s_l,' "ant1rx" eq "0" and "ant2rx" eq "1" and "wt" gt "0" ',/no_notify,/reset) if result lt 0 then stop ints=in[pil].int pcls=pcl pils=pil pbls=pbl psls=psl ii=uti_distinct(ints,nint,/many_repeat) for i=0L, nint-1L do begin print,'Fixing integration ',ii[i] tmp_idx = where(ints eq ii[i], ncombo) ut=in[pils[[tmp_idx[0]]]].dhrs dph=sign*uti_interp(refdpha,reftime,ut) bl[pbls[tmp_idx]].phaave=bl[pbls[tmp_idx]].phaave+dph[0] print, ut, dph for j=0L, ncombo-1L do begin ptr=pcls[tmp_idx[j]] + lindgen(sp[psls[tmp_idx[j]]].nch) ch[ptr] = ch[ptr] * complex(cos(dph[0]*!dpi/180.d),sin(dph[0]*!dpi/180.d)) endfor endfor result=dat_list(s_l,' "ant1rx" eq "1" and "ant2rx" eq "0" and "wt" gt "0" ',/no_notify,/reset) if result lt 0 then stop ints=in[pil].int pcls=pcl pils=pil pbls=pbl psls=psl ii=uti_distinct(ints,nint,/many_repeat) for i=0L, nint-1L do begin print,'Fixing integration ',ii[i] tmp_idx = where(ints eq ii[i], ncombo) ut=in[pils[[tmp_idx[0]]]].dhrs dph=-1.*sign*uti_interp(refdpha,reftime,ut) bl[pbls[tmp_idx]].phaave=bl[pbls[tmp_idx]].phaave+dph[0] print, ut, dph for j=0L, ncombo-1L do begin ptr=pcls[tmp_idx[j]] + lindgen(sp[psls[tmp_idx[j]]].nch) ch[ptr] = ch[ptr] * complex(cos(dph[0]*!dpi/180.d),sin(dph[0]*!dpi/180.d)) endfor endfor result=dat_list(s_l,/reset) end