Help: timeseries v.1


The irisws-timeseries service provides access to individual channels of time series data for a specified time range. Requested segments may be up to 30 days in length and optional signal processing may be applied to return data. The time series may be returned in a variety of formats.

Output format options:

  • miniSEED
  • SAC Alpha (ASCII)
  • SAC binary (big & little endian)
  • Audio (WAV format)
  • PNG Plot
  • ASCII (data column)
  • ASCII (data column, time column)

Signal processing options (operations are performed in the order specified):

  • high, low and band-pass filter
  • remove mean value
  • scaling by constant value
  • deconvolution of instrument response (with frequency limits and unit conversion)
  • differentiation and integration
  • decimation to lower sample rates

Digital Signal Processing

There are 14 digital signal processing parameter options:


The taper option applies a symmetric tapering function, sometimes called a window function, to the time series data. The specified width is given as a fraction of the total width and must be in the range 0-0.5. The taper option is typically used to remove end-effects. It should be be specified before other filtering options (See Parameter Order Matters! below).

For example, if a value of 0.25 is given and the time series is 100 seconds long, the first 25 seconds of data will be multiplied by a value ranging from 0 (time=0 seconds) to 1 (time=25 seconds), from 25 seconds to 75 seconds, the data will be unaltered and for the last 25 seconds the data will be multiplied by a value ranging from 1 (time=75 seconds) to 0 (time=100 seconds).

Supported taper functions are HANNING, COSINE and HAMMING. If a taper function name is not specified, the HANNING function is used. Examples:

taper=0.5 — Hanning taper function that varies over full width
taper=0.5,HANNING — Same as previous
taper=0.25,COSINE — Cosine with tapers on first and last quarters, flat over middle half
taper=0.333,HAMMING — Hamming with tapers on first and last thirds, flat over middle third


The envelope calculates the envelope of the time series using a Hilbert transform approximated by a time domain filter.

hpfilter, lpfilter, bpfilter

The hpfilter (high-pass), lpfilter (low-pass) and bpfilter (band-pass) options apply 4-pole, 2-pass Butterworth filters to the data. The options take numeric values of cycles per second (hertz). For bpfilter two frequencies must be given. These two values may be separated by any of [-,/;]. For example, the following are equivalent:


These filtering options operations retain the original DC offset by removing the mean value prior to filtering and then restoring the mean value upon completion.


The demean option removes mean value from the digital signal. This option is usually applied first (See Parameter Order Matters! below).

scale, divscale

The scale option multiplies the digital signal by the specified value. If scale=AUTO is given, the data samples are scaled by the the total sensitivity defined in the metadata for the channel (SEED response stage-zero gain). The divscale option divides each data sample by the specified value. Both scale=AUTO and correct cannot be specified.

correct, autolimits, freqlimits, units

The correct option deconvolves the instrument response from the signal using the current instrument response metadata in the DMC’s database unless that metadata contains a stage zero polynomial response correction in which case that is applied to the signal. Polynomial responses are commonly associated with temperature and pressure sensor data.

The freqlimits option applies both a low-pass and high-pass taper (in the frequency domain). The option can only be used if the correct option is also given. Four frequencies are given in cycles per second (Hertz). The values may be separated by any of [-,/;]. For example, the following are equivalent:


The autolimits option automatically determines the “flat” band of the amplitude response and sets the frequency limits that would otherwise be specified using the freqlimits option. It is mutually exclusive with the freqlimits option and can only be specified if the correct option is also given. The upper and lower corners, defining the flat portion of the amplitude response, are identified by searching the response for amplitude values that are a specified number of decibels lower than the maximum amplitude. The algorithm is designed to find a flat pass band in the units requested such as requesting output in velocity for an sensor flat to velocity. Other combinations will likely result in unsatisfactory results, i.e. requesting output in displacement for a sensor flat to velocity.

The units option allows for requesting units to be to displacement, velocity, or acceleration:

units=DEF — default units specified by the response metadata

The units option can only be used if the correct option is also given.

diff, int

The diff option differentiates the data using the 2-point (uncentered ) method. The int option integrates the data using the trapezoidal (midpoint) method.


The deci option decimates the signal to the given cycles per second (hertz) sample rate. The source sample rate divided by the specified sample rate must be factorable by 2,3,5 and 7. For example, for data sampled at 20 Hz, deci=5 and deci=4 will all work successfully (note: 4 = 2 × 2). However, for data sampled at 50 Hz, deci=5 will work, but deci=4 would fail. A linear-phase, lowpass filter is applied to the data as an anti-aliasing filter.

Parameter Order Matters!

For the digital signal processing parameters lpfilter, hpfilter, bpfilter, demean, diff, int, units and deci the order in which they are listed as query parameters can matter. The ws-timeseries web service will apply the operations in the order in which they are listed reading left to right. For example, applying demean before correct rather than after can yield dramatically different results:


Note: the URL Builder does not allow the order of parameters to be adjusted. However, the order of parameters that it presents should, in general, be useful.

Comparison to SAC

The digital signal processing algorithms used by ws-timeseries are similar to the those used by the SAC (Seismic Analysis Code) software package.

