Please see file HISTORY for list of official release and
a list of bug fixes and enhancements made between releases.
2012/02 Version 101.5c released
Fixes a bug introduced in v101.5 when writing SAC headers (wh), and a bug that
led to an incorrect error message when interpolate was applied to LEVEN FALSE
files.
Fixed memory errors related to plotting labels that could lead to crashes.
Two HELP files were incomplete: input_output and sacio. These had listings for
sample programs that did not get input correctly. Also, sacio is about the use
of the SAC library for processing data using SAC functions (such as filtering
or correlation) in C or FORTRAN programs. It has been renamed saclib and the
reference from the online help top page has been changed accordingly.
The Linux 64-bit binary written using Ubuntu did not work on Centos 5.x systems.
One built on Centos 5.7 works on Centos 5 and 6 and on Ubuntu.
2011/11 Version 101.5 released
Starting with version 101.5, we do not give a date/author for changes made. As
noted above, the HISTORY file summarizes in one or two lines each bug fix and
enhancement made between versions. Usually the updated (or new) HELP file
provides details and explanations about usage, but for a few items we feel some
further explanation is called for.
ADDITIONAL PLOT-FILE FORMATS: Several users have requested that SAC be able to
produce directly plot files in formats used by other applications. Although we
provide programs and scripts that can convert SGF files into Postscript (and to
EPS or PDF if one has Ghostscript), this process requires extra steps and the
fonts are vector-drawn rather than true Postscript fonts. Command [SAVE]IMG
(the [] indicate the SAVE alias for SAVEIMG) allows one to create PNG, XPM, PS,
and PDF plots in a single line. Fonts in the PS and PDF files are true
Postscript fonts. See the HELP file for further details. To build SAC from
sources, one must have libpng installed to be able to write PNG files. The
binary distributions are built using only a static libpng to maximize portability.
(The license for libpng has no restrictions for uses such as in SAC.)
TRAVELTIME: Although the traveltime command has existed since SAC2000, it was
not robust. The method used is one developed in 1991 when the IASP91 velocity
model was introduced and requires reading two binary files. As written, the
command tried to use the big-endian form of the binary forms even if the
computer architecture was little endian. The updated traveltime does
byte-swapping if needed and can handle EVDP in either meters or kilometers.
The earlier traveltime had three "syntax" choices, but only the first syntax is
supported in the current version. The current version runs within SSS or
without going into SSS. See the Help file for details.
ANNOTATED POLEZERO FILES: In v101.4 a bug fix made it so that SAC could
interpret lines that started with * as comments. In program RDSEED v5.2 and the
SACPZ Web service , each set of poles and zeros
will be annotated (using comment lines) with details that identify the
associated time series and other related metadata). Polezero files can now
contain multiple "epochs" in a single file: more than one set of poles and
zeros differentiated by the time range for which they were valid for a given
station, component and location (an identification tag coded in the SAC header
as KHOLE). Version 101.5 of SAC can interpret such files correctly.
Note that if KCMPNM in the SAC header does not agree with the * COMPONENT (v5.0)
or * CHANNEL (v5.2) line, SAC TRANSFER will return an error message:
"ERROR 2114: No response information for this channel in response file."
FUNCGEN SEISMOGRAM: As mentioned below, the origin time had been changed in
seismogram so that P arrivals would be at the first break for the EVDP of 0.0.
Even though the actual event probably had a focal depth of 2.4 km (George
Helfrich), this was for a local velocity model with several crustal layers.
We decided to set EVDP and adjust the origin time so that the P arrival came in
at the first break using the AK135 or IASP91 velocity models. We did this
because we use it in our examples in the traveltime help file, and as there are
no other clear arrivals in the seismogram, the actual EVDP and GCARC do not
really matter. For the next update, we hope to have real data with multiple
arrivals. (We also took out the displayed T arrival, which had no obvious meaning.)
2010/06/07 Version 101.4 released
2010/06/02 Brian Savage
* Changes to code in makefiles to make sure Cygwin will compile correctly for
both version 1.5 and 1.7
* Introduced a docutils package that can produce HTML versions of HELP files.
These will replace the manual.html directory tree at IRIS. A side effect
is a slight change in appearance of the HELP files as accessed within SAC.
Many of the pages in the "Using SAC" section had obsolete sections. These
have been updated.
* Fixed command interpolate so that calculatings of NPTS from a floating point
number returned the nearest integer rather than the truncated integer. to do
this, lfloat had to be added to co.h. (src/scm/xinterpolate.c, inc/co.h)
* fixed small problem in src/bbf/readbbf.c
2010/05/04 Arthur Snoke
* Changed origin time in the fg seismogram from 0.0 to -43.2, station latitude,
and put in an evdp of 0.0 (researched by GH). (aux/seismogram)
2010/05/04 Arthur Snoke
* Updated src/evalresp to EVALRESP v 3.3.3 (a bug fix).
2010/04/23 Arthur Snoke and George Helffrich
* JAS incorporated bug fixes in SPE code that had been made by GRH in macsac. This
included fixing typos in inc/spe.h and small changes in five .c files in src/spe.
The help files were updated as well (including the fact that since 1998 the
restriciton to 2048 points had been removed).
* JAS found that SSS/TRAVELTIME did not work and required more time that available
at preset to fix. The HELP page has been rewritten to reflect this fact. It
includes an alternative method using Crotwell's taup package.
2010/04/20 Arthur Snoke
* Fixed plotxy so that with default limits and ylog and/or xlog, limits work.
Brian Savage had written the code in February for Y. (src/gam/xplotxy.c)
* Refined wording in README and the two initialization files bin/sacinit.sh.in
and bin/sacinit.csh.in.
* Appended the pre-IRIS/SAC history file to HISTORY so it now goes back to 1990.
2010/04/10 Arthur Snoke and George Helffrich
* Fixed plot2 so that default X and Y limits worked correctrectly if in the
frequency domain. The HELP entry has been modified. (src/gam/xp2.c)
2010/03/23 Arthur Snoke
* Fine-tuned transfer.c so it handles frequency limits more correctly. No noticable
effect based on test runs.
2010/03/15 Arthur Snoke
* Updated src/evalresp to EVALRESP v 3.3.2.
* Updated the TRANSFER HELP file to include documentation on the FAPfile option and
to add more details about the FREQlimits option. This in turn led to a small
addition to the CUT help file.
* Updated program SGFTOPS (source in utils) so that it can handle SGF input files
with either byte order -- program SGFSWAP no longer needed, but is still included.
2010/01/30 Brian Savage
* Updated testing framework to use command line options and not put commands into
the history
* Added option to turn adding commands to the history (--history-off
and --history-on)
* Converted old history to the libedit/readline history [src/history/history.c]
* Added FAP option to transfer, along with tranfer_fap tests [ src/icm/fap.c ].
The format of a FAP file is consistent with that produced by the program
EVALRESP (v3.3.2), but is different from the format used by SAC2000.
* Fixed polezero comment bug and added initial tests for transfer
2010/01/28 Brian Savage
* Setting default station (sta) and channel (Q) name off by default,
can be turned on by command line option
* Applied patch and tests for evaluate command
* Added debug and sac command line options
* Applied patch for vertical rotations
* Added memory initialzation to envelope()
* Added checks for X11 Fonts
* Added more tests for getkhv and setkhv
* Fixed libsac routine getkhv and added extra tests
* Applied beginwindow patch and added a test
* Added tests for fg random and patch for fg random->gauss()->dbh_random()
* Applied getline patch, changed getline to getline_sac
* Added tests for plotalpha
* Applied patch for zmemad and unwrap, added tests for convolve and unwrap
* Fixed bug in read/write alpha due to a missing atof() prototype
2010/01/27 Brian Savage
* Added maintainer mode to avoid re-running autotools/configure on make
* Fixed uninitialized values and small buffer overruns
* Added test for do file wild macro and fixed other macro tests,
pytest.sh needed to copy over the macros to the build directory
* Added missing vasprintf() function for systems missing it.
2010/01/26 Brian Savage
* Added patch for 'do file wild' with the addition of the string/strings.c library
2010/01/21 Brian Savage
* Added readline patch and fixed new testing suite to interact with the updated
libedit library
* Updated libedit version,
2010/01/02 Brian Savage
* Removed write dir on and fixed the write to directory option
* Fixed plotalpha error where cabalistic characters were displayed, variable was
not initialized
2010/01/01 Brian Savage
* Fixed RMS bug where noise is larger than signal
* Updated output for segy test
* Fixed SEGY I/O and extracted file formats from read and write tests
2009/12/31 Brian Savage
* Fixed Possible SDD Header bug
* Fixed header writing in XDR file format
* Fixed read alpha bug, write test output and a write alpha bug
* Updated pytest.py to use difflib, and fixed a minor output bug in dfm/xwtab.c
2009/12/30 Brian Savage
* Add gauss bug fix
* Removal of old dejagnu test suite in favor of a simpler approach
that also handles floating point values properly, pytest.py
2009/08/26 Version 101.3b released
2009/08/24 Brian Savage
* Corrected an error in the synchronize command that caused
bus errors and terminated SAC
2009/08/01 Version 101.3 released
2009/07/21 Brian Savage
* wsac0() now behaves like wsac3() (see 2007-11-19)
* SeisMgr database default behavior: ON
* evalresp 3.3.0 -- Added two enable options as suggested by
Chad Trabant: --enable-lib-mode and --enable-log-label
* --disable-ncurses can be used to avoid the ncurses library
(Solaris users might have trouble with ncurses)
* Documentation added or updated:
- transfer function
see aux/help/transfer
- Utils subdirectory
see utils/README_utils
- Readme.buildsac
- optional build directories with VPATH
- 64 bit builds
- Testing suite
- cleaned up help files dealing with graphics (Arthur Snoke):
begindevices, enddevices, file_format, intro, graphics
2009/05/15 Brian Savage
* evalresp version 3.3.0 (Arthur Snoke: official release July 2009)
* Removed aux/polezero directory
* Units changed to be all nm, nm/sec, nm/sec/sec
This is mostly a documentation fix, but used some in transfer
* Added byte-order check in utils program sgftops (Arthur Snoke)
* Added program sgfswap (Arthur Snoke) swaps byte-order in SGF files
2009/03/23 Brian Savage
* Added 64-bit native builds for Linux
2009/03/23 Richard Godbee
* sgftops ignores phantom moves (no extra whitespace in upper left)
2009/03/19 Brian Savage
* Addition of testsuite in sac/t/testsuite
To run the testsuite requires DejaGnu, Expect, and Tcl
2009/03/06 Brian Savage
* Removed automatic drop back to 32 bit on a 64 bit system
2009/03/04 Brian Savage
* Added tests for sacio
2009/03/03 Brian Savage
* sacswap will now swap an unevenly spaced data file
2009/02/26 Brian Savage
* Added Clear memory command (alias to inicm)
* Matlab routines update (David Yang)
* Testsuite added for basic routines in sac
* make -j n works now
* cut-off cnvatf(), now uses strtod()
* correlate can be normalized
* spaces can be handled in header variables
* builds available in other directories through vpath
* Help now uses a pager, like "more" or "less"
* Fixed buffer overflows in sachistory
* Ctrl-D will quit
* Cannot kill sac plotting window and crash sac
* use toupper/tolower if available
* make distclean updated
2008/09/04 Version 101.2 released
2008/09/01 George Helffrich
* Modified TRANSCRIPT command (several files) to include a
transcript history file option that enhances the command-line
history feature introduced by Brian Savage on August 6.
The help file aux/help/transcript has been updated to include
this option. See utils/README_utils for further information.
2008/09/01 George Helffrich
* Modified src/dfm/xlh.z so that one can have lh columns 2 the
default in an init command, by including LH COLUMNS 2 FILES NONE
aux/help/listhdr is changed to reflect this new option
2008/09/01 Kuang He
* utils/sacswap: Use long swaps for data to avoid signaling
NaN bit changes with floating point arithmetic.
2008-08-29 Arthur Snoke
* Put in missing equation in aux/help/envelope (user suggestion)
* Added README files to directories utils and lib
2008-08-19 Brian Savage
* Bug Fix: Conversion from text to integer (src/ucf/cnvati.c)
Global Error Flag set but never reset and is used in
the evaluate command, src/exm/xeval.c. Reset Global Error Flag
at the beginning of each command in src/top/saccommands.c
2008-08-18 Brian Savage
* utils/unvis: Utility added to reclaim .sac_history files
* bin/sac-config: More documentation added
2008-08-11 Brian Savage
* Added Documentation directory for examples using libsac & libsacio
Will include future updates of the Users Manual and Other
Documentation in various formats, including the
Sac Command Reference
2008-08-08 Arthur Snoke
* Updated src/evalresp to evalresp 3.2.40 (released July 2008)
2008-08-06 Brian Savage
* Added sac history file (${HOME}/.sac_history) to save history
from session to session
2008-07-10 Brian Savage
* Bug Fix: CPU overload fixed for scripts that do not end with quit
2008-07-08 Xiaoning (David) Yang
* New Contributed Matlab routines to read and write sac files
- utils/readsac.m
- utils/writesac.m
- utils/padcat.m
- utils/getsacdata.m
2008-07-08 Brian Savage
* Removed confusing lines in src/icm/transfer.c regarding
uninitialized calib and calper, which are derived from
wfdisc databases. Final value of the scaling is printed
at the end of the transfer routine.
For Reference
- calib - Conversion factor that maps digital data to
value with a unit (displacement, velocity, ...)
- calper - Period at which the calib (-ration) value is
valid.
- sac files derived from seed files and use polezero files
and/or response file do not use the calib/calper values
2008-07-05 Brian Savage
* Initial creation of the library libsac including the routines
- xapiir (filtering)
- envelope
* Added rsach to only read the sac header
* Bug Fix in SUDS reading and writing system
Byte swapping will only occur if the host is a
Big Endian system.
2008-05-22 Brian Savage
* Added readcor (Read Correlation Function) in SPE subprocess
Currently there is no way to differentiate an actual
Correlation function file from a regular SAC file
2008-05-13 Richard Godbee
* Fixed cnvfta() handling of very large numbers incorrectly.
Numbers are now converted to strings correctly and sanely.
2008-04-08 Brian Savage
* Fixed warnings during compilation by adding missing header files
and incorrectly typed parameters in function calls. Fixed compile
warnings were determined from a (1) routine and (2) optimized
compile of the full source files.
* Removed src/sss/xtraveltime SPARC executable file that was not
removed years ago.
* Transitioned build system to use inc/config.h.in and inc/config.h
to hold the configure dependent parameters to clean up the compiler
output.
2008-04-01 Brian Savage
* Updated Matlab routines and now is only available if requested
by the user upon compilation. Use the value of --enable-matlab
with the appropriate Matlab installation directory when
compiling to include Matlab. SAC needs to know where to find
the Matlab libraries when running, use LD_LIBRARY_PATH to add
the path to the mx and eng libraries. OS X users may need to
use DYLD_LIBRARY_PATH instead. The interaction of Matlab and
SAC is under development and in serious need to attention,
care and help.
2008-03-24 Brian Savage
* Heavily modified the map command, New Options added
Reworked command to use GMT 4.0 (src/fks/xgmtmap.c,
aux/help/map)
* changed a function that is able to determine if SAC is
run from a script like <
* Fixed segmentation fault bug while reading files with
wildcards (src/dfm/readfl.c) .
2008-03-04 Brian Savage
* Fixed bug in src/scm/xinterpolate.c. Interpolation of very
long time sequences introduced unexpected phase shifts into
resulting records. Repeated addition changed to multiplication
to determine the correct time position of individual samples.
2008-02-18 Brian Savage
* Fixed bug in src/bbs/getbbv.c. An array was overrunning its
This caused a segmentation error for the command SAC > map.
2008/02/16 Richard Godbee
* Patched src/gd3.x11/error3.c so it would not crash when
reporting an error code reported by Xlib.
2008-02-06 Savage, Helfrich, Snoke:
* restFP and saveFP only seem to appear on the Apple version of
the system libraries (libgcc.a) and only for the PPC. Tests
found this to be a problem when building Fortran programs on
the PPC if sac had been built with the -O2 flag. There are
work-arounds, but best not to build sac with -O2. This will
be followed for future binaries.
2007/11/20 Version 101.1 released
2007-11-19 Brian Savage
* Updated sgftox.csh to use ghostscript as the Postscript viewer
* Readme.buildsac: Added instructions for new configure system
* Readme: Updated Readme to handle configure
script and sacinit.[sh,csh]
* Makefile.am: Added link between libsacio.a and sacio.a
* src/dff/wsac3.c: Added, same to wsac0() but now
updates the depmin,depmax,depmen, and the distance and azimuth.
* libsacio.a: Changed name from sacio.a but old file still exists
for backwards compatibility.
* Added routines distaz() and extrma() to handle header updates
for wsac3().
* bin/sacinit.[sh,csh]: Initialization scripts for paths
and Environment Variables
* src/exm/xabout.c (xabout):
* Updated version string to incorporate the Version number
from the configure scripts (PACKAGE_NUMBER)
2007-10-27 Brian Savage
* Updated Build system to configure/autoconf
2007-10-04 Brian Savage
* SAC/src/dfm/xsort.c (xsort):
* SAC/src/dfm/xsort.c (reorder):
Fixed the sort command to operate independently of
the SeisMgr Database routines. This is important
as the default is now SAC_USE_DATABASE = 0 or
"Do not Use the SeisMgr Database"
2007-10-03 Brian Savage
* SAC/src/icm/polezero.c (polezero):
Bug Fix: Characters past the end of variable key
were being accessed producing unanticipated results.
Changed static length of key to dynamic and modified
the calls involving key: strcmp() to strncmp() with
the inclusion of #defines for each Key Value for a
PoleZero file. Documentation of the Function Updated
for doxygen.
2007-09-28 Brian Savage
* SAC/src/gd3.x11/dispatcheve3.c (dispatchevent3):
Added Option to restore Ultra Large Crosshairs on the PPK window
Environment Variable: SAC_PPK_LARGE_CROSSHAIRS
0 or Undefined - Tiny Cross Hairs
1 - Cross Hairs of the Full Plot Window
2007-09-26 Brian Savage
* SAC/src/gam/xppk.c (xppk):
From Richard Godbee Through Arthur Snoke
Make it so the ppk command does not care about the order of
picking the lower and upper bounds of the new time window.
* SAC/utils/sac.h (SacHeaderName):
Changed first o the odelta, avoiding a conflict
2007-09-25 Brian Savage
* SAC/inc/proto.h:
* SAC/inc/isnan.h:
added include "isnan.h" header file for systems lacking isnan()
* SAC/src/icm/polezero.c (polezero):
Changed isNaN() to isnan() as isNaN only operated on single
precision floating point numbers.
* free(s1) statements we2005/07/25 Version 100.1 beta removed
so not to get a seg fault
during an error message
* SAC/src/dff/f2c.c (DEPRECATED):
Added function to report removed functions and what to substitute
* SAC/src/dfm/sort.c (isNaN):
ERROR 2118: No Transfer Function applied. In src/icm/polezero.c
On reading of the CONSTANT Key from a Pole Zero file
If the constant is larger than a float from a double can handle
it barfs on the isNaN() routine in src/dfm/xsort.c
Since the constant being read into is a double (const_)
it should call a function with a double argument not a float
Fix: Use isnan() (in Math Library) instead of isNaN()
as it handles both floats and doubles
FIX: Replaced all occurrences of isNAN() with isnan() and
add a statement in isNaN() about this function being deprecated.
* SAC/src/exm/xabout.c (xabout):
Updated exm/xabout.c
Uses SAC_DISPLAY_COPYRIGHT
= 1 Display Copyright
= 0 Do Not Display Copyright
= undef Display Copyright
2007/03/07 Arthur Snoke (for Doug Neuhauser
)
* src/SeisMgr/cssListOps/cssArchitecture.c
The filename array used for determining the architecture of the
computer is not long enough. The constructed filename will
overwrite the end of the array, and cause a segmentation
violation. Increased the size of the array from 31 to 64
* src/icm/makefile and src/SeisMgr/makefile: In both makefiles,
replaced "make" with ${MAKE}. Without that, on Sun Solaris,
trying to use "gmake" would not work for all makefiles.
2007/03/03 Version 101.0
2007/03/03 Arthur Snoke
* Updated src/evalresp to evalresp 3.2.37 (released October 2006)
20007/02/23 Brian Savage
* Major Bug Fix for all SACIO Library routines. Filenames and
string handling should be much saner now
(added sac/dff/f2c.c - converts fortran strings to C string)
Note this is not related to the old f2c program
SAC/src/bbs/getbbv.c
SAC/src/bbs/readbbf.c
SAC/src/bbs/setbbv.c
SAC/src/bbs/unsetbbv.c
SAC/src/bbs/writebbf.c
SAC/src/co/zopen.c
SAC/src/dff/f2c.c
SAC/src/dff/getfhv.c
SAC/src/dff/getihv.c
SAC/src/dff/getkhv.c
SAC/src/dff/getlhv.c
SAC/src/dff/getnhv.c
SAC/src/dff/setfhv.c
SAC/src/dff/setihv.c
SAC/src/dff/setkhv.c
SAC/src/dff/setlhv.c
SAC/src/dff/setnhv.c
SAC/src/dff/wsac0.c
* Changed determination of Byte Order in CSS Files
now done internally versus using a temporary file
* Added a SAC_USE_DATABASE environment variable
If set to 0, will not use the database
If not defined, will use the database
If set to 1, will use the database
The database is confusing, and is buggy
This will dramatically speed up the reading of large file lists
( src/ssi/sacToSeisMgr.c)
* Added a SAC_DISPLAY_COPYRIGHT environment variable
If defined will not show the COPYRIGHT
The addition of this code snippet is debatable
(src/exm/xabout.c)
2006/08/21 Brian Savage
* Added SAC/libedit/config.h.in. This file with the associated
makefile removed the dependency on issetugid() so that a build
on solaris 2.9 would work on solaris 2.8
* Changed SAC/libedit/makefile. This removes the dependency
on issetugid() and GNU install
* Changed SAC/src/makefile. This removes the dependency on
GNU install and OS X Darwin now only depends on
libncurses.5.dylib. Previously, a build on 10.4 would not work
on 10.3.)
2006/08/18 Arthur Snoke
* Modified bin/sgftoeps.csh so it does not need epstool. It still
needs gs. Also, changed the default scale to 0.75 so that when
printing the .eps file it does not truncate.
* Added a script bin/sgf2x.csh that displays a .sgf file on the
screen. It uses gv. If not available, tries /usr/bin/ggv.
When running programs over the Internet, gv can be very slow, so
replacing the call to gv with one to gs can be significantly faster
This script has the functionality of the old sac program sgfplot.
2006/07/26 Richard Godbee
* ./src/co/math.c defines fmin, fmax, and labs that are defined
in the Standard C library everywhere bu on the Sun. They
have the same arguments and actions. On OS X one gets
warnings about possible redefinitions of these functions
whenever one compiles a program using sacio.a on Mac OS X.
Put in a conditional not to define them in math.c on OS X.
2006/07/17 Brian Savage
* Bug fix: Make certain a power of 2 is greater than input number
(src/ucf/next2.c)
* Bug fix: Memory Leak, Old Files released on a read call
(src/dfm/readfl.c)
2006/07/01 Arthur Snoke
* Updated several files in aux/help taking out obsolete references.
2006/05/31 Arthur Snoke
* added a rm \tmp/sactemp.ps commend in src/gam/xprint.c to erase
that file after printing so if subsequent user does a p1 print
there Will not be an existing file with a different owner in /tmp.
2006/05/18 Brian Savage
* Added utility program saclst (modified from program by Lupei Zhu).
Standalone program allows display of header variables that can
be ported to programs or printed. Source is in ./utils and is put
in ./bin during a normal build.
2006/05/04 Brian Savage
* Modified the number of Y Limit points to match the
maximum number of files
(inc/gam.h)
* Added -p flag to install to preserve modification dates
(src/makefile)
2006/05/02 Richard Godbee
* Edited src/co/math.c so that if fmin & fmax are defined elssewhere
on the system, they won't be defined again (a warning message)
Arthur Snoke
* Edited src/makefile so that SAC/utils and SAC/bin/sacswap
get copied to PREFIX/sac
2006/03/27 Richard Godbee
* Changed all occurrences of gets() to fgets()and corrected
boundingbox in sgftops.c (utils/sgftops.c)
2006/03/02 Brian Savage
* Added utils/sacswap.c and changed Makefile to create it
2006/02/14 Brian Savage
* Fixed writehdr bug for files of opposite endian
(src/dff/wrsac.c)
* Changed call to map_hdr_out() to allow for swapping
(src/dff/map_hdr_out.c)
* Fixed bug in zwabs() with bad prototype
(src/co/zwabs.c)
2005/12/13 George Helffrich http://www1.gly.bris.ac.uk/~george/gh.html
* Tweak makefile (again) so builds work on any MacOS system
(src/makefile)
2005/12/01 George Helffrich http://www1.gly.bris.ac.uk/~george/gh.html
* Tweak makefile so MacOS 10.2.x builds work
(src/makefile)
* Update Readme info to mention 10.2.x builds work
(Readme.buildsac)
2005/11/30 George Helffrich http://www1.gly.bris.ac.uk/~george/gh.html
* Eliminate warning messages about redefined #defines by shrouding
them in #ifdef conditionals.
(inc/proto.h)
2005/07/25 Version 100.1 beta released
2005/07/22 Richard Godbee
* In Apple OS 10.4.2 with xcode 2.1, swab() is defined twice:
in string.h and unistd.h. As string.h is not needed,
remove unneeded #include from exm/xcd.c.
* In order to get a successful build using gcc 4.0 in OS 10.4.2,
found it necessary to move the prototype for e_decompress()
above the enlarge() function in SeisMgr/cssListOps/enlarge.c.
2005/07/21 Brian Savage
* Fixed bug in help command for non-existent commands
(ucf/wrhelp.c)
* Fixed pause/redraw bug
(co/zgtmsg.c)
* Added co/select.c to remove duplicate code in co/zgpmsg.c
and co/zgtmsg.c. To set a prompt and get a message use
select_loop() and its axillary functions.
* Modified co/zsleep.c to be platform independent
now uses select_loop with a timeout to handle sleeping
2005/05/26 Brian Savage
* Fully integrated libedit into build process
* Updated Readme, License, History, Readme.buildsac files
* Removed extra CC=cc lines in makefile
* Updated Makefile for better install process
2005/05/23 Brian Savage
* Changed from GNU Readline to editline due to License conflicts
between GNU Public License and the SAC License
* Changed function name parse_line to parse_line_evresp
It conflicts with a function call in the libedit library
(evalresp/evresp.c)
(evalresp/string_fctns.c)
* Fix Bug for X Error Handling and Editline
(gd3.x11/createwindo3.c)
(gd3.x11/error3.c) - Added
* Added History file for Version history
* Added License file for the SAC License
* Cleaned up Changes file, includes all the intermediate changes
2005/04/18 Brian Savage
* Fix Bug during window resize, now frees and recreates backing pixmap
(gd3.x11/dispatcheve3.c)
* Changed bounding box back to letter (792 612)
(utils/sgftops.c)
2005/03/11 Brian Savage
* Fix Bug during select() for an Interrupted System Call
(co/gpmsg.c)
2005/02/20 Brian Savage
* USE_X11_DOUBLE_BUFFER was part of the ANNOYANCE_FIXES patch
Moved the position of where the XExposeEvent is emitted from the
end of the command loop to endframe->endframe3->flushbuffer so now
only routines that draw to the screen get an XExposeEvent.
Many of the files
are changing the #ifdef Statements from ANNOYANCE_FIXES to
USE_X11_DOUBLE_BUFFER
Files: gd3.x11/flushbuffer3.c
createwindo3.c
cursor3.c
dispatcheven3.c
draw3.c
drawpoly3.c
expose3.c
erase3.c
main/sac.c
co/zgpmsg.c
inc/gd3.x11.h
* USE_X11_MULTIPLE_DEPTHS allows use of XCreateImage and XPutImage
on displays of various depths. We need to know what the pixel
size when creating an XImage, which depends on the depth of
the window and display.
Files: gd3.x11/fill_clrbar3.c
put_image3.c
setpsctable3.c
* USE_READLINE was part of the ANNOYANCE_FIXES patch, now independent
Uses the GNU Readline Library to handle the command prompt
Files: main/sac.c
co/zgpmsg.c
2005/02/23 Peter Goldstein
* Updated sgf plotting utilities to with enhanced versions from
Arthur Snoke. New version of sgftops does translation rotation
and scaling of postscript plots. sgftoeps.csh is a csh shell
script that creates encapsulated postscript that are compatible
with latex and version 10 of Adobe Illustrator. The script
requires epstool (http://www.ghostgum.com.au/) and ghostscript
(http://www.cs.wisc.edu/~ghost/).
2005/02/07 Brian Savage
* Added export to SACFLAGS to push -D$(OSTYPE) into subdirectories
* Added OSTYPE=linux for linux systems defined as linux-gnu
* Command Line editing added to main/sac.c
Uses the GNU Readline Library
Set ANNOYANCE_FIXES=TRUE in makefile to get command line editing
* Updated X11 events for window redraws (gd3.x11)
We now draw to a pixmap when ploting and this is then drawn to the
screen. When one window overlaps the plotting window, the pixmap
is drawn to the screen
Set ANNOYANCE_FIXES=TRUE in makefile to get X11 Fixes
* Added a select() call to switch between X Events and Keyboard Events
* Modified csserror.c to not use sys_errlist and sys_nerr, they output
warnings upon linking/compilation
2004/12/08 Peter Goldstein
* Version 100.00 released for Solaris, Linux, and OS X
* Recent enhancements and bug fixes:
* Automatic byteswapping has been implemented. SAC will automatically
read sac data files in either big or little endian format. (ie., It
doesn't matter if your data were created on a little endian
platform like i686-based PCs or big endian platforms like
Sun workstations.
* readalpha/readtable (command for reading ascii tables or columns of
xy data): a bug in the linux version has been fixed.