CWP Software Update: 15 February 1996  (28th edition)

The new compressed tars are available at our anonymous ftp
Internet address: ftp.cwp.mines.edu
or
[138.67.12.4]
The directory path is: pub/cwpcodes

The files are also available on the World Wide Web at:
http://www.cwp.mines.edu/cwpcodes/

The files you will need are (xx stands for the number of
the current release):
README_BEFORE_UNTARRING
untar_me_first.xx.tar.Z    --- contains README and Portability information
cwp.su.all.xx.tar.Z        --- contains the source code for the release
documentation.xx.tar.Z     --- contains the SU Users Manual

For incremental updating, instead take:
README_TO_UPDATE
update.yy.to.xx.tar.Z
update.list

NOTE: gzipped versions (untar_me_first.xx.tar.gz, etc.) are now available.

For detailed information on the free materials currently
available from CWP (Center for Wave Phenomena), send e-mail
to:
cwpinfo@dix.mines.edu
and
samizdat@dix.mines.edu


Acknowledgements:
================================================================
We thank the Consortium Project on Seismic Inverse Methods for
Complex Structures for its financial support of the SU project.

The Gas Research Institute has been supporting the SU project for
the past year and a half.  At present, they are unable to continue
this support--we thank them for the past help.
================================================================

SU distribution:
================================================================
We've reached an SU milestone: There are over 500 verified install
Sites in 32 countries.  We are proud and also appreciative of the
many users who have made this a better package--thanks!
================================================================

Mirror Site at ftp.kigam.re.kr
================================================================
Sang-yong Suh (sysuh@kigam.re.kr) has kindly started an SU mirror
site with address ftp.kigam.re.kr in Korea.  Caution: it may
take a day or two for updates to reach the mirror site depending
on Internet traffic across the Pacific.
================================================================

Requests:
================================================================
We seek European and Australian mirror sites, let us know if
you are willing to provide this service.

Would a user with Purify on their system run it on the SU codes
and e-mail the results to us?
Thanks to Dave Hale, Advance Geophysical, for suggesting this.
Again a bit of SU history: Dave was a major contributor to SU
during his years at CWP.
================================================================

Multiple File Streams:
================================================================
fgettr/fputtr now support multiple file streams, this is another
contribution from Stewart A. Levin, Mobil (see last month's
"Featuring" section).

Note to incremental updaters:
$CWPROOT/src/su/lib/fgettra.c is deleted from the distribution
as part of these changes.  You will have to "make remake" in
$CWPROOT/src/su/lib.
================================================================

Third Party Software:
================================================================
XDR Support--
Stew Levin has also written fgettr/fputtr code to support XDR
(external data representation).  With multiple platforms becoming the
rule for many processing shops, making SU data machine independent
seems like a good idea to us.  Stew has also written suoldtonew to
convert existing SU data sets to XDR format.  For those who want to
test XDR along with us, the requisite files are in the Third
Party Directory $CWPROOT/src/Third_Party/XDR.  Be sure to read
$CWPROOT/src/Third_Party/XDR/XDR_README and follow the instructions
therein before installing these files!

We would greatly appreciate your comments on the desirability of
making SU portable via XDR and your experiences in using the codes.
----------------------------------------------------------------
Cray Support--
In the Third Party Directory $CWPROOT/src/Third_Party/Cray are
a collection of contributions by Jens Hartmann, Institut fur
Geophysik.

In the Third Party Directory $CWPROOT/src/Third_Party/Cray2
is a new and more comprehensive collection donated by Ted Clee of
Cray Research.
================================================================

New Software:
================================================================
demos/Filtering/Sudipfilt -- illustrates the use of sudipfilt

demos/SUManual/Xvlength -- illustrates suvlength, the example
	code developed in the SU User's Manual.

cwp/lib/rfwtvaint.c - variant of the subroutine rfwtva that does 8
	point sinc interpolation for display purposes
	==> Author: Tony Kocurko, Memorial University, Newfoundland

cwp/lib/tempname.c - defines temporary_filename(tempfile) an analog
	of the ANSI C tmpnam routine which lets the user specify
	the location of the temporary file.  On input "tempfile" is
	a string like "/scratch/username/".  On return it is augmented
	by a string supplied by tmpnam like "/scratch/username/1206aaa". 
	==> Author: Jack Cohen

su/main/segdread.c - read (some flavors of) SEG D format tapes. This
	was in the Third Party area of previous distributions.
	==> Authors: Dominique Rousset, IPRA, Pau, France and
		     Marc Schaming, EOPG, Strasbourg, France

su/main/suattributes.c - This is just the old suenv.c with a
	more sensible name.  There is an suenv shell for
	backward compatibility.

su/main/suk1k2filter - symmetric box-like K-domain filter defined by the
	cartesian product of two sin^2-tapered polygonal filters
	defined in k1 and k2 
	==> Author: John Stockwell

su/main/sumix - compute weighted moving average (trace MIX) on a panel
        of seismic data.  Specify the array of mix weights, via
	mix=val1,val2,val3,...
	==> Author: John Stockwell
	==> Thanks to Lorraine Wolf, U. Auburn for suggesting it

su/main/suoldtonew.c -- convert native machine data made by su to
	XDR format (only of interest if you are using the XDR third
	party materials)
	==> Thanks to Stewart A. Levin, Mobil

su/main/suquantile.c - Report a selection of quantiles or ranks
	==> Author: Jack Cohen
	==> Thanks to: Chris Liner, U. Tulsa for the suggestion

su/main/sutaup.c - forward & inverse T-X and F-K global slant stacks
	==> Author: Gabriel Alvarez, CWP

su/main/suvlength.c - convert variable length traces to fixed
	length (illustrative example in the SU Users's Manual)
	==> Author: Jack Cohen

su/shell/suptdiff,suptsum,suptprod,suptquo - companion scripts
	for new suop operations (see below) with syntax:
		suptdiff  panel trace | ..., etc.  
	==> Author: John Stockwell

xplot/main/xpicker.c - a version of xwigb that allows graphical
	picking--this has been in the Third Party area in previous
	distributions.
	==> Author: Wenying Cai, University of Utah.
================================================================

Changes:
================================================================
SU User Manual -- updated to acknowledge new donors to SU and
some changes have been made to the chapter on writing SU programs.

faq/* -- Answers to frequently asked questions has been updated

demos/* -- added new windowtitle parameter (see below) to many
	of the demos

demos/Making_data -- was showing 20 degree model in place of the
	60 degree model.
	==> Thanks to Justin Hedley, Lakewood, CO

cwp/shell/cpall,rcpall -- removed explicit path for rsh

par/lib/getpars.c -- fixed uninitialized array
	==> Thanks to Dave Hale, Advance Geophysical

su/include/su.h -- no longer #define RMTDEVICE, MTDEVICE

su/lib/fgettra.c -- deleted (absorbed into fgettr.c file)

su/lib/fgettr.c -- support multiple file streams
	==> Thanks to Stewart A. Levin, Mobil

su/lib/fputtr.c -- support multiple file streams
	==> Thanks to Stewart A. Levin, Mobil

su/main/segyread.c, segywrite.c -- tape is now a required
	parameter.  Now preserve the optional fields.

su/main/segyread.c -- handle 2 and 4 byte fixed point IBM formats
	==> Thanks to Remco Romijn and J. W. deBruijn, Delft

su/main/suchw.c -- changed calculation so different types can be used
	==> Thanks to Alexander Koek, Delphi

su/main/suconv.c -- use fgettr instead of fvgettr (see fgettr above)

su/main/sudipfilt.c -- accept d2 header word for dx=

su/main/sufdmod2.c -- use fputtr instead of fvputtr (see fputtr above)

su/main/sufft.c -- let verbose=0 turn off advisory messages
	==> Thanks to Toralf Foerster, Germany

ssu/main/sufilter.c -- corrected bug in counting non-zero amps
	==> Thanks to Heo Seung, Korea

u/main/suinterp.c -- work on interpolation & other maintenance by author.
	==> Thanks to John Anderson, Mobil

su/main/sugain.c -- added panel=1 option to gain data set as a whole
	instead of trace by trace.
	==> Thanks to Chris Liner, U. Tulsa for suggesting it

su/main/sukill.c -- corrected handling of non-existent traces.
	Remark: This code should probably use header words.
	
su/main/sumute.c -- correct setting of mute limit when muting below and
	set the appropriate header word to record the mute.
	==> Thanks to Alexander Koek, Delphi

su/main/sunmo.c -- include the anisotropic quartic term of the
	traveltime series into the NMO-correction.  But isotropy is
	still assumed by default.
	==> Thanks to Bjoern Rommel, CWP

su/main/sunull.c -- cleaned up this ancient code

su/main/suop.c -- Added options op=norm and op=db for respectively
	normalizing the trace to 1 at its absolute maximum and
	computing 20.0 * slog10 (x) of the normed trace.  The latter
	is useful for comparing source signatures via a logarithmic plot
	of the frequency contents of a source signature:
		F = fft (tr.data);  20.0 * slog10 (abs (FFT)).
	==> Thanks to Toralf Foerster, Germany

su/main/suop2 -- added  panel "op" trace operations,permits panel*trace,
        panel+trace, panel/trace, panel-trace operations.

su/main/supaste -- bug in efread call fixed (program was completely
	broken), verbose option added: ntr not echoed unless verbose=1.

su/main/suradon.c -- work on interpolation & other maintenance by author.
	==> Thanks to John Anderson, Mobil

su/main/suresamp.c -- fixed setting of delrt (recording delay time header
	field).
	==> Thanks to Gabriel Perez, CWP, for alerting us

su/main/suvcat.c -- use fgettr instead of fvgettr (see fgettr above)

su/main/suvcat.c -- fixed number of floats copied in second data set
	==> Thanks to Gonzalo Perez, University of Chile

su/main/suvcat.c -- better self-doc
	==> Thanks to Mikki Hand, CSM, for a good question 

su/main/suvelan -- Added non-hyperbolic moveout due to anisotropy.
	==> Thanks to Bjoern Rommel, CWP

su/main/suwind.c -- fixed setting of delrt (recording delay time header
	field) after time gating.
	==> Thanks to Gabriel Perez, CWP, for alerting us

su/main/suxcor.c -- use fgettr instead of fvgettr (see fgettr above)

su/main/suxedit.c -- clear ntr before passing data subset to graphics
	==> Thanks to Simon Shannon, Great Britain, for alerting us

su/graphics/xplot,psplot/*.c -- now honor f1 and d1

su/graphics/xplot/suxwigb
su/graphics/psplot/supswigb,supswigp -- now support plotting
	non-uniformly spaced traces
	==> Thanks to Alexander Koek, Delphi for the code.
	==> Thanks to Lorraine Wolf, U. Auburn for also suggesting it.

su/graphics/xplot/suxwigb,suximage,suxmovie,suxgraph -- inherit
	new windowtitle parameter from xwigb,ximage,xmovie,xgraph
	(see below)

xplot/main/xwigb -- protect title, labels in postscript printing option.
	==> Thanks to Stewart A. Levin, Mobil	

xplot/main/ximage -- now has postscript printing option like xwigb (from
	disk file input only, at present).
	==> Thanks to Stewart A. Levin, Mobil	

xplot/main/xwigb,ximage,
Xtcwp/main/xmovie,xgraph -- added windowtitle parameter (e.g.,
	you can use these titles to tell iconified windows apart)
	==> Thanks to John Dudley, Shell, for suggesting it

xplot/main/xwigb,ximage,
Xtcwp/main/xmovie,
psplot/main/pswigb,pswigp,psimage,psmovie,pscube -- default f1,
	f2 now 0.0 instead of d1, d2 (also f3 for pscube).

xplot/main/xwigb,xpicker,
psplot/main/pswigb -- have a new option called "interp" based on
	Tony Kocurko's rfwtvaint subroutine (see above).  Caveat:
	this is a display option only and should not be used on
	(for example) non-oscillatory data.

xplot/main/xwigb -- made the print (with 's') coincide with the
	mouse location (shown with middle button).
	==> Thanks to Alexander Koek, Delphi.

XTcwp/lib/Axes.c -- print 5 significant figures in tic labels
	==> Thanks to Toralf Foerster, Germany

Third_Party/promax_SU -- updated
	==> Thanks to John E. Anderson, Mobil
================================================================


Unresolved Issues
================================================================
CWP X graphics codes don't work on DEC Alpha under DEC OS.

-xplot/xwigb
Under linux/XFree86 use of the X functionality occasionally locks
up the machine necessitating a reset.  Amazingly, using the
parameters wbox=1000 hbox=1000 seems to avoid this problem.

-Xtcwp/main/xmovie,xgraph
These windows will not accept focus under linux/XFree86.  We know
a kludge to correct this, but since it makes no sense, we refuse
to put it in the distribution.

-Xtcwp/main/xmovie
The grid1=, grid2= options cause an abort under linux/XFree86 and
possibly other platforms.  Message is:
	Error: Cannot perform malloc
This seems like a compiler error since innocuous changes in the code
or compiling without optimization makes the problem go away.  We
distributed the current version with such an innocuous change
to accomodate this: we changed the dimension of args[] from 100 to 98.
================================================================