ws-timeseries parameter equivalent SAC Command
lpfilter LOWPASS
hpfilter HIGHPASS
bpfilter BANDPASS
demean RMEAN
diff DIF
int INT
correct TRANSFER
freqlimits TRANSFER (FREQlimits)
decimate DECIMATE

The lpfilter, hpfilter and bpfilter operators are analogous to the SAC LOWPASS, HIGHPASS and BANDPASS commands. ws-timeseries uses 4-pole, 2-pass Butterworth filters.

The deci option is different than the SAC DECIMATE option in that you specify the sample rate to decimate down to. The algorithm used is the same as used by SAC. It requires that the output sample-rate divided by the source sample-sample rate be factorable by 2,3,5 and 7.

The freqlimits parameter can only be used with the correct option. It is analogous to FREQlimits used by the SAC TRANSFER command. The freqlimits describe the shape of a frequency domain taper window. The taper window is applied to the data after being transfered to the frequency domain during the deconvolution operation.

Audio Output

With the output=audio option ws-timeseries can produce WAV audio files. There are two related options available: audiosamplerate and audiocompress. The audiosample parameter will cause the audio output to be played at the given rate. The audiocompress option will apply dynamic gain adjustment that tends to equalize the volume level of loud periods of time relative to quite periods of time.

Programs such as Amadeus and Audacity can be useful for listening to and adjusting the audio output from ws-timeseries. Both of these programs allow the audio sample-rate and audio-compression to be quickly adjusted. Rather than repeatedly calling ws-timeseries with different sample-rates, it may be more useful to download a section of data and adjust the sample rate locally to hear differences in the sound.

The web page by Zhigang Peng of the Georgia Institute of Technology contains more information about the sonification of earthquake data.

Plot Output

With the output=plot option ws-timeseries can produce simple plots of seismic data. With the minimum options (net, sta, loc, cha, start and end) ws-timeseries will produce plots with units of “COUNTS”. With the scale=AUTO or correct options meaningful units will be applied to the plots. For example:
ws-timeseries example 1
ws-timeseries example 2

The plot dimension options width and height can be used to produce larger or smaller plots. The combined product of width times height must be less than 6,000,000.

The antialias option will produce plots with a less jagged appearance. Using this option can increase the amount of time needed to generate the plot and may cause failures for large data sets.

URL Builder

The easiest way to gain an understanding of how to use ws-timeseries is by experimenting with its URL builder. This web page makes it relatively easy to understand what combinations of query parameters are legal for this web service. The web page will dynamically activate and deactivate different options as you make selections. For example, if the output is set to audio, then “Audio Dynamic Range Compression” and “Audio Sample Rate” become available for selection. The URL at the bottom of the page shows what the URL for the request will look like. Clicking the URL will cause the request to be sent to the server.

Data length limitations

The longest length of data that can be requested with ws-timeseries is 31 days. If you are interested in longer intervals, please consider using fdsnws-dataselect. In general, requesting data with a large number of samples can be problematical for this web service. Data filtering, plotting and audio conversion may fail if too many samples exist in the time window. How the service will fail is not completely deterministic. For example, large requests can cause network timeouts which may depend on how your client reaches the IRIS web servers. In general, requesting data windows that are less than a day long should work without difficulty. For any given time window, low sample rate channels (for example LHZ), will be less likely to cause failure than high sample rate channels (for example EHZ).

See also:

Invoking from the UNIX command line

ws-timeseries can be easily invoked using the UNIX wget and curl commands. The following demonstrates using wget to download a plot of filtered data.

$ wget —content-disposition “”
Connecting to|…|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 4198 (4.1K) [image/png]
Saving to: ‘ANMO.IU.00.BHZ.2010.’

100%[=========================================>] 4,198 —.-K/s in 0s

2012-01-01 15:15:03 (200 MB/s) – ‘ANMO.IU.00.BHZ.2010.’ saved [4198/4198]

ws-timeseries example 3

Because of the ampersand (&) characters in the URL, the URL must be surrounded by quote characters (”“) or the UNIX shell will interpret them as background control characters. The --content-disposition flag tells wget to save the file to the name indicated in the HTTP response header. This file name is automatically generated by the web service.

In the previous example the auto-generated name was:


The --content-disposition flag is only available in more recent versions of wget. To save to a file of your own choosing, use the -O option.

Accessing Restricted Data

Requesting restricted data via this web service requires authentication. The authentication is done using a standard HTTP mechanism called digest access authentication, a sort of 3-way handshake. To submit a request with authentication credentials you would use the queryauth method of the service in place of the query method. You must use client that supports digest authentication, luckily such support is common.

For example, submitting a request and initiating the authentication handshake would be done by requesting this URL:

This request could be submitted and using a command line tool like curl:

$ curl -L --digest --user EMAIL:PASSWORD -o plot.png ''

where you replace EMAIL and PASSWORD with your own credentials.

You may test your software with the test credentials: and password=anonymous. A working version of the curl example above using the test credentials:

$ curl -L --digest --user -o plot.png ''

We recommend always using the -L option to allow curl to follow HTTP redirections specified by our systems. The DMC uses HTTP redirection during maintenance to keep servicing requests.

See also: