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  consecutive  (x,y)  points  define  the
     local distance axis, and the local z axis is then perpendic-
     ular 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  pre-
     ferred  direction,  then 180 degrees are added to the direc-
     tion.  Either the positive or the  negative  wiggle  may  be
     shaded.   The  resulting PostScript code is written to stan-
     dard 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  set-
          ting 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  stan-
          dard parallel)
          -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 Carree))
          -Jtlon0/scale (TM - Transverse Mercator,  with  Equator
          as y = 0)
          -Jtlon0/lat0/scale (TM - Transverse Mercator, set  ori-
          gin)
          -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/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:

          -Jpscale[/origin] (polar (theta,r) coordinates, option-
          ally 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  argu-
     ments.

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

     -B   Sets map boundary tickmark intervals. See psbasemap 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]
          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  back-
          ground  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 system].

     -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  attri-
          butes  to use [Defaults: width = 1, color = 0/0/0, tex-
          ture = 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.)

     -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  absolute  coordinates;  the default (r) will reset
          plot origin.

     -:   Toggles      between      (longitude,latitude)      and
          (latitude,longitude)    input/output.     [Default   is
          (longitude,latitude)].

     -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)