PRO splitbeam, tvars
tvars = tnames(tvars)
if strlen(tvars[0]) lt 6 then return
FOR n = 0, N_ELEMENTS(tvars)-1 DO BEGIN
tvar = tvars[n]
IF SIZE(tvar,/type) EQ 2 OR SIZE(tvar,/type) EQ 3 THEN tvar=tnames(tvar)
IF STRLEN(tnames(tvar)) LT 2 THEN CONTINUE
IF STRLOWCASE(STRMID(tvar, 0,3)) NE 'sd_' THEN CONTINUE
stn = STRMID(tvar, 3,3)
suf = STRMID(tvar, 0,1, /reverse )
beamdir_tvar_name = 'sd_'+stn+'_azim_no_'+suf
IF STRLEN(tnames(beamdir_tvar_name)) LT 2 THEN CONTINUE
get_data, beamdir_tvar_name, data=d
bmidx = uniq( d.y, SORT(d.y) )
get_data, tvar, data=data, dl=dl, lim=lim
FOR i=0L, N_ELEMENTS(bmidx)-1 DO BEGIN
azim_suf = '_azim' + STRING(d.y[bmidx[i]], '(I2.2)')
vn = tvar + azim_suf
idx = WHERE( d.y EQ d.y[bmidx[i]] )
IF idx[0] EQ -1 THEN CONTINUE
if is_struct(data) then begin
dd = data
store_data, vn, data={x:dd.x[idx], y:dd.y[idx,*], v:dd.v }, dl=dl, lim=lim
endif else begin
vn_iono = data[ ( where( strpos(data,'iscat') ge 0 ) )[0] ]
vn_gscat= data[ ( where( strpos(data,'gscat') ge 0 ) )[0] ]
get_data, vn_iono, data=dd, dl=dl, lim=lim
get_data, vn_gscat, data=ddg, dl=dlg, lim=limg
store_data, vn_iono+azim_suf, data={x:dd.x[idx], y:dd.y[idx,*], v:dd.v}, dl=dl,lim=lim
store_data, vn_gscat+azim_suf,data={x:ddg.x[idx],y:ddg.y[idx,*],v:ddg.v},dl=dlg,lim=limg
options, vn_iono+azim_suf, 'ytitle', STRUPCASE(stn)+' bm'+STRING(d.y[bmidx[i]], '(I2.2)')
options, vn_iono+azim_suf, 'ysubtitle', '[range gate]'
store_data, vn, data=[ vn_iono+azim_suf,vn_gscat+azim_suf ]
endelse
options, vn, 'ytitle', STRUPCASE(stn)+' bm'+STRING(d.y[bmidx[i]], '(I2.2)')
options, vn, 'ysubtitle', '[range gate]'
maxrg = max(dd.v,/nan)+1
ylim, vn, [0,maxrg]
ENDFOR
ENDFOR
END