;+ ;PROCEDURE: reduce_var_dimensions,data,limits ;INPUT: data: a structure with elements: ; x (typically time) ; y (3 dimensional data array) ; v1 ; v2 ; limits: a structure with elements: ; v1_range: bin range for dimension 1 (two element array) ; v2_range: bin range for dimension 2 (two element array) ; avg_var: 1 or 2. variable to sum over ; ; ;Caution: This procedure is still in development. ;Created by: Davin Larson, Sept 1995 ;File: %M% ;Version: %I% ;Last Modified: %E% ;- pro reduce_var_dimensions,data,options extract_tags,data,options ; place all options into data dim = dimen(data.y) avg_var = 1 ; default str_element,data,'avg_var',value=avg_var str_element,data,'v_range',value= range if avg_var eq 1 then begin v = reform(data.v2) if n_elements(range) eq 0 then range = [0,dim(1)-1] y = data.y(*,range(0):range(1),*) endif else begin v = reform(data.v1) if n_elements(range) eq 0 then range = [0,dim(2)-1] y = data.y(*,*,range(0):range(1)) endelse y = total(y,avg_var+1)/dim(avg_var) data = {x:data.x,y:y,v:v} help,data,options,/st end