---
name: "filter1d"
section: "1"
platform: "linux"
package: "gmt-manpages"
version: "3.4-1"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/filter1d"
---

# filter1d(1)

Time domain filtering of 1-D time series

## NAME

filter1d - Time domain filtering of 1-D time series

## SYNOPSIS

**filter1d** \[ *infile* \] **-F***\<type\>\<width\>* \[ **-D***increment* \] \[ **-E** \] \[ **-H**\[*nrec*\] \] \[ **-I***ignore\_val* \] \[ **-L***lack\_width* \] \[ **-N***n\_cols/t\_col* \] \[ **-Q***q\_factor* \] \[ **-S***symmetry\_factor* \] \[ **-T***start/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 **-Ff***name* 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 **-T**0/1.0e5/2000 **-FG**10000 **-N**4/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 **-FM**50 **-T**0/100000/25 **-L**10 **-S**0.3 \> v3312\_filt.dt

## SEE ALSO

*gmt*(l), *sample1d*(l)
