---
name: "pssac"
section: "1gmt"
platform: "linux"
package: "gmt-common"
version: "5.4.5+dfsg-2"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/pssac"
---

# pssac(1gmt)

Plot seismograms in SAC format on maps

## NAME

pssac - Plot seismograms in SAC format on maps

## SYNOPSIS

**pssac** \[ *saclist*\|*SACfiles* \]  **-J***parameters*\
  **-R***region* \[  **-B**\[**p**\|**s**\]*parameters* \] \[  **-C**\[*t0/t1*\] \] \[  **-D***dx*\[/*dy*\] \] \[  **-Ea**\|**b**\|**k**\|**d**\|**n**\[*n*\]\|**u**\[*n*\] \] \[  **-F**\[**i**\]\[**q**\]\[**r**\] \] \[  **-G**\[**p**\|**n**\]\[**+g***fill*\]\[**+z***zero*\]\[**+t***t0/t1*\] \] \[  **-K** \] \[  **-M***size*\[*u*\]\[/*alpha*\] \] \[  **-O** \] \[  **-P** \] \[  **-Q** \] \[  **-S**\[**i**\]*scale*\[*unit*\] \] \[  **-T**\[**+t***n*\]\[**+r***reduce\_vel*\]\[**+s***shift*\] \] \[  **-U**\[*stamp*\] \] \[  **-V**\[*level*\] \] \[  **-W***pen* \] \[  **-X***x\_offset* \] \[  **-Y***y\_offset* \] \[ **-h**headers \] \[ **-t**transp \]

**Note:** No space is allowed between the option flag and the associated arguments.

## DESCRIPTION

**pssac** reads *SACfiles* in SAC format or reads filenames and controlling parameters from *saclist* \[or standard input\] and generates PostScript that will plot seismograms on a map. The PostScript code is written to standard output.

## REQUIRED ARGUMENTS

- ***SACfiles***

  SAC files to plot on a map. Only evenly spaced SAC data is supported.

- ***saclist***

  One ASCII data table file holding a number of data columns. If *saclist* is not given then we read from standard input. Parameters are expected to be in the following columns:

  *filename* \[*X* *Y* \[*pen*\]\]

  *filename* is the name of SAC file to plot. *X* and *Y* are the position of seismograms to plot on a map. On linear plots, the default *X* is the begin time of SAC file, which will be adjusted if **-T** option is used, the default *Y* is determined by **-E** option. On geographic plots, the default *X* and *Y* are station longitude and latitude specified in SAC header. The *X* and *Y* given here will override the position determined by command line options. *pen*, if given, will override the pen from **-W** option for current SAC file only.

- **-J***parameters* (more ...)

  Select map projection.

- **-R***west*/*east*/*south*/*north*\[/*zmin*/*zmax*\]\[**+r**\]\[**+u***unit*\]

  *west*, *east*, *south*, and *north* specify the region of interest, and you may specify them in decimal degrees or in \[±\]dd:mm\[:ss.xxx\]\[**W**\|**E**\|**S**\|**N**\] format Append **+r** if lower left and upper right map coordinates are given instead of w/e/s/n. The two shorthands **-Rg** and **-Rd** stand for global domain (0/360 and -180/+180 in longitude respectively, with -90/+90 in latitude). Alternatively for grid creation, give **R***codelon*/*lat*/*nx*/*ny*, where *code* is a 2-character combination of L, C, R (for left, center, or right) and T, M, B for top, middle, or bottom. e.g., BL for lower left.  This indicates which point on a rectangular region the *lon*/*lat* coordinate refers to, and the grid dimensions *nx* and *ny* with grid spacings via **-I** is used to create the corresponding region. Alternatively, specify the name of an existing grid file and the **-R** settings (and grid spacing, if applicable) are copied from the grid. Appending **+u***unit* expects projected (Cartesian) coordinates compatible with chosen **-J** and we inversely project to determine actual rectangular geographic region. For perspective view (**-p**), optionally append /*zmin*/*zmax*. In case of perspective view (**-p**), a z-range (*zmin*, *zmax*) can be appended to indicate the third dimension. This needs to be done only when using the **-Jz** option, not when using only the **-p** option. In the latter case a perspective view of the plane is plotted, with no third dimension.

## OPTIONAL ARGUMENTS

- **-B**\[**p**\|**s**\]*parameters* (more ...)

  Set map boundary frame and axes attributes.

- **-C**\[*t0/t1*\]

  Read and plot seismograms in timewindow between *t0* and *t1* only. *t0* and *t1* are relative to a reference time specified by **-T**. If **-T** option is not specified, use the reference time (kzdate and kztime) defined in SAC header instead. If only **-C** is used, *t0/t1* is determined as *xmin/xmax* from **-R** option.

- **-D***dx*\[**/***dy*\]

  Offset seismogram positions by the given mount *dx/dy* \[Default is no offset\]. If *dy* is not given it is set equal to *dx*.

- **-Ea**\|**b**\|**k**\|**d**\|**n**\[*n*\]\|**u**\[*n*\]

  Choose profile type (the type of Y axis).

  **a**: azimuth profile.

  **b**: back-azimuth profile.

  **k**: epicentral distance (in km) profile.

  **d**: epicentral distance (in degree) profile.

  **n**: trace number profile. The *Y* position of first trace is numbered as *n* \[Default *n* is 0\].

  **u**: user defined profile. The *Y* positions are determined by SAC header variable user*n*, default using user0.

- **-F**\[**i**\]\[**q**\]\[**r**\]

  Data preprocess before plotting.

  **i**: integral

  **q**: square

  **r**: remove mean value

  **i\|q\|r** can repeat multiple times. For example, **-Frii** will convert acceleration to displacement. The order of **i\|q\|r** controls the order of the data processing.

- **-G**\[**p**\|**n**\]\[**+g***fill*\]\[**+z***zero*\]\[**+t***t0/t1*\]

  Paint positive or negative portion of traces. If only **-G** is used, default to fill the positive portion black.

  **p**\|**n** controls the painting of positive **p**ortion or **n**egative portion. Repeat **-G** option to specify fills for positive and negative portions, respectively.

  **+g***fill*: color to fill

  **+t***t0/t1*: paint traces between t0 and t1 only. The reference time of *t0* and *t1* is determined by **-T** option.

  **+z***zero*: define zero line. From *zero* to top is positive portion, from *zero* to bottom is negative portion.

- **-K** (more ...)

  Do not finalize the PostScript plot.

- **-M***size*\[*u*\]\[*/alpha*\]

  Vertical scaling.

  *size*\[*u*\]: scale all traces *size*\[*u*\] on a map. The default unit is PROJ\_LENGTH\_UNIT. The scaling factor is defined as **yscale = size\*(north-south)/(depmax-depmin)/map\_height**.

  *size*/*alpha*:

  *alpha* \< 0, use the same scaling factor for all traces. The scaling factor will scale the first trace to *size*\[*u*\].

  *alpha* = 0, multiply all traces by *size*. No unit is allowed.

  *alpha* \> 0, multiply all traces by **size\*r^alpha**, r is the distance range in km.

- **-O** (more ...)

  Append to existing PostScript plot.

- **-P** (more ...)

  Select "Portrait" plot orientation.

- **-Q**

  Plot traces vertically.

- **-S**\[**i**\]*scale*\[*unit*\]

  Sets time scale in seconds per \<unit\> while plotting on geographic plots. Append c, i, or p to indicate cm, inch or points as the unit. Use PROJ\_LENGTH\_UNIT if *unit* is omitted. Use -S**i***scaleunit* to give the reciprocal scale, i.e. cm per second or inch per second.

- **-T**\[**+t***n*\]\[**+r***reduce\_vel*\]\[**+s***shift*\]

  Time alignment and shift.

  **+t***tmark*: align all trace along time mark. *tmark* are -5(b), -4(e), -3(o), -2(a), 0-9(t0-t9).

  **+r***reduce\_vel*: reduce velocity in km/s.

  **+s***shift*: shift all traces by *shift* seconds.

- **-U**\[\[*just*\]/*dx*/*dy*/\]\[**c**\|*label*\] (more ...)

  Draw GMT time stamp logo on plot.

- **-V**\[*level*\] (more ...)

  Select verbosity level \[c\].

- **-W***pen*

  Set pen attributes for all traces unless overruled by *pen* specified in *saclist*. \[Defaults: width = default, color = black, style = solid\].

**-X**\[**a**\|**c**\|**f**\|**r**\]\[*x-shift*\[**u**\]\]

- **-Y**\[**a**\|**c**\|**f**\|**r**\]\[*y-shift*\[**u**\]\] (more ...)

  Shift plot origin.

- **-h**\[**i**\|**o**\]\[*n*\]\[**+c**\]\[**+d**\]\[**+r***remark*\]\[**+r***title*\] (more ...)

  Skip or produce header record(s).

- **-t**\[*transp*\] (more ...)

  Set PDF transparency level in percent.

- **-^** or just **-**

  Print a short message about the syntax of the command, then exits (NOTE: on Windows just use **-**).

- **-+** or just **+**

  Print an extensive usage (help) message, including the explanation of any module-specific option (but not the GMT common options), then exits.

- **-?** or no arguments

  Print a complete usage (help) message, including the explanation of all options, then exits.

## EXAMPLES

To plot a single seismogram seis.SAC (generated by SAC command **funcgen seismogram**) and paint positive portion black and negative portion red:

```
gmt pssac seis.SAC -JX10c/5c -R9/20/-2/2 -Baf -Fr -Gp+gblack -Gn+gred > single.ps
```

To plot several seismograms (generated by SAC command **datagen sub tele \*.z**) on a distance profile:

```
gmt pssac *.z -R200/1600/12/45 -JX15c/5c -Bx200+l'T(s)' -By5+lDegree -BWSen \
    -Ed -M1.5c -W0.5p,red > distance_profile.ps
```

To plot seismograms (generated by SAC command **datagen sub tele \*.z**) on a geographic map:

```
gmt pssac *.z -JM15c -R-120/-40/35/65 -Baf -M1i -S300c -K > map.ps
saclst stlo stla f *.z | gmt psxy -J -R -St0.4c -Gblack -i1,2 -O >> map.ps
```

## SEE ALSO

psmeca, pspolar, pscoupe, psvelo, gmt, psbasemap, psxy

## REFERENCES

Refer to *SAC User Manual* for more details on SAC format and SAC header variables.

## AUTHORS

Dongdong Tian, School of Earth and Space Sciences, University of Science and Technology of China, Hefei, Anhui, China

## COPYRIGHT

2019, P. Wessel, W. H. F. Smith, R. Scharroo, J. Luis, and F. Wobbe
