pro AUTO_PREP_DATA_FOR_DF, aaaajjj,bande,iant,ndb
band=['A','B','C','HF1','HF2']
aaaajjjd=aaaajjj & aaaajjjf=aaaajjj & hd=0 & hf=24
ffmin=0 & ffmax=0
td=long(aj_t97(aaaajjjd)) & tf=long(aj_t97(aaaajjjf))
for i=td,tf do begin
if i eq td then hhd=hd else hhd=0
if i eq tf then hhf=hf else hhf=24
aj=long(t97_aj(i))
PREP_DF, aj, hhd, hhf, bande, vvbuf,xtsbuf,xfbuf,msecbuf
if i eq td then begin
vv=vvbuf & xt=i*1.d0+xtsbuf/86400.d0 & xf=xfbuf & msec=msecbuf
endif else begin
vv=[vv,vvbuf] & xt=[xt,i*1.d0+xtsbuf/86400.d0]
xf=[xf,xfbuf] & msec=[msec,msecbuf]
endelse
endfor
help, vv,xt,xf,msec
if ffmin ne 0. and ffmax ne 0. then begin
test=where(xf ge ffmin and xf le ffmax)
if test(0) eq -1 then stop,'test frequency range not passed'
vv=vv(test,*) & xt=xt(test) & xf=xf(test) & msec=msec(test)
print,'Frequency range selection' & help,vv & print
endif
n=n_elements(xf) & sb=fltarr(n,4)
nom='v'+strtrim(long(aaaajjjd),2)+'_'+strtrim(fix(hd),2)+'_'+ $
strtrim(long(aaaajjjf),2)+'_'+strtrim(fix(hf),2)+'_'+band(bande)
path='../idlsave/'
ib=2
case ib of
0:begin
print,'No S/N selection'
freqfon=[-1] & fon_db=[0.] & sig_db=[0.]
end
1:begin
ib1 = 10
fracmin=ib1/100.
f=xf & df=3.
if bande le 2 then begin
f=alog10(xf) & df=0.02
endif
fmin=min(f) & fmax=max(f) & pas=long((fmax-fmin)/df)
freqfon=fmin+findgen(pas+2)*df
fon_db=fltarr(pas+2,4) & sig_db=fon_db
for i=0,pas+1 do begin
ftest=fmin+i*df
test=where(abs(f-ftest) le df/2.)
if test(0) ne -1 then begin
for j=0,3 do begin
vtest=vv(test,j)
if ib1 eq 0 then begin
vtest=10.*alog10(vtest)
vtestmin=min(vtest) & vtest=vtest-vtestmin+1.
FOND,vtest,vfon,vsig
vmin=vfon-1.+vtestmin
fon_db(i,j)=vmin & sig_db(i,j)=vsig
fon=10.^(vmin/10.)
endif else begin
DYNMIN,vtest,fracmin,fon
fon_db(i,j)=10.*alog10(fon) & sig_db(i,j)=1.
endelse
vv(test,j)=(vv(test,j)-fon) > 0.
sig=fon*(10.^(sig_db(i,j)/10.)-1.)
sb(test,j)=10.*alog10(vv(test,j)/sig)
endfor
endif
endfor
test=where(rebin(fon_db,pas+2,1) ne 0.)
freqfon=freqfon(test) & fon_db=fon_db(test,*) & sig_db=sig_db(test,*)
if bande le 2 then freqfon=10.^freqfon
end
2:begin
bfile='fond_jupiter_'+band(bande)
restore,path+bfile+'.idlsave',/verb
for i=0,3 do begin
fon=10.^(interpol(fon_db(*,i),freqfon,xf)/10.)
vv(*,i)=(vv(*,i)-fon) > 0.
sig=fon*(10.^(interpol(sig_db(*,i),freqfon,xf)/10.)-1.)
sb(*,i)=10.*alog10(vv(*,i)/sig)
endfor
end
endcase
test=where(vv(*,0) gt 0 and vv(*,1) gt 0 and vv(*,2) gt 0 and vv(*,3) gt 0)
if test(0) eq -1 then stop,'test (Avv - background) > 0 not passed'
vv=vv(test,*) & xt=xt(test) & xf=xf(test) & msec=msec(test) & sb=sb(test,*)
print & print,'Avv - background > 0' & help,vv
ant=['DF','Cal. X','Cal. Z']
if ib ne 0 then begin
seuil:
case iant of
0: test=where((sb(*,0) ge ndb or sb(*,1) ge ndb) and $
(sb(*,2) ge ndb and sb(*,3) ge ndb))
1: test=where(sb(*,1) ge ndb and sb(*,3) ge ndb)
2: test=where(sb(*,0) ge ndb and sb(*,2) ge ndb)
endcase
if test(0) eq -1 then stop,'test S/N not passed'
vv=vv(test,*) & xt=xt(test) & xf=xf(test) & msec=msec(test) & sb=sb(test,*)
print & print,ant(iant),' with S/N >= ',ndb & help,vv
endif
test=where(abs(vv(*,4)) le 1 and abs(vv(*,5)) le 1 and abs(vv(*,6)) le 1 $
and abs(vv(*,7)) le 1)
if test(0) eq -1 then stop,'test |cross-correlations| <= 1 not passed'
vv=vv(test,*) & xt=xt(test) & xf=xf(test) & msec=msec(test) & sb=sb(test,*)
print & print,'|cross-correlations| <= 1' & help,vv
delta_zz:
dz=0.1
test=where(abs((vv(*,1)-vv(*,3))/(vv(*,1)+vv(*,3))) le dz)
if test(0) eq -1 then stop,'test delta(ZZ) not passed'
vv=vv(test,*) & xt=xt(test) & xf=xf(test) & msec=msec(test) & sb=sb(test,*)
print & print,'delta(Azz) <= ',fix(dz*100),' %' & help,vv
save,vv,xt,xf,msec,sb,freqfon,fon_db,sig_db, $
file=path+nom+'.idlsave',/verb,/xdr
end