Re: 2-6 days band pass filter

From: Soumik Basu <sbasu_at_nyahnyahspammersnyahnyah>
Date: Fri Sep 06 2013 - 10:59:53 MDT

Thanks for the reply.

If I put 751 weights I get this error

fatal:wgt_runave_n: The length of wgt must be less than or equal to the
dim-th dimension of x
fatal:["Execute.c":8128]:Execute: Error occurred at or near line 6664 in
file $NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl

fatal:["Execute.c":8128]:Execute: Error occurred at or near line 188 in
file eke_x8.ncl

So I guess as I have 360 time steps (Dec to Jan 6 hourly data) I have to
lesser no. of weights than 360.

I am wondering if it is possible that using wrong number of weights will
make the weighted running average to give out wrong results?

Thanks,
Soumik

-- 
"Numbing the pain for a while will make it worse when you finally feel 
it.
~J.K. Rowling"
*****************************************
Soumik Basu
Graduate Student, Research Assistant
International Arctic Research Center
University of Alaska Fairbanks
Fairbanks,Alaska,USA
*****************************************
On 2013-09-05 16:59, Dennis Shea wrote:
> For 2 to 6 daya [ 1.0/(2*365) to 1.0/(6*365) cycles per year]
> 
> You need a *lot* of weights: say 751
> 
> On 9/5/13 4:37 PM, Soumik Basu wrote:
> Hi,
> 
> I am trying to a band pass filter 0f 2-6 days. My data has 6 hourly 
> time
> steps. My questions are:
> 
> 1) For using 2-6 days band pass filter on transient eddy kinetic energy
> how many weights should I use? I am using 101 weights.
> 
> 2)How can negative values come when it does not have any negative 
> values
> before doing the running average.
> 
> Here is the printVarSummary before running average
> 
> Variable: eke775
> Type: float
> Total Size: 47185920 bytes
> 11796480 values
> Number of Dimensions: 3
> Dimensions and sizes:	[time | 360] x [lat | 128] x [lon | 256]
> Coordinates:
> time: [30.5..120.25]
> lat: [-88.92773535229591..88.92773535229591]
> lon: [   0..358.59375]
> Number Of Attributes: 2
> lev_p :	775
> _FillValue :	9.96921e+36
> (0)
> (0)	min=6.84898e-06   max=2269.73
> 
> Here is the printVarSummary and min max after running average
> 
> 
> Variable: eke_f
> Type: float
> Total Size: 47185920 bytes
> 11796480 values
> Number of Dimensions: 3
> Dimensions and sizes:	[time | 360] x [lat | 128] x [lon | 256]
> Coordinates:
> time: [30.5..120.25]
> lat: [-88.92773535229591..88.92773535229591]
> lon: [   0..358.59375]
> Number Of Attributes: 3
> lev_p :	775
> _FillValue :	9.96921e+36
> wgt_runave_op_ncl :	wgt_runave_n
> (0)
> (0)	min=-689.534   max=1134.18
> 
> 
> This is the part of the script I am using for filtering and running
> average:
> 
> ;*******************************************************
> ;  Calculate band pass filter weights
> ;*******************************************************
> ;lanczos weights for 2-6 day bandpass using 6-hourly data
> 
> 
> ;number of timesteps in low pass cutoff -- in this case 6 days (6*4 = 
> 24
> time steps)
> 
> 
> low = 24
> 
> 
> ;number of timesteps in high pass cutoff -- in this case 2 days (8 time
> steps)
> 
> 
> high= 8.
> 
> 
> nwt = 101       ;A scalar indicating the total number of weights
> 
> ;(must be an odd number; nwt >= 3).
> 
> ;The more weights, the better the filter, but there is a
> 
> ;greater loss of data.
> 
> fca = 1./low  ;A scalar indicating the cut-off frequency of the ideal
> 
> ;high or low-pass filter: (0.0 < fca < 0.5)
> 
> fcb = 1./high ;A scalar used only when a band-pass filter is desired.
> 
> ;It is the second cut-off frequency (fca < fcb < 0.5).
> 
> ihp = 2       ;A scalar indicating the low-pass filter:
> 
> ;ihp = 0; high-pass ihp = 1; band-pass ihp = 2.
> 
> nsigma = 1.   ;A scalar indicating the power of the sigma factor 
> (nsigma
> >= 0).
> 
> ;Note: nsigma=1. is common.
> 
> 
> ; compute weights
> 
> 
> wts = filwgts_lancos (nwt, ihp, fca, fcb, nsigma)
> 
> 
> print(wts)
> 
> 
> print(wts@resp+" "+wts@freq)
> 
> 
> ;********************************************************
> ; apply lanczos wts to 6 hourly data -> band pass filtering
> ;********************************************************
> 
> 
> eke_f = wgt_runave_n_Wrap(eke775,wts,0,0)
> 
> 
> printVarSummary(eke_f)
> printMinMax(eke_f,True)
> 
> Thanks,
> Soumik
> 
> 
> 
> 
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Fri Sep 6 11:00:05 2013

This archive was generated by hypermail 2.1.8 : Mon Sep 16 2013 - 13:43:52 MDT