;+ ; Contains the load_data_n3e procedure ; ; :Author: ; Baptiste Cecconi ; ; :History: ; 2009/04/18: Created ; ; V2.0 : added n1, n2, n3e output. ; 2012/03/02: Last Edit ;- ; ;+ ; load_data_n3e is a procedure that <behavior desc here> ; ; :Params: ; yyyydddb: in, required, type=sometype ; A parameter named yyyydddb ; hhb: in, required, type=sometype ; A parameter named hhb ; yyyyddde: in, required, type=sometype ; A parameter named yyyyddde ; hhe: in, required, type=sometype ; A parameter named hhe ; n1: in, required, type=sometype ; A parameter named n1 ; n2: in, required, type=sometype ; A parameter named n2 ; n3: in, required, type=sometype ; A parameter named n3 ; ; :Keywords: ; verbose: in, optional, type=sometype ; A keyword named verbose ; source: in, optional, type=sometype ; A keyword named source ;- PRO load_data_n3e,yyyydddb,hhb,yyyyddde,hhe,n1,n2,n3,verbose=verbose, source=source ptrDataFileList = make_file_list(yyyydddb, hhb, yyyyddde, hhe, level='n1') if (ptr_valid(ptrDataFileList) eq 0) then begin n_n1DataFile=0 if keyword_set(verbose) then print,"# 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='n3e', source=source, antset='d') if (ptr_valid(ptrDataFileList) eq 0) then begin n_n3DataFile=0 if keyword_set(verbose) then print,"# Warning ! No N3e 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='n3e' nn = nn+ndata endfor if nn ne 0l then begin print,'Creating data structures ('+string(nn)+' elements)' n1 = replicate({data_n1},nn) n2 = replicate({data_n2},nn) n3 = replicate({data_n3e},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 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 N3 file: '+n3DataFileList(i) read_data_binary,n3DataFileList(i),n3t,valid,level='n3e' print,'merging...' if valid then begin ii1 = ii0 +n_elements(n3t) n1(ii0:ii1-1) = n1t(n3t.num) n2(ii0:ii1-1) = n2t(n3t.num) n3(ii0:ii1-1) = n3t ii0 = ii1 endif endfor endif else begin print,'No data for the selected period' n1={data_n1} n2={data_n2} n3={data_n3e} endelse return end