SYNOPSIS
PERL PROGRAM NAME:
AUTHOR: Juan Lorenzo (Perl module only)
DATE:
DESCRIPTION:
Version:
USE
NOTES
Examples
SYNOPSIS
SEISMIC UNIX NOTES SEGYWRITE - write an SEG-Y tape
segywrite <stdin tape=
Required parameters:
tape= tape device to use (see sudoc segyread)
Optional parameter:
verbose=0 silent operation
=1 ; echo every 'vblock' traces
vblock=50 echo every 'vblock' traces under verbose option
buff=1 for buffered device (9-track reel tape drive)
=0 possibly useful for 8mm EXABYTE drive
conv=1 =0 don't convert to IBM format
ebcdic=1 convert text header to ebcdic, =0 leave as ascii
hfile=header ebcdic card image header file
bfile=binary binary header file
trmin=1 first trace to write
trmax=INT_MAX last trace to write
endian=(autodetected) =1 for big-endian and =0 for little-endian byte order
errmax=0 allowable number of consecutive tape IO errors
format= override value of format in binary header file
Note: The header files may be created with 'segyhdrs'.
Note: For buff=1 (default) tape is accessed with 'write', for buff=0
tape is accessed with fwrite. Try the default setting of buff=1
for all tape types.
Caveat: may be slow on an 8mm streaming (EXABYTE) tapedrive
Warning: segyread or segywrite to 8mm tape is fragile. Allow time
between successive reads and writes.
Precaution: make sure tapedrive is set to read/write variable blocksize
tapefiles.
For more information, type: sudoc <segywrite>
Warning: may return the error message "efclose: fclose failed"
intermittently when segyreading/segywriting to 8mm EXABYTE tape,
even if actual segyread/segywrite is successful. However, this
may indicate that your tape drive has been set to a fixed block
size. Tape drives should be set to variable block size before reading
or writing tapes in the SEG-Y format.
Credits:
SEP: Einar Kjartansson
CWP: Jack, Brian, Chris
: John Stockwell (added EXABYTE functionality)
Notes:
Brian's subroutine, float_to_ibm, for converting IEEE floating
point to IBM floating point is NOT portable and must be
altered for non-IEEE machines. See the subroutine notes below.
On machines where shorts are not 2 bytes and/or ints are not
4 bytes, routines to convert SEGY 16 bit and 32 bit integers
will be required.
The program, segyhdrs, can be used to make the ascii and binary
files required by this code.
User's notes (Juan Lorenzo) untested
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 bfile
sub buff
sub conv
sub ebcdic
sub endian
sub errmax
sub file
sub format
sub hfile
sub tape
sub trmax
sub trmin
sub vblock
sub verbose
sub get_max_index
max index = number of input variables -1