SYNOPSIS
PERL PROGRAM NAME:
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SYNOPSIS
SEISMIC UNIX NOTES SUPSCONTOUR - PostScript CONTOUR plot of a segy data set
supscontour <stdin [optional parameters] > ...
Optional parameters:
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)
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.
See the pscontour selfdoc for the remaining parameters.
On NeXT: supscontour < infile [optional parameters] | open
Trace header fields accessed: ns, ntr, tracr, tracl, delrt, trid,
dt, d1, d2, f1, f2
Credits:
CWP: Dave Hale and Zhiming Li (pscontour, etc.)
Jack Cohen and John Stockwell (supscontour, etc.)
Delphi: Alexander Koek, added support for irregularly spaced traces
Aarhus University: Morten W. Pedersen copied everything from the xwigb
source and just replaced all occurencies of the word
Notes:
When the number of traces isn't known, we need to count
the traces for pscontour. 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 do have to count the traces, we use the "tmpfile"
routine because on many machines it is implemented
as a memory area instead of a disk file.
If your system does make a disk file, consider altering
the code to remove the file on interrupt. This could be
done either by trapping the interrupt with "signal"
or by using the "tmpnam" routine followed by an immediate
"remove" (aka "unlink" in old unix).
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.
User's notes (Juan Lorenzo)
untested V0.0.2 2.9.23 pipe out not allowed. Only redirect out is allowed.
CHANGES and their DATES
Import packages
instantiation of packages
Encapsulated hash of private variables
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
sub d1
sub d2
sub f1
sub f2
sub n2
sub tmpdir
sub verbose
sub get_max_index
max index = number of input variables -1