## 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.