## NAME

           pswiggle - Plot anomaly along track on a map

## SYNOPSIS

           pswiggle  xyz_files  -Jparameters  -Rwest/east/south/north[r] -Zscale [
           -Aazimuth ] [ -Btickinfo ] [ -Ccenter ] [ -Dgap ] [ -Eazimuth/elevation
           ]  [ -Gfillrgb ] [ -H[nrec] ] [ -Ifix_az ] [ -K ] [ -M[flag] ] [ -N ] [
           -O ] [  -P  ]  [  -S[x]lon0/lat0/length[units]  ]  [  -Ttrack_pen  ]  [
           -U[/dx/dy/][label] ] [ -V  ] [ -Wwiggle_pen ] [ -Xx-shift ] [ -Yy-shift
           ] [ -ccopies ] [ -: ] [ -bi[s][n] ]

## DESCRIPTION

           pswiggle reads (x,y,z) triplets from  files  [or  standard  input]  and
           plots z as a function of distance along track. This means that two con-
           secutive (x,y) points define the local distance axis, and the  local  z
           axis  is  then  perpendicular  to the distance axis. The user may set a
           preferred positive anomaly plot direction, and if the  positive  normal
           is  outside the plus/minus 90 degree window around the preferred direc-
           tion, then 180 degrees are added to the direction. Either the  positive
           or  the negative wiggle may be shaded. The resulting PostScript code is
           written to standard output.

           files  List one or more file-names. If no  files  are  given,  pswiggle
                  will read standard input.

           -J     Selects  the  map  projection. Scale is UNIT/degree, 1:xxxxx, or
                  width in UNIT (upper case modifier).  UNIT is cm,  inch,  or  m,
                  depending  on the MEASURE_UNIT setting in .gmtdefaults, but this
                  can be overridden on the command line by appending the c, i,  or
                  m to the scale/width value.

                  CYLINDRICAL PROJECTIONS:

                  -Jclon0/lat0/scale (Cassini)
                  -Jjlon0/scale (Miller)
                  -Jmscale (Mercator - Greenwich and Equator as origin)
                  -Jmlon0/lat0/scale (Mercator - Give meridian and standard paral-
                  lel)
                  -Joalon0/lat0/azimuth/scale  (Oblique  Mercator  -   point   and
                  azimuth)
                  -Joblon0/lat0/lon1/lat1/scale (Oblique Mercator - two points)
                  -Joclon0/lat0/lonp/latp/scale  (Oblique  Mercator  -  point  and
                  pole)
                  -Jqlon0/scale (Equidistant Cylindrical  Projection  (Plate  Car-
                  ree))
                  -Jtlon0/scale (TM - Transverse Mercator, with Equator as y = 0)
                  -Jtlon0/lat0/scale (TM - Transverse Mercator, set origin)
                  -Juzone/scale (UTM - Universal Transverse Mercator)
                  -Jylon0/lats/scale (Basic Cylindrical Projection)

                  AZIMUTHAL PROJECTIONS:

                  -Jalon0/lat0/scale (Lambert).
                  -Jelon0/lat0/scale (Equidistant).
                  -Jflon0/lat0/horizon/scale (Gnomonic).
                  -Jglon0/lat0/scale (Orthographic).
                  -Jslon0/lat0/[slat/]scale (General Stereographic)

                  CONIC PROJECTIONS:

                  -Jblon0/lat0/lat1/lat2/scale (Albers)
                  -Jdlon0/lat0/lat1/lat2/scale (Equidistant)
                  -Jllon0/lat0/lat1/lat2/scale (Lambert)

                  MISCELLANEOUS PROJECTIONS:

                  -Jhlon0/scale (Hammer)
                  -Jilon0/scale (Sinusoidal)
                  -Jk[f|s]lon0/scale (Eckert IV (f) and VI (s))
                  -Jnlon0/scale (Robinson)
                  -Jrlon0/scale (Winkel Tripel)
                  -Jvlon0/scale (Van der Grinten)
                  -Jwlon0/scale (Mollweide)

                  NON-GEOGRAPHICAL PROJECTIONS:

                  -Jp[a]scale[/origin]  (polar  (theta,r)  coordinates, optional a
                  for azimuths and offset theta [0])
                  -Jxx-scale[l|ppow][/y-scale[l|ppow]]  (Linear,  log,  and  power
                  scaling)
                  More details can be found in the psbasemap manpages.

           -R     west,  east, south, and north specify the Region of interest. To
                  specify boundaries in degrees and minutes [and seconds], use the
                  dd:mm[:ss]  format.  Append  r if lower left and upper right map
                  coordinates are given instead of wesn.

           -Z     Gives anomaly scale in data-units/distance-unit.

