Question
What are the fields in a RESP file?
Answer
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.