DOCUMENTATION
SYNOPSIS
PERL PROGRAM NAME: supswigp - PostScript Bit-mapped WIGgle plot of a segy data set AUTHOR: Juan Lorenzo (Perl module only) DATE: DESCRIPTION: Version:
USE
NOTES
Examples
SEISMIC UNIX NOTES
supswigp - PostScript Bit-mapped WIGgle plot of a segy data set
supswigp <stdin [optional parameters] >
Optional parameters:
key=(keyword) if set, the values of x2 are set from header field
specified by keyword
n2=tr.ntr or number of traces in the data set (ntr is an alias for n2)
d1=tr.d1 or tr.dt/10^6 sampling interval in the fast dimension
=.004 for seismic (if not set)
=1.0 for nonseismic (if not set)
d2=tr.d2 sampling interval in the slow dimension
=1.0 (if not set)
f1=tr.f1 or tr.delrt/10^3 or 0.0 first sample in the fast dimension
f2=tr.f2 or tr.tracr or tr.tracl first sample in the slow dimension
=1.0 for seismic (if not set)
=d2 for nonseismic (if not set)
style=seismic normal (axis 1 horizontal, axis 2 vertical) or
vsp (same as normal with axis 2 reversed)
Note: vsp requires use of a keyword
verbose=0 =1 to print some useful information
tmpdir= if non-empty, use the value as a directory path
prefix for storing temporary files; else if the
the CWP_TMPDIR environment variable is set use
its value for the path; else use tmpfile()
Note that for seismic time domain data, the "fast dimension" is
time and the "slow dimension" is usually trace number or range.
Also note that "foreign" data tapes may have something unexpected
in the d2,f2 fields, use segyclean to clear these if you can afford
the processing time or use d2= f2= to override the header values if
not.
If key=keyword is set, then the values of x2 are taken from the header
field represented by the keyword (for example key=offset, will show
traces in true offset). This permit unequally spaced traces to be plotted.
Type sukeyword -o to see the complete list of SU keywords.
This program is really just a wrapper for the plotting program: pswigb
See the pswigb selfdoc for the remaining parameters.
Trace header fields accessed: ns, ntr, tracr, tracl, delrt, trid,
dt, d1, d2, f1, f2, keyword (if set)
Credits:
CWP: Dave Hale and Zhiming Li (pswigb, etc.)
Jack Cohen and John Stockwell (supswigp, etc.)
Delphi: Alexander Koek, added support for irregularly spaced traces
Modified by Brian Zook, Southwest Research Institute, to honor
scale factors, added vsp style
Notes:
When the number of traces isn't known, we need to count
the traces for pswigb. You can make this value "known"
either by getparring n2 or by having the ntr field set
in the trace header. A getparred value takes precedence
over the value in the trace header.
When we must compute ntr, we don't allocate a 2-d array,
but just content ourselves with copying trace by trace from
the data "file" to the pipe into the plotting program.
Although we could use tr.data, we allocate a trace buffer
for code clarity.
supswigp inherits all the properties of PSWIGP
PSWIGP - PostScript WIGgle-trace plot of f(x1,x2) via Polygons Best for few traces. Use PSWIGB (Bitmap version) for many traces.
pswigp n1= [optional parameters] <binaryfile >postscriptfile
Required Parameters:
n1 number of samples in 1st (fast) dimension
Optional Parameters:
d1=1.0 sampling interval in 1st dimension
f1=0.0 first sample in 1st dimension
n2=all number of samples in 2| ...nd (slow) dimension
d2=1.0 sampling interval in 2nd dimension
f2=0.0 first sample in 2nd dimension
x2=f2,f2+d2,... array of sampled values in 2nd dimension
bias=0.0 data value corresponding to location along axis 2
perc=100.0 percentile for determining clip
clip=(perc percentile) data values < bias+clip and > bias-clip are clipped
xcur=1.0 wiggle excursion in traces corresponding to clip
fill=1 =0 for no fill;
>0 for pos. fill;
<0 for neg. fill
=2 for pos. fill solid, neg. fill grey
=-2for neg. fill solid, pos. fill grey
SHADING: 2<=abs(fill)<=5 2=lightgrey 5=black
linewidth=1.0 linewidth in points (0.0 for thinest visible line)
tracecolor=black color of traces; should contrast with background
backcolor=none color of background; none means no background
verbose=1 =1 for info printed on stderr (0 for no info)
xbox=1.5 offset in inches of left side of axes box
ybox=1.5 offset in inches of bottom side of axes box
wbox=6.0 width in inches of axes box
hbox=8.0 height in inches of axes box
x1beg=x1min value at which axis 1 begins
x1end=x1max value at which axis 1 ends
d1num=0.0 numbered tic interval on axis 1 (0.0 for automatic)
f1num=x1min first numbered tic on axis 1 (used if d1num not 0.0)
n1tic=1 number of tics per numbered tic on axis 1
grid1=none grid lines on axis 1 - none, dot, dash, or solid
label1= label on axis 1
x2beg=x2min value at which axis 2 begins
x2end=x2max value at which axis 2 ends
d2num=0.0 numbered tic interval on axis 2 (0.0 for automatic)
f2num=x2min first numbered tic on axis 2 (used if d2num not 0.0)
n2tic=1 number of tics per numbered tic on axis 2
grid2=none grid lines on axis 2 - none, dot, dash, or solid
label2= label on axis 2
labelfont=Helvetica font name for axes labels
labelsize=18 font size for axes labels
title= title of plot
titlefont=Helvetica-Bold font name for title
titlesize=24 font size for title
titlecolor=black color of title
axescolor=black color of axes
gridcolor=black color of grid | ...
axeswidth=1 width (in points) of axes
ticwidth=axeswidth width (in points) of tic marks
gridwidth=axeswidth width (in points) of grid lines
style=seismic normal (axis 1 horizontal, axis 2 vertical) or
seismic (axis 1 vertical, axis 2 horizontal)
curve=curve1,curve2,... file(s) containing points to draw curve(s)
npair=n1,n2,n2,... number(s) of pairs in each file
curvecolor=black,.. color of curve(s)
curvewidth=axeswidth width (in points) of curve(s)
curvedash=0 solid curve(s), dash indices 1,...,11 produce
curve(s) with various dash styles
Note: linewidth=0.0 produces the thinest possible line on the output.
device. Thus the result is device-dependent, put generally looks the
best for seismic traces.
The curve file is an ascii file with the points specified as x1 x2 pairs,
one pair to a line. A "vector" of curve files and curve colors may
be specified as curvefile=file1,file2,etc. and similarly
curvecolor=color1,color2,etc, and the number | ...of pairs of values
in each file as npair=npair1,npair2,... .
All color specifications may also be made in X Window style Hex format
example: axescolor=#255
Legal font names are:
AvantGarde-Book AvantGarde-BookOblique AvantGarde-Demi AvantGarde-DemiOblique"
Bookman-Demi Bookman-DemiItalic Bookman-Light Bookman-LightItalic
Courier Courier-Bold Courier-BoldOblique Courier-Oblique
Helvetica Helvetica-Bold Helvetica-BoldOblique Helvetica-Oblique
Helvetica-Narrow Helvetica-Narrow-Bold Helvetica-Narrow-BoldOblique
Helvetica-Narrow-Oblique NewCentrySchlbk-Bold"
NewCenturySchlbk-BoldItalic NewCenturySchlbk-Roman Palatino-Bold
Palatino-BoldItalic Palatino-Italics Palatino-Roman
SanSerif-Bold SanSerif-BoldItalic SanSerif-Roman
Symbol Times-Bold Times-BoldItalic
Times-Roman Times-Italic ZapfChancery-MediumItalic
CHANGES and their DATES
VERSION = '0.0.2'; 02.09.23 Only redirection allowed.
sub Step
collects switches and assembles bash instructions by adding the program name
sub note
collects switches and assembles bash instructions by adding the program name
sub clear
50 + 43 personalized params
clear global variables from the memory
sub absclip
define min and max plotting values
define min and max plotting values
sub bclip
sub bias
G. Bonot 091718 Only shows data to the right (along axis 2) of each sample data value. Data accounts for the right side of waveform amplitude and is adjusted on input
sub box_X0_inch
sub box_Y0_inch
sub box_height_inch
sub box_width_inch
sub clip
define min and max plotting values
sub cmap define min and max plotting values
sub curve
sub curvecolor
sub curvefile
sub d1
increment in fast dimension
usually time and equal to dt
subs d1 and dt
increment in fast dimension
usually time and equal to dt
sub dt_major_divisions
subs d1num, y_tick_increment dy_major_divisions dt_major_divisions
numbered tick increments along x axis
usually in m and only for display
Kenny Lau
16 Sept 2018
Changes the interval between ticks
subs trace_inc trace_inc_m, dx and d2
increment in fast dimension
usually time and equal to dt
only the first trace is read in
if an increment is not 1 between traces
you should indicate here
distance increment between traces
sub dy_major_divisions
subs d1num, y_tick_increment dy_major_divisions dt_major_divisions
numbered tick increments along x axis
usually in m and only for display
Kenny Lau
16 Sept 2018
Changes the interval between ticks
sub d1num
subs d1num, y_tick_increment dy_major_divisions dt_major_divisions
numbered tick increments along x axis
usually in m and only for display
Kenny Lau
16 Sept 2018
Changes the interval between ticks
subs trace_inc trace_inc_m, dx and d2
increment in fast dimension
usually time and equal to dt
only the first trace is read in
if an increment is not 1 between traces
you should indicate here
distance increment between traces
subs d2num dx_major_divisions and x_tick_increment
numbered tick increments along x axis
usually in m and only for display
sub endian
subs f1, first_time_sample_value and first_y
value of the first sample tihat is used
sub f1num
subs f1num and first_time_tick_num
first number at the first tick
Kenny Lau
16 Sept 2018
Changes the first number at the first tick
sub f2
subs f2 and first_distance_sample_value first_x
value of the first sample tihat is used
first value in the second dimension (X)
G. Bonot 091718
Shifts first sample data to right by amount input
i.e., f2=5 makes data befin at 5 on the x axis.
sub f2num subs f2num and first_distance_tick_num
first number at the first tick
GTL18
First number of x axis. Not incremental; only represents the
single first vale. X- axis increments ( d2num not equal to 0)
must be created to use this feature; strictly for visual representation
subs f2 and first_distance_sample_value first_x
value of the first sample tihat is used
first value in the second dimension (X)
sub first_distance_tick_num subs f2num and first_distance_tick_num
first number at the first tick
GTL18
First number of x axis. Not incremental; only represents the
single first vale. X- axis increments ( d2num not equal to 0)
must be created to use this feature; strictly for visual representation
subs f1, first_time_sample_value and first_y
value of the first sample tihat is used
sub first_time_tick_num
subs f1num and first_time_tick_num
first number at the first tick
Kenny Lau
16 Sept 2018
Changes the first number at the first tick
subs f2 and first_distance_sample_value first_x
value of the first sample tihat is used
first value in the second dimension (X)
subs f1, first_time_sample_value and first_y
value of the first sample tihat is used
sub ftr
sub grid1
Kenny Lau
16 Sept 2018
Changes the type of line on the first axis
sub grid2
A. Sivil 091718
Adds grid lines above x axis as either a dot, dash or a solid line
sub gridcolor
sub hbox
sub headerword
sub header_word
sub hiclip
sub hi_clip
sub interp
sub key
sub label1
sub label2
A. Sivil 091718
Adds label above x axis in top-right corner
sub labelcolor
sub labelfont
A. Sivil 091718
Changes font for label
sub lo_clip
sub loclip
sub mpicks
G. Bonot 091718 Input a file name to which your mouse clicks are to be saved. No visible change observed in xwigb
sub n1
sub n1tic
subs n1tic and num_minor_ticks_betw_time_ticks
n1tic=1 number of minor ticks shwon between each
of the numbered ticks on axis 1 (usually time and pointing down)
Kenny Lau
16 Sept 2018
Breaks down one tick into X number of minor ticks
sub n2
ssubs n2tic and num_minor_ticks_betw_distance_ticks
n2tic=1 number of minor ticks shwon between each
of the numbered ticks on axis 1 (usually time and pointing down)
A. Sivil 091718
Adds minor ticks between each numbered tick on axis 1
sub npair
ssubs n2tic and num_minor_ticks_betw_distance_ticks
n2tic=1 number of minor ticks shwon between each
of the numbered ticks on axis 1 (usually time and pointing down)
A. Sivil 091718
Adds minor ticks between each numbered tick on axis 1
sub num_minor_ticks_betw_time_ticks
subs n1tic and num_minor_ticks_betw_time_ticks
n1tic=1 number of minor ticks shwon between each
of the numbered ticks on axis 1 (usually time and pointing down)
Kenny Lau
16 Sept 2018
Breaks down one tick into X number of minor ticks
sub orientation
seismic style of plotting (time axis pointing down)
versus mathematical ( y axis up)
sub perc
sub percent
sub picks
automatically generates a pick file
sub plotfile
sub shading plot data using a variable area scheme also sub shading Rachel Gnieski 091718 Plot data using a variable area scheme: Should change the shading of the plot background by inputting a value between 2 and 5 but could not get it to function
sub style
seismic style of plotting (time axis pointing down)
versus mathematical ( y axis up)
sub title
allows for a default graph title ($on) or
a user-defined title
sub titlecolor
allows for a default graph title ($on) or
a user-defined title
sub titlefont
sub tmpdir
subs trace_inc trace_inc_m, dx and d2
increment in fast dimension
usually time and equal to dt
only the first trace is read in
if an increment is not 1 between traces
you should indicate here
distance increment between traces
subs trace_inc trace_inc_m, dx and d2
increment in fast dimension
usually time and equal to dt
only the first trace is read in
if an increment is not 1 between traces
you should indicate here
distance increment between traces
sub tend_s
minimum value of yaxis (time usually) in seconds
sub tstart_s
minimum value of yaxis (time usually) in seconds
sub va plot data using a variable area scheme also sub shading Rachel Gnieski 091718 Plot data using a variable area scheme: Should change the shading of the plot background by inputting a value between 2 and 5 but could not get it to function
sub verbose
sub wbox
sub wclip
sub wigclip
sub windowtitle
sub wt
sub x1beg
minimum value of yaxis (time usually) in seconds
sub x1end
minimum value of yaxis (time usually) in seconds
sub x2
G. Bonot 091718 Lists array of values in the second dimension; displays one isolated sample value in different of the input value
sub x2beg
minimum value of x axis (time usually) in seconds
First value shown on x axis GTL18
sub x2end
max value of xaxis (distance or traces, usually) in seconds
Last value for data shown on x axis GTL18
sub xbox
Rachel Gnieski 091718
x pixels fo the upper corner of the window: Changing this value determines where the
graph will open up on the screen based on the horizontal row of pixels
sub xcur
how many adjacent wiggles can be overploted
sub xend_m
subs xlabel or label2 ylabel or label1
sub xstart_m
subs d2num dx_major_divisions and x_tick_increment
numbered tick increments along x axis
usually in m and only for display
sub ybox
Rachel Gnieski 091718
y pixels for the upper left corner of the window. Changing this value determines
where the graph will open up on the screen based on the vertical column of pixes.
subs ylabel or label1
sub y_tick_increment
subs d1num, y_tick_increment dy_major_divisions dt_major_divisions
numbered tick increments along x axis
usually in m and only for display
Kenny Lau
16 Sept 2018
Changes the interval between ticks
sub axescolor
sub axeswidth
sub backcolor
sub curvedash
sub fill
sub gridwidth
sub labelsize
sub linewidth
sub ticwidth
sub titlesize
sub tracecolor
sub get_max_index
max index = number of input variables -1