The RESP Format

What is a RESP file?

A RESP file is an ASCII representation of SEED instrument response information. Generally RESP files only contain the subset of SEED headers that represent an instrument response, they do not contain station coordinates or other metadata available in SEED headers. SEED, and consequently RESP, can contain comprehensive response details that represent all aspects of the recording of a time series. Each step in the recording process is represented by a stage in the response sequence including analog sensors, digitization and digital filters. A single RESP usually contains the response information for a single channel for one or more time ranges (epochs), but a file may also contain the response information for many channels.

RESP files structure SEED response information by rows identifying a SEED Blockette and field number followed by its description and value. These readable and easily editable files are commonly used as input to programs that evaluate the response such as evalresp, JEvalResp, and JPlotResp.

How to get RESP files (also see the related article below)

The rdseed and PDCC programs can both generate RESP from SEED volumes. RESP is also available via the DMC’s RESP webservice and can be downloaded through the Nominal Response Library. Please see related topics for software and access details.

What are the fields in a RESP file?

Notes about the meaning of RESP files were posted by Sheila Peacock to the sac-help mailing list, which follow.

Meaning of numbers in rdseed RESP files

Here is a sample rdseed RESP file, which is output if you ask rdseed to output responses:

* RESP.IU.FURI.00.BHE: "RESP" file for FURI component BHE

The topmost part is like this:

#               << IRIS SEED Reader, Release 4.6 >>
#
#               ======== CHANNEL RESPONSE DATA ========
B050F03     Station:     FURI
B050F16     Network:     IU
B052F03     Location:    00
B052F04     Channel:     BHE
B052F22     Start date:  1999,111,00:00:00
B052F23     End date:    No Ending Time
#               =======================================
#               +               +--------------------------------------------+               +
#               +               |   Response (Poles & Zeros),  FURI ch BHE   |               +
#               +               +--------------------------------------------+               +
#
B053F03     Transfer function type:                A [Laplace Transform (Rad/sec)]
B053F04     Stage sequence number:                 1
B053F05     Response in units lookup:              M/S - Velocity in Meters Per
Second
B053F06     Response out units lookup:             V - Volts
B053F07     A0 normalization factor:               3948.58
B053F08     Normalization frequency:               0.02
B053F09     Number of zeroes:                      2
B053F14     Number of poles:                       4
#               Complex zeroes:
#                 i  real          imag          real_error    imag_error
B053F10-13    0  0.000000E+00  0.000000E+00  0.000000E+00  0.000000E+00
B053F10-13    1  0.000000E+00  0.000000E+00  0.000000E+00  0.000000E+00
#               Complex poles:
#                 i  real          imag          real_error    imag_error
B053F15-18    0 -1.234000E-02  1.234000E-02  0.000000E+00  0.000000E+00
B053F15-18    1 -1.234000E-02 -1.234000E-02  0.000000E+00  0.000000E+00
B053F15-18    2 -3.918000E+01  4.912000E+01  0.000000E+00  0.000000E+00
B053F15-18    3 -3.918000E+01 -4.912000E+01  0.000000E+00  0.000000E+00
#
#               +                  +---------------------------------------+               +
#               +                  |       Channel Gain,  FURI ch BHE      |               +
#               +                  +---------------------------------------+               +
#
B058F03     Stage sequence number:                 1
B058F04     Gain:                                  2.296000E+03
B058F05     Frequency of gain:                     2.000000E-02 HZ
B058F06     Number of calibrations:                0
#
#               +               +-------------------------------------------+               +
#               +               |   Response (Coefficients),  FURI ch BHE   |               +
#               +               +-------------------------------------------+               +
#
B054F03     Transfer function type:                D
B054F04     Stage sequence number:                 2
B054F05     Response in units lookup:              V - Volts
B054F06     Response out units lookup:             COUNTS - Digital Counts
B054F07     Number of numerators:                  0
B054F10     Number of denominators:                0
#
#               +                      +------------------------------+               +
#               +                      |   Decimation,  FURI ch BHE   |               +
#               +                      +------------------------------+               +
#
B057F03     Stage sequence number:                 2
B057F04     Input sample rate:                     5.120000E+03
B057F05     Decimation factor:                     1
B057F06     Decimation offset:                     0
B057F07     Estimated delay (seconds):             0.000000E+00
B057F08     Correction applied (seconds):          0.000000E+00
#
#               +                  +---------------------------------------+               +
#               +                  |       Channel Gain,  FURI ch BHE      |               +
#               +                  +---------------------------------------+               +
#
B058F03     Stage sequence number:                 2
B058F04     Gain:                                  4.194300E+05
B058F05     Frequency of gain:                     0.000000E+00 HZ
B058F06     Number of calibrations:                0
#

And the very end is like this:

#               +                  +---------------------------------------+               +
#               +                  |   Channel Sensitivity,  FURI ch BHE   |
#               +                  +---------------------------------------+               +
#
B058F03     Stage sequence number:                 0
B058F04     Sensitivity:                           9.630000E+08
B058F05     Frequency of sensitivity:              2.000000E-02 HZ
B058F06     Number of calibrations:                0
#

The corresponding poles-zeros file, which is output if you ask rdseed to put it out, is:

ZEROS 3
POLES 4
-0.0123  0.0123
-0.0123  -0.0123
-39.1800  49.1200
-39.1800  -49.1200
CONSTANT 3.802483e+12

The “RESP” file represents the velocity response, and hence the poles and zeros listed there include two zeros while the pole-zero file immediately above has three since it represents the displacement response.

The “Sensitivity” at the end of the “RESP” file is the product of all the gains in the file (all the numbers in lines containing “Gain”: in this case, 9.63e8 = 2.296e3 V/(m/s) x 4.1943e5 counts/V). It is in the velocity domain and has units of counts per (metre per second) so to convert it to displacement sensitivity (counts per metre) you would MULTIPLY by 2pi times the calibration frequency (0.02 Hz in this case). This gives you 10^9 / the value of “calib” that would be found in GSE/IMS format files, CSS .wfdisc files and “static.instrument” IDC database table (8.263497 in this case). “Calib” is in units of nanometres per count.

The number “A0 normalization factor” (value 3948.58 in this case) is said in the SEED manual to be “set such that when you evaluate the polynomial at the reference frequency the result will be one”. It is the “poles-and-zeros constant” for the velocity poles-zeros in the “RESP” file. If you calculate the poles-zeros constant (a hefty job best done in FORTRAN for the complex arithmetic required – beware of floating-point overflow, though!) from the displacement poles-zeros file output by rdseed, rather than take the “RESP” file value, you should get the “displacement” poles-and-zeros constant, which is equal to the A0 normalization factor value divided by (2pi times the calibration frequency) (in this case 0.02 Hz, which gives 31421.7).

If you multiply the A0 normalization factor by the “sensitivity” (9.63e8 counts/(m/s)), you get the value of the poles-zeros constant at the end of the poles-zeros file produced by rdseed (3.802483e12 in this case). Note that because this constant consists of the product of a velocity sensitivity (a displacement sensitivity divided by 2pi x calibration frequency) and a velocity poles-zeros constant (a displacement poles-zeros constant multiplied by 2pi x calibration frequency), the factors of 2pi x calibration frequency cancel out and it is correctly a displacement poles-zeros constant (albeit multiplied by the sensitivity) and accompanies a set of displacement poles-zeros, as expected by SAC.

Since the poles-zeros file written by rdseed contains a constant that has already been multiplied by the sensitivity and the sensitivity is equivalent to 1/(calibration factor “calib” in IDC parlance x 2pi x frequency), it is not necessary to multiply the seismogram by the calibration factor.