FreeUSP Release 1.02 Patch 1
    This patch contains program fixes and enhancements as follows:

    • trcgp/src/cmd/Makefile -
      Changed clean target to leave the ccincl binary. This program is used before compilation of code to construct a header file dependency table.

    • Program eign -
      Release of program written by Bill Done while at Amoco. From the man page - "used to suppress coherent noise from seismic data using covariance analysis of the noise and eigen­decomposition."

    • Program stft -
      Fixed error on man page referencing stft_mute which does not exist...should have been smute.

    • Program gasp -
      Added dynamic allocation for trace data. Previous limitation was 10000 samples. Added -median option to get a true record constant median calculation done. The classic gasp approach was to minimize memory usage by calculating the median of a selection of trace-wise balanced average absolute amplitudes. While this was good enough for display purposes, it has proven insufficient for wavelet overprint removal in spectral decomposition. Median calculation engine was changed to one significantly faster.

    • Program xsd -
      Bug fixes.

    • Program genfu -
      Fixed problem in filter application code that caused an erroneous filter to be applied when run on the SGIs.

    • Program holdif -
      Added -live option to replace N1 with N2 only if N1 is a dead trace and the RecNum,TrcNum indexing matches in the two datasets

    • Program sis_xy -
      Removed debug statment left in the last release; Upgraded the blank line detection logic to prevent trace two being dead on piped input. Added -SI, -UnitSc, -TmMsFS parameters to allow use of SI units in input/output as well as honoring previous windowing of the dataset. Several changes in logic have been implimented to allow command line override of line header entries from datasets previously output by sis_xy.

    • Program las2usp -
      Changed the code to allow for LAS datasets with lines up to 168 characters. Previous limit was 131.

    • Program hdrswap -
      Modified code to do dynamic allocation of space for trace data. This will allow program to run with longer trace lengths.

    • Program usp2segy -
      Modified the code to change the typing on some variables from "long" to "int". The previous definition caused program failure on the SGI architecture. Modified code to correctly handle data being saved into the "Spare*" areas of the SEG-Y output dataset.

    • Program envelop -
      Fixed a memory allocation error where space was grabbed and never freed. This led to program failure when space was depleted

    • Program XIKP -
      Commented out logic in the script that forced 32 bit binary execution on SGI architectures. This should happen by default and forcing it causes other problems.

    • Program segy2usp -
      Modifications to code to properly handle incoming SEG-Y data in the "Spare" area. Previous translations were incorrect for little-endian machines. Fixed a bug which caused program termination if the incoming SEGY dataset had an EBCDIC line header that was all blank characters. Also add code to blank out USP line and trace header fields that contain ASCII characters and are not otherwise initialized.

    • Program vspstk -
      Fixed binning algorithm, repaired access and memory management.

    • Program ampspec -
      Added -promax option to scale forward fft by 1/N ala promax. The default is 1/(2N) ala Math Advantage. Also retooled the memory management to allow for arbitrary length input traces. Added policeman to prevent log[0.0] when asking for -db output. Also added a check to detect a time series expansion to greater than 2**15 samples [16384] which is the limit for the MathAdv rfft routine. The program now aborts in this case and warns the user. Fixed a memory allocation bug that affected windowed runs only. Not enough memory was allocated for the input trace resulting in an array overflow into the summation array.

    • Program scale -
      Added -integer option to allow creation of integer equivalent datasets. This facilitates studying the effects of conversion to 8 bit or 16 bit integer data on subsequent processing

    • Program smedian -
      Fixed indexing problem in the inner loop which resulted in the first sample never being used in the calculation and never being populated on the output. In addition the rest of the first sample row of a record was being populated by the smoothed output of the end of the previous trace. Added the geometric and harmonic means as smoothing options. Changed login in cmd line input to allow zero smoothing order in either direction but not both.

    • Program counter -
      Added -ssam option to allow reporting in SSAM style [record n of NN].

    • Program qstk -
      New code to do stacking on Q data.

    • Program replace -
      Added new option upon request: -A alone on cmd line will cause zeroes in each trace to be replaced with the average of live samples of this trace.

    • Program detmute -
      Added an option to read in a value other than zero to key on. Default is still zero (mute detect).

    • Program clean -
      The -L and -D options to unflag dead traces and reflag them as dead operate independently of -Z (zero dead traces).

    • Program spec -
      Added mapping of fmin to the line header entry TmMsFS. Also fixed a computer science bug in the number of frequency determination which required a nint() wrapper around a real expression.

    • Program wedgeusp -
      New modeling code from Mike Bush (preliminary usp version Paul Gutowski) which implements the algorithm derived from Marfurt, K.J and Kirlin, R.L., 2001, "Narrow-band spectral analysis and thin-bed tuning",Geophysics, Vol.66, No.4

    • Program sc3d -
      Corrected problem caused by missing LinInd trace header read.

    • Program wavest -
      wavest is the modernized version of saneusp (wavelet and S/N estimation) with dynamic memory allocation.

    • Program storeit -
      Added dynamic memory allocation and corrected bug reading static words from cmd line.

    • Program putval -
      Rewrote the routine to allow piping [both in and out]. Corrected the RmsAmp calculation to use the absolute value of the trace amplitudes on the second pass. Moved the trace header type check out of the inner loop. Added dynamic memory allocation for all trace and header arrays as well as stats arrays so that rewinding of the output stream is never required. Added a hard zero check so as not to include hard zeroes in the calculation of statistics. Also added printout of job constant stats to printout file.

    • Scripts chd,chdc,dlt-jukebox,exb10i-v2,exb10i-v3,knife_switch,no_op -
      Fixed scripts for use with media-changer software.

    • Program fxydecon -
      Changes to stabilize the filter calculation, to reduce disk I/O, and use disk access routines that can handle large disk datasets. Allocation error has been fixed. Performance enhancements have been implemented.

    • Program rand -
      A number of changes: dynamic memory allocation for several arrays, added trace to trace random statics option, random gain now is a percent about 1.0

    • Program attsel -
      Corrected errors in man page

    • Program getval -
      Added -live option to only output trace key values for live traces; default is to print for all traces.

    • Program rwspec -
      Added line header entries FreQst, FreQnd, SmpFlt to contain -fmin[] -fmax[] -fint[] respectively.

    • Program xyz2sis -
      Changed output format for time series entry from f12.0 to f12.3. The -flat2 output format of e12.3 has not changed.

    • Library ut -
      Modified median() routine in libut.

    • Programs fkkstrip, smoothvol, horvel3d, tim2hed3d, mixn -
      Modified call list to median() routine in libut to match the new routine.

    • Program tim2hed3d -
      Added option to allow use of usp format input with -QCUSP. This allows surface fits to be performed on time series containing travel-times, velocities etc.

    • Program gentrp -
      Fixed broken linear option when going from finer to coarser sampling. Also fixed logic for determining what to put in the line header is one of both of the input sample intervals is fractional.

    • Program vomit -
      Added Fairfield 3D ascii input format capability.


    To apply this update to FreeUSP:

      
      download the compressed tar file FreeUSP-1.02-1.tgz
      
      decompress that file onto disk:
      gunzip -c < FreeUSP-1.02-1.tgz > FreeUSP-1.02-1.tar
      extract the tar files to the source structure:
      cd ${FreeUSP} tar xvf FreeUSP-1.02-1.tar
      run the update script:
      ./run-update-1.02-1
      build & install the updated structure as specified in the original install instructions:
      cd ${DEPTROOT} gmake targets gmake install
    Back