;+ ;PROCEDURE: do_sweapd ;PURPOSE: ; ; Creates "TPLOT" variable by summing 3D data over selected angle bins. ; ;INPUT: data_str, a string(either 'eh','el','ph','pl','sf',or 'so' at ; this point) telling which data to get. ; ;KEYWORDS: bins: a keyword telling which bins to sum over ; no_data: returns 1 if no_data else returns 0 ; units: convert to these units if included ; NAME: New name of the Data Quantity ; BKG: A 3d data structure containing the background counts. ; FLOOR: Sets the minimum value of any data point to sqrt(bkg). ; ETHRESH: ; MISSING: value for bad data. ; ;CREATED BY: Davin Larson ;FILE: mk_elpd_cdf.pro ;VERSION: 1.15 ;LAST MODIFICATION: 99/10/18 ; ;NOTES: "LOAD_3DP_DATA" must be called first to load up WIND data. ;- pro do_sweapd,sta_filename,stb_filename ;get_data,'sta_B',data=d ;newb = d.y ;newb[*,2] = d.y[*,0] ;newb[*,1] = d.y[*,1] ;newb[*,0] = -1.*d.y[*,2] ;store_data,'sta_B_new',data={x: d.x, y: newb} bsource = 'sta_B' ;if not keyword_set(vsource) then vsource = 'pm.VELOCITY' data_str = 'sta_swea3d' routine = 'get_'+data_str ;get_moment3d,/proton ;get_data,'A_mom_velocity_total',data=d ;newv = dblarr(n_elements(d.x),3) ;newv[*,2] = 0d ;newv[*,0] = -1.*d.y ;newv[*,1] = 0d ;store_data,'myvsw',data={x: d.x, y: newv} ;vsource = 'myvsw' ;times = call_function(routine,/times) ;if ndimen(times) le 0 then begin ; message,/info,'No electron data to produce cdf file' ; return ;endif ;max = n_elements(times) ;istart = 0 ;if keyword_set(trange) then begin ; irange = fix(interp(findgen(max),times,gettime(trange))) ; print,irange ; irange = (irange < (max-1)) > 0 ; irange = minmax_range(irange) ; istart = irange(0) ; times = times(istart:irange(1)) ; print,'Index range: ',irange ; max = n_elements(times) ;endif ; ;i=-1 ;repeat begin ; i = i+1 ; dat = call_function(routine, t, index=i) ;endrep until (dat.valid eq 1) or (i eq max-1) ; ;nenergy = dat.nenergy ;nredf = 32 ; if keyword_set(num_pa) eq 0 then num_pa = 8 nenergy=16 dat0={time:0.d,flux:fltarr(nenergy,num_pa) $ ,energy:fltarr(nenergy),pangle:fltarr(num_pa) $ ,density:0.,avgtemp:0.,sc_pot:0.,sc_current:0 $ ,vthermal:0.,velocity:fltarr(3),ptens:fltarr(6) $ ,tot_flux:fltarr(3) $ ,mftens:fltarr(6),t3:fltarr(3),symm:fltarr(3),magt3:fltarr(3) $ ,magf:fltarr(3)} st_mag_load st_swea_load dopad = 1 st_part_moments,probe='a',dopad=dopad st_part_moments,probe='b',dopad=dopad get_data,'sta_pad',data=padd npts = n_elements(padd.x) d = replicate(dat0,npts) d.time = padd.x d.flux = transpose(padd.y,[1,2,0]) ;d.energy = padd.v1 d.pangle = transpose(padd.v2) get_data,'sta_Distribution',data=dist d.energy = dist.v1 get_data,'sta_mom_density',data=dens d.density = dens.y get_data,'sta_mom_avgtemp',data=avgtemp d.avgtemp = avgtemp.y get_data,'sta_mom_magf', data=magf d.magf = transpose(magf.y) get_data,'sta_mom_vthermal', data=vthermal d.vthermal = vthermal.y get_data,'sta_mom_velocity', data=velocity d.velocity = transpose(velocity.y) get_data,'sta_mom_flux', data=totflux d.tot_flux = transpose(totflux.y) get_data,'sta_mom_sc_pot', data=sc_pot d.sc_pot = sc_pot.y get_data,'sta_mom_sc_current', data=sc_current d.sc_current = sc_current.y get_data,'sta_mom_ptens',data=ptens d.ptens = transpose(ptens.y) get_data,'sta_mom_mftens',data=mftens d.mftens = transpose(mftens.y) get_data,'sta_mom_t3',data=t3 d.t3 = transpose(t3.y) get_data,'sta_mom_symm',data=symm d.symm = transpose(symm.y) get_data,'sta_mom_magt3',data=magt3 d.magt3 = transpose(magt3.y) if not keyword_set(date) then date=d(0).time +3600. t = time_double(date) t = t - t mod 86400.d dates = strmid(time_string(t,f=2),0,8) ;filename = fileformat+dates+version w = where(d.time ge t and d.time lt (t+86400.),c) if c ne 0 then begin d = d(w) makecdf,d,file=sta_filename,/overwrite print,'file ',sta_filename,'.cdf created' endif else print,'No data to produce file: ',sta_filename+'.cdf' get_data,'stb_pad',data=padd npts = n_elements(padd.x) d = replicate(dat0,npts) d.time = padd.x d.flux = transpose(padd.y,[1,2,0]) ;d.energy = padd.v1 d.pangle = transpose(padd.v2) get_data,'stb_Distribution',data=dist d.energy = dist.v1 get_data,'stb_mom_density',data=dens d.density = dens.y get_data,'stb_mom_avgtemp',data=avgtemp d.avgtemp = avgtemp.y get_data,'stb_mom_magf', data=magf d.magf = transpose(magf.y) get_data,'stb_mom_vthermal', data=vthermal d.vthermal = vthermal.y get_data,'stb_mom_velocity', data=velocity d.velocity = transpose(velocity.y) get_data,'stb_mom_flux', data=totflux d.tot_flux = transpose(totflux.y) get_data,'stb_mom_sc_pot', data=sc_pot d.sc_pot = sc_pot.y get_data,'stb_mom_sc_current', data=sc_current d.sc_current = sc_current.y get_data,'stb_mom_ptens',data=ptens d.ptens = transpose(ptens.y) get_data,'stb_mom_mftens',data=mftens d.mftens = transpose(mftens.y) get_data,'stb_mom_t3',data=t3 d.t3 = transpose(t3.y) get_data,'stb_mom_symm',data=symm d.symm = transpose(symm.y) get_data,'stb_mom_magt3',data=magt3 d.magt3 = transpose(magt3.y) if not keyword_set(date) then date=d(0).time +3600. t = time_double(date) t = t - t mod 86400.d dates = strmid(time_string(t,f=2),0,8) ;filename = fileformat+dates+version w = where(d.time ge t and d.time lt (t+86400.),c) if c ne 0 then begin d = d(w) makecdf,d,file=stb_filename,/overwrite print,'file ',stb_filename,'.cdf created' endif else print,'No data to produce file: ',stb_filename+'.cdf' ;ex_time = systime(1) - ex_start ;message,string(ex_time)+' seconds execution time.',/cont,/info return end