## NAME

          filter1d - Time domain filtering of 1-D time series

## SYNOPSIS

          filter1d [ infile ] -F<type><width> [ -Dincrement ] [ -E ] [ -H[nrec] ]
          [ -Iignore_val ] [ -Llack_width ] [ -Nn_cols/t_col ] [ -Qq_factor ] [
          -Ssymmetry_factor ] [ -Tstart/stop/int ] [ -V ] [ -bi[s][n] ] [ -bo[s]
          ]

## DESCRIPTION

          filter1d is a general time domain filter for multiple column time
          series data.  The user specifies the number of columns of input and
          which column is the time.  (See -N option below).  The fastest
          operation occurs when the input time series are equally spaced and
          have no gaps or outliers and the special options are not needed.
          filter1d has options L, Q, and S for unevenly sampled data with gaps.

          infile
               Multi-column ASCII (or binary, see -b) file holding data values
               to be filtered.

          -F   sets Filtertype, type is one of b(oxcar), c(osine arch),
               g(aussian), m(edian), or p(maximum likelihood Probability
               estimator -- a mode estimator), and specify full filter width in
               same units as time column, OR, use -Ffname to give the name of a
               one-column file of your own coefficients.  Upper case type B, C,
               G, M, P, F will use robust filter versions: i.e., replace
               outliers (2.5 L1 scale off median) with median during filtering.

## OPTIONS

          -D   increment is used when series is NOT equidistantly sampled.  Then
               increment will be the abscissae resolution, i.e., all abscissae
               will be rounded off to a multiple of increment.  Alternatively,
               resample data with sample1d.

          -E   Include Ends of time series in output.  Default loses half the
               filter-width of data at each end.

          -H   Input file(s) has Header record(s).  Number of header records can
               be changed by editing your .gmtdefaults file.  If used, GMT
               default is 1 header record.

          -I   To ignore values; If an input value equals ignore_val it will be
               set to NaN.

          -L   Checks for Lack of data condition.  If input data has a gap
               exceeding width then no output will be given at that point
               [Default does not check Lack].

          -N   Sets number of columns in input and which column contains the
               independent variable (time). The left-most column is # 0, the
               right-most is # (n_cols - 1).  [Default is n_cols = 2, t_col = 0;
               i.e., file has t, f(t) pairs].

          -Q   assess Quality of output value by checking mean weight in
               convolution.  Enter q_factor between 0 and 1.  If mean weight <
               q_factor, output is suppressed at this point [Default does not
               check Quality].

          -S   Checks symmetry of data about window center.  Enter a factor
               between 0 and 1.  If ( (abs(n_left - n_right)) / (n_left +
               n_right) ) > factor, then no output will be given at this point
               [Default does not check Symmetry].

          -T   Make evenly spaced timesteps from start to stop by int [Default
               uses input times].

          -V   Selects verbose mode, which will send progress reports to stderr
               [Default runs "silently"].

          -bi  Selects binary input.  Append s for single precision [Default is
               double].  Append n for the number of columns in the binary
               file(s).

          -bo  Selects binary output.  Append s for single precision [Default is
               double].

## EXAMPLES

          To filter the data set in the file cruise.gmtd containing evenly
          spaced gravity, magnetics, topography, and distance (in m) with a 10
          km Gaussian filter, removing outliers, and output a filtered value
          every 2 km between 0 and 100 km, try

          filter1d cruise.gmtd -T0/1.0e5/2000 -FG10000 -N4/3 -V >
          filtered_cruise.gmtd

          Data along track often have uneven sampling and gaps which we do not
          want to interpolate using sample1d.  To find the median depth in a 50
          km window every 25 km along the track of cruise v3312, stored in
          v3312.dt, checking for gaps of 10km and asymmetry of 0.3, try

          filter1d v3312.dt -FM50 -T0/100000/25 -L10 -S0.3 > v3312_filt.dt

## SEE ALSO

          gmt, sample1d