CWP Software Update: 10/25/91  (14th edition)

Distribution Notes:
------------------
A new release of the CWP C free software is now available
via anonymous ftp (138.67.22.6)!

Installation should be much easier, due to yeoman efforts by John Stockwell.
All of cwp, par, seismic, xplot, psplot, Xcwp and su are installed after
you follow the instructions in the file README_TO_INSTALL.  There is still
the potential for problems caused by non-ANSI C variations of some vendors
(and, alas, by our goofs).

Thanks to many people who have suffered through installs of previous
releases and have kept their tempers sufficiently to send us detailed
notes.  In particular, Dean Witte of Chevron sent a list of adaptations
for Cray Unicos and Richard Verm of Geophysical Development Corporation
sent us notes for Sun SPARC.  Another recent port was made by Berend
Scheffers, TNO Institute of Applied Geoscience (Delft) to DEC.  Where
possible, I have made changes to avoid the pitfalls described by
these and earlier writers.


The file cwp.tar.Z now includes a third directory, seismic, in addition
to the cwp and par directories.  At this time, seismic has only the code
velconv.c (formerly housed in .../par/main), but as they say in the ads,
"watch this space".

The file plot.tar.Z now includes Xcwp in addition to xplot and psplot.


cwp.h has been cleaned up.  While this is a good step for the long
run, it unfortunately means that SU codes won't compile if you
re-install cwp.tar, and don't update su.tar as well (potentially
other directories are also at risk).

Here are the major points:

1. We eliminated or demoted (to par.h or su.h) some typedefs
   and #defines.  The one that will make the most trouble is

	typedef char* string

   I tried to find all uses of this, but to err is human.
   If I left any in, you can put the above typedef in the
   files that need it or --recommended-- replace "string"
   by "char *" as in:
	string sdoc
	to:
	char *sdoc

   Less likely, but also possible, trouble spots are files
   that have "bool", "bmstate", ...  Send me a flame if
   you find any compilation woes along these lines.
   
2. I also moved any #include file that wasn't ANSI C out of cwp.h (into
   par.h).


3. I eliminated the parenthesized system error message that errpkge/err
   gave.  We generally don't make direct system calls, so the system message
   is usually too far removed from the error to be helpful ("tty not a
   typewriter", etc.).


4. par.h had an include for fcntl.h that repeated the one in cwp.h.  On some
   older Unixes this could cause problems. 


New Programs
------------
suresamp - Resample in time
	subsample, oversample, time gating done with 8 point
	sinc interpolation. (Jack)
Note 1: as a consequence, suus (subsampling) has been removed from SU.
Note 2: as a consequence, suwind no longer does time gating.     
Note 3: is just the su version of Dave's .../par/main/resamp.c
 
sustolt - Stolt migration for stacked data or common offset traces (Dave)

susynlv - Kirchhoff synthetic data for a linear v(x,z) medium (Dave)

sunsimage - new su driver for nsimage (mainly for local NeXT users) (Jack)

suvibro - create vibroseis wavelet (Michel Dietrich)


Minor fixes/Updates
-------------------
	.../su/main/suaddnoise
	.../su/main/sudmofk
	.../su/main/sugain
	.../su/main/suilog
	.../su/main/sumute
	.../su/main/suop2
	.../su/main/sustack
	.../su/main/suvelan
	.../su/main/suwind
	.../su/shell/updatedoc
	.../su/examples/Decontest
	.../su/examples/Segyread

Note 1: The bug in sugain caused agc to zero out data when it was small
(eg. 10e-10).  There were hints of such a problem for some time, but I
never caught on.  Thanks to Phil Anno and Laura Hale for isolating the
problem and to Craig Artley for solving it.

Note 2: I added WMHint to ../xplot/lib/window.c to correct keyboard
focus problem at some external sites.
Affected programs: xwigb, ximage, suxwigb, suximage


Fortran Software
----------------
cshot -- is a free ray-based modeling package written by
	Paul Docherty.  It is based on the Keller-Fawcett-Perera
	method.  It comes with 14 sub-directories that successively
	illustrate the use of the program using X Windows (plus hints
	for adaptation to PostScript).  Available as cshot.tar.Z from
	CWP's anonymous ftp (138.67.22.6).  Hardcopy documentation is
	available from CWP (free to sponsors, otherwise for a fee of $10).
	
cxzco -- is a proprietary pre-stack inversion program for common offset
	data with arbitrary background velocity in a 2.5D medium.
	It comes with 4 demonstration subdirectories.  Availability
	is restricted to sponsors of CWP who can get additional
	copies by using our sponsor ftp (call 303-273-3557 for
	further information or to arrange getting floppy/tape
	distribution).

Special Free Contribution from Shelby Worley, former CWP student
-------------------------------------------------------------------------
The package is available by anonymous ftp as rgps.tar.Z and is
self-contained.  However, the interface is just like the rest of
the CWP C mains.  Here's the beginning of the readme.rgps file
included with the distribution:

RGPS: Reflection Geometry Parameter Solver

I. What is the program for?
 
    This program was written to implement a new approach to the most simple
non-trivial reflection problem - a dipping plane reflector with separated
source and receiver on a horizontal surface.  The user specifies values for
four of the following eleven parameters, which are divided into two
categories:
 
Circle Parameters
alpha:  the dipping angle of the reflector. By convention, it is positive
        if the z-coordinate increases as the x-coordinate increases along
        the reflector. Alpha will be in the range (-90,90).
phi:    the angle between the raypath and a normal to the reflector.
        Phi will be in the range [0,90).
h:      One half the separation between the source and receiver.
        H will always be positive.
dx:     The offset of the x-coordinate of the specular reflection point
        and the x-coordinate of the midpoint between source and receiver.
        Dx will be positive if the x-coordinate of the specular point
        is smaller than the x-coordinate of the source-receiver midpoint.
z:      The depth of the specular reflection point.
vt:     The length of the specular reflection path between source and
        receiver.
 
Shift Parameters
xs:     The location of the "source".  For convenience, this is assumed to
        have a smaller x-coordinate than the receiver.
xg:     The location of the "receiver".  This value will always be larger
        than xs, so that  the equation  2h=xg-xs  is always true.
y:      The source-receiver midpoint.
x:      The x-coordinate of the specular reflection point.
z0:     The depth (z-coordinate) of the reflector under the origin
        of the x-coordinates.  Thus, the equation of the reflector is
        z = z0 + x*tan(alpha). Z0 may be negative if the plane of the
        reflector extends above the surface at the origin.
 
    With these 11 parameters, 330 possible sets of four parameters could
be chosen. The program will attempt to calculate the value for the other
seven parameters.
...
