SYNOPSIS
PERL PROGRAM NAME:
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SYNOPSIS
SEISMIC UNIX NOTES SEGDREAD - read an SEG-D tape
segdread > stdout tape=
Required parameters:
tape= input tape device
tape=- to read from stdin
Optional parameters:
use_stdio=0 for record devices (9-track reel tape drive)
=1 for pipe, disk and fixed-block 8mm drives
verbose=0 silent operation
= 1 ; echo every 'vblock' traces
= 2 ; echo information about blocks
vblock=50 echo every 'vblock' traces under verbose option
ptmin=1 first shot to read
ptmax=INT_MAX last shot to read
gain=0 no application of gain
aux=0 no recovery of auxiliary traces
errmax=0 allowable number of consecutive tape IO errors
ns=0 override of computed ns to work around SEG-D
flaws. Ignored when use_stdio=0.
pivot_year=30 Use current century for 2 digit yrs less than
pivot_year, previous century otherwise.
type: sudoc segdread for further information
Credits:
for version 1:
IPRA, Pau, France: Dominique Rousset, rousset@iprrs1.univ-pau.fr
for version 2.2:
EOST, Strasbourg, France: Celine Girard
for versions 2.3:
EOST, Strasbourg, France: Marc Schaming, mschaming@eost.u-strasbg.fr
for version 2.4:
SEP, Stanford University: Stew Levin, stew@sep.stanford.edu
a) Changed definitions of BCD_FF/BCD_FFFF
b) Corrected decoding of general_header_1 in info_gh1.
c) Changed buff=0 to use_stdio=1 to avoid confusion (stdio
IS buffered I/O). Kept old buff= internally for backwards
compatibility.
d) Changed F8015 decoding of negative mantissas to avoid
1 part in 2^14th decoding error on 2's complement platforms.
e) Adapted F8015 to F0015 decoding routine. Unused, but now available.
f) Use AT&T sfio package for tape read.
g) Handle endian and wordsize dependencies portably (I think).
g) Allow tape=- command line argument to accept input from stdin.
h) Compute trace length explicitly from headers so that disk data
input can work.
i) Correct tape trace length calculation to account for demux
trace header extensions.
j) Fix a couple of typos in comments and selfdoc
k) Added F8022 for 1 byte quaternary exponent demux.
l) Added F8024 for 2 byte quaternary exponent demux.
m) Added F8042 for 1 byte hexadecimal exponent demux.
n) Added F8044 for 2 byte hexadecimal exponent demux.
o) Added F8048 for 4 byte hexadecimal exponent demux.
p) Added F8036 for 2 byte 2's complement integer demux.
q) Added F8038 for 4 byte 2's complement integer demux.
r) Added F8058 for 4 byte IEEE float demux.
s) Added ns= parameter to work around bad SEG-D trace
length specifications in headers.
for version 2.5:
SEP, Stanford University: Stew Levin, stew@sep.stanford.edu
a) Added pivot_year to disambiguate decoding of 2-digit yrs
b) Modified decode of 2-byte BCD to avoid endian problems
c) Modified debug printout to fix endian BCD display problems
d) Don't let dem_trace_header override ns specified on command line
e) Removed extra factor of two in decoding of general_header_1.r
f) Removed conditional disabling of sfio
for version 2.6:
SEP, Stanford University: Stew Levin, stew@sep.stanford.edu
a) tightened test for Sercel 358
b) modified 8015 conversion to handle Sercel 358/368 misuse of
two's complement instead of one's complement.
--------------------------------------------------------------------
SEGDREAD: Version 2.1, 10/10/94
Version 2.2, 17/08/95
Version 2.3, 04/1997 Thu Apr 10 11:55:45 DFT 1997
Version 2.4, 10/03/98 Tue Mar 10 1998
Version 2.5, Feb 4, 2001
Version 2.6, May 26, 2009
--------------------------------------------------------------------
User's notes (Juan Lorenzo) untested
Example:
$segdread->clear();
$segdread->tape($segdread_inbound[1]);
$segdread->verbose(1);
$segdread->ptmax(1);
$segdread->aux(0);
$segdread->use_stdio(1);
$segdread[1] = $segdread->Step();
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 aux
sub buff
sub errmax
sub gain
sub ns
sub pivot_year
sub ptmax
sub ptmin
sub tape
sub use_stdio
sub vblock
sub verbose
sub get_max_index
max index = number of input variables -1