PRO load_data_n3b,yyyydddb,hhb,yyyyddde,hhe,n2,n3,verbose=verbose, source=source
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_n3DataFile=0
if keyword_set(verbose) then print,"# Warning ! No N3b data file selected..."
endif else begin
n3DataFileList=*ptrDataFileList
n_n3DataFile = n_elements(n3DataFileList)
ptr_free,ptrDataFileList
endelse
nn = 0l
for i=0l,n_n3DataFile-1l do begin
ndata=1l
read_data_binary,n3DataFileList(i),ndata,/ndata,level='n3b'
nn = nn+ndata
endfor
nn=2*nn
if nn ne 0l then begin
print,'Creating data structures ('+string(nn)+' elements)'
n2 = replicate({data_n2},nn)
n3 = replicate({data_n3b_flat},nn)
ii0 = 0l
for i=0l,n_n3DataFile-1l do begin
while strmid(n3DataFileList(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 N2 file: '+n2DataFileList(i)
read_data_binary,n2DataFileList(i),n2t,level='n2'
print,'Reading N3 file: '+n3DataFileList(i)
read_data_binary,n3DataFileList(i),n3t,valid,level='n3b'
print,'merging...'
if valid then begin
ii1 = ii0 +2*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)]
n3(ii0:ii1-1l).num=numt(sort(numt))
n3(ii0:ii1-1l).s=st(sort(numt))
n3(ii0:ii1-1l).q=qt(sort(numt))
n3(ii0:ii1-1l).u=ut(sort(numt))
n3(ii0:ii1-1l).v=vt(sort(numt))
n3(ii0:ii1-1l).th=tht(sort(numt))
n3(ii0:ii1-1l).ph=pht(sort(numt))
n3(ii0:ii1-1l).zr=zrt(sort(numt))
n3(ii0:ii1-1l).sn(0)=sn1t(sort(numt))
n3(ii0:ii1-1l).sn(1)=sn2t(sort(numt))
n2(ii0:ii1-1l) = n2t(numt(sort(numt)))
ii0 = ii1
endif
endfor
n3.sn = 10*alog10(n3.sn>0.01)
endif else begin
print,'No data for the selected period'
n2={data_n2}
n3={data_n3b_flat}
endelse
return
end