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 sam-
          pled.  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  con-
          tains  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(l), sample1d(l)