;+ ;PROCEDURE: load_wi_wav ;PURPOSE: ; loads WIND WAVES Experiment key parameter data for "tplot". ; ;INPUTS: none, but will call "timespan" if time ; range is not already set. ;KEYWORDS: ; DATA: Raw data can be returned through this named variable. ; NVDATA: Raw non-varying data can be returned through this variable. ; TIME_RANGE: 2 element vector specifying the time range. ; MASTERFILE: (string) full file name to the master file. ; RESOLUTION: number of seconds resolution to return. ; NE_FILTER: Name of electron density variable to be used as filter. ; MOON: Load moon position data. ; SOLAR: Load solar data. ;SEE ALSO: ; "make_cdf_index","loadcdf","loadcdfstr","loadallcdf" ; ;CREATED BY: Davin Larson ;FILE: load_wi_wav.pro ;LAST MODIFICATION: 99/05/27 ;- pro load_wi_wav,time_range=trange,data=d,nvdata=nd $ ,masterfile=masterfile,resolution=res,ne_filter=ne_filter $ ,moon=moon,solar=solar if not keyword_set(masterfile) then masterfile = 'wi_k0_wav_files' cdfnames = ['Ne','Ne_Quality', 'E_Average', 'Moon_pos','Sol_min','Sol_max'] tagnames = ['Nel','Ne_Quality','E_A', 'moon_pos','Sol_min','Sol_max'] novarnames = ['E_freq_val'] if not keyword_set(source) then begin istp_init source = !istp endif file_format = 'wind/waves/wav_k0/YYYY/wi_k0_wav_YYYYMMDD_v0?.cdf' pathnames = file_dailynames(file_format=file_format,trange=trange) filenames = file_retrieve(pathnames,_extra=source,/last_version) d=0 nd = 0 loadallcdf,time_range=trange,masterfile=masterfile,filenames=filenames,resolution=res, $ cdfnames=cdfnames,tagnames=tagnames,data=d, $ novarnames=novarnames,novard=nd if not keyword_set(d) then return n = d.nel w = where((d.ne_quality lt 100) or (n lt 0.) or (n gt 300.),nw) if nw ne 0 then n(w)=!values.f_nan px = 'wi_wav_' if keyword_set(ne_filter) then begin n_e = data_cut(ne_filter,d.time) bad = where((d.nel lt n_e/2.) or (d.nel gt n_e*2.)) d[bad].nel = !values.f_nan endif store_data,px+'Ne',data={x:d.time,y:d.nel} store_data,px+'Pow',data={x:d.time,y:dimen_shift(d.e_a,1),v:nd.E_freq_val}$ ,min=-0.1 $ ,dlim={ytitle:'Freq (Hz)',spec:1,ylog:1,ystyle:1,panel_size:2. $ ,yrange:[4e3,1.2e7],zrange:[0.,80.],ztitle:'WAVES Power'} if keyword_set(moon) then $ store_data,'moon_pos',data={x:d.time,y:dimen_shift(d.moon_pos,1)/6370.},min=-1e30 if keyword_set(solar) then begin $ store_data,'wi_sol_arr',data = {x:d.time,y:[[d.sol_min],[d.sol_max]]} endif end