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