PRO load_data_n3bi,yyyydddb,hhb,yyyyddde,hhe,n1,n2,n3b,index_n3b,$
verbose=verbose, source=source,data_path=data_path
ptrDataFileList = make_file_list(yyyydddb, hhb, yyyyddde, hhe, level='n1',verbose=verbose)
if (ptr_valid(ptrDataFileList) eq 0) then begin
n_n1DataFile=0
if keyword_set(verbose) then message,/info,"# Warning ! No N1 data file selected..."
endif else begin
n1DataFileList=*ptrDataFileList
n_n1DataFile = n_elements(n1DataFileList)
ptr_free,ptrDataFileList
endelse
ptrDataFileList = make_file_list(yyyydddb, hhb, yyyyddde, hhe, level='n2')
if (ptr_valid(ptrDataFileList) eq 0) then begin
n_n2DataFile=0
if keyword_set(verbose) then print,"# Warning ! No N2 data file selected..."
endif else begin
n2DataFileList=*ptrDataFileList
n_n2DataFile = n_elements(n2DataFileList)
ptr_free,ptrDataFileList
endelse
ptrDataFileList = make_file_list(yyyydddb, hhb, yyyyddde, hhe, level='n3b', source=source, antset='d')
if (ptr_valid(ptrDataFileList) eq 0) then begin
n_n3bDataFile=0
if keyword_set(verbose) then print,"# Warning ! No N3b data file selected..."
endif else begin
n3bDataFileList=*ptrDataFileList
n_n3bDataFile = n_elements(n3bDataFileList)
ptr_free,ptrDataFileList
endelse
if n_n2datafile gt 0 then begin
indexbDataFileList = strarr(n_n2DataFile)
for ifile=0L,n_n2DataFile-1L do begin
str1 = strmid(n2DataFileList(ifile),0,strpos(n2DataFileList(ifile),'n2/P'))
str2 = strmid(n2DataFileList(ifile),strpos(n2DataFileList(ifile),'n2/P')+4)
indexbDataFileList(ifile) = str1+'index/INDEX_3A_'+str2
endfor
data_path=strarr(n_n1datafile)
for k=0,n_n1datafile-1l do $
data_path(k) = strmid(n1DataFileList(k),0,strlen(n1DataFileList(k))-14)
endif
nn = 0l
for i=0l,n_n3bDataFile-1l do begin
ndata=1l
read_data_binary,n3bDataFileList(i),ndata,/ndata,level='n3b'
print,ndata
nn = nn+ndata
endfor
nn=2*nn
if nn ne 0l then begin
print,'Creating data structures ('+string(nn)+' elements)'
n1 = replicate({data_n1},nn)
n2 = replicate({data_n2},nn)
n3b = replicate({data_n3b_flat},nn)
index_n3b = replicate({data_index},nn)
ii0 = 0l
for i=0l,n_n3bDataFile-1l do begin
while strmid(n3bDataFileList(i),9,/rev) ne strmid(n2DataFileList(i),9,/rev) do begin
if i eq 0 then n2DataFileList=n2DataFileList(1:*) else $
n2DataFileList=[n2DataFileList(0:i-1),n2DataFileList(i+1:*)]
n_n2DataFile = n_n2DataFile-1
endwhile
print,'-------------------------------------------------------------------'
print,'Reading N1 file: '+n1DataFileList(i)
read_data_binary,n1DataFileList(i),n1t,level='n1'
print,'Reading N2 file: '+n2DataFileList(i)
read_data_binary,n2DataFileList(i),n2t,level='n2'
print,'Reading N3b file: '+n3bDataFileList(i)
read_data_binary,n3bDataFileList(i),n3t,valid,level='n3b'
print,'Reading 3-A INDEX file: '+indexbDataFileList(i)
read_data_binary,indexbDataFileList(i),indbt,level='index'
print,'merging...'
if valid then begin
ii1 = ii0 +2*n_elements(n3t)
print,n_elements(n3t)
numt=[n3t.num(0),n3t.num(1)]
st=[n3t.s(0),n3t.s(1)]
qt=[n3t.q(0),n3t.q(1)]
ut=[n3t.u(0),n3t.u(1)]
vt=[n3t.v(0),n3t.v(1)]
tht=[n3t.th,n3t.th]
pht=[n3t.ph,n3t.ph]
zrt=[n3t.zr,n3t.zr]
sn1t=[n3t.sn(0),n3t.sn(2)]
sn2t=[n3t.sn(1),n3t.sn(3)]
n3b(ii0:ii1-1).num=numt(sort(numt))
n3b(ii0:ii1-1).s=st(sort(numt))
n3b(ii0:ii1-1).q=qt(sort(numt))
n3b(ii0:ii1-1).u=ut(sort(numt))
n3b(ii0:ii1-1).v=vt(sort(numt))
n3b(ii0:ii1-1).th=tht(sort(numt))
n3b(ii0:ii1-1).ph=pht(sort(numt))
n3b(ii0:ii1-1).zr=zrt(sort(numt))
n3b(ii0:ii1-1).sn(0)=sn1t(sort(numt))
n3b(ii0:ii1-1).sn(1)=sn2t(sort(numt))
n1(ii0:ii1-1) = n1t(numt(sort(numt)))
n2(ii0:ii1-1) = n2t(numt(sort(numt)))
index_n3b(ii0:ii1-1) = indbt
ii0 = ii1
endif
endfor
n3b.sn = 10*alog10(n3b.sn>0.01)
endif else begin
print,'No data for the selected period'
n1={data_n1}
n2={data_n2}
n3b={data_n3b_flat}
index_n3b={data_index}
endelse
return
end