pro time_series_maker,time1,time2,dtime,nmin,dmin,dmax,time,data,$ time_bin,data_av,data_sd,data_sdm,num,num_good,freq ;---------------------------------------------------------------------------------------------- ; Purpose: routine computes a uniform time series from the input data vs. time. ; ; Input: ; time1......start time for the time grid ; time2......end time ; dtime......time interval for the time grid ; nmin.......minimum number of data points in time interval to generate results ; dmin.......minimum data value to use ; dmax.......maximum data value to use ; time.......time values for the input data, fltarr(time) ; data.......data to use in making average profile, fltarr(time) ; ; Output: ; time_bin....the time grid, fltarr(time) ; data_av.....average data on the time grid ; data_sd.....the data standard deviations on the time grid ; data_sdm....the data standard deviation of the mean on the time grid ; num.........number of observations in each time interval, fltarr(time) ; num_good....number of observations used, fltarr(time) ; freq........occurence frequency of good data (%) ; ; Required sub routines: none ; ; Source: Mark Hervig, GATS Inc. ;---------------------------------------------------------------------------------------------- wbin = dtime * 0.5 nbin = round( (time2 - time1)/float(dtime) ) + 1 time_bin = findgen(nbin) * dtime + time1 - wbin data_av = fltarr(nbin) data_sd = fltarr(nbin) data_sdm = fltarr(nbin) num = fltarr(nbin) num_good = fltarr(nbin) ;- loop over time grid for i = 0,nbin-1 do begin k = where(time gt time_bin(i)-wbin and time le time_bin(i)+wbin,nk) num(i) = nk if (nk gt 0) then begin l = where(data(k) gt dmin and data(k) lt dmax,nl) num_good(i) = nl if (nl ge nmin) then begin data_av( i) = mean( data(k(l)) ) data_sd( i) = 0.0 data_sdm(i) = 0.0 if (nl gt 1) then begin data_sd( i) = stddev( data(k(l)) ) data_sdm(i) = data_sd(i) / sqrt(nl) endif endif endif endfor ;- occurence frequency of good data (%) freq = 100 * num_good / num k = where(num le 0,nk) if (nk gt 0) then freq(k) = 0. ;- done return end