;*************************************************** ;Computes explained variance of filtered time series ;************************************************** begin filename = "test_jjas.csv" lines = asciiread(filename,-1,"string") data = lines(1:) rain = tofloat(str_get_field(data,1,",")) ;************************************************ ; create BandPass Filter ;************************************************ ihp = 2 ; bpf=>band pass filter nWgt = 141 sigma = 1.0 ; Lanczos sigma fca = 1./90. fcb = 1./25. wgt = filwgts_lanczos (nWgt, ihp, fca, fcb, sigma ) ;************************************************ ; Apply the Lanczos band pass filter weights to the original anomalies ;************************************************ xBPF = wgt_runave_n_Wrap (rain, wgt, 0, 0) ;*********************************************** ; Compute variance of original anomalies ;*********************************************** xVarSummer = dim_variance_n_Wrap(rain,0) ;******************************************************************** ; Compute explained variance (filtered_variance)/(unfiltered_variance ;******************************************************************** xRatioVarSummer = (xVarSummer/xBPF)*100 print(xRatioVarSummer) end