pswiggle(1) Plot anomaly along track on a map


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


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 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 direction, 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.
List one or more file-names. If no files are given, pswiggle will read standard input.
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.


-Jclon0/lat0/scale (Cassini)
-Jjlon0/scale (Miller)
-Jmscale (Mercator - Greenwich and Equator as origin)
-Jmlon0/lat0/scale (Mercator - Give meridian and standard 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 origin)
-Juzone/scale (UTM - Universal Transverse Mercator)
-Jylon0/lats/scale (Basic Cylindrical Projection)


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


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


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


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

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.
Gives anomaly scale in data-units/distance-unit.


No space between the option flag and the associated arguments.
Sets the preferred positive azimuth. Positive wiggles will "gravitate" towards that direction.
Sets map boundary tickmark intervals. See psbasemap for details.
Subtract center from the data set before plotting [0].
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.'
Sets the viewpoint's azimuth and elevation [180/90]'
Set fill of positive wiggles. [Default is black] Specify the shade (0-255) or color (r/g/b, each in 0-255).
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.
Set a fixed azimuth projection for wiggles [Default uses track azimuth, but see -A].
More PostScript code will be appended later [Default terminates the plot system].
Multiple segment file. Segments are separated by a record whose first character is flag. [Default is '>'].
Paint negative wiggles instead of positive [Default].
Selects binary output. Append s for single precision [Default is double].
Selects Portrait plotting mode [GMT Default is Landscape, see gmtdefaults to change this].
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
Draw track [Default is no track]. Append pen attributes to use [Defaults: width = 1, color = 0/0/0, texture = solid].
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.
Selects verbose mode, which will send progress reports to stderr [Default runs "silently"].
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)]. Applies to geographic coordinates only.
Specifies the number of plot copies. [Default is 1]
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].


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 >


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; }' | 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 }' | filter1d -Fb5 -N4/0 >

and plot this data set instead.