function XSTDEV, Array, Mean
;
    on_error,2      ;return to caller if error
    n = n_elements(array)   ;# of points.
    if n le 1 then message, 'Number of data points must be > 1'
;
;;        mean = total(array)/n ;yes.
;;        return,sqrt(total((array-mean)^2)/(n-1))

    xx = indgen(n_elements(array))
    mean = total((xx+1)*array)/total(array)-1
    sd = total(abs(xx-mean)*array)/total(array)
    return,sd

       end