## OPTIONS

           No space between the option flag and the associated arguments.

           -A     Sets the  preferred  positive  azimuth.  Positive  wiggles  will
                  "gravitate" towards that direction.

           -B     Sets map boundary tickmark intervals; see the psbasemap man page
                  for details.

           -C     Subtract center from the data set before plotting [0].

           -D     Means there is a data gap if 2 consecutive points are more  than
                  gap  distance units apart. For longitude/latitude data gap is in
                  km, else it is in the user’s units.’

           -E     Sets the viewpoint’s azimuth and elevation [180/90]’

           -G     Set fill of positive wiggles. [Default is black]

           -G     Set fill of positive wiggles. [Default  is  black]  Specify  the
                  shade (0-255) or color (r/g/b), or -Gpdpi/pattern, where pattern
                  gives the number of the built-in pattern (1-90) OR the name of a
                  Sun  1-,  8-, or 24-bit raster file.  dpi sets the resolution of
                  the image. For 1-bit rasters: use  -GP  for  inverse  video,  or
                  append  :Fr/g/b[B[r/g/b]] to specify fore- and background colors
                  (use r/g/b = - for transparency).  See GMT Cookbook &  Technical
                  Reference Appendix E for information on individual patterns.

           -H     Input file(s) has Header record(s). Number of header records can
                  be changed by editing  your  .gmtdefaults  file.  If  used,  GMT
                  default is 1 header record.

           -I     Set  a  fixed azimuth projection for wiggles [Default uses track
                  azimuth, but see -A].

           -K     More PostScript code will be appended later [Default  terminates
                  the plot system].

           -M     Multiple  segment file. Segments are separated by a record whose
                  first character is flag.  [Default is ’>’].

           -N     Paint negative wiggles instead of positive [Default].

           -O     Selects Overlay plot mode [Default initializes a new  plot  sys-
                  tem].

           -P     Selects  Portrait  plotting  mode [GMT Default is Landscape, see
                  gmtdefaults to change this].

           -S     Draws a simple vertical scale centered on lon0/lat0. Use -Sx  to
                  specify  cartesian  coordinates  instead.  length is in z units,
                  append unit name for labeling

           -T     Draw track [Default is no track]. Append pen attributes  to  use
                  [Defaults: width = 1, color = 0/0/0, texture = solid].

           -U     Draw  Unix System time stamp on plot. User may specify where the
                  lower left corner of the stamp should fall on the page  relative
                  to  lower  left corner of plot. Optionally, append a label, or c
                  (which will  plot  the  command  string.).  The  GMT  parameters
                  UNIX_TIME  and  UNIX_TIME_POS can affect the appearance; see the
                  gmtdefaults man page for details.

           -V     Selects verbose mode, which will send progress reports to stderr
                  [Default runs "silently"].

           -W     Draw   wiggle  outline  [Default  is  no  outline].  Append  pen
                  attributes to use [Defaults: width = 1, color = 0/0/0, texture =
                  solid].

           -X -Y  Shift  origin of plot by (x-shift,y-shift).  Prepend a for abso-
                  lute coordinates; the default (r) will reset plot origin.

           -:     Toggles between  (longitude,latitude)  and  (latitude,longitude)
                  input/output.  [Default  is  (longitude,latitude)].   Applies to
                  geographic coordinates only.

           -c     Specifies the number of plot copies. [Default is 1]

           -bi    Selects binary input. Append s for single precision [Default  is
                  double].   Append  n  for  the  number  of columns in the binary
                  file(s).  [Default is 3 input columns].

## EXAMPLES

           To plot the magnetic anomaly stored in the file track.xym along track @
           1000 nTesla/cm (after removing a mean value of 32000 Tesla), using a 15
           -cm-wide Polar Stereographic map ticked every  5  degrees  in  Portrait
           mode,  with  positive  anomalies  in  red on a blue track of width 0.25
           points, try

           pswiggle track.xym -R-20/10/-80/-60 -JS0/90/15c -Z1000 -B5 -P -G255/0/0
           -T0.25p/0/0/255 -S1000 -V > track_xym.ps

## BUGS

           Sometimes the (x,y) coordinates are not printed with enough significant
           digits, so the local perpendicular to the track swings around a lot. To
           see if this is the problem, you should do this:

           awk ’{ if (NR > 1) print atan2(y-$1, x-$2); y=$1; x=$2; }’ yourdata.xyz
           | more

           (note that output is in radians; on some machines you need "nawk" to do
           this).  Then if these numbers jump around a lot, you may do this:

           gmtset D_FORMAT %.12lg
           awk   ’{  print  NR,  $0  }’  yourdata.xyz  |  filter1d  -Fb5  -N4/0  >
           smoothed.xyz

           and plot this data set instead.

## SEE ALSO

           gmt(l), filter1d(l), psbasemap(l), splitxyz(l)

    GMT3.4.6                          1 Jan 2005                       PSWIGGLE(l)