SAC Data File Format (original) (raw)
Overview
This section discusses the contents of the SAC data file, describes the binary and alphanumeric formats of this file, and documents the SAC header in detail.
Since version 100.0, SAC can handle binary data files in either endian (byte order), so big-endian systems (Sun Solaris, Mac PPC) can read SAC data files written on little-endian systems (Linux, MAC i686, Cygwin) and vice versa.
Each signal is stored on disk in a separate SAC data file. Through SAC version 101.6a, these files contain a fixed length header section followed by one or two data sections. The header contains floating point, integer, logical, and character fields. Evenly spaced data files have only one data section which contains the dependent variable. Unevenly spaced data and spectral data files contain two data sections. For unevenly spaced data, the first data section contains the dependent variable and the second contains the independent variable. For spectral files the first component is either the amplitude or the real component and the second component is either the phase or imaginary component.
All reals in the SAC header and data sections are single-precision (32 bits, 4 bytes). As discussed in the section on precision in TUTORIAL, although having single-precision for the data is sufficient, having only single-precision for time and distance variables in the header is no longer good enough to handle many modern data sets. SAC version 102.0 solves this problem. The header is unchanged, but a "footer" is added with 22 header variables in double-precision. Version 102.0 can handle "old" SAC data files with no footer or files with a footer, so there is complete compatibility. SAC v102.0 distinguishes between "old" and "new" files by the header variable NVHDR: if NVHDR = 6, the SAC file is in "old" format, if NVHDR = 7, it is in "new" format with a footer. See see the section on Floating-Point Precision in SAC inTUTORIAL for a more detailed discussion.
SAC Binary Format for NVHDR = 6
The binary format is the most common one use. It is is the default format in the READ and WRITE commands and in the subroutine library (RSAC1, RSAC2, WSAC1, WSAC2, WSAC0.) These are binary (unformatted) files.
Structure of SAC Binary Data File for NVHDR = 6
Header Section | First Data Section | Second Data Section (if present) |
---|---|---|
start word: 0 | start word: 158 | start word: 158+NPTS |
word length: 158 | word length: NPTS | word length: NPTS |
see table | dependent variable amplitude real component | independent variable unevenly spaced phase imaginary component |
Structure of SAC Binary Data File for NVHD = 7
The only difference between a SAC binary data file with NVHDR = 6 and one with NVHDR = 7 is the addition of a "footer" following the data section(s). The footer is comprised of 22 double-precision (64-bit) floating point variables: DELTA, B, E, O, A, T0 ... T9, F, EVLO, EVLA, STLO, STLA, SB, and SDELTA. The names are the same as in the header; SAC distinguishes between the single- and double-precision variables in internal calculations by their location in the file.
SAC Alphanumeric Format
This file is essentially the alphanumeric equivalent of the SAC binary data file. The header section is stored on the first 30 80-character lines. For both NVHDR = 6 and NVHDR = 7, this is followed by one or two data sections. The data are in 5G15.7 format. The following table shows the line number, formats and names of the variables on the header section lines.
LINE | FORMAT | NAMES | o | o | o | o |
---|---|---|---|---|---|---|
01 | (5G15.7) | DELTA | DEPMIN | DEPMAX | UNUSED | ODELTA |
02 | (5G15.7) | B | E | O | A | INTERNAL |
03 | (5G15.7) | T0 | T1 | T2 | T3 | T4 |
04 | (5G15.7) | T5 | T6 | T7 | T8 | T9 |
05 | (5G15.7) | F | RESP0 | RESP1 | RESP2 | RESP3 |
06 | (5G15.7) | RESP4 | RESP5 | RESP6 | RESP7 | RESP8 |
07 | (5G15.7) | RESP9 | STLA | STLO | STEL | STDP |
08 | (5G15.7) | EVLA | EVLO | EVEL | EVDP | MAG |
09 | (5G15.7) | USER0 | USER1 | USER2 | USER3 | USER4 |
10 | (5G15.7) | USER5 | USER6 | USER7 | USER8 | USER9 |
11 | (5G15.7) | DIST | AZ | BAZ | GCARC | SB |
12 | (5G15.7) | SDELTA | DEPMEN | CMPAZ | CMPINC | XMINIMUM |
13 | (5G15.7) | XMAXIMUM | YMINIMUM | YMAXIMUM | ADJTM | UNUSED |
14 | (5G15.7) | UNUSED | UNUSED | UNUSED | UNUSED | UNUSED |
15 | (5I10) | NZYEAR | NZJDAY | NZHOUR | NZMIN | NZSEC |
16 | (5I10) | NZMSEC | NVHDR | NORID | NEVID | NPTS |
17 | (5I10) | NSNPTS | NWFID | NXSIZE | NYSIZE | UNUSED |
18 | (5I10) | IFTYPE | IDEP | IZTYPE | UNUSED | IINST |
19 | (5I10) | ISTREG | IEVREG | IEVTYP | IQUAL | ISYNTH |
20 | (5I10) | IMAGTYP | IMAGSRC | IBODY | UNUSED | UNUSED |
21 | (5I10) | UNUSED | UNUSED | UNUSED | UNUSED | UNUSED |
22 | (5I10) | LEVEN | LPSPOL | LOVROK | LCALDA | UNUSED |
23 | (A8,A16) | KSTNM | KEVNM | |||
24 | (3A8) | KHOLE | KO | KA | ||
25 | (3A8) | KT0 | KT1 | KT2 | ||
26 | (3A8) | KT3 | KT4 | KT5 | ||
27 | (3A8) | KT6 | KT7 | KT8 | ||
28 | (3A8) | KT9 | KF | KUSER0 | ||
29 | (3A8) | KUSER1 | KUSER2 | KCMPNM | ||
30 | (3A8) | KNETWK | KDATRD | KINST |
SAC Alphanumeric Data File Example
The header section and first five lines of the data section of a sample SAC alphanumeric data file is shown below. You can reproduce this file (with the entire data section) on your system by executing the following commands:
SAC> FUNCGEN SEISMOGRAM SAC> LH SAC> CH NVDHR 7 SAC> WRITE ALPHA TEMP1
You can read this alphanumeric file directly into SAC with the following commands:
SAC> READ TEMP1 SAC> LH
SAC knows the difference between an alphanumeric and binary SAC files and should be able to read them directly. You can specify an ALPHA flag to the READ command for backwards compatibility:
SAC> READ ALPHA TEMP1 SAC> LH
Listed next are the first lines of TEMP1 -- header plus first 8 lines of data and ending with the 22 lines of the footer (one line per variable).:
0.01000000 -1.569280 1.520640 -12345.00 -12345.00
9.459999 19.45000 -41.43000 10.46400 -12345.00
-12345.00 -12345.00 -12345.00 -12345.00 -12345.00
-12345.00 -12345.00 -12345.00 -12345.00 -12345.00
-12345.00 -12345.00 -12345.00 -12345.00 -12345.00
-12345.00 -12345.00 -12345.00 -12345.00 -12345.00
-12345.00 48.00000 -120.0000 -12345.00 -12345.00
48.00000 -125.0000 -12345.00 15.00000 -12345.00
-12345.00 -12345.00 -12345.00 -12345.00 -12345.00
-12345.00 -12345.00 -12345.00 -12345.00 -12345.00
373.0627 88.14721 271.8528 3.357465 -12345.00
-12345.00 -0.09854718 0.000000 0.000000 -12345.00
-12345.00 -12345.00 -12345.00 -12345.00 -12345.00
-12345.00 -12345.00 -12345.00 -12345.00 -12345.00
1981 88 10 38 14
0 7 0 0 1000
-12345 -12345 -12345 -12345 -12345 1 50 9 -12345 -12345 -12345 -12345 42 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 1 1 1 1 0 CDV K8108838 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -0.09728001 -0.09728001 -0.09856002 -0.09856002 -0.09728001 -0.09600000 -0.09472002 -0.09344001 -0.09344001 -0.09344001 -0.09344001 -0.09344001 -0.09472002 -0.09472002 -0.09344001 -0.09344001 -0.09216000 -0.09216000 -0.09216000 -0.09216000 -0.09088002 -0.09088002 -0.09216000 -0.09344001 -0.09472002 -0.09472002 -0.09472002 -0.09472002 -0.09472002 -0.09472002 -0.09344001 -0.09344001 -0.09216000 -0.09088002 -0.09088002 -0.09216000 -0.09216000 -0.09216000 -0.09344001 -0.09472002 .... 0.0099999997764825821 9.4599990844726562 19.449998861178756 -41.430000305175781 10.46399974822998 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -12345 -125 48 -120 48 -12345 -1234
Phase Picks
Name | Type | Description |
---|---|---|
A | F | First arrival time (seconds relative to reference time.) |
KA | K | First arrival time identification. |
F | F | Fini or end of event time (seconds relative to reference time.) |
KF | A | Fini identification. |
Tn | F | User defined time picks or markers, n = 0 - 9 (seconds relative to reference time). |
KT{n} | K | A User defined time pick identifications, n = 0 - 9. |
Instrument Fields
Name | Type | Description |
---|---|---|
KINST | K | Generic name of recording instrument. |
IINST | I | Type of recording instrument. [not currently used] |
RESPn | F | Instrument response parameters, n=0,9. [not currently used] |
Station Fields
Name | Type | Description |
---|---|---|
KNETWK | K | Name of seismic network. |
KSTNM | K | Station name. |
ISTREG | I | Station geographic region. [not currently used] |
STLA | F | Station latitude (degrees, north positive) |
STLO | F | Station longitude (degrees, east positive). |
STEL | F | Station elevation above sea level (meters). [not currently used] |
STDP | F | Station depth below surface (meters). [not currently used] |
CMPAZ | F | Component azimuth (degrees clockwise from north). |
CMPINC | F | Component incident angle (degrees from upward vertical; SEED/MINISEED uses dip: degrees from horizontal down). |
KCMPNM | K | Channel name. SEED volumes use three character names, and the third is the component/orientation. For horizontals, the current trend is to use 1 and 2 instead of N and E. |
KSTCMP | A | Station component. Derived from KSTNM, CMPAZ, and CMPINC. |
LPSPOL | L | TRUE if station components have a positive polarity (left-hand rule). |
Event Fields
Name | Type | Description |
---|---|---|
KEVNM | K | Event name. |
IEVREG | I | Event geographic region. [not currently used] |
EVLA | F | Event latitude (degrees, north positive). |
EVLO | F | Event longitude (degrees, east positive). |
EVEL | F | Event elevation (meters). [not currently used] |
EVDP | F | Event depth below surface (kilommeters -- previously meters) |
MAG | F | Event magnitude. |
IMAGTYP | I | Magnitude type: IMB (Bodywave Magnitude) IMS (Surfacewave Magnitude) IML (Local Magnitude) IMW (Moment Magnitude) IMD (Duration Magnitude) IMX (User Defined Magnitude) |
IMAGSRC | I | Source of magnitude information: INEIC (National Earthquake Information Center) IPDE (Preliminary Determination of Epicenter) IISC (Internation Seismological Centre) IREB (Reviewed Event Bulletin) IUSGS (US Geological Survey) IBRK (UC Berkeley) ICALTECH (California Institute of Technology) ILLNL (Lawrence Livermore National Laboratory) IEVLOC (Event Location (computer program) ) IJSOP (Joint Seismic Observation Program) IUSER (The individual using SAC2000) IUNKNOWN (unknown) |
IEVTYP | I | Type of event: IUNKN (Unknown) INUCL (Nuclear event) IPREN (Nuclear pre-shot event) IPOSTN (Nuclear post-shot event) IQUAKE (Earthquake) IPREQ (Foreshock) IPOSTQ (Aftershock) ICHEM (Chemical explosion) IQB (Quarry or mine blast confirmed by quarry) IQB1 (Quarry/mine blast with designed shot info-ripple fired) IQB2 (Quarry/mine blast with observed shot info-ripple fired) IQBX (Quarry or mine blast - single shot) IQMT (Quarry/mining-induced events: tremors and rockbursts) IEQ (Earthquake) IEQ1 (Earthquakes in a swarm or aftershock sequence) IEQ2 (Felt earthquake) IME (Marine explosion) IEX (Other explosion) INU (Nuclear explosion) INC (Nuclear cavity collapse) IO (Other source of known origin) IL (Local event of unknown origin) IR (Regional event of unknown origin) IT (Teleseismic event of unknown origin) IU (Undetermined or conflicting information) IOTHER (Other) |
NEVID | N | Event ID (CSS 3.0) |
NORID | N | Origin ID (CSS 3.0) |
NWFID | N | Waveform ID (CSS 3.0) |
KHOLE | K | Nuclear: hole identifier; Other: location identifier (LOCID). |
DIST | F | Station to event distance (km). |
AZ | F | Event to station azimuth (degrees). |
BAZ | F | Station to event azimuth (degrees). |
GCARC | F | Station to event great circle arc length (degrees). |
IBODY | I | Body / Spheroid definition used in Distance Calculations undef / -12345 Sac Historical Spheroid version a: 6378160.0 m f: 0.00335293 Important Note: For consistency with previous versions, it is best to leave the IBODY as undefined. This is not WGS-84, see IEARTH ISUN / 98 Sun Meftah2015 Rozelot2001 a: 696000000.0 m f: 8.189e-6 IMERCURY / 99 Mercury IAU2000 IAU-WGCCRE a: 2439700.0 m f: 0.0 IVENUS / 100 Venus IAU2000 IAU-WGCCRE a: 6051800.0 m f: 0.0 IEARTH / 101 WGS-84, EPSG:4325 a: 6378137.0 m f: 1.0 / 298.257223563 ( = 0.0033528106647474805) IMOON / 102 Moon IAU2000 IAU-WGCCRE a: 1737400.0 m f: 0.0 IMARS / 103 Mars IAU2000 IAU-WGCCRE a: 3396190.0 m f: 1.0 / 169.89444722361179 ( = 0.005886007555525457) |
Miscellaneous Fields
Name | Type | Description |
---|---|---|
LCALDA | L | TRUE if DIST, AZ, BAZ, and GCARC are to be calculated from station and event coordinates. |
IQUAL | I | Quality of data [not currently used]: IGOOD (Good data) IGLCH (Glitches) IDROP (Dropouts) ILOWSN (Low signal to noise ratio) IOTHER (Other) |
ISYNTH | I | Synthetic data flag [not currently used]: IRLDTA (Real data) ????? (Flags for various synthetic seismogram codes) |
KDATRD | K | Date data was read onto computer. |
USER{n} | F | User defined variable storage area, n = 0,9. |
KUSER{n} | K | User defined variable storage area, n = 0,2. |
LOVROK | L | TRUE if it is okay to overwrite this file on disk. |
NXSIZE | N | Spectral Length (Spectral files only) |
NYSIZE | N | Spectral Width (Spectral files only) |
XMINIMUM | F | Minimum value of X (Spectral files only) |
XMAXIMUM | F | Maximum value of X (Spectral files only) |
YMINIMUM | F | Minimum value of Y (Spectral files only) |
YMAXIMUM | F | Maximum value of Y (Spectral files only) |
REFERENCES
[IAU2000] https://link.springer.com/article/10.1023/A:1013939327465
Seidelmann, P., V. Abalakin, M. Bursa, M. Davies, C. De Bergh, J. Lieske, J. Oberst, J. Simon, E. Standish, P. Stooke, et al. (2002), Report of the IAU/IAG working group on cartographic coordinates and rotational elements of the planets and satellites: 2000, Celestial Mechanics and Dynamical Astronomy, 82 (1), 83–111.
[IAU-WGCCRE] https://astrogeology.usgs.gov/groups/IAU-WGCCRE
[Meftah2015] https://link.springer.com/article/10.1007%2Fs11207-015-0655-6
Meftah, M., A. Irbah, A. Hauchecorne, T. Corbard, S. Turck-Chi`eze, J.-F. Hochedez, P. Boumier, A. Cheva- lier, S. Dewitte, S. Mekaoui, et al. (2015), On the determination and constancy of the solar oblateness, Solar Physics, 290(3), 673–687.
- 8.189e-6 (Flattening)
[Rozelot2001] https://link.springer.com/article/10.1023/A:1005238718479
Rozelot, J. P., Godier, S., & Lefebvre, S. (2001). On the theory of the oblateness of the Sun. Solar Physics, 198(2), 223-240.
- 8.33e-6 (Flattening)
- 6.50e-6 - 10.20e-6 (Flattening Range)
LATEST REVISION
Version 102.0