Log file of changes made to SAC 10.6d. 5 Feb. 93 Fixed exm/xsetmacro so that it does not change the case of any directories that are supplied. Files changed: exm/xsetmacro.f early Mar. 93 Fixed macro processing so that errors did not drop you entirely out of SAC. Also implemented reasonable definitions of the $KILL command in macros and of the $TERMINAL command in macros. Files changed: ncpf/executemacro.f, ncpf/setmacrostat.f, ncpf/macroline.f 13 Mar. 93 Changed cursor offset that worked around a bug in OpenWindows back to zero. The bug has apparently been fixed. Files changed: inc/gd3.x11.h 14 Mar. 93 Fixed bug in hilbert and envelope commands that would cause data to turn into NaNs after some operations on some files. Files changed: dbh/overlp.f 6 Feb. 98 Fixed bugs in IF and DO commands that would bomb out if nesting level got too deep. Also fixed bug that caused IF and DO to lose track of nesting level if they exited sideways from a macro via the $KILL command. Files changed: cnd/{xdo.f,xif.f,skipcond.f}, ncpf/{macroline.f,executemacro.f} 5 Mar. 98 Fixed bugs in contouring code that caused it to: 1) lose memory if ran out of label storage while building a plot; 2) would not contour if levels exactly matched values in data file. Files changed: contouring/{calccontrlink,plotcontdata,calccontsegs,fastcontdata}.f Added debugging capabilities to allamb/relamb to trace storage allocations and releases. Files changed: amf/{allamb,relamb}.f 2 May 99 (AY029) Introduced version numbers to identify sub-versions. Files changed: top/initsac.f Fixed bug in xyzcleanup - changed constant in read-only storage. Files changed: xyz/xyzcleanup.f Fixed bug in p1 - PERPLOT 0 causes zero division. Files changed: gdm/xp1.f Fixed bug in DO . LIST command that caused numeric values in a do list to get truncated to 7 characters and have a $ appended to its final value. This arose due to the way that numeric tokens were handled in the command processing section. Files changed: top/initsac.f, cpf/{ctype,lcia,lcint,lcircp,lclogi,lclogr,lcra,lcreal,lcrest,lcrrc, lcrcp,lkia,lkint,lkirc,lkircp,lklogi,lklogr,lkra,lkreal,lkrrc,lkrrcp, usrcom}.f, ucf/wrcom.f 8 May 99 (AY089) Added BELL [ON|OFF] options to PPK, PLOTC commands to suppress ringing of bell by default, but allowing bell to be rung if wanted. Files changed: top/initsac.f, gam/{pcxcur,pcmcur,xpc,xppk}.f gtm/worldcursor.f gd1/{cursor1,cursortext1}.f gd2/cursor2.f gd3.x11/{cursor3,cursortext3}.c gd3.x10/{cursor3,cursortext3}.c gd4.sun/{cursor4,cursortext4}.c gdm/{cursor,cursortext}.f 16 May 99 (AY089) Fixed internal bug in setihv that left second character parameter undeclared as character. No change to main program code. Files changed: dff/setihv.f 23 October 99 (CT239) Fixed bug that caused infinite loop if PLOTC command used while SGF active. Read input only from graphics device 2 (which didn't return anything) even if device 3 or 4 was also there and ready to give a character from the cursor. Reverted to Fortran version of co/zgimsg.f so that the compiler-dependent code would be avoided. Uses iargc() and getarg() to get command line text. Also ported to GNU egcs Fortran. Found a bunch of dimensioning problems which were corrected. Files changed: co/zgimsg.f, gtm/cursor.f, inc/nvars 26 October 99 (CT239) Fixed bug in call to open in co/zopenc_ which didn't provide mode bits to call to open() for file create. Also added feature that open() will make use of umask and not unconditionally set mode bits to all=rw Files changed: co/zopenc_.c 20 May 2003 (GRH/UB) Add features of 10.6f to 10.6d SAC. 1 July 2003 - (GRH/UB) Fitted in auto configure code and normal Makefile building. Deleted extraneous source files that led to build problems. 2 July 2003 - (GRH/UB) inc/ver, src/top/initsac.f, src/top/makefile: Add build reporting on startup. Makefile.in: Build tracking via 'make newversion' command. --Build 1 ------------------------------ --Build 2 ------------------------------ 2 July 2003 - (GRH/UB) src/ncpf/executemacro.f, src/ncpf/setmacrostat.f, src/ncpf/macroline.f, src/cnd/skipcond.f, src/cnd/makefile: Fixed macro processing so that errors did not drop you entirely out of SAC. Also implemented reasonable definitions of the $KILL command in macros and of the $TERMINAL command in macros. --Build 3 ------------------------------ 2 July 2003 - (GRH/UB) src/dbh/overlp.f: Fixed bug in hilbert and envelope commands that would cause data to turn into NaNs after some operations on some files. --Build 4 ------------------------------ 2 July 2003 - (GRH/UB) src/cnd/makefile, src/cnd/xbreak.f, src/cnd/xdo.f, src/cnd/xelse.f, src/cnd/xelseif.f, src/cnd/xif.f, src/cnd/xwhile.f: Fixed bugs in IF and DO commands that would lead to bombing out if nesting level got too deep. Also fixed bug that caused IF and DO to lose track of nesting level if they exited sideways from a macro via the $KILL command. src/cnd/skipif.f, src/cnd/skipdo.f: removed. --Build 5 ------------------------------ 2 July 2003 - (GRH/UB) src/allamb.f, src/relamb.f: Add code to check for clobbered storage on allocation and relase. --Build 6 ------------------------------ 2 July 2003 - (GRH/UB) src/sam/xenvelope.f, src/sam/xhilbert.f: Fix of bug clobbering storage (too many values changed). src/dfm/inidfm.f: Did not zero nxsdd on initialization, led to false memory releases. src/dfm/readcfl.f, src/dfm/readfl.f, src/dfm/xra.f, src/dfm/lfilesok.f: Did not pass lsdd flag to lfilesok, nor did lfilesok provide a parameter for it! Led to false memory releases. --Build 7 ------------------------------ 2 July 2003 - (GRH/UB) src/contouring/calccontrlink.f, src/contouring/calccontsegs.f, src/contouring/plotcontdata.f, src/contouring/fastcontdata.f: Fixed bugs in contouring code that caused it to: 1) lose memory if ran out of label storage while building a plot; 2) would not contour if levels exactly matched values in data file. --Build 8 ------------------------------ 2 July 2003 - (GRH/UB) gam/xp1.f, xyz/xyzcleanup.f: Fix two minor bugs leading to crashes if stumbled across. --Build 9 ------------------------------ 3 July 2003 - (GRH/UB) cpf/{ctype,ictok,lcia,lcint,lcirc,lcircp,lclogi,lclogr,lcra,lcreal,lcrest, lcrrc,lcrrcp,lkia,lkint,lkirc,lkircp,lklogi,lklogr,lkra,lkreal,lkrrc, lkrrcp,usrcom}.f, ucf/wrcom.f: Fixed bug in DO . LIST command that caused numeric values in a do list to get truncated to 7 characters and have a $ appended to its final value. This arose due to the way that numeric tokens were handled in the command processing section. --Build 10 ------------------------------ 3 July 2003 - (GRH/UB) gam/{pcxcur,pcmcur,xpc,xppk}.f, gtm/worldcursor.f, gd1/{cursor1,cursortext1}.f, gd2/cursor2.f, gd3.x11/{cursor3,cursortext3}.c, gd3.x10/{cursor3,cursortext3}.c, gd4.sun/{cursor4,cursortext4}.c, gdm/{cursor,cursortext}.f: Added BELL [ON|OFF] options to PPK, PLOTC\ commands to suppress ringing of bell by default, but allowing bell to be rung if wanted. --Build 11 ------------------------------ 3 July 2003 - (GRH/UB) gam/inigam.f, gam/pcxope.f: Added numerical line style command to PCF files: "LNx" gives you line style number x. --Build 12 ------------------------------ 4 July 2003 - (GRH/UB) gam/pcmrpl.f: Made PLOTC rotate text along with macro objects --Build 13 ------------------------------ 4 July 2003 - (GRH/UB) (Build 10 also fixed a bug wherein an infinite loop happened in PLOTC if used when SGF was an active output device. Didn't include documentation until here, however.) dff/setihv.f: Fixed internal bug in setihv that left second character parameter undeclared as character. co/zgimsg.f: Reverted to Fortran version so that the compiler-dependent code would be avoided. Uses iargc() and getarg() to get command line text. Recoded to no intermediate buffer used. --Build 14 ------------------------------ 4 July 2003 - (GRH/UB) dfm/xr.h, dfm/xrh.h: Fixed bugs in bare "read" command (should use last file list). Made rh behave like "read" command if no parameters (use last file list). --Build 15 ------------------------------ 6 July 2003 - (GRH/UB) cpf/cfmt.f: Fixed bug causing wild error location if jcom > ncom, and correct and simplify pointer calculation. cpf/cfmt.f, dfm/readfl.f, dfm/readcfl.f, dfm/xra.f, dfm/xw.f: Fixed bugs due to writing to wrong I/O unit. dfm/xw.f: Fixed bug in writing error message if trying to overwrite read-only file. --Build 16 ------------------------------ 6 July 2003 - (GRH/UB) ncpf/macrokeyword.f: Fixed bug in src/ncpf/macrokeyword.f that caused it to clobber storage if in a macro with no non-keyword parameters, but the parameters you gave didn't match a keyword. --Build 17 ------------------------------ 6 July 2003 - (GRH/UB) pl/centxt.f: Fixed bug causing text angle not to be properly preserved. Changed to use gettextangle to get prevailing angle before setting up the new one. --Build 18 ------------------------------ 6 July 2003 - (GRH/UB) scm/xrglitches.f: Didn't check limits of glitch removal and could clobber storage before and after data file in memory. Also set default method to ABSOLUTE. --Build 19 ------------------------------ 6 July 2003 - (GRH/UB) inc/mem: Increase SAC internal memory size to 8M words. --Build 20 ------------------------------ 7 July 2003 - (GRH/UB) dfm/inidfm.f: File name initialization - allow for up to 36**2 different files. --Build 21 ------------------------------ 7 July 2003 - (GRH/UB) exm/xsystemcomma.f: Extend maximum length of system command to 1000 chars, and fix bug that would clobber the stack by not saving room for the null char at the end of the string that zsysop might put there. --Build 22 ------------------------------ 7 July 2003 - (GRH/UB) ncpf/processfunc.f: Fix bug in processfunction that truncated "function text" (xxxx . .) when it was being tested for being a number or not. (Recall that SAC syntax for arithmetic is ( 10. + 11. ), so that test of first word being a valid number decides whether the thing in parentheses is an expression or a function.) Would sometimes declare a value bad when it was good if the string was *not* truncated and all the characters were provided. ucv/cnvatf.f: Junked pointless code to parse floating-point numbers. Fortran read from character string can do it better, and pithier. --Build 23 ------------------------------ 7 July 2003 - (GRH/UB) src/sam/fdhp.f, src/sam/fdbr.f, src/sam/fdbp.f, src/sam/fdlp.f: Fixed bugs that changed constants passed as parameters to inspect. gdm/softwaretext.f, gdm/getstringsiz.f: Printing of null characters in strings didn't work - length of null character returned garbage. --Build 24 ------------------------------ 7 July 2003 - (GRH/UB) inc/sss: Correct definition of RKMPERDG. sss/xplotrecords.f: Fix reference to unused variable in calls to plmap. Implemented plotting by distance in degrees. Fixed bugs in vspace handling. sss/xaddstack.f: Override distance in header with explicitly given one. sss/xsumstack.f: Fix bug in calculating last point in summed stack. sss/xdistancewind.f: Fix handling of km/deg. distancewindows. --Build 25 ------------------------------ 7 July 2003 - (GRH/UB) sam/makefile: Fixed dependencies for filterdesign.o in makefile. wild/wildsm.f: Fixed bug in file pattern matching code that caused it to index beyond the end of the array and miss matching some files. gd2/begindevice2.f, gd2/getwindowst2.f: Fix bugs in handling of SGF files when it is the only active output device. --Build 26 ------------------------------ 7 July 2003 - (GRH/UB) icm/dseis.f,icm/getran.f,icm/dcpft.f: Fix array dimensioning. icm/dcpft.f: Fix bug in TRANSFER - insert SAVE statement for values calculated once. ncpf/processembed.f: Fix bug - did not exponentiate properly --Build 27 ------------------------------ 7 July 2003 - (GRH/UB) gam/xplotpm: Bug fix - improper call to zgpmsg. gam/xylim.f: Bug fix - ylim without limit clobbers storage. bot/modcase: Bug fix - don't return more chars than output string size. --Build 28 ------------------------------ 7 July 2003 - (GRH/UB) gd3.x11/createwindo3.c: Display crosshairs on screen during PPK/PLOTC. --Build 29 ------------------------------ 7 July 2003 - (GRH/UB) ncpf/processnum.f: Bug fix - SQRT(0.0) declared illegal! --Build 30 ------------------------------ 7 July 2003 - (GRH/UB) pl/pldta.f: Don't increment off end of array when using QDP. pl/plmap.f: Supply proper dimensioning. --Build 31 ------------------------------ 7 July 2003 - (GRH/UB) vars/decodevdesc.c, vars/encodevdesc.c: C code changes long->int. vars/encodevnil.f: Add error checking for entry being too long. vars/putventry.f: Fix bug where descriptor length of NIL descriptor not accounted for when deciding whether to expand vars list. vars/putvvstring.f: Fixed string indexing bugs. --Build 32 ------------------------------ 7 July 2003 - (GRH/UB) cnd/getdolen.f: Fix bug in getvvstring calls - was clobbering a constant. exm/xeval.f: Indexing beyond character string. exm/xsetbb.f: Fixed bug with numeric string conversion to number. ncpf/processline.f: Don't prompt for undefined VARS variables at terminal input level - adding the new value fails. sam/fdplot.f: Bug fix - parameter passed to loadxtmp wasn't right type ucf/extrma.f: Eliminate Fortran 66 constructs. --Build 33 ------------------------------ 7 July 2003 - (GRH/UB) co/zpgmsg.c: Add readline capability. --Build 34 ------------------------------ 7 July 2003 - (GRH/UB) xyz/xspectrogram.f, xyz/spectrogram.f: Fix bugs in SPECTROGRAM: 1) if unable to get sufficient space, clobbers memory; 2) after spectrogram calculated, file doesn't have a name and SAC craps out listing header info, e.g. Command still has bugs in it, but wait until I have a compiler that has proper array dimensioning checks to debug it. xyz/xspectrogram.f: Fixed weird coding style. --Build 35 ------------------------------ 8 July 2003 - (GRH/UB) contouring/calccontlabs.f, contouring/alloclabels.f, contouring/allocpoints.f, contouring/releaselabels.f, contouring/releasepoints.f, contouring/releasesegment.f: Contouring bugs - memory left damaged if allocation fails. contouring/allocsegments.f, contouring/getcontlabel.f, contouring/getcontpoint.f, contouring/getcontrlink.f, contouring/getcontseg.f, contouring/getcontseglab.f, contouring/putcontlabel.f, contouring/putcontpoint.f, contouring/putcontrlink.f, contouring/putcontseg.f, contouring/putcontseglab.f: More contouring bugs - simplify recovery logic if unable to allocate memory for contouring. --Build 36 ------------------------------ 8 July 2003 - (GRH/UB) co/izand.c, co/izor.c, co/izshft.c, co/zsleep.c: Fix typos and long->int C declarations. --Build 37 ------------------------------ 8 July 2003 - (GRH/UB) co/zrunname.f: String range check. dbh/acopy.f, dbh/afr.f, dbh/alias.f, dbh/apply.f, dbh/autcor.f, dbh/beroots.f, dbh/bilin2.f, dbh/buroots.f, dbh/corr.f, dbh/crit.f, dbh/crscor.f, dbh/cutoffs.f, dbh/decim.f, dbh/design.f, dbh/dfr.f, dbh/dircor.f dbh/edecim.f, dbh/fft.f, dbh/firtrn.f, dbh/iirfilter.f, dbh/inspect.f, dbh/lp.f, dbh/lptbp.f, dbh/lptbr.f, dbh/lpthp.f, dbh/mem.f, dbh/mlm.f, dbh/pds.f, dbh/pef.f, dbh/pltplr.f, dbh/revers.f, dbh/rms.f, dbh/shift.f, dbh/step.f, dbh/unit.f, dbh/wiener.f, dbh/window.f, winmov.f, dbh/xapiir.f, dbh/zero.f, dbh/zshft.f, fks/xbeam.f: Reimensioning to check array bounds. --Build 38 ------------------------------ 8 July 2003 - (GRH/UB) clf/lnxtcl.f, gem/inisym.f, msg/apcmsg.f, sam/cpft.f, smm/ptp.f: String range checks, array bounds checks. --Build 39 ------------------------------ 8 July 2003 - (GRH/UB) inc/wild: Fix bug in xwild - incorrect call to lkchar. inc/gam, inc/sss: Set number of files from MDFL in DFM common block. --Build 40 ------------------------------ 8 July 2003 - (Naoki Kobayashi/Titech) gd3.x11/setctable3.c: TrueColor X server support --Build 41 ------------------------------ 8 July 2003 - (Satoshi Kaneshima/Titech) bot/chpf.f: Bug in hypo pick file writing. gem/xwidth.f: Bug in xwidth - didn't include common decls. --Build 42 ------------------------------ 8 July 2003 - (GRH/UB) configure, configure.ac: FreeBSD configure tweaks. co/makefile, gdm/makefile: remove vestigial .F makefile lines gdm/dispatcheven.f: re-added code (but it isn't used by anybody!) co/zopen.f: Subscript range check bug in comparing file type names. --Build 43 ------------------------------ 8 July 2003 - (Naoki Kobayashi/Titech) co/makefile, co/endian.c: New file for byte-swapping routines. dff/rdcdta.f, dff/rddta.f, dff/rdhdr.f, dff/rdsdta.f, dff/rdshdr.f, dff/readhdr.f, dff/rsac1.f, dff/rsac2.f, dff/rsach.f, dff/wrsac.f, dff/wrsdd.f, dff/wsac0.f, gd2/flushbuffer2.f, sam/xrsp.f, sam/xwsp.f: Byte swap files as read and written. utils/convcss.f, utils/float2image.f, utils/sgflist.f, utils/sgfmerge.f, utils/sgfplot.f, utils/sgftoadobe.c, utils/sgftohipen.f, utils/sgftomif.c, utils/sgftops.c, utils/sgftops.f, utils/sgftoqms.f, utils/sgftoquic.f, utils/sgftotek.f: Byte swap files as read and written. --Build 44 ------------------------------ 9 July 2003 - (GRH/UB) configure.ac, configure, Makefile.in: Provide source distribution capability, allow BINDIR, LIBDIR, SACAUX to be explicitly provided in configure. Put ChangeLog into binary Mac distributions. makesac: added to work around annoyances of different semantics in different versions of make (GNU, BSD, Sun, ...) distinfo/README: make part of source distribution. utils/makefile, utils/sactosac.c, aux/tosac: FreeBSD build tweaks and incomplete build of sgftoeps, sgftoadobe, sgftomif. --Build 45 ------------------------------ 12 July 2003 - (GRH/UB) gam/xppk.f: Bug fix in PPK. Clobbers header of picked file with header of last file in window if MARKALL option on. --Build 46 ------------------------------ 15 July 2003 exm/xfg.f: Bug fix in FUNCGEN SEISMOGRAM. Did not release files in storage before generating new file - abandoned anything in memory! sss/xquitsss.f, sss/xzerostack.f, sss/xsumstack.f: Bug fixes - did not check properly for summed stack memory allocation/release. sss/xdeletestack.f: Bug fixes - did not release memory properly, nor remove designated traces from its state memory properly. sss/xaddstack.f, sss/xdeletestack.f: Make it work with datasets. --Build 47 ------------------------------ 15 July 2003 - (GRH/UB) inc/mach: Max. number of open files increased to 500 (change MDFL for more). wild/wildfl.f: Array bounds overflow if too many matching files. dsm/makefile: Missing inc/mach dependency for getdsflndx. co/makefile: Missing inc/mach, inc/exm dependency for zextcom. gd2/makefile: Missing inc/mach, inc/gd2 dependency for begindevice2. gdm/makefile: Missing inc/mach dependency for xwidth. gtm/makefile: Missing inc/mach, inc/gdm dependency for polyline. sss/makefile: Missing inc/mach dependency for phaseadj, velocityadj. xyz/makefile: Missing inc/mach dependency for xgrayscale. --Build 48 ------------------------------ 17 July 2003 - (GRH/UB) Makefile.in: Strip out LIST1, LISTn symbols (no longer used). configure.ac: Fix bad reference to lib_dir (should be libdir). configure: Rebuilt from configure.ac. --Build 49 ------------------------------ 19 July 2003 - (GRH/UB) fks/xmap.f: Make array maps work if array is regional in size. Also increase size of XY storage to MDFL, and add explicit CENTER option to give the center of the array. Uses same logic to decide how to plot array as does BBFK: 1 - if user7, user8 set - offsets (in km) 2 - if stla, stlo set - calculate km offsets from center of array (or first station if none given). fks/xbeam.f: Declare dimensioning for array bound checks. Make beams work for regionally-sized arrays. Bug fixes: 1) Only write beam file if file name given; 2) allow output files longer than 8 chars(!) 20 July 2003 - (GRH/UB) sam/fdplot.f: Bug fix in filterdesign command - impulse response not drawn properly (used an uninitialized variable in getlims). gtm/ylinaxis.f: Bug fix in labeling power of 10 on linear Y axis plots. Fix typo in logic for y division reckoning. This last one could lead to all kinds of mischief in y-axis labeling! --Build 50 ------------------------------ 22 July 2003 - (GRH/UB) sam/fdbp.f, sam/fdbr.f, sam/fdlp.f, sam/fdhp.f: Don't ignore the PASSES option. Modify amplitude & impulse response displays if PASSES=2. Fix bug causing clobbering of storage. Same problems in all routines. gtm/ylinaxis.f: Bug fix in grid line drawing. sam/fdplot.f: Offset impulse trace from bottom & top of plot. --Build 51 ------------------------------ 23 July 2003 - (GRH/UB) exm/xfg.f: Bug fix - did not set dependent variable limits after generating data, so ylim all on plots would not work after a funcgen family command. --Build 52 ------------------------------ 24 July 2003 - (GRH/UB) aux/seismogram.alpha: correct stla, set evdp and o for a sensible seismogram. fks/xbbfk.f: Make it work with regional arrays. Also fix bugs: 1) assumed traces all had same number of data points; 2) use consistent dimensioning throughout (somtimes max 40 files, other times max 25 files). Add dimensioning to arrays for bounds checking. dbh/linpack.f: Increased dimensions to be compatible with xbbfk.f. --Build 53 ------------------------------ 27 July 2003 - (GRH/UB) sss/xwritestack.f: If set, use time window for stacking to set B on file written by WRITESTACK. sss/xplotrecords.f: Bug fix: QDP labels forced to vertical baseline throughout record section. Used to make first horizontal, rest vertical. --Build 54 ------------------------------ 29 July 2003 - (GRH/UB) dfm/xr.f, dfm/xrh.f: Re-fixed bug of build 14, re-use of previous file list with bare "read" command. 3 Aug 2003 - (GRH/UB) exm/xmacro.f: Report name of missing macro file in error message. --Build 55 ------------------------------ 8 Aug 2003 - (GRH/UB) dfm/readfl.f: Bug fix. If "read more xxxx" and xxxx did not exist, would delete all files currently in memory. --Build 56 ------------------------------ 17 Aug 2003 - (GRH/UB) scm/xinterpolate.f: Bug fix. Calculated wrong number of interpolated data points for evenly-sampled files. Also determined resampling points in an numerically inaccurate way that led to sampling beyond end time of file. --Build 57 ------------------------------ 19 Aug 2003 - (GRH/UB) cnd/getdolen.f, cnd/skipcond.f: Improve error messages for missing enddo or improper if/do nesting. cnd/makefile: dependence on cpf --Build 58 ------------------------------ 20 Aug 2003 - (GRH/UB) top/saccommands.f: Improve error message reporting - don't abandon text of multi-line error messages. SAC used to throw away the partially-assembled text of an error and just report the initial error message string from the error text file. top/makefile: Now depends on inc/msg cnd/getdolen.f, cnd/skipcond.f, cnd/makefile: Re-work error messages into normal (multi-line) reporting scheme. cnd/xdo.f, cnd/xif.f, cnd/xwhile.f: Improve error messages, work into normal (multi-line) reporting scheme. exm/xhelp.f, exm/xsyntx.f: Transform command name to upper case before searching help info. ucf/wrhelp.f: Increase size of input region so it works ok with readline, and fix bugs causing some output text to not be displayed at end of the file. ucf/ophelp.f: Relax restrictions on "contents" file format - parse fields, not fixed-length column ranges for command names and files. aux/clstd: Make ARRAYMAP a synonym for 10.6f MAP. aux/help/*: Add 192 files documenting individual commands. aux/help/arraymap: Documented regional array features. aux/help/beam: Documented regional array features. aux/help/bbfk: Documented regional array features. ucf/ophelp.f: Fixed bug which caused nothing to be said if there wasn't help available for some command, and created a file called fort.19 in your directory where you were running sac. exm/xhelp.f, exm/xsyntx.f: Lengthen command token to 32 characters (there are some *long* SAC command names). Use lcchar rather than ltok to get next token (can be long string). --Build 59 ------------------------------ 22 Aug 2003 - (GRH/UB) aux/help/funcgen: Document UNIT, slope units for LINE, formatting garbage. dfm/xch.f: CHANGEHDR - Implement FILE n1 n2 ... clause, fix error message reporting. 24 Aug 2003 - (GRH/UB) aux/help/contents: Add HELP command synonym for LH, READALPHA for READTABLE. aux/help/readtable: Fix misspellings in text, and say that FORMAT works. dfm/xra.f: READALPHA - Fix reporting of error of incorrect number of X channels - crashed SAC. 25 Aug 2003 - (GRH/UB) dfm/xra.f: READALPHA MORE - Bug would cause in-memory file count to be wrong for dataset management. gam/xp2.f: Don't quit if a P2 header variable used for FILEID output - just print "undefined" for it. 26 Aug 2003 - (GRH/UB) aux/help/dif: Remove LaTeX text for formulas, make into ASCII. aux/help/intro: Forgot to commit 14 Oct 2003 - (G. Randall/LANL) icm/dcpft.f: Boost maximum signal length to 2**18 points. --Build 60 ------------------------------ 23 Nov 2003 - (GRH/UB) xyz/xspectrogram.f: Fix error handling in parsing of SPECTROGRAM. If error, wiped out files in memory and tried to put spectrogram there (but it wasn't computed). Force correlation type to upper case. xyz/xspectrogram.f: Allow MLM, MEM for type of correlation. xyz/zmlm.f: Explicit limits to array indices for bounds checking. xyz/zmlm.f: Increase maximum order to 400 for compatibility with spectrogram. xyz/spectrogram.f: Pass delta to spcgrm. Pass taper type to spcgrm. xyz/spcgrm.f: Bug fix in MLM correlation type. Bug fix in storage allocation. Use SPE algorithm for calculating autocorrelation so that MEM estimate works, and use windowing built into AUTCOR. xyz/getdata.f: Re-work code to simplify logic and fix bug in not returning proper first block of data. Eliminate use of zwindow. xyz/zwindow.f: Removed. dbh/spectr.f: Clear errmsg on entry to prevent continuous error messages after first mistake. xyz/xgrayscale.f: Change output for raster file plotting ease. Use sacgrayscale script rather than Utahxxx ones. xyz/xyzcleanup.f: Use sacgrayscale script rather than Utahxxx scripts. xyz/mem.f: Added new file. xyz/makefile: Added new make target. utils/makefile: Add sacplotreader, sacgrayscale, sacplot make info. utils/reader.c: New file. utils/sacgrayscale: New shell script. utils/{area.c,circshad.c,clip.c,color.c,doplot.c,dump.c,externs.c, font.c,is_scale.c,line.c,paths.c,pattern.c,putsym.c,raster.c, sacplot.c,setfat.c,setshad.c,chars.h,font.h,pat.h,sacplot.h}: New files. Makefile.in: Tweak to add XLIBS to SACCFLAGS in build of utils. configure.ac: Add -lXaw -lXmu -lXext -lXt to X build flags. bin/{Utahgrayscale, Utahcleanup}: Removed. aux/help/grayscale: Updated help information for GRAYSCALE command. spe/xpspe.f: Bug fix in PLOTSP AMPLITUDE command - clobbered storage. inc/spe: Misspelled lpcspec/pcspec for lpcsec/pcsec - caused PCOR command to give invalid output. --Build 61 ------------------------------ 01 Dec 2003 - (GRH/UB) amf/{allamb.f,relamb.f,iniam.f,inqam.f}: Re-work to use system memory allocator. Keep fixed memory allocation around if needed again, however. amf/mmsubs.c: New file. amf/xxxamb.com: New file. amf/makefile: Updated for new dependencies. inc/mem: Shrank sacmem declaration. --Build 62 ------------------------------ 05 Dec 2003 - (GRH/UB) xyz/xspecgrogram.f: Bug fix - did not update dataset info for XYZ file. --Build 63 ------------------------------ 06 Dec 2003 - (GRH/UB) inc/mach: Increase number of files to 1000(!) -- HiNet data. sss/xaddstack.f: Report number of files when limit exceeded. --Build 64 ------------------------------ 06 Dec 2003 - (GRH/UB) xyz/xgrayscale.f: Bug fix - zoom >= 1 always in grayscale(). xyz/getdata.f: Bug fix - don't always reset first. Eliminate parameter delta. xyz/spectrogram.f: Eliminate parameter delta in call to getdata. gd1/getdevicera1.f: Add pixel width return parameter. gd2/getdevicera2.f: Add pixel width return parameter. gd3.x10/getdevicera3.c: Add pixel width return parameter. gd3.x11/getdevicera3.c: Add pixel width return parameter. gd4.sun/getdevicera4.c: Add pixel width return parameter. gdm/getdevicerat.f: Add pixels per vspace unit return parameter. gdm/beginwindow.f: Change call to getdeviceratio to return new parameter. utils/sacplot.c: Set clipping region to cover entire window, not just part. utils/sacplot.h: Modify defines to include malloc and friends. utils/reader.c: Put minor tic marks between labels on spectrogram raster image plots. Move X-axis annotation below tics and use scaling factors if needed to reduce number of digits written on annotations. utils/reader.c, raster.c: Expand raster file info to allow for scaling factor in Y direction too, as well as X. utils/sacgrayscale: Parse both X and Y scaling factors in images. --Build 65 ------------------------------ 13 Dec 2003 - (GRH/UB) utils/reader.c: Change Y-axis labeling for spectrogram plots. utils/putsym.c: Implement vertical text for Y-axis labeling. --Build 66 ------------------------------ 20 Dec 2003 - (GRH/UB) Maintenance release - re-work to use Mac Installer to distribute binary code. Makefile.in: Modify to change dist-bin to build into dstroot directory. Makefile.in: Change sac-static-readline to add extra library for build, /usr/lib/libcc_dynamic.a, because saveFP/restFP not available otherwise. --Build 67 ------------------------------ 29 Mar 2004 - (GRH/UB) wild/wildsm.f: Try extending multi-char wildcard matches to try alternatives. Fixes some bugs in wildcarded pattern matching. Multi-multi-char wildcard matches may fail in some cases, still. co/zfiles.c: Recognize new ls -F suffixes and strip them out of zfiles return list of file names. bin/buildsac: remove (obsolete) bin/compilesac: remove (obsolete) bin/createlib: remove (obsolete) bin/findsac: remove (obsolete) bin/grepsac: remove (obsolete) bin/loadsac: remove (obsolete) bin/updatesac: remove (obsolete) --Build 68 ------------------------------ 09 Apr. 2004 - (GRH/UB) xyz/xspectrogram.f: Make METHOD synonym for CORRELATION to match on-line documentation. gdm/createwindow.f: Bug fix - omitted parameter in call to getdevicerat[1-4]. This bug has been in SAC since forever but never has a compiler complained until a Red Hat 7.x Linux i686 user found it! utils/Makefile: Left off -lm from sacplotreader line. exm/qmtw.f: Bug fix - misspelled identifier led to blank MTW report. smm/xmarkptp.f: Change logic to put marks in Tx and KTx header variables. dff/formhv.f, dff/formmarker.f: Expand G format to include all 6 significant digits in single-precision floating point. Trim trailing zeroes from floating and exponential values. pl/plmap.f: When determining Y plot limits, round generated X points towards sample position rather than truncate to ensure coverage of full Y range. Suppresses points lying vertically outside plot window. utils/sgftoeps.c: Fix macro declaration problem that could cause problems with old cpp versions that did not include #define xxxx(...) construct. utils/sgftoadobe.c, utils/sgftomif.c, utils/sgftops.c: Fix byte-swap code for SunOS cc (non-gcc) compatibility. amf/mmsubs.c: Include sys/param.h for NULL definition under SunOS. Make args float * to avoid size problems with void *. co/endian.c, co/zfiles.c, co/zgcurr.c, co/zgetc.c, co/zgnmsg.c, co/zgterm.c, co/zopenc.c, co/zputc.c, co/zrabs.c, co/zsleep.c, co/zsysop.c, co/zwprmt.c, co/izand.c, co/izor.c, co/izshft.c, co/iztrnc.c, gd3.x11/getdevicera3.c, gd3.x11/cursor3.c, gd3.x11/cursortext3.c, gd3.x11/begindevice3.c, gd3.x11/initdevice3.c, utils/sacplot.c: Fortran-C linkage tweaks for SunOS f77. configure, configure.ac: SunOS cc configure tweaks (long long presence; snprintf presence). aux/help/datagen: Fix formatting of, and info in command documentation (eliminate inappropriate notes about endian-ness of data). utils/sacgrayscale: Change arg presentation for sh compatibility - use awk! Makefile.in: Fix install cmds to remove use of nonstandard tar features (not necessary for an install). aux/datagen/regional/{elk_z,knb_z,lac_z,mnv_z,elk_e,knb_e,lac_e,mnv_e, elk_n,knb_n,lac_n,mnv_n}.alpha: Set quake depth to 5 km (catalog value) in file header. aux/help/datagen: Correct spelling in help text. cpf/tokens.f: Fix bug causing invalid commands to be reported in some macros, when actually they are OK. Blank command s left in command stack if a string token exactly fits into a word (8 characters). Also document code. utils/reader.c: DONTHAVE_SNPRINTF support for SunOS systems. --Build 69 ------------------------------ 03 May 2004 - (GRH/UB) exm/xmacro.f: Bug fix - ignored remaining commands on command line following a macro invocation. aux/help/do, aux/help/enddo, aux/help/while, aux/help/if, aux/help/elseif, aux/help/else, aux/help/endif, aux/help/break, aux/help/commands, aux/help/contents: Add help for do, enddo, while, if, elseif, else, endif and break commands. Makefile.in: Remove CVS files from installed aux directory; part of previous change to Makefile.in. ucf/wrhelp.f: Stop syntax listing at DESCRIPTION line if no INPUT, etc. --Build 70 ------------------------------ 04 May 2004 - (GRH/UB) co/endian.c: Missed fixup of Fortran-C linkage tweak for SunOS f77. Makefile.in: Remove execute permission from any file in aux directory on install. aux/help/{do,while,enddo}: Cross-reference BREAK in help text. gd3.null/getdevicein3.f, gd4.null/getdevicein4.f: Name the null device. gd3.null/emptydevice3.f, gd4.null/emptydevice4.f: Give a ratio for null device. This fixes a bug wherein if you don't define a device, and type p1, SAC goes into an infinite loop trying to draw ticks on the nonexistent device's screen. gam/inigam.f: Make NULL the default device. --Build 71 ------------------------------ 23 May 2004 - (GRH/UB) Makefile.in, co/makefile, co/zbasename.c: Provide build default for SACAUX so that it does not have to be explicitly set in the environment. exm/qaux.f: New file. exm/xreport.f, exm/makefile: Add REPORT AUX command. aux/help/report: Add help information for REPORT AUX. Makefile.in: Make sure build of sac-static-readline does not use dynamically loaded gcc libraries. On make of dist-bin, re-make co/zbasename.o so that default SACAUX gets set from default install position in the SAC PackageManager package. utils/uninstall.in: Uninstall script for MacOS X installer/uninstaller. --Build 72 ------------------------------ 31 May 2004 - (GRH/UB) Makefile.in: Fix location of uninstall script. distinfo/README: Update information for source and binary distributions. gam/xppk.f: Clear previous pick name when making new PPK pick. dfm/xdfmc.f, dfm/xcutim.f: Added CUTIM command. dfm/defcut.f, dfm/defmem.f: Change calling sequence to provide file name and cut information. dfm/makefile: Added CUTIM command. aux/clsstd: Added CUTIM command. dfm/defcut.f: Change logic to determine last data point in cut. Eliminates extra point at end of cut window. aux/help/cutim: Fix spelling, formatting of CUTIM help text. dfm/readcfl.f: Fix many bug(s) in reading of CSS files via RDCSS (how did this ever work?) dfm/xrdcss.f: Ditto. css/cssfld.f: Ensure trailing \0 on field names. aux/help/commands, aux/help/readcss, aux/help/contents: READCSS command help. wild/wildfl.f: Use default directory passed. Don't claim match if no files in directory. --Build 73 ------------------------------ 05 June 2004 - (GRH/UB) Makefile.in: Remove -g from build flags and add -static-libgcc to dist-bin builds. Prevents problems with big binaries and unavailable libs for new builds. scm/xdecimate.f: DECIMATE command bug - dropped core or put junk in depmin,depmax after decimation. icm/iniicm.f, icm/fap.f, icm/dseis.f, icm/makefile: Implement TRANSFER FAP option (frequency-amplitude-phase response file). aux/messages: Ditto. cpf/lcmrwt.f: Parsing bug fix in CUTIM (some syntax declared illegal when it wasn't). dfm/xcutim.f: Forgot to commit. --Build 74 ------------------------------ 09 June 2004 - (GRH/UB) cpf/lcmrtw.f: Typo in file name; renamed. Fix error reporting in CUTIM command. cpf/makefile: Ditto. cpf/lcmrwt.f: Renamed to lcmrtw.f. dfm/xcutim.f: Fix error reporting in CUTIM command. Bug fixes: 1) did not set file count in dataset right when making multiple cuts; 2) cut began one point too late in data; 3) zero filling before/after data didn't work right if CUTERR FILLZ on. co/zfiles.c: zfiles rewrite to avoid popen/pclose in favor of stat/getdirentries. popen misfires under MacOS X sometimes for unknown reasons. Fix bug in searching for files in current directory. configure.ac: If possible, save on debug space with -feliminate-unused-debug-symbols if C and Fortran compilers accept it. ncpf/processline.f: Make space and tab equivalent characters to prevent SAC choking on macros modified by editors changing multiple spaces to tabs. cpf/poptok.f: Ditto. cpf/tokens.f: Ditto. utils/reader.c: Improve error message for bad args. sam/xcorrelate.f: Bug fix in calculating CORRELATE cmd max window length. dfm/defcut.f: Change logic to determine first data point in cut to make symmetric with last data point. Changes cut behavior to closest point to begin and end of cuts; if want finer control, add delta to explicit cut values to force exclusion. Makefile.in: Fix dist-bin commands. --Build 75 ------------------------------ 28 July 2004 - (GRH/UB) fks/xbbfk.f: Fix bug causing BBFK WRITE file name truncation, and implement setting of BBFK_AMP, BBFK_WVNBR, BBFK_BAZIM. aux/help/contour: CONTOUR help format reformatted. utils/sgftoadobe.c: Render functional, calculate bounding boxes. Equivalent to a fast sgftoeps with colors in plot retained. Use postscript fonts for hardware fonts if possible. utils/sgflist.f: Add additional opcodes to listing. utils/sgftoeps.c: Retired; replaced with sgftoadobe.c utils/sgftoadobe.c: Removed. utils/makefile: New dependencies for sgftoadobe (retired), sgflist, sgftoeps. Makefile.in: Ditto gd2/hardwaretex2.f: Fix bug in hardware text output to sgf files. aux/help/contour: GTEXT help format reworded. exm/qgtext.f: Did not report state of GTEXT properly. exm/makefile: Ditto (new dependency). gdm/settextsize.f: Include font number along with text size. This allows different hardware fonts to be chosen, if available, and makes it possible to use PostScript fonts to annotate SGF output. gdm/beginframe.f: Ditto. gdm/makefile: Ditto (change to include dependencies). gd1/settextsize1.f: Ditto. gd2/settextsize2.f: Ditto. gd3.x10/settextsize3.c: Ditto. gd3.x11/settextsize3.c: Ditto. gd4.sun/settextsize4.c: Ditto. icm/dcpft.f: Increase sine table size (limits max FFT possible); 2**32 point FFTs allowed. --Build 76 ------------------------------ 18 Oct. 2004 - (GRH/UB) utils/sgftops.c: Use symbolic names for SGF opcodes. utils/sgftops.c: Fix SGF file parsing to use count field in opcode, not pre-known "lengths" of items. utils/makefile: New dependency on gd2.h for sgftops.c. --Build 77 ------------------------------ 11 Nov. 2004 - (GRH/UB) Makefile.in: Add dependency of utils on lib/sac.a. dstrsrc/preupgrade: Change so it won't remove files; Installer already determined which will be replaced at this point. aux/help/contents: Update index for "IF" command. --Build 78 ------------------------------ 28 Nov. 2004 - (GRH/UB) dfm/getatw.f: Don't let window indices extend beyond trace data. cpf/inicsf.f: % and & are not token delimiters; they've been taken care of in ncpf/processcommand with the ncpf (new command processor). This prevents escaped % and & characters ("@%" and "@&") from creating weird error messages at later stages of command processing. gdm/text.f: Don't re-draw software text on top of hardware if two graphics devices are active simultaneously, one using hardware and the other using software. utils/Makefile: Change cc -> $(CC) in build lines. New dependencies on ver.h. co/inquireflen.c: Add #include for so will compile on Linux systems. co/zfiles.c: change to use fchdir/chdir as needed, and to use opendir/readdir in favor of getdirentries. fchdir is utterly broken on SunOS 4.1 systems(!) icm/transfer.f: Declare TRANSFER external to avoid conflict/compilation complaint about confusion with Fortran intrinsic TRANSFER. gdm/inigdm.f, gam/inigam.f: Misplaced initializations moved from inigam to inigdm (wrong common block initialized). gam/inigam.f, gam/inigam.f: Misplaced initializations moved from inigam to inigdm (wrong common block initialized). inc/gdm: Remove unused items in common. gem/xp1.f: Fix typo, always set yvspmn/yvspmx. Led to problems on some platforms with text upside down on p1 plots. Makefile.in: chmod around lib/sac.a to unprotect and protect library; only afflicts source installs. New target sac-utils to eliminate problems with utils build dependencies. aux/help/plotc: Document environment/parameter-setting commands in replay files. gd2/settextsize2: Output text justification. gdm/beginframe.f, gdm/settextsize}.f: Provide text justification. utils/sgftops.c: Implement hardware font usage and hardware text justification. Add version information to usage output. utils/sgftoeps.c: Don't need to byte swap SGF files; code eliminated. Fix bug causing invalid postscript to be produced if move ended a buffer. Don't use getwd in favor of getcwd. Fix bugs in hardware font output; text misplaced in some cases. Add hardware text justification. utils/sgftoeps.f: Removed. --Build 79 ------------------------------ 02 Jan. 2005 - (GRH/UB) co/zfiles.c: Fix typo causing bug - on MacOS X systems, did not change back to original directory after pattern match directory search. aux/help/quantize: Re-format QUANTIZE help text. aux/help/rq: Re-format RQ help text. aux/help/transfer: Re-format TRANSFER help text. --Build 80 ------------------------------ 04 Jan. 2005 - (GRH/UB) ncpf/macroline.f: Expand $-, %-, &-variables in $RUN command text. aux/help/{xvport, yvport, filterdesign, readsp}: Fix text to include REFERENCES. sss/xplotrecords.f: Save/restore lnull, vnull during travel time curve plots. gdm/convcolornam.f: Fix bug in return value if invalid color given. gem/xline.f: Trace +/- area color filling. Parse command input. aux/help/line: Trace +/- area color filling. Document command syntax. inc/gem: Trace +/- area color filling. Data structures. pl/inigem.f: Trace +/- area color filling. Initialization. pl/plclip.f: Trace +/- area color filling. Fill in clip window. Handle trace segments that get clipped at both ends by window boundaries. pl/plnocl.f: Trace +/- area color filling. Fill in unclipped window. pl/plcurv.f: Trace +/- area color filling. Defeat filling for contour data. pl/pldta.f: Trace +/- area color filling. Incrementing fill type. gd3.x11/fill3.c: Optimize X11 area filling interface -- used more now! utils/sgfplot.f: Implement fill op for display of trace area filling. utils/sgftoeps.c: Implement fill op for display of filled traces. utils/sgftops.c: Implement fill op for display of filled traces. Optimize out futile moves, color changes, condense output. pl/pldta.f: Don't let data displayed go outside ends of plot window. Makefile.in: Simplify lib/sac.a make to shorten command text length for sh implementations with length restrictions. makesac: Add target sac-utils, remove utils. utils/makefile: Change sac-utils dependency to ../sac-utils. utils/sgfplot.f: Interpret hardware text justification. utils/sgftops.c: Fix bug: Didn't move before drawing hardware text. --Build 81 ------------------------------ 18 Jan. 2005 - (GRH/UB) utils/{sgftops,sgftoeps}.c: Fix left justified, centered hardware text plotting. utils/sgftoeps.c: Fix problem plotting rotated hardware text. utils/sgfplot.f: Fix problem plotting rotated hardware text. sss/xplotrecords.f: Align trace labels via centering of text. pl/centxt.f: Center text vertically using baseline or top of text. gam/xppk.f: Title wandered around plot window during PPK. Fix. aux/help/line: Modify help for LINE a bit. 19 Jan. 2005 - (GRH/UB) gdm/convcolornam.f: Let color choice include last in color table. gem/makefile: Include xcolor.o dependence on inc/gdm. gem/xcolor.f: Implement changing of color tables. inc/gdm: Add lctcng flag. src/gdm/initctable.f, src/gdm/inigdm.f, src/gdm/beginwindow.f: Set, query, and reset lctchg after installing new color maps. aux/ctables/rainbow: Change orange and indigo defs and add black. aux/help/color: Document changes to COLOR. 28 Jan. 2005 - (GRH/UB) aux/help/contents, aux/help/bandpass: Document BANDPASS command(!) aux/help/filterdesign: Reformat for better SYNTAX display. 31 Jan. 2005 - (GRH/UB) cpf/lckey.f: Don't accept keyword abbreviations if key ends with '#$'. 1 Feb. 2005 - (GRH/UB) utils/sgftoeps.c: Fix bug drawing filled regions (skipped first point). 2 Feb. 2005 - (GRH/UB) aux/help/sss, aux/help/spe, aux/help/contents - Added documentation for SSS and SPE. cpf/ophelp.f: Separate help files for subprocesses. aux/help/contents2: SPE subprocess help. aux/help/contents3: SSS subprocess help. aux/help/{addstack,changestack,deletestack,timeaxis,deltacheck,timewindow, distanceaxis,traveltime,distancewindow,velocitymodel,globalstack, velocityroset,incrementstack,writestack,liststack,zerostack} - Added documentation for SSS commands. --Build 82 ------------------------------ 2 Feb. 2005 - (GRH/UB) spe/xpds.f: Force default seconds to 10.0 as advertised. inc/spe: Fix typo in common specpds -> secpds (urgh). spe/xpspe.f: Make PLOTSPE honor xlim in spectrum plots. aux/help/{addstack,changestack,plotstack,deletestack,deltacheck,distanceaxis, plotrecordsection,zerostack,writestack,velocityroset,velocitymodel, traveltime,liststack,timewindow,incrementstack,timeaxis,globalstack, sumstack,distancewindow}: Re-format text. aux/help/{liststack,plotstack}: Missed adding them previous release. aux/help/{plotspe,cor,speread,readcor,mem,mlm,pds,writecor,plotcor,writespe, plotpe,contents2}: Document SPE subprocess. ucf/cnvatf.f: Make parsing of numbers more strict than Fortran I/O allows. Prevent parsing of '1-2' as '1e-2' and '/xxx' as zero. 4 Feb. 2005 - (GRH/UB) dfm/xdelchan.f: Implement DELETECHANNEL command. dfm/xdfmc.f: Ditto. dfm/makefile: Ditto. aux/clstd: Ditto. aux/messages: Ditto. ucf/sorti.f: Bug fix - the sort subroutine didn't really sort! exm/qline.f: Report status of line fill in REPORT LINE command. sss/xdeletestack.f: Fix code indenting. 6 Feb. 2005 - (GRH/UB) wild/lwildc.f: Don't call alternatives/concatenations "wild cards" -- they aren't, in the sense that they don't require directory searches to expand. wild/wildct.f: New routine to expand file names with alternatives/conc. wild/makefile: Add dependencies for wildct. wild/wildfl.f: Avoid directory searches if file contains only simple name or alternative/concatenation list. 22 Feb. 2005 - (GRH/UB) co/zrunname.f: Make range of commands on $run/$endrun more flexible. ncpf/executemacro.f, ncpf/macroline.f: Restore DO and IF nesting on macro processing abort due to errors. 23 Feb. 2005 - (GRH/UB) aux/help/fileid: Warn about FILEID field list appearing last among the command parameters. cpf/tokens.f: Handle null string parsing properly - used to swallow remainder of command line (or up to next string delimiter). cpf/cfmt.f: Ditto. cpf/ctype.f: Ditto. cpf/ictok.f: Ditto. cpf/lcchar.f: Ditto. cpf/lckey.f: Ditto. cpf/lclist.f: Ditto. cpf/lcmsg.f: Ditto. cpf/lcquot.f: Ditto. cpf/lcrest.f: Ditto. cpf/lkchar.f: Ditto. cpf/lklist.f: Ditto. cpf/lkquot.f: Ditto. ucf/wrcom.f: Ditto. cpf/csinit.f: Only one end-of-command token. cpf/cspush.f: Ditto. cpf/cspop.f: Ditto. cpf/inicsf.f: Ditto. inc/cpf: Ditto. 1 Mar. 2005 - (GRH/UB) cnd/xelse.f: Check for junk following ELSE (might be erroneous ELSE IF). aux/help/else: Document error message. aux/messages: Error message for ELSE/ENDIF syntax. cnd/xendif.f: Check for junk following ENDIF. aux/help/endif: Document error message. cnd/xenddo.f: Check for junk following ENDDO. aux/help/enddo: Document error message. aux/messages: Error message for ENDDO syntax. --Build 83 ------------------------------ 14 Mar. 2005 - (GRH/UB) src/ucf/distaz.f: Fix bug in ARRAYMAP distance calculation; sometimes done wrong. gam/xplotdy.f: Complain in XPLOTDY if unequal number of points. aux/messages: Ditto. aux/help/{commands,contents,contents2,contents3,plotdy}: Document PLOTDY 18 Mar. 2005 - (GRH/UB) cpf/lclogp.f: Implement ON|OFF|PREVIOUS parsing mechanism. cpf/makefile: Ditto. gem/xline.f: Implement line [on|off|previous] and line fill [on|off|previous] options. aux/help/line: Document LINE option PREVIOUS features. utils/sgftops.c: Bug fix - handle case were move last op in previous buffer. Bad PostScript results. Another bug fix - handle BUFSIZ up to 5100 (SAC can do this). utils/sgftoeps.c: Bug fix - handle BUFSIZ up to 5100 (SAC can do this). 22 Mar. 2005 - (GRH/UB) utils/sgftops.c: Make sgftops into a filter (standard input/standard output), and be able to handle input from pipes. Bug fix - move before area fill produced bad PostScript. bom/xmerge.f, dfm/xdelchan.f, dfm/xsynch.f, eam/xapk.f, fks/xmap.f, gam/getylm.f, gam/xfitxy, gam/xp1.f, gam/xp2.f, gam/xplotxy.f, gam/xplotdy.f, gam/xppk.f, gam/xylim.f, sss/xdeletestack.f, wild/wildfl.f, xyz/xspectrogram.f, uom/xadd.f, uom/xsub.f, uom/xmul.f, uom/xdiv.f, uom/iniuom.f, nnm/xwritenn.f, dfm/xlh.f: Eliminate static storage in favor of dynamic allocation. inc/datafilelist, inc/gam, inc/lhf, inc/mem, inc/nnm, inc/uom: Ditto. aux/help/spe: Fix typo, move revision. cpf/lclogp.f: New routine to parse ON/OFF/PREVIOUS. cpf/makefile: Ditto. cpf/xclog.f: Add generic parser for ON/OFF/PREVIOUS. gem/xgemc.f: Support PREVIOUS option in BORDER, LOGLAB, XFULL, YFULL. exm/xexmc.f: Support PREVIOUS option in COMCOR, PRODUCTION. spe/xspec.f: Support PREVIOUS option in SPEID. aux/help/{border,comcor,loglab,production,speid,xfull,yfull}: Document PREVIOUS option. co/znfile.f: Restructure to allow for opening pipes. co/zopenc.c: Allow for opening of pipes to a program. co/zwabs.c: Allow for strictly sequential writes (no seek). gd2/sgfprint.f: New routine to push/pop SGF output to piped stream. gd2/makefile: Ditto. gem/xbeginframe.f, gem/xendframe.f: Split out as separate command processors. gem/makefile: Ditto. gdm/begindevices.f: ANY option to add new output device without turning off previously-active ones. gam/xp.f, gam/xp1.f, gam/xp2.f, gam/xplotpm.f, gem/xbeginframe.f, gem/xendframe.f, gd2/beginframe2.f, gd2/endframe2.f, gd2/flushbuffer2.f, gdm/inigdm.f, sss/xplotrecorsection.f, xyz/xcontour.f: Implement PRINT option. inc/gem: Ditto. aux/help/contour: Document PRINT option. --Build 84 ------------------------------ 25 Mar. 2005 - (GRH/UB) ncpf/macroline.f: Fix bug in $RUN command macro expansion. ncpf/macroordered.f: Fix bug in handling of delimited string positional macro arguments. ncpf/macrokeyword.f: Ditto. --Build 85 ------------------------------ 29 Mar. 2005 - (GRH/UB) ncpf/macroline.f: Fix another bug in $RUN command processing. 2 Apr. 2005 - (GRH/UB) pl/plclip.f: Fix bug in trace filling logic. datafilelist/: Remove directory - no routines in it used. inc/datafilelist: Ditto. {amf,bot,co,ucf,vars}/makefile: Remove reference to vars_make_stamp vars_make_stamp: Remove. */makefile: Remove use of ../make_stamp in src directory make_stamp: Remove. bin/makefile: Ditto. dfm/xdelchan.f: Fix dataset-related bugs in DELETECHANNEL. 15 Apr. 2005 - (GRH/UB) utils/sgftoeps.c: Fix bug when drawing long paths. Incorrect plot resulted. Also emit stroke/fill op before any non-draw op in SGF. utils/makefile: Forgot to make ../bin/sactosac a target for sac-utils! utils/sgftoeps.c: Eliminate concatenation operator use in version string. This causes problems with gcc3.4 (because it is technically incorrect). utils/sgftops.c: Ditto. utils/sgfplot.f: Add version, behave well if end-of-file given. utils/makefile: Add inc/ver dependency. --Build 86 ------------------------------ 04 June 2005 - (GRH/UB) configure, configure.ac: Check for reallocf, Linux /proc file systems. co/zbasename.c: If no SACAUX in environment, change rules for searching for aux directory to make installs more flexible. If prevously found, will use prior version. Otherwise, if /proc/self/exe exists, will use that to search for bin directory xxxx/bin/sac, and assume that xxx/lib/aux also exists. Otherwise, assumes that automatic install will put sac's code in some xxx/bin directory, and that there will be an xxx/lib directory (same path prefix) with xxx/lib/aux in it. Declares SACAUX found if it finds a directory like that based on PATH setting. Makefile.in: Add dependency for sgftoxfig. utils/sgftoxfig.c: New SGF tool to export SGF files to Xfig for annotating publication-quality SAC plots. Formal release. utils/uninstall.in: Fix incorrect syntax for tcsh, csh uninstalls. --Build 87 ------------------------------ 02 July 2005 - (GRH/UB) aux/help/{apk,ylim,transfer}: Fix text formatting. ucf/wrhelp.f: Query terminal window size for paging help text. exm/xnews.f: Leave prompt on same line as "More?" for news. gam/xylim.f: Fix bug that prevented YLIM parsing errors to be reported properly. sam/xwnr.f, dbh/wiener.f: Implement MU ON|OFF in WIENER command and check for bad windows. aux/messages: Add message for WIENER command. amf/reaamb.f: New routine, similar to allamb. inc/mem: Define ksacmem (character memory). ncpf/processline.f: Implement new 3-pass parsing scheme. ncpf/makefile: Ditto. ncpf/inicpf.f: Ditto. dfm/xdelchan.f: Fix a major conceptual flaw in DELETECHANNEL; install a mousetrap to check for other problems with internal storage. Yet another bug fix when deleting traces. 04 July 2005 - (GRH/UB) ncpf/processline.f: Experimental - recognize ( and ) as delimiters for $..$, %..% and &..&. This makes (abs &1,depmax) valid syntax. --Build 88 ------------------------------ 18 July 2005 - (GRH/UB) spe/xpcor.f, spe/xppe.f, spe/xpspe.f: Make default device be kgddef. gdm/begindevices.f: Change ANY to ACTIVE (better name); implement PREVIOUS option to BEGINDEVICES. aux/help/begindevices: Update BD help text. gd3.x11/begindevice3.c: Remove redundant code, add synchronization option. gd3.x11/fill3.c: Fix memory leak of fill-related storage and X bug of bad pixmap if device ended and then re-beginned. gd3.x11/enddevice3.c: Ditto. gd3.x11/dispatcheve3.c: Try to trap window destroy events to handle closing of a SAC window with the red button on the frame. (Ultimately, not successful.) gd3.x11/beginframe3.c: Ditto. ucf/wrcom.f: Gut and use lcrest to not duplicate code. cpf/lcrest.f: Return untruncated length of output string, so that length checks can be made. exm/xmacro.f: Make aware of long lcrest lengths. co/zrunout.c: New routine to run command to pipe and read output. co/makefile: Add routine dependence, remove make_stamp dependency. co/make_stamp: Removed. exm/xsystemcomma.f: TO xxxx option added. aux/help/systemcommand: Ditto, documented. vars/encodeventry.f: Check for string value too long for output string. 21 July 2005 - (GRH/UB) ncpf/processline.f: Return expanded length of input line even if text is too large for buffer. ncpf/makefile: Add processline.f dependency on inc/exm, inc/mem. main/sac.f: Allow long input lines after macro expansion, extending as necessary. main/makefile: Add dependency on mem, remove make_stamp dependency. sss/inisss.f, sss/xsss.f, sss/xzerostack.f: Don't reset stack parameters on every entry to SSS. Only reset them for traces that were not added by ADDSTACK inside of SSS. This lets you do PRS, leave SSS, and return to SSS with same delays so another PRS will have the same relative stack times. Huh. Why didn't I think of that years ago? 22 July 2005 - (GRH/UB) cpf/ictok.f: Bug fix - permit backing up from end of tokenized text. cnd/xwhile.f: Implement WHILE READ bbv X Y Z ... cnd/ldolist.f: Ditto. cnd/makefile: Ditto, and remove use of make_stamp. cnd/make_stamp: Removed. aux/help/while: Document new WHILE features. cnd/xif: Check condition is valid and improve error message if not. ***The stricter run-time checks here could cause previously working ***scripts to fail due to this change. aux/messages: Ditto. vars/putvvstring.f: Use ksacmem and adopt Fortran blank-extension semantics for null string assignments. Makefile.in: Don't build static libc and readline for non-Darwin builds. 23 July 2005 - (GRH/UB) sss/xplotrecords.f: Implement magnification option, BELL ON/OFF. sss/rscursor.f: Ditto. ucf/sortfi.f: Ditto; new routine. aux/help/plotrecordsection: Document features sss/makefile: Removed use of make_stamp. sss/make_stamp: Removed. aux/news: Added news entries for new features. 26 July 2005 - (GRH/UB) amf/inqam.f: Expand memory report fields, computer memory is big! sss/xplotrecords.f: Simplify color management in PRS. sss/rscursor.f: Ditto, and clarify code by removing dead code and adding comments. sss/makefile: Remove rscursor dependency on GAM. 27 July 2005 - (GRH/UB) inc/lhf: Make header variable types parameters, not common vars. dff/inilhf.f: Ditto. sss/xplotrecords.f: Fix off-by-one error in %SSS... var output. 28 July 2005 - (GRH/UB) ucf/sortfi.f: Bug fix (if sorting one file). gdm/begindevices.f: Allow abbreviations for ACTIVE and PREVIOUS. 29 July 2005 - (GRH/UB) sss/xplotrecords.f: Implement moveout curve picking. sss/rscursor.f: Ditto. aux/help/plotrecordsection: Document moveout curve picking. ncpf/inicpf.f: Implement QUOTEBB string function. ncpf/processstring.f: Ditto. ncpf/makefile: Eliminated use of make_stamp. ncpf/make_stamp: Ditto. 30 July 2005 - (GRH/UB) ncpf/processnum.f: Complain about missing numeric function arguments. ncpf/appendstring.f: Simplify logic, use Fortran string blank extension semantics for efficiency. exm/xfg.f: Implemented FUNCGEN IMPSTRING, condensed code. exm/iniexm.f: Ditto. inc/exm: Ditto, and added symbolic parameters to coefficient arrays. exm/makefile: Eliminated use of make_stamp. exm/make_stamp: Ditto. --Build 89 ------------------------------ 31 July 2005 - (GRH/UB) gd3.x11/cursor3.c: Implement searchlight cursor option. gd3.x11/dispatcheve3.c: Ditto. inc/gd3.x11.h: Ditto. gd3.x11/makefile: Eliminate use of make_stamp. sss/rscursor.f: Use searchlight cursor when picking moveout curves. inc/gd3.x11.h: Simplify IBM conditionals. gd3.x11/makefile: Ditto, adding necessary gd3.x11.h dependencies. gd3.x11/createwindo3.c: Ditto. gd3.x11/dispatcheve3.c: Ditto. gd3.x11/beginframe3.c: Ditto. gd3.x11/beginwindow3.c: Ditto. gd3.x11/createwindo3.c: Ditto. gd3.x11/cursortext3.c: Ditto. gd3.x11/draw3.c: Ditto. gd3.x11/drawpoly3.c: Ditto. gd3.x11/enddevice3.c: Ditto. gd3.x11/endframe3.c: Ditto. gd3.x11/erase3.c: Ditto. gd3.x11/fill3.c: Ditto. gd3.x11/getalphainf3.c: Ditto. gd3.x11/getdevicein3.c: Ditto. gd3.x11/getratio3.c: Ditto. gd3.x11/getwindowst3.c: Ditto. gd3.x11/initdevice3.c: Ditto. gd3.x11/move3.c: Ditto. gd3.x11/setcolor3.c: Ditto. gd3.x11/setctable3.c: Ditto. gd3.x11/setlinestyl3.c: Ditto. gd3.x11/settextsize3.c: Ditto. gd3.x11/setwidth3.c: Ditto. co/stdu.h: Simplify IBM conditionals. co/makefile: Ditto, adding necessary stdu.h dependencies. co/zwprmt.c: Ditto. co/zwabs.c: Ditto. co/zsysop.c: Ditto. co/zsleep.c: Ditto. co/zrunout.c: Ditto. co/zrbytabs.c: Ditto. co/zrabs.c: Ditto. co/zputc.c: Ditto. co/zopenc.c: Ditto. co/zmemad.c: Ditto. co/zinfo.c: Ditto. co/zgwindowsize.c: Ditto. co/zgtmsg.c: Ditto. co/zgterm.c: Ditto. co/zgpmsg.c: Ditto. co/zgnmsg.c: Ditto. co/zgetgd.c: Ditto. co/zgetc.c: Ditto. co/zgcurr.c: Ditto. co/zfiles.c: Ditto. co/zexit.c: Ditto. co/zclosec.c: Ditto. co/zbasename.c: Ditto. co/mcinquire.c: Ditto. co/iztrnc.c: Ditto. co/izshft.c: Ditto. co/izor.c: Ditto. co/izand.c: Ditto. dbh/makefile: Make sure compilable with -DIBM (no trailing _ for Fortran external symbols). co/stdu.h: Ditto. co/endian.c: Ditto. co/zrabs.c: Ditto. co/zrbytabs.c: Ditto. co/zwabs.c: Ditto. css/csshdr.c: Ditto. vars/decodevdesc.c: Ditto. vars/encodevdesc.c: Ditto. gd3.x11/createwindo3.c: Ditto. amf/mmsubs.c: Ditto. utils/writeabs_.c: Ditto. dbh/gauss.f: Avoid potential name conflict with "random" in C library. dbh/random.f: Ditto. configure.ac, configure: Check for no trailing _ on Fortran symbols and use -DIBM if not. --Build 90 ------------------------------ 2 Aug. 2005 - (GRH/UB) dff/rdhdr.f: Fix bug causing wrong file name report if header bad. dff/rdsac.f: Ditto. dfm/lfilesok.f: Ditto. dfm/readfl.f: Ditto. sam/xrsp.f: Ditto. dff/makefile: Eliminate make_stamp. dff/make_stamp: Removed. 4 Aug. 2005 - (GRH/UB) gd3.x11/createwindo3.c: Ignore clicks on window close button. gd3.x11/dispatcheve3.c: Ditto. 6 Aug. 2005 - (GRH/UB) ncpf/processstring.f: Don't allow indexing beyond end of string with SUBSTRING. msg/apflmsg.f: Define apflmsg to add file name to message. msg/make_stamp: Remove. msg/makefile: Ditto. bom/xaddf.f: Use apflmsg. bom/xdivf.f: Ditto. bom/xmerge.f: Ditto. bom/xmulf.f: Ditto. bom/xsubf.f: Ditto. dfm/defcut.f: Ditto. dfm/defmem.f: Ditto. dfm/getatw.f: Ditto. dfm/vfeven.f: Ditto. dfm/vfmaxn.f: Ditto. dfm/vfminn.f: Ditto. dfm/vfrng.f: Ditto. dfm/vfspec.f: Ditto. dfm/vftime.f: Ditto. dfm/xwh.f: Ditto. eam/xapk.f: Ditto. gam/xfitxy.f: Ditto. sam/xunwr.f: Ditto. sam/xwnr.f: Ditto. scm/xquantize.f: Ditto. scm/xrotate.f: Ditto. smm/xmarktimes.f: Ditto. smm/xmarkvalue.f: Ditto. sss/vmdly.f: Ditto. sss/xplotrecords.f: Ditto. xyz/vfxyz.f: Ditto. 7 Aug. 2005 - (GRH/UB) dfm/kgetfn.f: Define routine to get text of file name from index. dfm/indxfn.f: Define routine to get index of file from name. dfm/makefile: Add new routines. dfm/xcopyhdr.f: Use. dfm/xdelchan.f: Use. dff/lgahdr.f: Use. dff/lgdf.f: Use. dff/gethv.f: Use. dfm/xcutim.f: Use. dfm/xdelchan.f: Use. dfm/xlh.f: Use. dfm/xwh.f: Use. gam/xfitxy.f: Use. gam/xp2.f: Use. gam/xplotdy.f: Use. gam/xplotxy.f: Use. sam/xcorrelate.f: Use. sam/xrsp.f: Use. sam/xwsp.f: Use. sss/xchangestack.f: Use. sss/xdeletestack.f: Use. sss/xliststack.f: Use. sss/xplotstack.f: Use. ucf/wapf.f: Use. 8 Aug. 2005 - (GRH/UB) sss/xplotstack.f: Bug fix - use PERPLOT value, not PERPLOT+1! Change prompt if multi-window plot. 9 Aug. 2005 - (GRH/UB) dfm/xcuter.f: Implement CUTERR PREVIOUS. aux/help/cuterr: Document change. exm/qcut.f: Report CUTERR with CUT. aux/help/report: Document change. 10 Aug. 2005 - (GRH/UB) dfm/rsach.f: Make rsach usable (didn't copy in char header vars). dfm/wsach.f: New user-callable routine, wsach. co/zopenc.c: Add 'dont truncate on write' option used by wsach. 11 Aug. 2005 - (GRH/UB) sss/rscursor.f: Add V option while drawing moveout curve. aux/help/plotrecordsection: Document change. 12 Aug. 2005 - (GRH/UB) ucf/distaz.f: Numerically stabilize formulas for distance when latitude approximately zero. 13 Aug. 2005 - (GRH/UB) sss/rscursor.f: Add R option to redraw screen. aux/help/plotrecordsection: Document change. gd2/sgfprint.f: Bug fix - change ANY to ACTIVE. Introduced in grh-88. 14 Aug. 2005 - (GRH/UB) sss/rscursor.f: Improve algorithms for finding extrema and zeros. Display pick confirmation on trace (sugg. J. Wookey, UB). --Build 91 ------------------------------ 15 Aug. 2005 - (GRH/UB) ncpf/processline.f: Fix bug in input processing. Don't truncate input if unexpanded input line too long for output buffer. 24 Aug. 2005 - (GRH/UB) dsm/cleards.f: Fix bugs in dataset/data storage release. 25 Aug. 2005 - (GRH/UB) exm/xsetmacro.f: Add MORE option to SETMACRO. 28 Aug. 2005 - (GRH/UB) dfm/inidfm.f: Add PREVIOUS option to CUT. inc/dfm: Ditto. aux/help/cut: Ditto. gam/inigam.f: Add PREVIOUS option to XLIM. inc/gam: Ditto. aux/help/xlim: Ditto. sam/inisam.f: Add PREVIOUS option to WIENER. inc/sam: Ditto. aux/help/wiener: Ditto. scm/iniscm.f: Add PREVIOUS option to RGLITCHES. inc/scm: Ditto. aux/help/rglitches: Ditto. smm/inismm.f: Add PREVIOUS option to RMS and MTW. inc/smm: Ditto. aux/help/rms: Ditto. aux/help/mtw: Ditto. cpf/lcrtw.f: Parse PREVIOUS option for pdw. cpf/lkrtw.f: Parse PREVIOUS option for keyed pdw. cpf/xcrtw.f: Add PREVIOUS option for pdw. dff/inihdr.f: Remove dependency on dfm. utils/sgftops.c: Fix comments, set line width in local graphics env. This fixes lack of line width control on some printer types. 6 Sep. 2005 - (GRH/UB) aux/help/expressions: Document GETTIME and SUBSTRING features. 13 Sep. 2005 - (GRH/UB) ncpf/gettime.f: Return UNDEFINED if no value found. --Build 92 ------------------------------ 25 Sep. 2005 - (GRH/UB) utils/sacplot.h: Use stdlib.h for non-linux, non-apple, non-sgi compiles (FreeBSD). utils/sacplot.c: Define ioctls for stty/gtty rather than C library routines for non-linux, non-apple, non-sgi compiles (FreeBSD). gdm/begindevices.f: Fix to adopt strict Fortran compliance. Makefile.in: Tweak lib/sac.a make commands to cope with Solaris builds. Makefile.in: Remove extraneous files during source distribution. distinfo/README: Document how to link sac.a with g77 and gfortran. inc/exm: Add SECONDS/POINTS option for IMPSTRING option to FUNCGEN. exm/iniexm.f, exm/xfg.f: Ditto. aux/help/funcgen: Ditto. 11 Jan. 2006 - (GRH/UB) aux/help/ssscommands: Remove duplicated lines in command list. utils/SAC 10.4 Install: ranlib lib/sac.a after install, and don't do find of /Volumes directory (may be very slow). --Build 93 ------------------------------ 3 Feb. 2006 - (GRH/UB) dff/gethv.f: Return UNDEFINED rather than error 1310 if &n,filename& asked for n > # files in memory. Allows kludgey way to check how many files are in memory. 8 Feb. 2006 - (GRH/UB) gd4.mac/gd4.cocoa.m: New module to provide native Mac graphics, based on Cocoa. gd4.app: app in aux directory for SAC to use. Makefile.in: include gd4.app in build. gtm/polyfill.f, pl/plclip.f: gd4 can fill. aux/help/expressions: document &n,xxxx& syntax. aux/help/begindevices: document MACWINDOWS device. bin/makefile: tweak build to make sac to invoke c++ frameworks on Darwin builds. 1 June 2006 - (GRH/UB) utils/sgftoeps.c: fix bugs in handling of rotated hardware text and in bounding box calculation. utils/loadutils: Removed. 20 June 2006 - (GRH/UB) configure.ac: Handle -framework args better using -Wl,... Assign GD4 so that utils/sgfplot make works right with mac GD4. Makefile.in: Set GD4 in Makefile. Make sac-utils depend on lib/sac.a. Ignore ar errors if only Makefile.incl needs changing. inc/hdr: Add mag, imgtyp, imgsrc to header as per SAC2000. inc/lhf: Ditto. dff/inilhf.f: Ditto. dff/rdhdr.f: Check for byte-swapped header and make suggestion to swap if so (suggested by Arthur Snoke). 22 June 2006 - (GRH/UB) sss/xplotrecords.f: Make DISTANCEWINDOW USEDATA and DISTANCEWINDOW FIXED XX work properly (bug reported by J. Wookey). 27 June 2006 - (GRH/UB) dff/rsach.f, dff/wsach.f, dff/rsac1.f, dff/rsac2.f, dff/wsac0.f, dff/wsac1.f, dff/newhdr.f, co/zgtfun.f, co/zdest.c, co/zrabs.c, co/zwabs.c, co/znfile.f: remove calls to msg routines to make it act like low-level routine. This makes use of library routines by external programs more efficient use of file space (if using the routines rsach/wsach, wsac[012], rsac[12]). Decreases program object file size by about 30k. src/spe/xwcor.f, src/spe/xwspe.f, src/sss/xwritestack.f, co/zrun.f: report error message if problems opening file for read or write. 5 July 2006 - (GRH/UB) ucf/next2.f: Fix rounding bug reported in SAC2000. 17 July 2006 - (GRH/UB) dff/setrng.f: Re-code to avoid i386 optimization glitch regarding use of amax1 (bug reported by J. Wookey). 3 Aug. 2006 - (GRH/UB) aux/help/do: Change DO help text to warn about integer-only values. 4 Aug. 2006 - (GRH/UB) gd3.x11/dispatcheve3.c: Refresh window label more often so it does not get lost. 5 Aug. 2006 - (GRH/UB) gd3.x11/createwindo3.c: Put window number into window title bar. 6 Aug. 2006 - (GRH/UB) inc/gd3.x11.h: Define conditional compilation flag for label window. gd3.x11/createwindo3.c: Eliminate title window based on conditional compilation. Window number now in title bar. gd3.x11/dispatcheve3.c: Ditto. gd3.x11/initdevice3.c: Ditto. dsm/makefile: Eliminate use of make_stamp, add inc/hdr dependency. dsm/make_stamp: Remove. xyz/makefile: Eliminate use of make_stamp, add inc/hdr dependencies. xyz/make_stamp: Remove. xyz/xspectrogram.f: Use header variables directly. xyz/xgrayscale.f: Ditto. xyz/xcontour.f: Ditto. 7 Aug. 2006 - (GRH/UB) dff/getfhv.f: Eliminate message on error; set nerr return value. (GRH/UB) Decreases program object file size by about 30k. dff/gethv.f: Ditto. dff/getihv.f: Ditto. dff/getkhv.f: Ditto. dff/getlhv.f: Ditto. dff/getnhv.f: Ditto. dff/setfhv.f: Ditto. dff/setihv.f: Ditto. dff/setkhv.f: Ditto. dff/setlhv.f: Ditto. dff/setnhv.f: Ditto. 10 Aug. 2006 - (GRH/UB) ncpf/macroline.f: Expand input buffer to 1024 for long macro file lines. (GRH/UB) exm/xsystemcomma.f: Fix bug in SC TO BBV xxxx if xxxx produces no output; hangs forever in read. (GRH/UB) co/zgpmsg.c: Fix bug in code to truncate long input lines from readline. (GRH/UB) 12 Aug. 2006 - (GRH/UB) ncpf/inicpf.f: Define ITEM and ITEMS functions to return and count items in blank-delimited lists. ncpf/processstring.f: Ditto. aux/help/expressions: Document new functions. 13 Aug. 2006 - (GRH/UB) cnd/makefile: Fix dependency for xif.o; missing inc/cpf ncpf/makefile: Fix dependency for executemacro.o; missing inc/cpf ncpf/inicpf.f: Define HDRNUM and HDRVAL functions to return ranges of values or file numbers based on header value search. ncpf/processline.f: Ditto. Also allow for LOOOOOONG input lines. inc/cpf: Ditto. 14 Aug. 2006 - (GRH/UB) ncpf/inicpf.f: Define ITEMCOUNT to count items and redefine ITEMS to return range of blank-delimited lists. ncpf/processstring.f: Ditto. aux/help/expressions: Document new functions. 15 Aug. 2006 - (GRH/UB) ncpf/inicpf.f: Define STATUS function to retrieve internal status variables. ncpf/processstring.f: Implement STATUS NFILES. aux/help/expressions: Document new functions. aux/messages: Correct misspelling, add error messages for STATUS. 16 Aug. 2006 - (GRH/UB) utils/makemetric: New shell script to make font metric tables from AFM files. utils/makefile: New dependencies for sgftopdf. Makefile: Ditto utils/sgftopdf.c: New output program to make PDF files from SGF files. utils/psfont.c: Ditto. utils/psfont.h: Ditto. utils/psfontF1.inc: Ditto. utils/psfontF2.inc: Ditto. utils/psfontF3.inc: Ditto. utils/psfontF4.inc: Ditto. pl/ylinax.f: Change justification for power-of-10 indicator to LEFT LEFT. 17 Aug. 2006 - (GRH/UB) utils/sgftoeps.c: Use font metrics to calculate EPS bounding boxes. utils/makefile: New dependencies for sgftoeps. utils/sgflist.f: Add fill ops to output list. --Build 94 ------------------------------ 22 Aug. 2006 - (GRH/UB) inc/ver: Bump version number. co/zgpmsg.c: Use editline routines if available in favor of readline (installed by default on MacOS). configure.ac: Search for editline/el_init (comes from -ledit). configure: Ditto. ncpf/inicpf.f: Add GETVAL function. ncpf/processstring.f: Ditto. Also extend HDRVAL/HDRNUM to icata types in header. ncpf/makefile: Ditto. aux/help/expressions: Document new function. utils/sgftopdf.c: Fix bounding box calculation for hardware fonts. Also change scaling of plot to make it larger on the page. utils/sgftoeps.c: Ditto. aux/help/merge: Document all command options. bin/makefile: Fix non-Darwin builds to not invoke framework-related link options. 23 Aug. 2006 - (GRH/UB) utils/sgftoeps.c: Fixed bounding box calculations. utils/sgftopdf.c: Ditto. 31 Aug. 2006 - (GRH/UB) Gut sac of dataset-related logic and structures. This is a joyous occasion because it was non-functional, the design was bad, and even though it didn't work it engendered many bugs in SAC's other code. inc/dfm: Removed dataset-related structures. bom/xmerge.f: Stripped code. dfm/cleardfl.f: Rewrote. dfm/inidfm.f: Stripped code. dfm/lfilesok.f: Stripped code. dfm/readcfl.f: Stripped code. dfm/readfl.f: Stripped code. dfm/xcutim.f: Stripped code. dfm/xdelchan.f: Stripped code. dfm/xdfmc.f: Stripped code; added VIEW. dfm/xr.f: Stripped code. dfm/xra.f: Stripped code. dsm/makefile: Stripped dependencies. dsm/xcds.f: Removed. dsm/xlds.f: Removed. dsm/xcopy.f: Removed. dsm/xdelete.f: Removed. dsm/xgroup.f: Removed. dsm/xrename.f: Removed. dsm/checkdscnt.f: Removed. dsm/cleards.f: Removed. dsm/clearws.f: Removed. dsm/getdsflndx.f: Removed. dsm/mkdsflsactive.f: Removed. dsm/nxtdsndxavail.f: Removed. dsm/setcdsindex.f: Removed. dsm/setcdsindices.f: Removed. exm/iniexm.f: Removed report dataset. exm/makefile: Ditto exm/qdataset.f: Removed. exm/xreport.f: Removed report dataset. exm/xfg.f: Stripped code. sam/xcorrelate.f: Stripped code. sam/xdft.f: Stripped code. sam/xrsp.f: Stripped code. sam/xunwr.f: Stripped code. sam/xdecimate.f: Stripped code. sam/xinterpolate.f: Stripped code. sam/xsmooth.f: Stripped code. sam/xstretch.f: Stripped code. sss/xaddstack.f: Stripped code. sss/xdeletestack.f: Stripped code. xyz/xspectrogram.f: Stripped code. aux/clstd: Removed CDS, COPY, DELETE, LISTDATASETS, RENAME, commands. Add VIEW. aux/help/commands: Ditto. aux/help/contents: Ditto. aux/messages: Removed dataset-related messages. inc/com: Change to new token structure command line processing. inc/csf: Ditto. cpf/cfmt.f: Ditto. cpf/cresp.f: Ditto. cpf/csinit.f: Ditto. cpf/cspop.f: Remove. cpf/cspush.f: Remove. cpf/ctype.f: Update to handle new token structure. cpf/gc.f: Update to handle new token structure. cpf/ictok.f: Update to handle new token structure. cpf/inicsf.f: Update to handle new token structure. cpf/lcchar.f: Update to handle new token structure. cpf/lckey.f: Update to handle new token structure. cpf/lclogc.f: Update to handle new token structure. cpf/lcmrtw.f: Update to handle new token structure. cpf/lcmsg.f: Update to handle new token structure. cpf/lcquot.f: Update to handle new token structure. cpf/lcrest.f: Update to handle new token structure. cpf/lkchar.f: Update to handle new token structure. cpf/lkquot.f: Update to handle new token structure. cpf/pcimsg.f: Obsolete routine; remove cpf/pcfmsg.f: Obsolete routine; remove cpf/tokens.f: Update to handle new token structure. exm/xmacro.f: Ditto. ncpf/gettime.f: Rewrote to not use token parsing routine. ncpf/processtring.f: Update to handle new token structure. top/saccommands.f: Update to handle new token structure. ucf/copykc.f: Update to handle new token structure. cpf/lclist.f: Make long quoted strings work properly. cpf/lklist.f: Make long quoted strings work properly. cpf/lkia.f: Fix infinite loop if non-integer before min number required. cpf/makefile: Eliminate use of make_stamp. cpf/make_stamp: Removed dff/getfil.f: Update documentation. ncpf/processline.f: Fix off-by-one bug in long string assignments. pl/ylinax.f: Change justification BACK for power-of-10 indicator to LEFT CENTER. ucf/cnvatf.f: Don't declare numbers with internal blanks proper numbers. 3 Sep. 2006 - (GRH/UB) exm/xtranscript.f: Add HISTORY option to transcript, so that command history can be saved/restored. Also fix FLUSH option. exm/xexmc.f: Ditto. inc/exm: Ditto. co/zgpmsg.c: Improve editline use, add history load/add/store. 5 Sep. 2006 - (GRH/UB) ncpf/processnum.f: Increase max number of args to MDFL. 7 Sep. 2006 - (GRH/UB) ncpf/processline.f: Fix bug in function processing if there are more than one evaluation on a line and they both expand to very long text strings. 12 Sep. 2006 - (GRH/UB) cpf/lcia.f: Fix bug in parsing of integer array: Make sure value is an integer! cpf/lcint.f: Ditto cpf/lcircp.f: Ditto cpf/lcirc.f: Ditto 15 Sep. 2006 - (GRH/UB) exm/xsystemcomma.f: Fix bug. If command starts with "to..." interprets as output TO bbvar. 15 Sep. 2006 - (GRH/UB) gd4.mac/gd4.mac.m: New component for native Mac graphics gd4.mac/makefile: Ditto. gd4.app/gd4.carbon.c: Ditto. gd4.app/carbonsignal.c: Ditto. gd4.app/makefile: Ditto. gd4.app/Contents/Info.plist: Ditto. gd4.app/Contents/MacOS: Ditto. gd4.app/Contents/Resources/gd4.png: Ditto. gd4.app/Contents/Resources/English.lproj/InfoPlist.strings: Ditto. src/makedep: Ditto Makefile.in: Updated distribution process for new component. 16 Sep. 2006 - (GRH/UB) gam/xppk.f: Sort X picks into ascending time order so reversed windows don't puzzle pickers. aux/help/plotpk: Added help information for pick operations. src/gem/xqdp.f: Started to implement PREVIOUS option. 18 Sep. 2006 - (GRH/UB) cnd/ldolist.f: Fix off-by-one bug in string length for last item in WHILE READ list. 30 Sep. 2006 - (GRH/UB) utils/sgfplot.f: Handle MAC device -- interactive. cpf/cresp.f: Eliminate COMCOR features -- command line re-entry is better. 04 Oct. 2006 - (GRH/UB) gdm/getalphainfo.f: Fix window size for non-X11 devices. gdm/begindevices.f: Don't base lh lines on graphics window except for device 1 (terminal). gdm/inigdm.f: Ditto. dfm/xlh.f: Fix prompt and erase of window. 05 Oct. 2006 - (GRH/UB) cnd/xif.f: Fix punctuation in IF syntax error message. 07 Oct. 2006 - (GRH/UB) gd4.app/gd4.carbon.c: Fix problems that show up under Tiger with crosshair handling and multiple windows. --Build 95 ------------------------------ 02 Nov. 2006 - (GRH/UB) {co,dbh,test}/makefile: Use $(FC) rather than f77 utils/makefile: Ditto. contouring/setcontlinere.f: Bug fix: reference to wrong identifier. co/aggro.c: New routine to define dummy routines that cause dynamic linking problems. co/makefile: Add aggro.c dependencies. Makefile.in: Add -static-libgcc to dist-bin, make Tiger/Intel avoid linking with libg2c.dylib bin/makefile: Add hooks for linking to prevent dynamic library loading. 03 Nov. 2006 - (GRH/UB) configure.ac: Find libg2c, conditionally use /sw/lib in library search path. configure: Ditto. 03 Dec. 2006 - (GRH/UB) Makefile.in: Add commands to make Darwin development builds work with Cocoa device. 06 Dec. 2006 - (GRH/UB) vars/increasenlist.f: Misspelled identifier name led to crash on vars list expansion on some machines (Tiger builds). scm/xrotate.f: Change logic to determine whether components are at right angles to one another. Remaining problems with optimization and cmpaz cmpinc retrieval from inc/hdr. 17 Dec. 2006 - (GRH/UB) aux/ctables/raster: Define raster image color table. inc/gdm: Ditto. gdm/initctable.f: Change calling sequence to install plot and raster tables. gdm/inigdm.f: Ditto. gem/xcolor.f: Change call to install plot table. 19 Dec. 2006 - (GRH/UB) Makefile.in: Add sgftopdf to UTILS; overlooked earlier. gdm/makefile: Eliminate make_stamp, add raster.f and dependencies. gdm/make_stamp: Removed. gdm/raster.f: New component. gd1/makefile: Eliminate make_stamp. gd1/zdevice1.f: Dummy rast1. gd2/makefile: Eliminate make_stamp, add raster2.f and dependencies. gd2/make_stamp: Removed. gd3.null/makefile: Eliminate make_stamp. gd3.null/make_stamp: Removed. gd3.null/emptydevice3.f: Add dummy rast3. gd3.x10/makefile: Eliminate make_stamp, add raster3.c and dependencies. gd3.x10/make_stamp: Removed. gd3.x10/raster3.c: New (dummy) rast3 routine. gd3.x11/makefile: Add raster3.c and dependencies. gd3.x11/raster3.c: New rast3 routine. gd4.mac/gd4.mac.m: New rast4 routine. gd4.app/gd4.carbon.c: First try at implementing raster images. pl/pl3d.f: New routine to use for raster plots. pl/makefile: Add new dependencies, remove make_stamp. xyz/makefile: Add new dependencies. xyz/xcontour.f: Allow for contour regions that don't begin and end exactly on contour data gridlines. Use raster routines. inc/contouring: Ditto. contouring/fastcontdata.f: Ditto. contouring/calccontsegs.f: Ditto. contouring/setcontdatali.f: Ditto. xyz/xspectrogram.f: Bug fix if window too small. Use raster routines. aux/messages: New error message for spectrogram semantics. 22 Dec. 2006 - (GRH/UB) gdm/readctable.f: Allow external color table files to be read. gdm/xcolor.f: Add RASTER option to COLOR. gdm/makefile: Change xcolor.f dependencies. aux/help/color: Document new COLOR features. aux/help/spectrogram: Updated help examples. aux/messages: New error message for internal color table errors. 23 Dec. 2006 - (GRH/UB) xyz/xspectrogram.f: Implement CBAR ON/OFF as per documentation. aux/help/spectrogram: Updated text. aux/help/grayscale: Updated text. 24 Dec. 2006 - (GRH/UB) gd4.app/gd4.carbon.c: Implement raster opts for MAC device. gd4.mac/gd4.mac.m: Ditto. utils/makefile: Eliminate builds of sacgrayscale, sacplotreader and sacplot. Makefile.in: Ditto for installs. 26 Dec. 2006 - (GRH/UB) gam/xgamc.f: Added LINEFIT command. gam/makefile: Ditto, eliminate make_stamp. gam/xlinefit.f: Implemented LINEFIT command. aux/clstd: Add to command table. aux/help/linefit: Document for help. inc/xyz: Eliminate xyzcleanup. xyz/makefile: Ditto. xyz/xyzcleanup.f: Eliminated. xyz/inixyz.f: Eliminate reference to lcleanup. 27 Dec. 2006 - (GRH/UB) utils/gemcheck.f: New utility to check size of plsave/plrest areas in GEM common. utils/makefile: Add dependencies. Makefile.in: Add dependencies, use gemcheck to check sizes whenever SAC recompiled. inc/gem: Add cmgeml, kmgeml to determine size of common area. Increase sizes of mcmgem and mkmgem -- gemcheck found both to be too small! xyz/xgrayscale.f: Eliminate use and definition of sacgrayscale routine. 28 Dec. 2006 - (GRH/UB) gd4.mac/gd4.cocoa.m: Fix buffering bug -- clobbered memory after end of draw buffer. sam/filterdesign.f: Implement FILE option and PRINT option. sam/xwsp.f: Ditto. Define wsp routine to write spectral file. aux/help/filterdesign: Update help. 01 Jan. 2007 - (GRH/UB) exm/qcolor.f: Report raster table in use in REPORT COLOR output. exm/makefile: Add dependencies. inc/gdm: Save name of prevailing color table. aux/help/report: Update description of REPORT COLOR output. 02 Jan. 2007 - (GRH/UB) dbh/dfr.f: Fix bug in calculation filter response if stage numerator or denominator is exactly zero. dbh/makefile: Eliminate make_stamp. wild/wildfl.f: Replace dfm COMMON variable kdirfl with local one in stack to reduce size of inc/dfm. wild/makefile: Eliminate make_stamp. inc/dfm: Eliminate kdirfl 03 Jan. 2007 - (GRH/UB) co/zfiles.c: Fix bug in non null-terminated directory searches. exm/qcolor.f: Report available color tables. gdm/readctable.f: New routine to return color table directory. Change readctable to use it, qcolor to use it. aux/help/report: Update example to show new behavior. aux/help/color: Update help text to document new behavior. 04 Jan. 2007 - (GRH/UB) ucf/wrhelp.f: List response alternatives to help output. aux/help/help: Update help examples. 05 Jan. 2007 - (GRH/UB) gd4.app/makefile: Fix makefile for test installs. Makefile.in: Fix makefile for test installs. aux/ctables/tomo: Added tomography color table. aux/ctables/zero: Red-white-blue color table. 07 Jan. 2007 - (GRH/UB) gd3.x11/setctable3.c: Fix bug; all fill was b/w! 08 Jan. 2007 - (GRH/UB) xyz/xgrayscale.f: Eliminate checks against maximum sizes. --Build 96 ------------------------------ 11 Jan. 2007 - (GRH/UB) gdm/begindevices.f: MORE synonym for ACTIVE. aux/help/begindevices: Document by updating HELP. 11 Jan. 2007 - (GRH/UB) Makefile.in: Rearrange logic to shorten long lines expanded by $?. Long command lines choke some versions of sh during builds. 04 Feb. 2007 - (GRH/UB) dfm/readfl.f: Eliminate ndsflcnt reference (left from dataset logic ripout) top/initblkdata.f: Ditto top/makefile: Eliminate make_stamp use xyz/xgrayscale.f: Make GRAYSCALE [COLOR|GRAY] choice persistent. 06 Feb. 2007 - (GRH/UB) ucm/extrma.f: Calculate mean in double precision to fix precision loss with large (|>10E5|) mean offsets. 10 Feb. 2007 - (GRH/UB) sam/fdbp.f: Complain if no DELTA given in FILTERDESIGN. sam/fdbr.f: Ditto. sam/fdhp.f: Ditto. sam/fdlp.f: Ditto. aux/help/beam: Reformat documentation, correct spelling, fix units documentation for center, user789. aux/help/bbfk: Reformat documentation, correct spelling. fks/xbeam.f: Implement documented options, plot resulting beam and don't leave beam trace in memory. 11 Feb. 2007 - (GRH/UB) xyz/vfxyz.f: Check that nxsize, nysize defined before accepting file as XYZ. Complain if not. 14 Feb. 2007 - (GRH/UB) bom/xmerge.f: Account for roundoff in DELTA checking during MERGE. aux/help/merge: Fix documentation (TRUE/FALSE -> ON/OFF). 15 Feb. 2007 - (GRH/UB) bom/xmerge.f: If gap/overlap less than DELTA/2, ignore warning/error. 18 Feb. 2007 - (GRH/UB) aux/help/fir: Document FIR file format, reformat help. 7 Mar. 2007 - (GRH/UB) gd3.x11/raster3.c: Fix array indexing bug in X11 spectrogram/grayscale displays that crashes SAC. 8 Mar. 2007 - (GRH/UB) fks/xbbfk.f: Simplify storage use and logic of FKEVALP routine. Annotate polar BBFK plot with wavenumber values. dbh/pltplr.f: Annotate polar plot with radial values. Parameterize magic constants for text adjustments in displays. 10 Mar. 2007 - (GRH/UB) fks/xbbfk.f: Use MXLENP definition from inc/fks. fks/Makefile: Eliminate make_stamp 12 Mar. 2007 - (GRH/UB) bom/opf.f: New module to incorporate ADDF, SUBF, MULF and DIVF ops. bom/bomc.f: Change to use OPF. Implement NEWHDR [ON|OFF] bom/xaddf.f: Remove. bom/xsubf.f: Remove. bom/xmulf.f: Remove. bom/xdivf.f: Remove. --Build 97 ------------------------------ 22 Mar. 2007 - (GRH/UB) Makefile.in: Don't issue Cocoa-related link commands on non-mac builds. gd4.null/emptydevice4.f: Dummy fill4 and rast4 routines for non-Mac builds. icm/makefile: Eliminate make_stamp. icm/getins.f: Add EVALRESP support. icm/ckinst.f: Ditto. icm/iniicm.f: Ditto. icm/dseis.f: Ditto. icm/xtransfer.f: Ditto. icm/transfer.f: Make behavior like SAC2000. inc/mach: Make FLTMIN machine dependent number; add to common. top/initsac.f: Calculate FLTMIN for machine each time SAC runs. aux/messages: Ditto. inc/icm icm/evr.f: New routine for EVALRESP support. src/makedep: EVALRESP awareness. 04 Apr. 2007 - (GRH/UB) utils/sactosac.c - Added -m option to always swap to MacSAC endian format no matter what the file and machine endianness is. 12 Apr. 2007 - (GRH/UB) dstrsrc/ReadMe.txt - Update instructions for native installs. aux/help/transfer - Document EVALRESP changes. 19 Apr. 2007 - (GRH/UB) gd4.app/gd4.carbon.c - Fix bug - allow for window placement via WINDOW commands. Not originally implemented. aux/help/window - edit help description. 16 June 2007 - (GRH/UB) dff/wrxml.f, dff/makefile: New routine to write XML files; add dependencies. dfm/xw.f: Extend write command to write XML files. aux/help/write: Document write of XML. dff/rdxml.f: New routine to read XML files. aux/help/read: Document read of XML. co/zrdxml.c, co/makefile: New routine to parse XML files; add dependencies. dfm/xr.f: Extend read command to read XML files. 16 June 2007 - (GRH/UB) exm/xfg.f: Fix bug -- 'fg seismogram' adds *two* file names to file list, not one. inc/hdr: Increase MIV to include phenomena defines; correct misalignment between names and internal codes. dff/inilhf: Ditto. 17 June 2007 - (GRH/UB) Makefile.in: Explicitly refer to -lfrtbegin library to prevent unwanted links from other local and private libraries. Also simplify Evalresp library linking. aux/seismogram.alpha: Erase nonsense values in header. dfm/xr.f: Extend read command to read ALPHA files. dfm/rdalph.f, dfm/makefile: New routine to read ALPHA files; add deps. inc/dfm: Add jtmem to common. aux/clstd, aux/clsss: Add READTABLE as synonym for READALPHA. configure.ac: Remove /sw/lib from search path -- source of problems for distributions when dynamic libraries sneak in from there. 21 June 2007 - (GRH/UB) co/zrdxml.c: Fix XML entity parsing. dff/wrxml.f: Avoid writing non-UTF-8 chars; protect special XML chars in character header fields (&, <, >) by substituting default entities. 29 June 2007 - (GRH/UB) configure: Removed, because generated from configure.ac --Build 98 ------------------------------ 20 July 2007 - (GRH/UB) co/zrdxml.c: Fix defines for non-Apple compiles. Makefile.in: Fix ar manipulation for non-Apple systems. utils/sgftoxfig.c: PI -> Pi to avoid clash with #define on some systems. 28 July 2007 - (GRH/UB) co/zrdxml.c: Update documentation. 02 Sep. 2007 - (GRH/UB) Makefile.in: Invoke correct Package Manager file for 6.* (10.2), 7.* (10.3) and 8.* (10.4) OS X systems. 02 Sep. 2007 - (GRH/UB) Makefile.in, utils/makefile: Fix bug causing most Fortran-based utilities to drop core with a bus error on startup -- Darwin linkage ordering problem (_NSGetEnviron() did not return proper environment pointer -- dyld problem?) Bug reported by Yongcheol Park, Penn State. 06 Sep. 2007 - (GRH/UB) gem/xaxes.f: Implement PREVIOUS option. gem/xticks.f: Ditto. gam/xpicks.f: Ditto. gem/xcolor.f: Fix bug causing explicit color changes to fail. aux/help/axes: Document PREVIOUS. aux/help/ticks: Ditto. aux/help/line: Document PREVIOUS options to LINE. aux/help/picks: Ditto. 09 Sep. 2007 - (GRH/UB) gam/xylim.f - Implement YLIM PREVIOUS aux/help/ylim - Document. 11 Sep. 2007 - (GRH/UB) ncpf/processstring.f: Allow first argument END to SUBSTRING. aux/help/expressions: Document above, fix misspellings. 12 Sep. 2007 - (GRH/UB) ncpf/processline.f: Fix bug in function processing that introduced a blank after every function expansion. ** 16 Sep. 2007 - (GRH/UB) gem/xcolor.f: Fix two bugs in color table handling: 1) first color ignored; 2) first color skipped, second repeated. 23 Sep. 2007 - (GRH/UB) aux/help/{apk,bandpass,bandrej,convolve,cor,correlate,decimate, fft,funcgen,highpass,interpolate,lowpass,markptp,marktimes, mem, mlm,oapf,pause,pds,picks,plabel,plot1,plotsp,plotspe,qdp,rms,smooth, stretch,symbol,taper,title,transfer,tsize,unwrap,wild,xdiv, xlabel, ydiv,ylabel,ylim}: Fix punctuation in various command descriptions. --Build 99 ------------------------------ 10 Sep. 2007 - (GRH/UB) src/vars/deletev.f: Fix line syntax for stricter gfortran. src/xyz/xgrayscale.f: Problem with COMMON and local variable conflict: SCALE. 20 Sep. 2007 - (GRH/UB) configure.ac: Make gfortran-aware src/co/zcatch.f: Fix problem with mis-use of signal intrinsic. src/sss/libtau.f: Fix problem with mis-use of abort intrinsic. 7 Nov. 2007 - (GRH/UB) configure.ac: Fix behavior when X is missing. 8 Nov. 2007 - (GRH/UB) utils/makefile: Don't use special flags when compiling psfont.c -- causes optimization slowdown on account of over 1000 assignments. utils/sgftopdf.c: Fix compilation complaint. 25 Jan. 2008 - (GRH/UB) dff/rsacxml.f - New module to for subroutine interface to XML reading of data files. dff/wsacxml.f - New module to for subroutine interface to writing of XML data files. dff/qsacxml.f - New module to for subroutine interface to query contents of XML data files. 27 Jan. 2008 - (GRH/UB) aux/help/{rsac1,rsac2,wsac0,wsac1,wsac2,rsach,wsach,rsacxml,wsacxml,qsacxml}: document user-callable subroutines. aux/help/{s,g}et{n,i,f,k}hv: Ditto. aux/help/library: Ditto. aux/help/contents{,2,3}: Add pointers to library documentation. aux/help/intro: Ditto. 29 Jan. 2008 - (GRH/UB) Makefile.in: Straighten out Makefile to handle: 1) build and distribute sacio.a; 2) build and distribute g77-sacio.a; 3) fix builds of statically-linked binaries. configure.ac: Ditto. configure: Regenerate. bin/makefile: Use $(CC) passed from top-level Makefile. --Build 100 ------------------------------ 5 Feb. 2008 - (GRH/UB) gem/xqdp.f: Fix QDP OFF bug -- wrong number of parameters in lclogp call. 6 Feb. 2008 - (GRH/UB) contouring/{plotcontsegs.f, plotcontdata.f}: Sort level list into ascending order before use. 21 Apr. 2008 - aux/help/sgf: Update description; add common conversion programs. 27 Apr. 2008 - configure.ac: Add checks for shm_open, mmap. Make a config.h file. Makefile.in: Add @DEFS@ expansion for selection. co/config.h.in: Input for configure; regenerate by autoheader. co/stdu.h: Include to get symbol definitions from configure. co/zopenm.c: New routines to open/free shared memory areas. co/zrmem.c, co/zwmem.c: New routines to read/write shared memory files. co/zopen.f, co/zclose.f, co/znfile.f: Change call to add file name to distinguish shared memory files. inc/mach: Define shared memory file prefix character. bot/capf.f, bot/chpf.f, co/zrun.f, contouring/listcontsegs.f, cpf/initcomlists.f, cpf/executemacro.f, dff/rdhdr.f, dff/rdsac.f, dff/rsac1.f, dff/rsac2.f, dff/rdcdta.f, dff/rsach.f, dff/wrsac.f, dff/wrsdd.f, dff/wrxml.f, dff/wsac0.f, dff/wsach.f, dfm/lfilesok.f, dfm/rdci.f, dfm/readcfl.f, dfm/readfl.f, dfm/wrci.f, dfm/xra.f, eam/xoapf.f, eam/xohpf.f, exm/flash.f, exm/xgetbb.f, exm/xnews.f, exm/xtranscript.f, gd1/readtermfile.f, gd2/endframe2.f, gdm/readctable.f, gdm/settextfont.f, icm/fap.f, icm/polezero.f, msg/sacmsg.f, ncpf/closemacro.f, nnm/xwritenn.f, sam/rfir.f, sam/xrsp.f, sam/xwsp.f, sam/xwsp.f, sss/libtau.f, sss/xtraveltime.f, test/testio.f, ucf/ophelp.f, ucf/ophelp.f, ucf/wrhelp.f, vars/readvfile.f, vars/writenfile.f, vars/writevfile.f, vars/makefile: Ditto. main/sac.f: Add -slave option. Add -mp option to set memory prefix. inc/exm: Remove linsys, add lslave. exm/iniexm.f: Ditto. ncpf/macroline.f, ncpf/makefile: Ditto. exm/xexmc.f: Only save command history if not in slave mode. ncpf/processstring.f: Add (STATUS MODE) expression for startup files. aux/help/expressions: Document same. 2 May 2008 - Makefile.in: Add prefix, exec_prefix. co/makefile: Add zbasename dependency on top-level Makefile. configure.ac: Add Darwin 7.x builds configure, Makefile: Regenerate. gd4.app/Makefile: Make directory for gd4 helper binary. dff/readhdr.f, dff/makefile: Vestigial routine, remove. 5 May 2008 - gd4.null/getdevicein4.f, gd4.mac/gd4.mac.m: Add rusage4 procedure to return performance statistics. exm/qdevices.f: Use rusage4 to report statistics. co/zsleep.c: Fix to use usleep. co/izshft.c: Fix to work with 4 byte integers. test/makefile: Eliminate make_stamp. 6 May 2008 - gd4.mac/gd4.mac.m, gd4.null/emptydevice4.f: Add prefix4 for gd4 app testing. main/sac.f: Add -gd4app xxx parameter for prefix for finding test gd4 app. gd4.null/makefile: Eliminate make_stamp. Makefile.in: Add gd4.app target. Makefile: Regenerate. 7 May 2008 - gd4.mac/gd4.mac.m, gd4.app/gd4.carbon.c, gd4.app/carbonsignal.c: Improve macwindows performance by using native Mach signalling to communicate between processes. 12 May 2008 - aux/help/enddevices: Document ALL, MACWINDOWS. 13 May 2008 - Add ENDWINDOW command to destroy a window. gdm/endwindow.f, gdm/makefile: New routine. Deactivate device if all windows destroyed. gd1/beginwindow1.f: Add endwindow1. gd2/beginwindow2.f: Add endwindow2. gd3.x11/endwindow3.c, gd3.x11/makefile: Add endwindow3. gd3.null/emptydevice3.f: Add endwindow3. inc/gd3.x11.h: Ditto. gd4.mac/gd4.mac.m: Add endwindow4. gd4.null/emptydevice4.f: Add endwindow4. gem/makefile: Add xenddevice, add dependencies, remove make_stamp. gem/xgemc.f, gem/xendwindow.f: Implement endwindow. gdm/beginwindow.f: Add capacity to reactivate device if beginwindow on device with all windows closed. gdm/beginframe.f: Add capacity to reactivate device if beginframe on device with all windows closed. aux/clstd, aux/clspe, aux/clsss: Hook into command parsing. aux/help/commands, aux/help/endwindow: Document aux/messages: Add error messages. aux/help/beginwindow: Update documentation. 13 May 2008 - amf/makefile: Eliminate make_stamp. gd4.null/makefile: Ditto. utils/{sacplot.h, area.c, doplot.c, is_scale.c, pattern.c, sacplot.c, circshad.c, dump.c, line.c, putsym.c, clip.c, externs.c, pat.h, raster.c, setfat.c, color.c, font.c, paths.c, reader.c, setshad.c: Removed; now obsolete. dff/qsacxml.f, dff/rsacxml.f: Eliminate use of putfl for smaller payload; fix bug if null I-type header field values specified. 5 June 2008 - Makefile.in: Fix bug converting -g to -O2 for distributions. bin/makefile: Eliminate special case for Darwin builds. xyz/makefile: Eliminate writezdata.f 6 June 2008 - Makefile.in: Add links for libsacio.a and libg77-sacio.a for users of -L options and reference through -lsacio and -lg77-sacio. Clean out irrelevant files before dist-src. configure.ac: Check for -fbackslash and use if available. configure: Regenerate. 21 July 2008 - gam/xp2.f: Align file ID text at bottom left always to fix text wandering if QDP on. 29 July 2008 - pl/pldta.f: Always set orientation of QDP decimation factor in trace. 15 Aug. 2008 - aux/help/commands: Reformat to add blank lines and remove extra ones. 30 Aug. 2008 - dfm/xlh.f: For the ever-pleading Arthur Snoke, add ability to get default two column output from listheader. Implement FILES NONE. aux/help/listheader: Document. 31 Aug. 2008 - co/zinquire.f: Check if file whose existence is being checked is a directory. If so, say it does not exist. utils/sactosac.c: Fix problem with swapping float values that are signaling NaNs. Signal bit can be changed on store to non-signalling variety. 04 Sep. 2008 - wild/{wildfl.f,wildct.f,wild.f,makefile}: Re-work wild card matches to enumerate catenations first, then expand any wild card matches in them. Turn wild() into co-routine structure with zfiles(). co/zfiles.c: Make co-routine structure with a filtering routine that saves each file depending on whether it matches the wild card pattern. exm/qcolor.f: Use wild card search mechanism for color tables. aux/help/wild: Improve documentation. 09 Sep. 2008 - aux/help/qsacxml: Fix punctuation, add type info for function, and add integer decl for QSACXML in help example. 04 Oct. 2008 - inc/hdr: Declare mag real, and change ennd to end (which is not a Fortran reserved word, by the way). cpf/makefile: Change lklogp.f dependencies. dff/rdcdta.f, dff/rdsdta.f, dff/rdshdr.f: Fix ennd use. dfm/defcut.f, dfm/xch.f, dfm/xcutim.f: Ditto. 04 Oct. 2008 - dfm/makefile, dfm/xdfmc.f, dfm/xrgse.f, dfm/xwgse.f, aux/help/writegse, aux/help/contents, aux/help/commands: Implement WRITEGSE command, start implementing READGSE. 05 Oct. 2008 - inc/hdr, dff/newhdr.f, dff/rdchdr.f, exm/xfg.f, dff/inilhf.f, dff/wsac0.f, dff/rdchdr.f, dfm/xwgse.f: Re-use header vars ninf and nhst like SAC2000 does; they become norid and nevid. Apparently used to key between events in CSS database and SAC file. 22 Nov. 2008 - ucf/ophelp.f, ucf/wrhelp.f, exm/xhelp.f: Implement HELP APROPOS command. aux/help/help: Document. aux/help/syntax: Change text to make more helpful. aux/help/contents, aux/help/contents3: Fix help file name for READALPHA, SETFHV, SETIHV, SETKHV, SETNHV. 24 Nov. 2008 - gd4.mac/gd4.mac.m: Fix bug in check of buffer size when buffering draws. Caused addressing exception if buffered data just fit into shared mem buffer, leading to SAC crashes. 29 Nov. 2008 - exm/xreport.f, exm/iniexm.f, exm/makefile, Makefile.in, inc/ver: Implement REPORT EVALRESP. exm/qevresp.f: New module for reporting aux/help/report: Document. ucf/wrhelp.f: In HELP APROPOS, search for command name match too. 30 Nov. 2008 - Makefile.in, utils/uninstall.in: Remove all object library files when uninstall SAC. Makefile.in: Fix static distribution builds for faulty gfortran. dfm/xdatagen.f: Fix parsing bug: DATAGEN MORE SUB xxx yyy didn't recognize SUB keyword. 01 Dec. 2008 - aux/help/distancewindow: Fix spelling error; correct implementation note. 02 Dec. 2008 - gd4.app/gd4.carbon.c: Fix cursor position shifts in PPK; caused by integer arithmetic rounding. --Build 101 ------------------------------ 10 Dec. 2008 - aux/help/contents, aux/help/contents2, aux/help/contents3: Add help for ENDWINDOW, forgotten from list. 11 Dec. 2008 - Makefile.in: Pass SACCFLAGS and -DSYMSFX=2 to make for g77-sacio.a build. g77 underscore default different to gfortran, and thwarts reference to swap_bytesXX routines. Makefile.in: Add commands for Darwin builds to create a downloadable disk image for a `make dist-bin'. 24 Dec. 2008 - dfm/xw.f: Allow catenations/alternations in file write lists so that output can be abbreviated, e.g. w /tmp/temp.[e,n,z] 27 Dec. 2008 - gd4.app/gd4.carbon.c: Fix bug in window resizing. If window was wider or taller than originally created, would not erase/write into the widened part. Due to clipping properties of CGContexts. gdm/text.f: Don't restrict hardware text position to 0<=pos<=1; device might allow this. ucf/ophelp.f: Correct parse logic and return error if specific help term not available. Also return error if format of contents files is wrong. 27 Dec. 2008 - dfm/readcfl.f: Fix bug in CSS file reading - didn't prefix with directory name on file reread after .origin and .wfdisc read. 28 Dec. 2008 - aux/help/{apk,whpf,ohpf}: Reformat, fix cross-references to other commands, improve reference formatting. aux/help/plotpk: Clarify definition of pick terms, simplify command option documentation. ucf/upcase.f: Eliminate temporary variable and length restriction on conversion length. 03 Jan. 2009 - eam/xapk.f: Write '*' auto pick flag into pick ID. aux/help/apk: Document. aux/help/oapf: Document. amf/relamb.f: Document error code. amf/allkmb.f: New routines to allocate, deallocate, and reallocate character memory. dfm/xwgse.f: Implement pick writing to GSE files, and add STOP line to output, identify GSE2.0 output messages, set instrument type from iinst if kinst unset. aux/help/getihv: Document IWWSN1 and IWWSN2 meaning. cnd/ldolist.f: Strip out lpluck to separate file. ucf/lpluck.f: New file for old routine; useful in other contexts. dfm/xrgse.f: Use lpluck for parsing GSE messages. ucf/ddttm.f, ucf/kijdat.f: Fix leap year determination. dfm/readgse.f: Finish implementing READGSE. dfm/xdfmc.f: Ditto. aux/clstd: Ditto. aux/messages: Add READGSE related error messages. aux/help/writegse: Fix WRITEGSE help typos. 04 Jan. 2009 - aux/help/readgse: New file. Documentation for READGSE. 06 Jan. 2009 - dfm/xrcss.f: Implement SCALE [ON|OFF] shared between RCSS and RGSE. dff/rdchdr.f: Ditto. dfm/xrgse.f: Ditto. dfm/inidfm.f: Ditto. css/gsefld.f: Ditto. inc/dfm: Ditto. aux/help/readcss: Document. aux/help/readgse: Ditto. aux/help/contents: Ditto. aux/help/commands: Ditto. 08 Jan. 2009 - dfm/xr.f: Parse SCALE [ON|OFF]; implement SEGY data file read. dfm/readsfl.f: New routine to read PASSCAL SEGY data. dfm/makefile: Add above to makefile. inc/segy: New header description. aux/help/read: Update documentation. 09 Jan. 2009 - aux/help/contents3: fix command list mispelling for listhdr, qdp, and velocityrosette command; change help index for xwind to xvport and ywind to yvport; prevented help apropos search of SSS commands. Added entry for velocityroset. aux/help/phase: Document SSS PHASE command(!) aux/clsss: Add VELOCITYROSET as synonym for misspelled VELOCITYROSETTE. aux/help/velocityroset: Fix spelling of VELOCITYROSETTE. 10 Jan. 2009 - inc/mach: Define MCPC for max unambiguous chars per command. inc/comlists: Use to expand command name storage. top/saccommands.f: Use MCPC for command name storage. top/findcommand.f: Ditto. cpf/initcomlists.f: Read sufficient command name text. ucf/wrhelp.f: Lengthen command name storage; long commands! ucf/lbsrch.f: Use Fortran character semantics for string length comparisons. aux/help/contents2: change help index for xwind to xvport and ywind to yvport; prevented help apropos search of SPE commands. 11 Jan. 2009 - aux/help/specommands: Add ENDWINDOW command to command help; fix formatting. aux/help/ssscommands: Ditto. sss/xtraveltime.f: Restore basic functionality to TRAVELTIME command. sss/inisss.f: Ditto. sss/libtau.f: Ditto, and add robustness to table reading. sss/xplotrecords.f: Don't shade travel time curves! sss/iaspmodel.f: Calculate travel time curve values properly. sss/ttlim.inc: Expand table sizes. aux/messages: Add tau-p related error messages. aux/help/traveltime: Update documentation. utils/taup/be/iasp91.hed: Add IASP91 table header and taup data. utils/taup/be/iasp91.tbl: Ditto utils/taup/le/iasp91.hed: Ditto utils/taup/le/iasp91.tbl: Ditto utils/taup/be/ak135.hed: Add AK135 table header and taup data. utils/taup/be/ak135.tbl: Ditto utils/taup/le/ak135.hed: Ditto utils/taup/le/ak135.tbl: Ditto utils/taup/be/sp6.hed: Add SP6 table header and taup data. utils/taup/be/sp6.tbl: Ditto utils/taup/le/sp6.hed: Ditto utils/taup/le/sp6.tbl: Ditto Makefile.in: Fix permissions setting during native install. 12 Jan. 2009 - src/wild/wildfl.f: Bug fix: Wild card patterns that don't match anything report bogus memory clobber. gd4.app/makefile: Fix permission bug for gd4.app. --Build 102 ------------------------------ 24 Jan. 2009 - src/dfm/xr.f: Implement READ MSEED. src/dfm/readmfl.f: Ditto; new module. src/co/rseed.c: Ditto; new module. aux/help/read: Document. aux/messages: Error message text. wild/wild.f, wild/wildfl.f: Use allkmb/reakmb/relkmb for character string storage. 25 Jan. 2009 - (Year of the OX) amf/reaamb.f: Change calling sequence to rea[ak]mb to eliminate extra memory pointer. amf/allkmb.f: Ditto cpf/tokens.f: Ditto. dfm/xrgse.f: Ditto. exm/xsystemcomma.f: Ditto. ncpf/processline.f: Ditto. sss/xplotrecords.f: Ditto. sss/xtraveltime.f: Ditto. **untested** wild/wild.f: Ditto dfm/xw.f: Use allkmb/relkmb for character ops. gd4.app/gd4.carbon.c: Bug fix: searchlight cursor base coordinate wrong. 27 Jan. 2009 - configure.ac: Eliminate adding /usr/local/lib to search path. configure: regenerate scm/xrtr.f: Implement BB variable setting, VERBOSE/TERSE options. aux/help/rtrend: Document. 29 Jan. 2009 - aux/help/expressions: Fix typo in example. dfm/xr.f: Implement GCF data file reads. dfm/readgfl.f: Ditto. dfm/xr.f: Remember type of data for re-read (bare READ). 02 Feb. 2009 - dfm/readgfl.f: Update GCF data parser to handle low and ultra-high sample rate format. 05 Feb. 2009 - Makefile.in: Fix osascript behavior where it won't build a new app on top of an existing one. Affects SAC uninstall script behavior. utils/SAC-uninstall.applescript: Remove extraneous files after uninstall. 06 Feb. 2009 - sss/xplotrecords.f: Don't widen record section picks if SIZE set. 07 Feb. 2009 - dfm/readgfl.f: Fix behavior when errors reading file - fail or continue based on READERR. Also echo multiple files when read. dfm/readmfl.f: Ditto. dfm/readsfl.f: Ditto. gem/xcolor.f: Fix bug with color incrementing - color table set up wrong. gem/makefile: Ditto. Makefile.in: Prevent build errors with Leopard Xcode make. co/zrem.c: Fix compile error with Leopard cc. gam/xfid.f: Implement FILEID PREVIOUS. aux/help/fileid: Document. cpf/lclogp.f: Change calling sequence to lclogp. cpf/xclog.f: Update call to lclogp. gam/xpicks.f: Ditto. gem/xline.f: Ditto. gem/xqdp.f: Ditto. 23 Mar. 2009 - dfm/readmfl.f: Bug fix setting of nzmsec. co/rseed.c: Don't swap header data in place. 28 Mar. 2009 - aux/help/getihv: Fix typo. 30 Mar. 2009 - Makefile.in: Make a separate application to uninstall MacSAC. AppleScript method before was not stable across all platforms. Wrote simple Python front-end to uninstall procedures. utils/uninstall: New directory for uninstall application. utils/uninstall/uninstall.py: Does the grunt work. utils/uninstall/setup.py.in: Does the packaging into an application. utils/uninstall/Makefile: Obvious. utils/uninstall/Resources/Uninstall.icns: Icons for app and dialogs. Makefile.in: Change version numbering scheme to try to psych out the Package Installer so that it will recognize upgrades properly. Major version number is release, minor version number is build. SAC-pmproj.plist: Ditto. SAC-pmsp.Description.plist: Ditto. SAC-pmsp.Info.plist: Ditto. --Build 103 ------------------------------ 03 Apr. 2009 - aux/help/getbb: Fix $1$ omitted in example. 04 Apr. 2009 - utils/uninstall.in: Fix problem with uninstall if sac binary can't be found. utils/uninstall/uninstall.py: Fix bugs with uninstall app -- didn't present multiple choices right and now asks whether is OK to uninstall the package, too. 17 Apr. 2009 - utils/sgftopdf.c: Change Blue color. 04 May 2009 - gem/xcolor.f: Implement COLOR PREVIOUS. inc/gdm: Ditto. Add kcmgdm entry for color table name for restore. gdm/initctable.f: Ditto. Save color table name. aux/help/color: Document. aux/macros/demo: Define a general demonstration macro for SAC features. aux/macros/demo-taper: Demonstration macro for TAPER command. aux/help/taper: Document demo. icm/xtransfer.f: Implement TO NONE SUBTYPE [DIS|VEL|ACC] options. icm/ckinst.f: Ditto. icm/polezero.f: Fix search of polezero directory to behave as documented. aux/help/transfer: Improve documentation and document NONE SUBTYPEs. 05 May 2009 - ncpf/processstring.f: Add (STATUS GRAPHICS) aux/help/expressions: Document. aux/macros/demo-taper: Use to check for graphics device availability. 14 May 2009 - aux/help/bbfk: Fix documentation typo, formatting, and clarify definition of WAVENUMBER parameter. 20 May 2009 - pl/inigem.f: Fix skdevfudge for plotting of wide skeleton lines. pl/makefile: Fix missing dependence. gd1/gettermtype.f: Use caller's character string size. gem/xwidth.f: Implement WIDTH PREVIOUS options. aux/help/width: Document WIDTH -- missing previously. aux/help/commands: Add WIDTH to list. sss/xsumstack.f: Add phase weighted stacking, jackknife uncertainty, and sss/xwritestack.f: Ditto. sam/hilbtf.f: New routine to calculate Hilbert Transform in fourier domain. sam/cpft.f: Increase size of max FFT. sam/makefile: Add new routine to makefile. aux/help/sumstack: Document aux/help/writestack: Document 21 May 2009 - exm/xreport.f: Implement REPORT TO xx yyy zzz ... exm/qonoff.f: New routine for reporting on/off values. exm/makefile: Add to makefile. exm/{qam,qapf,qaux,qcolor,qcut,qdevices,qevresp,qfid,qgtext}.f: Ditto. exm/{qhpf,qline,qmtw,qonoff,qpicks,qsymbol,qterm,qtitle}.f: Ditto. exm/{qwidth,qxlabl,qxlim,qylabl,qylim}.f: Ditto. aux/help/report: Document. 22 May 2009 - gem/xsym.f: Implement SYMBOL PREVIOUS option. gem/xtitle.f: Implement TITLE PREVIOUS option. aux/help/title: Document. aux/macros/demo: Add demos for SYMBOL and GTEXT commands. aux/macros/demo-symbol: Ditto. aux/macros/demo-gtext: Ditto. aux/help/gtext: Document. aux/help/symbol: Document. 27 May 2009 - sss/xsumstack.f: Implement nth root stacking. aux/help/sumstack: Document. ncpf/processline.f: Add ";" to token delimiter for BB and file header vars. ncpf/makefile: Add inc/cpf dependency. 30 May 2009 - aux/help/velocitymodel: Fix typos and formatting. aux/help/sumstack: Fix summation descriptions. aux/macros/demo: Add demo for BEGINFRAME/ENDFRAME. aux/macros/demo-frames: Ditto aux/help/beginframe: Document. aux/macros/demo: Add demo for PLOT1 and PLOT2. aux/macros/demo-plot1: Ditto aux/macros/demo-plot2: Ditto aux/macros/demo: Add demo for BANDPASS. aux/macros/demo-bandpass: Ditto aux/help/bandpass: Document. aux/macros/demo: Add demo for HILBERT. aux/macros/demo-hilbert: Ditto aux/help/hilbert: Document. aux/macros/demo: Add demo for XVPORT, YVPORT. aux/macros/demo-vport: Ditto aux/help/[xy]vport: Document. 31 May 2009 - aux/macros/demo: Add demo for PLOTC. aux/macros/demo-plotc: Ditto aux/help/plotc: Document. aux/help/qdp: Document QDP PREVIOUS. aux/help/quitsub: Fix typo. 04 June 2009 - gem/xxlab.f: Implement XLABEL PREVIOUS. aux/help/xlabel: Document. gem/xylab.f: Implement YLABEL PREVIOUS. aux/help/ylabel: Document. 06 June 2009 - ncpf/processstring.f: Implement (HDRxxx VV AZ x PM y). aux/help/expressions: Document. 07 June 2009 - gcm/xvspac.f: Implement VSPACE PREVIOUS. aux/help/vspace: Document. gem/xgemc.f: Implement XVP PREVIOUS, YVP PREVIOUS. cpf/xcrrcp.f: Add previous option to range-checked real pair subroutine. aux/help/zticks: Fix ZTICKS documentation. 09 June 2009 - sss/xliststack.f: Report UNDEFINED rather than -12345; implement SUM ON|OFF. inc/sss: Ditto. aux/help/listack: Document. sss/xsumstack.f: Implement SUM ON|OFF. aux/help/sumstack: Document. sss/xaddstack.f: Implement SUM ON|OFF. aux/help/addstack: Document. sss/xchangestack.f: Implement SUM ON|OFF. aux/help/changestack: Document. 13 June 2009 - top/saccommands.f: Add explicit comment command: "*". aux/help/comment: Document. aux/help/commands: Ditto. aux/help/contents: Ditto. aux/help/contents2: Ditto. aux/help/contents3: Ditto. cpf/ctype.f: Fix bug causing infinite loop if "#" given as command. 14 June 2009 - ucf/wrhelp.f: Bug fix - skipping some commands with 'help apropos xxx' due to weak hash. Strenghten. aux/help/deletechannel: Reformat for proper searching; light editing. 7 July 2009 - dfm/readmfl.f: Fix bug in mseed read if first blockette has no sample rate info in it. --Build 104 ------------------------------ 31 Aug. 2009 - co/zgetcpu.c: New routine to retrieve number of CPUs (in the OpenMP sense) co/makefile: Dependencies co/stdu.h: External name. configure.ac: Check for sysctl library routine for use in zgetcpu. configure: Regenerate (autoconf). src/co/config.h.in: Regenerate (autoheader). src/scm/xinterpolate.f: Parallelize with OpenMP constructs. src/dff/gethdr.f: New routines to get parts of header from file memory. src/dff/puthdr.f: New routines to set parts of header back to file memory. src/dff/makefile: Dependencies for above. inc/hdrp: New decls for accessing local copies of headers. 3 Sep. 2009 - configure.ac: Check for sysctlnametomib library routine for use in zgetcpu. configure: Regenerate (autoconf). src/co/config.h.in: Regenerate (autoheader). co/zgetcpu.c: Fix environment variable name (oops); conditional compilation based on sysctlnametomib. src/scm/xdecimate.f: Parallelize with OpenMP constructs. src/dff/makefile: Dependencies for above. inc/dfm: Reformat slightly. 10 Sep. 2009 - aux/help/rq: Fix description of command syntax and remove warning message listing. inc/scm: Add nqgain -- missing from /cmscm/; erratic bug in quantize! aux/help/quantize: Document version change. scm/xsmooth.f: Fix bug -- did not set DEPxxx after smoothing. aux/help/smooth: Document version change. src/scm/xdecimate.f: Parallelize with OpenMP constructs. src/scm/xquantize.f: Ditto. src/scm/xreverse.f: Ditto. src/scm/xglitches.f: Ditto. src/scm/xrmean.f: Ditto. src/scm/xrotate.f: Ditto. src/scm/xrq.f: Ditto. src/scm/xrtm.f: Ditto. src/scm/xrtr.f: Ditto. src/scm/xsmooth.f: Ditto. src/scm/xstretch.f: Ditto. src/scm/xtaper.f: Ditto. src/dff/makefile: Ditto -- dependencies for above. 16 Sep. 2009 - configure.ac: Simplify gfortran builds (compiler linker support got better and eliminated bugs requiring workarounds) and support for OpenMP builds. configure: Regenerate (autoconf). Makefile.in: Changes for simpler gfortran builds and OpenMP builds. 21 Sep. 2009 - src/scm/xinterpolate.f: Fix bug introduced by parallelization. --Build 105 ------------------------------ 22 Sep. 2009 - aux/help/utilities: Describe SAC utility programs. aux/help/contents{,2,3}: Ditto. Makefile.in: Add sachdrinfo to utility programs. utils/makefile: Ditto. utils/sachdrinfo.f: Source code for sachdrinfo. utils/tokens.f: Source code for sachdrinfo. 24 Sep. 2009 - co/izand.c: Removed; Recoded C routines into Fortran using intrinsics. co/izor.c: Removed. co/izshft.c: Removed. co/iztrnc.c: Removed vars/vdesc.c: Removed. vars/encodevdesc.c: Removed. vars/decodevdesc.c: Removed. vars/vdesc.f: Added. bot/clipdp.f: Recoded. dfm/xwgse.f: Ditto. gd1/draw1.f: Ditto. gd1/move1.f: Ditto. gdm/draw.f: Ditto. gtm/worlddraw.f: Ditto. pl/plblank.f: Ditto. pl/plclip.f: Ditto. vars/makefile: Update dependencies. test/testio.f: Remove tests of intrinsic substitutes. co/endian.c: Change decls to make 64 bit safe. co/getfline.c: Removed. co/getline.c: Removed. co/mcinquire.c: Removed. co/zexit.c: Removed. co/zrwerr.f: Removed. co/makefile: Updated to reflect removed routines. gd3.x11/begindevice3.c: Change decls to make 64 bit safe. gd3.x11/beginframe3.c: Ditto. gd3.x11/beginwindow3.c: Ditto. gd3.x11/colorcode3.c: Ditto. gd3.x11/createwindo3.c: Ditto. gd3.x11/cursor3.c: Ditto. gd3.x11/cursortext3.c: Ditto. gd3.x11/dispatcheve3.c: Ditto. gd3.x11/draw3.c: Ditto. gd3.x11/drawpoly3.c: Ditto. gd3.x11/enddevice3.c: Ditto. gd3.x11/endframe3.c: Ditto. gd3.x11/endwindow3.c: Ditto. gd3.x11/erase3.c: Ditto. gd3.x11/fill3.c: Ditto. gd3.x11/flushbuffer3.c: Ditto. gd3.x11/getdevicein3.c: Ditto. gd3.x11/getdevicera3.c: Ditto. gd3.x11/getratio3.c: Ditto. gd3.x11/getwindowst3.c: Ditto. gd3.x11/initdevice3.c: Ditto. gd3.x11/make_label3.c: Ditto. gd3.x11/move3.c: Ditto. gd3.x11/raster3.c: Ditto. gd3.x11/setctable3.c: Ditto. gd3.x11/setlinestyle3.c: Ditto. gd3.x11/setwidth3.c: Ditto. gd4.mac/makefile: Force 32 bit build for gd4.carbon.c gd4.mac/gd4.carbon.c: Ditto. gd4.mac/gd4.mac.m: Ditto. exm/flash.f: Recoded to use zgpmsg. gd2/getsgfsize.f: Bug fix -- wrong common included to return size. gd2/makefile: Update dependencies. 25 Sep. 2009 - aux/help/expressions: Fix typo in documentation. co/inquireflen.c: Rewritten using fstat. 26 Sep. 2009 - sss/xplotrecords.f: Fix bug causing bus error if file had zero delta. ucf/wrhelp.f: Use ZGTMSG to avoid putting response in scroll buffer. 30 Sep. 2009 - dfm/rdci.f: Fix crash-causing bug if bad data on alpha file read. 2 Oct. 2009 - Makefile.in: Pass CFLAGS to evalresp build, to work with 10.6 builds where -m32 must be used for compilation. 15 Oct. 2009 - utils/sgfmerge.f: Fix use of zclose; bus error previously. utils/sgflist.f: Ditto. utils/convcss.f: Ditto. utils/float2image.f: Ditto. utils/sgfplot.f: Ditto. utils/sgflist.f: Ditto. utils/sgftotek.f: Fix use of zclose and eliminate zishft, zitrnc. utils/sgftoqms.f: Ditto. utils/sgftohipen.f: Ditto. configure.ac: Add features to check for 32/64 bit integer types. co/config.h.in: Regenerate co/rseed.c: Make 64 bit safe. co/stdu.h: Ditto co/zbasename.c: Ditto co/zclosec.c: Ditto co/zfiles.c: Ditto co/zgcurr.c: Ditto co/zgetc.c: Ditto co/zgetcpu.c: Ditto co/zgetgd.c: Ditto co/zgnmsg.c: Ditto co/zgpmsg.c: Ditto co/zgterm.c: Ditto co/zgtmsg.c: Ditto co/zgwindowsize.c: Ditto co/zinfo.c: Ditto co/zmemad.c: Ditto co/zopenc.c: Ditto co/zopenm.c: Ditto co/zputc.c: Ditto co/zquit.c: Ditto co/zrabs.c: Ditto co/zrbytabs.c: Ditto co/zrdxml.c: Ditto co/zrmem.c: Ditto co/zrunout.c: Ditto co/zsleep.c: Ditto co/zsysop.c: Ditto co/zwabs.c: Ditto co/zwmem.c: Ditto co/zwprmt.c: Ditto gdm/begindevices.f: Don't open device if none after PREVIOUS. 16 Oct. 2009 - co/stdu.h: Add #includes for Linux compiles. co/zrdxml.c: Ditto. co/zmemad.c: Ditto. co/rseed.c: Ditto. bin/makefile: Change TEMPFFLAGS -> SACFFLAGS aux/macros/demo: Demo for WINDOW aux/macros/demo-window: Ditto. aux/help/window: Document. 18 Nov. 2009 - utils/makefile: Add CFLAGS to psfont.c configure.ac: Change how Fortran name mangling is detected. Force CFLAGS to do 32 compiling during Fortran-C linkage checking; Fortran defaults to 32 bit compile at present, but could change in the future. configure: Regenerate. 21 Nov. 2009 - sam/xconvolve.f: New routine to implement CONVOLVE command. aux/clsstd: Define command number. sam/xsamc.f: Call command routine. aux/help/convolve: Document. dbh/crscor.f: Fix bug assuming always 4096 byte workarea passed. top/initsac.f: Fix bug in envron routine that prevented calculation of arithmetic base from working right in all cases. 28 Nov. 2009 - contouring/setcontdatali.f: Fix typos in comments. xyz/xcontour.f: Fix bug in CONTOUR ASPECT ON (did not scale data). aux/help/contour: Document. xyz/grayscale.f: Add ASPECT option. aux/help/grayscale: Document. dfm/inidfm.f: New directory subtype XYZ. inc/dfm: Add defn. aux/datagen/xyz/volcano_xyz.alpha: New built-in dataset. aux/datagen/xyz/tosac: Macro to unpack data. aux/datagen/tosac: Add call to unpack XYZ data. aux/macros/demo-contour: New demo for contouring dataset. aux/macros/demo: Reference it. xyz/xzcolors.f: Add ZCOLORS PREVIOUS option. xyz/xzlabels.f: Add ZLABELS PREVIOUS option. xyz/xzlevels.f: Add ZLEVELS PREVIOUS option. xyz/xzlines.f: Add ZLINES PREVIOUS option. xyz/xzticks.f: Add ZTICKS PREVIOUS option. aux/help/{zcolors,zlabels,zlevels,zlines,zticks}: Document contouring/putcontlabel.f: Don't quit if too many labels, just ignore. contouring/getcontlabel.f: Ditto. contouring/newcontlabel.f: Ditto. contouring/getcontpoint.f: Ditto. contouring/getcontrlink.f: Ditto. contouring/getcontseg.f: Ditto. contouring/putcontpoint.f: Ditto. contouring/putcontrlink.f: Ditto. contouring/putcontseg.f: Ditto. contouring/calccontsegs.f: Fix contouring bug causing contours to close back onto themselves occasionally. contouring/fastcontdata.f: Ditto. 11 Dec. 2009 - dfm/cnvfre.f: Fix bug with "cabalistic characters" printed on plotalpha plots. Label array not initialized right. dfm/xra.f: Clear labels when FORMAT given, again to prevent "cabalistic characters" from being plotted. Also check for whether label given for FORMATted input and complain if so. aux/help/readtable: Document undocumented features. aux/help/plotalpha: Add documentation. pl/plalpha.f: Bug fix - handle plotalpha labels on logarithmic axes. 13 Dec. 2009 - aux/help/readtable: Fix typo in description that suggested syntatically incorrect command was an example. 22 Dec. 2009 - dfm/readmfl.f: Check for time discontinuities in MSEED data reads. aux/messages: Re-use message 1334 for time discontinuity warning. gd4.app/makefile: Force -m32 for make because it uses Carbon library. 25 Dec. 2009 - Merry Christmas from Tokyo! sam/rfir.f: Pass different dummy character string arg to cnvfre; assumed never used, but now is. 07 Jan. 2010 - Happy New Year! sss/plotrecords.f: Be en-garde for flatlined data when finding extremum for moveout curve picks. Avoid NaNs as intersection times. 08 Jan. 2010 - sss/plotrecords.f: SSSSELECTED not set right (first file not examined); files could appear more than once in SSSPICKS list if pick changed. 18 Jan. 2010 - pl/plmap.f: Bug fix in X log axis bounds calculation. xyz/xgrayscale.f: Make command aware of possibility of logarithmic X or Y scaling in plots. (Data not plotted right, but axes are, with this change.) 19 Jan. 2010 - dfm/xr.f: Add BINARY option for reverting to SAC binary file reads. aux/help/read: Document. xyz/xgrayscale.f: Ensure beginframe/endframe in multiple plots. xyz/xgrayscale.f: Add FILEID to plot. cpf/lctok.f: Fix ancient parsing bug -- lctok didn't handle long character tokens correctly. Affected COLOR RASTER LIST GRAYSCALE parsing because GRAYSCALE is a long (>8 character) token. 26 Jan. 2010 - xyz/spectrogram.f: Calculate spectrum size more carefully to avoid intermediate numeric overflows for large files. 30 Jan. 2010 - aux/help/changestack: Fix typo. aux/help/read: Fix typo. sss/xtraveltime.f: Fix MORE option, add TAUP option. aux/help/traveltime: Fix typo and formatting, document. sss/iaspmodel.f: Fix bug in use of lmore. sss/ttint.f: Fix bug finding intersection of unequally spaced data. dfm/decont.f: New parameter to name independent and dependent vars; used for parsing of READALPHA and TRAVELTIME table info. dfm/xra.f: Supply new parameter to decont for READALPHA parsing. aux/datagen/xyz/volcano_xyz.alpha: Fix scale of data (/10). aux/macros/demo-contour: Fix contour example to use proper scale. 2 Feb. 2010 - aux/help/distanceaxis: Fix formatting. 7 Feb. 2010 - utils/sgflist.f: Clean up code. 8 Feb. 2010 - utils/sgflist.f: Handle raster ops. utils/sgftoeps.f: Ditto. utils/sgftopdf.f: Ditto. utils/sgftops.f: Ditto. utils/sgflist.f: Ditto. utils/sgfplot.f: Ditto. utils/sgftoxfig.f: Ditto. utils/sgfmerge.f: Ditto. utils/sgftotek.f: Ditto. (Well, this one doesn't handle them, it skips them.) utils/sgflist.f: Change operating mode to eliminate output file; too dangerous with command line pattern matches. Use output redirection instead. aux/help/utilities: Document change. gd3.x11/raster3.c: Fix problem in putting raster images in non-standard viewports. 2 Mar. 2010 - configure.ac: Make arch explicitly known; needed in Makefile cmds. Makefile.in: Handle ld requests of multi-arch files; make requested arch explicit. gd2/raster2.f: New file. gd2/makefile: Add dependencies. gd2/setctable2.f: Add raster support. inc/gd2: Ditto. 20 Mar. 2010 - dstrsrc/ReadMe.txt: Explain that you can't change location if using parallel features in SAC. Makefile.in: Build parallel and non-parallel versions. --Build 106 ------------------------------ 22 Mar. 2010 Makefile.in: Set @execute_path and @rpath for OpenMP and X11 libraries configure.ac: Fix check of Fortran name mangling for f77. configure: Regenerate co/zwabs.c: Fix bug caused by lseek not being declared correctly. utils/sgfmerge.f: Simplify byte swapping code; this found above bug, actually. 3 Apr. 2010 aux/help/intro: Mention utility program help. aux/help/macro: Add information about init files on the command line. aux/help/traveltime: Fix link to point to TauP information. aux/help/plot2: Fix typo. 4 Apr. 2010 gam/xplotxy.f: Don't truncate file names in ID fields. Fix auto limits bug in logarithmic plotting and explicit Y limits in log plotting. 5 Apr. 2010 aux/help/utilities: Fix typo in sgftoxfig description and clarify description of sachdrinfo. 7 Apr. 2010 pl/plclip.f: Fix clipping bug if trace fill isn't on. bot/clipdp.f: Recode routine and add checks to avoid infinite loops in clipping algorithm if call is bad. gam/xp2.f: Fix automatic Y axis limit determination in PLOT2. 10 Apr. 2010 gam/xp2.f: Fix X axis limits for spectral files when explicit XLIM set. 13 Apr. 2010 sam/xunwr.f: Fix storage clobber in UWRAP command. sam/inisam.f: Remove comment on restriction of FFT size. inc/sam: Increase max FFT size. sam/cpft.f: Ditto for compatibility. icm/dcpft.f: Ditto. sam/xfir.f: Ditto. aux/help/unwrap: Eliminate size restriction. dfm/vfmaxn.f: Report max and asked values for # data points too long. aux/help/{fft,fir,ifft}: Remove explicit comment about FFT size limitation. 20 Apr. 2010 gam/xplotxy.f: Fix log-log plot limits in PLOTXY. 22 Apr. 2010 aux/help/specommands: Add COR command to list (!) aux/help/spe: Add COR command to list (!) aux/help/writecor: Fix typo aux/help/transfer: Add comment about use of TO ACC or TO VEL. 6 May 2010 gam/pcxop1.f: Make PLOTC line drawing work for line type 0 (no line). 7 May 2010 gam/inigam.f: Define SYn, SZn, SPn environment op codes for symbols on lines. gam/pcxope.f: Add op codes for changing line symbol, size and spacing. aux/help/plotc: Document. gam/pcxop1.f: Add symbols to lines if requested. gam/pcmcur.f: Parse 3 digit numbers following op codes. gam/pcmrpl.f: Ditto. gam/pcxcur.f: Ditto. gam/pcxrpl.f: Ditto. gtm/worldsymbol.f: Add intermediate symbols to lines if they are long. aux/macro/demo-symbol: Add demo macro. 9 May 2010 spe/makefile: Eliminate time_stamp, add new dependencies for xrcor. spe/xrcor.f: Implement READCOR. aux/help/readcor: Document. aux/messages: Add error message. spe/xspe.f, spe/xquitspe.f, inc/spe: Dynamically allocate scratch, spectrum estimate, and correlation storage, eliminate 2048 max window length. spe/xpspe.f, spe/xpds.f, spe/xmem.f, spe/xmlm.f, spe/initspe.f, spe/xppe.f: Ditto. spe/inispe.f: Eliminate documentation of obsolete common entries. aux/help/cor, aux/help/pds: Document. dbh/spectr.f, dbh/autcor.f, dbh/crit.f: Eliminate 2048 max window length. 20 May 2010 co/rseed.c: Recognize data type 'M', as warned by IRIS DMC. 17 June 2010 aux/help/rotate: Fix syntax for ROTATE. dfm/xw.f: Add BINARY synonym for SAC for syntax similarity to READ. aux/help/write: Document. 18 June 2010 sss/xchangestack.f: If CHANGESTACK used on trace in memory, flag it as being added by SSS to prevent info reset on re-entry to SSS. dff/rdxml.f: Fix bug in parsing of XML blank header items. 19 June 2010 sss/ttint.f: Fix bug in intercept finding in reversed t-X curves. ucf/ophelp.f: Make HELP APROPOS give help for all subprocesses. ucf/wrhelp.f: Ditto. aux/help/help: Document. co/zgetgd.c: Don't blindly use SACGRAPHICSDEVICE env. var. if default already set from SETDEVICE. gdm/beginframe.f: Check env. before using default device. gdm/getstatus.f: Ditto. pl/plalpha.f: Ditto. pl/pldta.f: Ditto. sam/fdplot.f: Ditto. sam/xpsp.f: Ditto. spe/xpcor.f: Ditto. spe/xppe.f: Ditto. spe/xpspe.f: Ditto. sss/xplotrecords.f: Ditto. sss/xplotstack.f: Ditto. sss/xsumstack.f: Ditto. xyz/xcontour.f: Ditto. xyz/xgrayscale.f: Ditto. aux/help/macro: Document keyword and positional parameter use, defaults, $TERMINAL, $KILL and $RESUME. gd2/cursor2.f: Return Q on any cursor op to prevent loops. gd2/cursortext2.f: Return blank line on any cursor op to prevent loops. aux/help/contents: Add WIDTH command to help list. aux/help/contents2: Ditto. aux/help/contents3: Ditto. gam/xsetdevice.f: Fix parsing bug if device name longer than 8 chars. 20 June 2010 Makefile.in: Widen search path for libgomp. --Build 107 ------------------------------ 23 June 2010 makesac: Add OMP options. 24 June 2010 sss/xplotrecords.f: Fix labels of TT curves at right axis of plot. 25 June 2010 utils/installer.fig: Overlay a white box over the part of the background figure that contains text displayed by the Installer. This helps readability. Rebuild figure by xfig -> export to installer.pdf, then mv installer.pdf ../dstrsrc/background.pdf utils/installerbkg.pdf: Ditto. Makefile.in: Change builds for MacOS 10.6 systems to use Installer features that allow optional install location. utils/uninstall/uninstall.py: Update to reinstate "Uninstall" capability. Broken since Apple changed receipt implementation in 10.5(?); all queries now through pkgutil. Strangely, there is no way to tell where a package was actually installed if alternate install locations are permitted. 26 June 2010 Makefile.in: Put install script into aux/SAC directory. Makefile.in: Build 64 bit libsacio.a, called sacio-64.a. nnm/xwritenn.f: Remove shared memory file write code. dff/wrsac.f: Ditto. dff/wrsdd.f: Ditto. vars/readvfile.f: Ditto. vars/writevfile.f: Ditto. 28 June 2010 configure.ac: Set up definition of HAVE_LIBXML for non-Apple builds. configure: Regenerate co/config.h.in: Regenerate wild/wild.f: Make patterns work for memory files. main/sac.f: Ditto. main/makefile: Fix missing dependencies. 29 June 2010 co/zrdxml.c: Add in libxml support. Fix bug in newtrc() to add new trace data. dff/rdxml.f: Fix bug retrieving last trace info and setting KEVNM. 30 June 2010 dfm/xw.f: Add FILE n option to WRITE. aux/help/write: Document. bbs/locbbv.f: New routine to return size and location of BB var. bbs/makefile: Add dependencies. ncpf/processline.f: Expand long BB variables in macros properly using locbbv. ncpf/executemacro.f: Longer default macro line size. 3 July 2010 aux/help/wait: Document undocumented text wait features. dfm/xlh.f: Use WAIT TEXT option to control pausing of text. exm/xnews.f: Ditto. ucf/wrhelp.f: Ditto. exm/iniexm.f: Default WAIT TEXT OFF if in slave mode. main/sac.f: Parse -slave before initializing SAC common. co/zgpmsg.c: No return value if in slave mode. top/initsac.f: Only flash message if not slave mode. cnd/getdolen.f: No prompt if in slave mode. cnd/skipcond.f: Ditto. co/zauxfile.f: Ditto. ncpf/macroline.f: Don't prompt for unset macro parameters if in slave mode. ncpf/processline.f: Ditto. xyz/ximage.f: Implement IMAGE command. xyz/makefile: Add dependencies. aux/help/image: Document aux/clsstd: Add command processor. xyz/xxyz.f: Invoke new command. co/lckslv.f: Define routine to return slave mode setting. co/stdu.h: Ditto. co/makefile: Add dependencies. 5 July 2010 aux/help/syntax: Explain standardized command syntax. aux/help/help: Update command syntax. aux/help/listhdr: Ditto. aux/help/filterdesign: Ditto. aux/help/highpass: Ditto. aux/help/lowpass: Ditto. aux/help/bandpass: Ditto. aux/help/bandrej: Ditto. utils/sactosac.c: Assume strerror() always available, like other parts of SAC does. 13 Aug. 2010 ucf/wrhelp.f: Increase hash table size. 17 Aug. 2010 aux/help/syntax: Defined BNF-like syntax for SAC commands and rewrote all command syntax in that form. aux/help/*: Modified as per above, harmonized indenting text, and added all known command abbreviations. aux/help/filterdesign: Change example so that it works. aux/help/contents: Add FD synonym for FILTERDESIGN. dfm/xch.f: Fix buggy defn of icatg. Add YMD feature to time change. aux/help/chnhdr: Document. icm/xtransfer.f: Bug fix in FFT length. 6 Sep. 2010 utils/sgftopdf.c: Switch to default use of RGB color space; add options to select CMYK if desired. 14 Sep. 2010 aux/help/transfer: Fix syntax punctuation. 12 Oct. 2010 inc/mach: 64 bit conversion start. Change defines to make m-prefix denote 64 bit integers. inc/bom, inc/char, inc/cnd, inc/comlists, inc/contouring, inc/csf, inc/dfir, inc/dfm, inc/err, inc/exm, inc/fir, inc/fks, inc/gam, inc/gd1, inc/gd2, inc/gdm, inc/hdr, inc/icm, inc/lhf, inc/mem, inc/msg, inc/sam, inc/scm, inc/sddhdr, inc/sgl, inc/site, inc/smm, inc/snf, inc/spe, inc/sss, inc/temp, inc/tok, inc/tt, inc/uom, inc/usr, inc/vars, inc/ver, inc/wild, inc/xyz: Fix include files defs. bom/xmerge.f cpf/tokens.f clf/sortcl.f cnd/getdolen.f cnd/skipcond.f cpf/lckey.f cpf/lkrest.f cpf/lcchar.f cpf/lcia.f cpf/lcmsg.f cpf/lcquot.f cpf/lcrest.f cpf/lkchar.f cpf/lkia.f cpf/lkquot.f contouring/plotcontdata.f contouring/setcontcolorl.f contouring/setcontlabell.f contouring/setcontlevell.f contouring/setcontlineli.f contouring/setcontlinere.f contouring/setcontnumlev.f contouring/setconttickli.f dff/getfhv.f dff/getihv.f dff/getkhv.f dff/getlhv.f dff/getnhv.f dff/inilhf.f dff/lgahdr.f dff/setfhv.f dff/setihv.f dff/setihv.f dff/setkhv.f dff/setlhv.f dff/setnfiles.f dff/setnhv.f dfm/cnvfre.f dfm/decont.f dfm/lfilesok.f dfm/readmfl.f dfm/rdci.f dfm/readgfl.f dfm/vfmaxn.f dfm/vfminn.f dfm/xcutim.f dfm/xdelchan.f gam/wavfrm.f gam/xppk.f gam/xp.f gam/xp1.f gam/xplotpm.f gcm/xbegindevice.f gdm/beginwindow.f gdm/endwindow.f gdm/readctable.f gdm/setcolorname.f gem/xendwindow.f gem/xplab.f gtm/contour.f icm/fap.f ncpf/getembedded.f ncpf/getstringargs.f ncpf/getnumericarg.f ncpf/gettime.f ncpf/macrokeyword.f ncpf/macroline.f ncpf/macroordered.f ncpf/macropreambl.f ncpf/openmacro.f ncpf/processfunc.f ncpf/setmacrostat.f pl/plalpha.f sam/xrsp.f sam/fdbp.f sam/fdbr.f sam/fdhp.f sam/fdlp.f sam/rfir.f sam/xconvolve.f sam/xcorrelate.f sam/xdft.f sam/xenvelope.f sam/xunwr.f spe/xcor.f sss/inisss.f sss/xdeletestack.f top/executecomman.f ucf/delims.f ucf/tokdel.f xyz/xzlabels.f xyz/xzcolors.f utils/sgftoqms.f Fix resulting type mismatch. configure.ac: Fix problem with ADD_FFLAGS being unset when --disable-omp explicitly given and no OpenMP compiler features. xyz/zfft.f: Fix decls for range-check compliance. utils/sgfmerge.f: Reformat for gfortran compile. 25 Jan. 2011 eam/xapk.f: Fix bug in format of HPF written (max. 80 chars) (reported by Andy Nowacki). 4 Feb. 2011 co/rseed.c: Implement distinction between swapped headers and data in mseed data blockettes. 8 Feb. 2011 ucf/cnvfta.f: Fix bug if format width > character variable size (reported by Doug Angus). 5 Mar. 2011 utils/sgftoeps.c: Add line width to bounding box to prevent unwanted clipping of boundary lines. Add RGB output and default to this color model. utils/sgftopdf.c: Add line width to bounding box to prevent unwanted clipping of boundary lines. ncpf/processstring.f: Implement CHANGECASE, EXISTMV, EXISTBB. ncpf/inicpf.f: Ditto. inc/cpf: Ditto. aux/help/expressions: Document. 21 May 2011 aux/help/filterdesign: Reorganize help. sam/filterdesign.f, sam/fdplot.f: Fix decls for m-prefix vars. 22 May 2011 dbh/bilin2.f: Stabilize filters by normalizing coefficients in double precision. Compiler-dependent results ensue, otherwise. 23 May 2011 aux/help/rtrend: Correct syntax description. 25 May 2011 utils/sgftohipen.f, utils/sgftoquic.f, utils/sgftotek.f: Fix decls for m-prefix vars. gd2/setlinestyl2.f: List line types used in SAC's code (not many) and in external documentation (more). utils/sgftoxfig.c: Fix handling of different line styles, and change default to interpret line style. sam/fdplot.f: Center labels over each FILTERDESIGN panel. 26 May 2011 dfm/xcopyhdr.f: Fix header variable error message flag pointer. gam/xppk.f: Range-check PERPLOT value. 27 May 2011 utils/sgftops.c: Adjust hardware font scaling so font sizes are as advertised in points. utils/sgftoeps.c, utils/sgftopdf.c: Fix bounding box calculation for hardware text and change plot and font scaling so that all hardware fonts are display at the same point size among the hardcopy generating programs. inc/gtm, inc/gem: Some items were replicated between common blocks! removed unused items from gtm and from gem. Name clashes between gtm and gem resolved by renaming some items in gem. exm/qsymbol.f: Handle common symbol renaming in gem. gtm/xlinaxis.f, gtm/xlogaxis.f, gtm/ylinaxis.f, gtm/ylogaxis.f: Gridding not implemented properly, wrong common symbol referenced. Ancient bug! Pick up proper reference from gem common. gtm/makefile: Fix include dependencies. gem/xsym.f: Pick up/set proper symbol for grid control. utils/gemcheck.f: Fix check so that it reports size of fit. ncpf/macroline.f: Release $RUN temp file if abort macro processing while writing it. co/znfile.f: Add comment about double open behavior. 28 May 2011 gam/makefile: Fix dependency for markvert.o. gem/makefile: Fix dependency for raster.o. xyz/makefile: Fix dependency for xgrayscale.o and ximage.o. gd2/hardwaretex2.f: Fix hardware text byte swap bug. utils/sgftoeps.c, utils/sgftopdf.c: Add -hwtextfix option. 8 June 2011 aux/help/plotrecordsection: Fix duplicated sentence. 9 June 2011 dff/rsac1.f, dff/rsac2.f, dff/rsach.f: If getfhv('dist', ...) and lcalda is set, calculate dist like SAC does. Presently, returns value as unset. gam/xp2.f: Fix Y limit range setting if YLIM ALL and plotting spectral files with P2. ncpf/inicpf.f, ncpf/processstring.f: Implement QUOTEHV and QUOTEMV functions, add lesc() routine to check for escaped characters. aux/help/expressions: Document. 11 June 2011 dfm/xw.f: Implement KSTCMP option to WRITE. aux/help/write: Document. 12 June 2011 aux/help/evaluate: Document AS option, fix syntax description. cpf/lklog2.f: Fix three separate bugs, add error return if keyword value not correct. exm/xeval.f, sss/xplotrecords.f, xyz/xgrayscale.f, xyz/xspectrogram.f, xyz/xzticks.f: Update lklog2 use. 13 June 2011 aux/help/comcor: Update documentation for COMCOR indicating obsolescence. aux/help/phase: Update documentation for PHASE command; correct syntax and eliminate comment about non-functionality. 3 July 2011 cnd/makefile: Fix dependencies. 15 July 2011 pl/plmap.f: Update comments about common use. 16 June 2011 sss/xplotrecords.f: Implement portrait orientation. sss/rscursor.f: Ditto. aux/help/plotrecordsection: Document cursor options with a table. 17 June 2011 pl/ylinax.f: Right-justify power-of-10 indicator if Y axes reversed. Fix handling of tick marks when axes reversed, too. pl/plclip.f: Handle clipping properly if axes reversed! pl/xlinax.f: Fix handling of tick marks when axes reversed. 18 June 2011 Makefile.in: Fix Tiger builds. 20 June 2011 co/zrmem.c, co/zwmem.c: Removed. 20 June 2011 utils/uninstall/uninstall.py: Make functional with Tiger systems, too. utils/uninstall/Makefile: Bump version utils/uninstall/ChangeLog: Document changes --Build 108 ------------------------------ 23 June 2011 ncpf/expmv.f: New routine to expand macro variables in a string. ncpf/processline.f: Expand macro variables inside a BB var name, to allow syntax like %$n$xxx% to be usable. ncpf/makefile: Add dependencies. aux/help/expressions: Document. 24 June 2011 gdm/beginwindow.f: Open device if window explictly opened via BW n. gdm/makefile: Update dependencies. 26 June 2011 aux/help/plotrecordsection: Fix REDUCED explanation typo and document ORIGIN better. 28 June 2011 aux/help/spectrogram: Fix SPECTROGRAM punctuation typo. 30 June 2011 Makefile.in: Support evalresp-3.3.3 (different make targets, sigh) 17 Sep. 2011 dff/lundef: New routine to check if logical is undefined. dff/makefile: New dependencies. dfm/xw.f: Use lundef to check if lovrok is defined before testing value. Fixes bug with some Fortran compilers where (v) is true, but (.not.v) is *also* true! Shows up in check of LOVROK for file overwriting. dfm/xwh.f: Ditto. exm/qgtext.f: Fix bug in REPORT GTEXT that shows up with gfortran compiles. Internal i/o to character string yields EOF if data goes beyond end of string. 27 Sep. 2011 aux/help/expressions: Fix help for QUOTEMV function. Also eliminate extraneous tabs in text in favor of spaces. 1 Feb. 2012 Makefile.in: Bug fix to build of 64 bit library; remove FSYMSFX=2. Left rsac1 and friends unusable due to name mismatch between swap_bytes32_ and swap_bytes32 (extra underscore). 7 Mar. 2012 cnd/xdo.f, co/znfile.f, co/zopen.f, dff/lundef.f, dfm/xra.f, dfm/xw.f, dfm/xwh.f, exm/qgtext.f, exm/xsetbb.f, exm/xtrace.f, gam/pcmrpl.f, gam/pcrrpl.f, gdm/beginwindow.f, icm/polezero.f, ncpf/processembed.f, ncpf/processline.f, ncpf/processnum.f, sam/xhilbert.f, scm/xsmooth.f, scm/xstretch.f, sss/iaspmodel.f, sss/xplotrecords.f, sss/xsumstack.f, sss/xtraveltime.f, test/testio.f, ucf/evallogical.f: Explicit declares for M-prefix variables that are parameters and passed as 64 bit ints. utils/sgflist.f, utils/sgfplot.f, utils/sgftoeps.c, utils/sgftopdf.c, utils/sgftotek.f, utils/sgftoxfig.c, utils/sgftops.c: Fix endian problems introduced with hardware text. 8 Mar. 2012 amf/mmsubs.c: Add 64 bit checks on allocated storage to ensure 32 bit pointer arithmetic (Fortran subscripting) works. 12 Mar. 2012 main/sac.f: Increase top level input buffer to 5x80 character lines. 14 Mar. 2012 utils/sachdrinfo.f: Fix long output line bug. Add help info with -h. aux/help/utilities: Document new option, fix syntax. utils/zversion.c: New routine for Fortran version info. utils/makefile: Add zversion.c dependencies. 15 Mar. 2012 configure.ac: eliminate BSD4d2 define in favor of autoheader use and config.h. co/config.h.in: regenerated configure: regenerated co/zgcurr.c, co/zgnmsg.c, co/zgterm.c, co/zgterm.c, co/zgterm.c, co/zgwindowsize.c, co/zopenc.c, co/zopenm.c, co/zrunout.c: eliminate use of BSD4d2 define in favor of HAVE_SGTTY_H and HAVE_SYS_TYPES_H. Makefile: regenerated co/config.h: regenerated 16 Mar. 2012 gd4.app/gd4.carbon.c: Fix crash if line style > 6. main/sac.f: Use allkmb/relkmb for character buffer management. 17 Mar. 2012 gd4.app/gd4.carbon.c: Interpolate colors properly if raster image is smaller than viewport. gd3.x11/raster3.c: Ditto. 18 Mar. 2012 utils/sgftops.c: Handle raster files smaller or bigger than plot window. Fix bug in call to EndPath() which omitted a parameter. utils/sgftoeps.c: Handle raster files smaller or bigger than plot window. utils/sgftopdf.c: Handle raster files smaller or bigger than plot window. utils/sgftoxfig.c: Update code to modern C decls. Add notes on how to implement raster images. gd4.mac/gd4.mac.m: Fix 64-bit bugs. 11 Apr. 2012 co/zrunout.c: Fix 64-bit bug that caused "SC TO xxx ..." to hang. exm/xsystemcomma.f: Change call to zrunout to pass 64 bit token. Makefile.in: Fix building of 64- 32- and g77 libraries of gfortran defaults to 32 bit builds and cc defaults to 64. Makefile: Regenerate. 1 May 2012 gam/xppk.f: Output pick info in 1PE15.5 format to ensure full significance of times. aux/help/plotpk: Fix documentation of ABSOLUTE/RELATIVE and GMT/ZERO. cpf/inicsf.f: Test making comma a token delimiter to fix parsing problem with DO n = 1,3 (for example). Change removed after impact on file patterns can only be fixed with change to parsing of string-like objects (delimited with ' ... ', " ... " and, in future, [ ... ]). ncpf/processline.f: Fix bug in expansion of macro var inside of BB var. 2 May 2012 sss/xaddstack.f, sss/xchangestack.f: Parse the do-nothing options BEGINTIME and ENDTIME stupidly added to SAC2000. aux/messages: Warning message about use of do-nothing options. aux/help/addstack, aux/help/changestack: Fix typos in help. 3 May 2012 sss/xtraveltime.f: Syntax check for providing expected file of travel times or taup info. aux/messages: Add new error message for missing file. co/zrdxml.c: Fix 64-bit runtime problem with libxml -- include file used didn't include proper decl for xmlCreateFileParserCtxt and dropped core upon READ DS xxxx command. pl/pldta.f: Fix age-old bugs in optimizations used to plot traces with one coordinate generated (evenly-sampled data). When samples clipped at plot window edge, value was not interpolated to cut point. Led to jagged traces near edges of windows. Also led to crummy-looking travel time curves in the PLOTRECORDSECTION command when they met the window edges. 4 May 2012 aux/help/read: Fix syntax. cpf/tokens.f: Change order of check for inside quoted string. 24 May 2012 aux/help/library: Document XAPIIR. aux/help/xapiir: New user-callable routine in the filtering library. aux/help/contents: Help entry for XAPIIR. aux/macros/demo-bandpass: Re-format text position relative to arrows. Restore VSPACE after demo done. configure.ac: Set up mechanism for 32- and 64- bit library version builds. configure: Regenerate. Makefile.in: Use multi-library build mechanism to make xapiir and sacio libraries, and distribute them. On Darwin systems, these will be multi- arch libraries. 26 May 2012 {bbs,clf,contouring,eam,gcm,gd4.sun,gpm,gtm,nnm,site,smm,uom}/makefile: remove use of make_stamp. Got all of 'em now, I think. 31 May 2012 co/rdxml.c, dff/qsacxml.f: Fix bugs in QSACXML: 1) when using libxml, data type not decoded properly; 2) last file name in dataset corrupted. dff/rsacxml.f: Fix potential bug in RSACXML causing corruption of returned file name. 16 June 2012 dbh/xapiir.f: Provide filtering routine for double precision data. Also check that order of filter is in range. dbh/apply.f: Provide filtering routine for double precision data. aux/help/xapiir: Document new routine. 25 June 2012 sam/xconvolve.f: Fix bug; didn't report crscor errors (arising from detection of too long of a trace). dbh/crscor.f: Elaborate error message if improper parameters. sam/xcorrelate.f: Eliminate dependency on max taper window length; allocate dynamically. 28 June 2012 aux/help/utilities: Correct errors in program name for sgftopdf and expand sgftotek description. Makefile.in: Fix problems with libgomp distribution for 64-bit builds. utils/install/App.py: New version for uninstall app. --Build 109 ------------------------------ 09 July 2012 dff/xrgse.f: Relax parsing requirements for GSE data. Changes: 1) let raw data bracketed by WID2/CHK2 to be readable, without needing message headers. 2) Parse and read GSE2.1 extensions (STA2, BEA2, etc.). 3) Parse and read GSE1.0 legacy format (WID1, CHK1). dff/xrgse.f: Fix parsing bug -- default directory not set right. css/csshdr.c: Define GSE2.1 and GSE1.0 formats for above use. css/gsefld.f: Relax checks for integer fields ending with blanks (needed for GSE1.0 format use). dff/xwgse.f: Don't write data lines that are too long for INT format. Restrict output length to ~132 characters. Leads to potentially unreadable files. aux/help/readgse: Update documentation. msg/apimsg.f: Widen integer output fields for long integer values. dfm/xrcss.f: Implement STATION and CHANNEL options for READCSS. aux/help/readcss: Document. dfm/readcfl.f: Change parsing method for CSS files, basing it on the .wfdisc file. css/cssfld.f: Relax checks for integer fields not ending with blanks. Some data written this way. aux/help/readcss: Update documentation on reading CSS files and filtering by gain or band. 10 July 2012 aux/help/write: Fix syntax. 11 July 2012 utils/sactosac.c: Fix code that assumes int == long, which isn't true for 64 bit compiles. utils/sac.h: Ditto. css/csshdr.c: Define .site and .sitechan formats. dfm/readcfl.f: Read .site and .sitechan files to add station loc info. dfm/xrcss.f: Add VERBOSE option. aux/help/readcss: Document. inc/dfm: remove kversion_read and pass parameter to rdchdr dfm/rdchdr.f: Pass CSS version code as parameter, remove origin file read flag parameter. Don't set IREG etc. if values are zero. 12 July 2012 dfm/readcfl.f: Quell messages by putting them under control of verbose options. Also fix spurious message if .site file not in CSS collection. dfm/gsefld.f: Report offending card when error encountered reading. 13 July 2012 dfm/xrgse.f: Make field parsing more robust after horrors of GSE data reported in example from Alireza Alinaghi. 20 July 2012 aux/help/contents: DC is synonym for DELETECHANNEL; add to help. dfm/xdelchan.f: Implement EXCEPT option. aux/help/deletechannel: Document. dfm/xwild.f: Add PREVIOUS choice to ECHO option. aux/help/wild: Document. aux/help/expressions: Fix typos in EXISTMV EXISTBB description. 22 Aug. 2012 aux/help/read: Change summary of READ command to name GCF and MSEED data types; capability is therefore locatable with HELP APROPOS. aux/help/readcss: Fix typo. Update information concerning site and sitechan file usage. dfm/readgfl.f: Check for time discontinuities between blocks of GCF data and report if found. 25 Aug. 2012 aux/help/readcss: Add online ref to original CSS 3.0 documentation; flag Sandia document as CSS variant. Add description of how filters on data read can lead to no files being read. 30 Aug. 2012 co/rseed.c: Fix byte swap bug for IEEE float data type. dfm/readmfl.f: Fix sample rate calculation for negative SRF values. 31 Aug. 2012 aux/help/read: Fix punctuation of help and document warning of gaps found in GCF or MSEED data. 01 Sep. 2012 aux/help/cut: Fix punctuation. 03 Sep. 2012 gam/inigam.f: PLOTC - Fix parsing of BHn and BVn environment ops; n ignored. gam/pcxop1.f: PLOTC - Handle border tick marks properly. gam/xp1.f: Mistreak restoring savex lbottc and lbotax. gd2/beginframe2.f: File name generation goof; field too short. Also infinite loop in file search if frame is zero. 04 Sep. 2012 dfm/readmfl.f: Clear message after echoing matched file list. Handle files with only one blockette in them. Also improve heuristic checks for block size. dfm/readgfl.f: Clear message after echoing matched file list. 05 Sep. 2012 aux/help/contents: RGL synonym for RGLITCHES in help. scm/xrglitches.f: Implement RUNAVG method a la SAC2000. scm/xavggl.f: New module to implement RUNAVG. scm/makefile: Add dependencies. aux/help/rglitches: Document. 11 Sep. 2012 co/stdu.h: Add to fix obscure 64 bit bug (getenv not declared; bug reported by James Wookey). 12 Sep. 2012 ncpf/processline.f: Fix parsing bug of unterminated BB var at end of line (reported by James Wookey). gam/pcrrpl.f: Lower case q now also ends .pcf files. gam/xpc.f: Initialize more of environment: Solid line, text justification. 15 Sep. 2012 cpf/lcrest.f: Fix to avoid use of temp string; removes string length dependence. cpf/makefile: New dependence on inc/mem exm/xmacro.f: Arbitrary length macro argument lists saved. exm/makefile: New dependence on inc/mem amf/allkmb.f: Handle reakmb case when new block is shorter than old. cpf/lckey.f: Add info about max keyword string length. ncpf/macroordered.f: Don't use temp variable to prevent truncation of long macro args. ncpf/macrokeyword.f: Ditto. Keyword args are usually even longer than positional args. 25 Sep. 2012 icm/polezero.f: Complain about bad numbers in pole/zero files. aux/messages: Define error messages describing problems with pole/zero counts, and pole, zero, and constant values. 8 Oct. 2012 Makefile.in: Add build number string to SAC version header to help track pre-release builds. inc/ver: Version is now a string, not a number. top/initsac.f: Report version number. utils/makefile: Change ver.h construction method. utils/sgfplot.f: Version number is a string, not a number. cpf/lcrest.f: Don't elide null strings; return as ''. ---238--- 10 Oct. 2012 sss/xvelocityrose.f: Parse LOCATION keyword correctly. sss/xplotrecords.f: Make sure velocity rosette, moveout curve, and travel time curves are plotted even if LINE is off or 0. sss/xplotrecords.f: Fix vertical position of velocity rosette. 11 Oct. 2012 sss/xplotrecords.f: Pick properly for reversed polarity traces. Also don't report pick values for traces that weren't picked. ---258--- 15 Oct. 2012 co/rseed.c: Report unknown MSEED data formats in a clearer way. dfm/readmfl.f: Report MSEED file read errors in a clearer way. co/rseed.c: Implement 64 bit IEEE real reading (with precision loss). 19 Nov. 2012 configure.ac: Check for (no trailing s). co/config.h.in: regenerated by autoheader Makefile.in: Fix problem with $$(PWD) as opposed to $$PWD when building evalresp. co/stdu.h: Add in explicit checks for uintptr_t and define if appropriate. Include if any integer types are defined. Incorporate and checks and defines into main include. co/zgwindowsize.c: Use new termio define mechanism. co/zgterm.c: Ditto. co/zgnmsg.c: Ditto. co/zgcurr.c: Ditto. ---277--- 25 Nov. 2012 scm/xtaper.f: Bug fix -- avoid npts use when calculating taper lengths. ---284--- 27 Nov. 2012 dfm/xcutim.f: Bug fix -- spurious memory errors if bad cut detected while applying cut window. ---316--- 22 Dec. 2012 sam/xwsp.f: Bug fix -- corrupt file written by WRITESP. aux/help/unwrap: Fix citation of Tribolet (1977). ---321--- 27 Dec. 2012 aux/help/addstack: Fix command grammar. sss/ttint.f: Fix intercept finding for portrait-style plots. sss/xplotrecords.f: Label travel time curves for portrait-style plots. pl/ylinax.f: Make tick number choice algorithmically identical to XLINAX. 28 Dec. 2012 aux/help/incrementstack: Fix example commands (VM command option wrong). 29 Dec. 2012 dbh/plpolar.f: Fix radial axis labeling, suppress plot labels if TERSE mode (blank LABEL parameter). dbh/linpack.f: Up to 100 eigenvalues from CEIGVV. fks/bbfk.f: Add TERSE option to suppress verbose high-resolution method output. Eliminated incorrect heuristic for azimuth search. Removed partly-implemented slowness code. Warn if both station location and user7/user8 offsets present. Use lkchar rather than lkquot for title parsing. 31 Dec. 2012 dbh/cpolar.f: Prevent exceeding contour level array if data range large. fks/xbeam.f: Fix REFERENCE option, add zero time and file name to beam file. ---385--- 31 Dec. 2012 xyz/spcgrm.f: If spectral power is zero, return zero spectrum. Prevents MLM and MEM methods blowing up on zero data. 02 Jan. 2013 aux/macros/demo-line: Demo to show line features (types, widths). aux/macros/demo: Add to master demo macro aux/help/line: Reference demo aux/help/width: Reference demo aux/help/plotc: Note width control by WIDTH. gam/pcxope.f: setlinewidth parameter is integer, not real. 04 Jan. 2013 aux/help/mlm: Fix typo in documentation. dbh/mlm.f: Stabilize MLM by preventing excessively large values. 05 Jan. 2013 utils/sgftoeps.c: Put bounding box at front of file rather than (atend). 07 Jan. 2013 co/rseed.c: Update 64 bit byte swap #defines. co/endian.c: Ditto. aux/help/cor: Fix STOCHASTIC typo. 11 Jan. 2013 co/zexpname.c: New routine to expand ~/ in file names to home directory. co/zopen.f: Recognize ~/ prefix in file names. gdm/readctable.f: Recognize ~/ prefix in color tables. aux/help/color: Document, and add note about first and last colors. ---427--- ncpf/executemacro.f: Re-implement macro recursion, broken since gfortran runtine library semantics came into force and prevented multiple opens of same file. ncpf/macroline.f: Ditto. ncpf/macropreambl.f: Ditto. ncpf/macrokeyword.f: Ditto. ncpf/macroordered.f: Ditto. cnd/getclun.f: Ditto; expand linkage to return vars variable name. cnd/getdolen.f: Ditto; fix latent prompt bug. cnd/skipcond.f: Ditto; keep track of line number in macro; fix indents. cnd/xenddo.f: Ditto. 15 Jan. 2013 aux/help/header: Describe file header fields. aux/help/commands: Add to help info. aux/help/commands2: Ditto. aux/help/commands3: Ditto. aux/help/color: Describe color tables. inc/gdm: Save full color table file name. exm/qcolor.f: Report color table file name in REPORT. aux/help/setlhv: Fix description. 16 Jan. 2013 utils/sactosac.c: Handle swapping of XY files. 17 Jan. 2013 gdm/loadctable.f: New routine to load line or raster color tables. gdm/initctable.f: Re-code to use loadctable. utils/sgfplot.f: Fix plots of raster-containing SGF files. gd2/raster.f: Fix FP decoding scheme in raster files. 27 Jan. 2013 fks/xgmtmap.f: Implement MAP command to make GMT maps. fks/xfksc.f: Ditto. aux/clstd: Ditto. aux/gmtmap: Helper script for MAP command. aux/help/map: Document. 30 Jan. 2013 cnd/xdo.f: Parse DO I = 1,3 properly; be lenient about blanks separating args. 31 Jan. 2013 aux/help/null: Document NULL. aux/help/contents: Add NULL to searchable help. 02 Feb. 2013 vars/copyvlist.f: Vestigial -- remove. vars/copyvlist2.f: Vestigial -- remove. vars/inquirev.f: Vestigial -- remove. Only reason inc/nvars exists! vars/printvlist.f: Vestigial -- remove. vars/printvlist2.f: Vestigial -- remove. vars/makefile: Remove dependencies. inc/nvars: Eliminate; combine with inc/vars cnd/makefile: Eliminate dependencies. top/makefile: Ditto. vars/makefile: Ditto. aux/help/plotalpha: Improve the description of the command. pl/plclip.f: Fix clip of traces containing null values. gdm/colorcode.f: Vestigial -- remove. gd1/colorcode1.f: Ditto. gd2/colorcode2.f: Ditto. gd3.x10/colorcode3.c: Ditto. gd3.x11/colorcode3.c: Ditto. gd4.sun/colorcode4.c: Ditto. gdm/makefile: Remove dependencies. gd1/makefile: Ditto. gd2/makefile: Ditto. gd3.x10/makefile: Ditto. gd3.x11/makefile: Ditto. gd4.sun/makefile: Ditto. 03 Feb. 2013 aux/clstd: COPYRIGHT command, synonym ABOUT. aux/clspe: Ditto. aux/clsss: Ditto. aux/help/contents: Link COPYRIGHT and ABOUT to help. aux/help/contents2: Ditto. aux/help/contents3: Ditto. --Release 110 ---------------------------- 19 June 2013 inc/hdr: Add defines for new ellipsoid. ucf/refel.f: New routine to define a reference ellipsoid. aux/messages: Error messages for unknown ellipsoid. inc/hdr: Define header variable to hold reference body. ucf/distaz.f: Supply reference ellipsoid for use with different planets. dfm/vfbody.f: New routine to check all traces on same body. inc/lhf: Add define for report of ellipsoid. dfm/xch.f: Calculate geometry using reference ellipsoid. dff/inilhf.f: Defines for new I-type variables in header. dff/rdhdr.f: Read reference ellipsoid from header. dff/rdshdr.f: Default ellipsoid to Earth. dff/rsac1.f: Use ellipsoid from file for distance calculations. dff/rsac2.f: Ditto. dff/rsach.f: Get ellipsoid from file header. dfm/xrgse.f: Default ellipsoid to Earth. inc/sss: Eliminate RKMPERDG fks/xbbfk.f: Make sure all traces on same body with vfbody. fks/xbeam.f: Ditto. scm/xrotate.f: Ditto. fks/xmap.f: Ditto. Use ellipsoid for distance calculations. sss/xplotrecords.f: Use ellipsoid for degree/km conversion. sss/iaspmodel.f: Add ref. ellipsoid to call and use for deg/km conv. aux/help/chnhdr: Document. aux/help/getihv: Document. aux/help/setihv: Document. sss/ttlim.inc: Increase jseg for tables with many depth phases. sss/libtau.f: Say which table size burst when reading tables that are too large sss/xtraveltime.f: Fix parsing of phase names to improve syntax checks. aux/help/traveltime: Document. aux/tables/taup/{be,le}/ss97a.{hed,tbl}: Add Sohl and Spohn (1997) model for Mars. aux/help/traveltime: Document. 15 July 2013 gam/xppk.f: Add support for PLOTPK RELATIVE like sac2000 implements it. aux/help/plotpk: Document. 01 Aug. 2013 spe/xpds.f: Wrong size used for memory allocation. spe/xmem.f: Ditto. spe/xmlm.f: Ditto. ucf/makefile: Add overlooked dependency for inc/mem. cpf/makefile: Ditto. dbh/window.f: Fix indexing range-check bug. ucf/poptok.f: Ditto. msg/typmsg.f: Ditto. ucf/cnvatf.f: Ditto. spe/xcor.f: Check if window length too long. aux/messages: New message to report window too long. aux/help/specommands: Mention typical processing steps. spe/xpds.f: Calculate spectral resolution based on window type. aux/help/pds: Cite Harris (1978) for spectral resolution. spe/xpspe.f: Report spectral resolution on plot information. 06 Aug. 2013 cpf/lccl.f: Use 0xff as string delimiter to avoid embedded blank problems. cnd/xdo.f: Ditto. Also check for bad syntax in DO x LIST lists. gem/xline.f: Make LINE PREVIOUS restore line style and increment status. 08 Aug. 2013 ncpf/processline.f: Fix 1 char BB var parse problem if at end of line. 13 Aug. 2013 dbh/autcor.f, dbh/fft.f: Add NFFT output parameter for resolution reckoning, check table size. 27 Sep. 2013 dfm/xr.f: Add TYPE parameters for SEGY data reads; change calling sequence to readsfl. dfm/readsfl.f: Parse SEG forms of SEGY files, not just the PASSCAL form. Decode data in IBM floating point form. inc/segy: Add definitions for binary reel header. aux/help/read: Document. 28 Sep. 2013 sss/iaspmodel.f: If unable to open model file, convert to lower case and then upper case before abandoning attempt. (This actually affects non-MacOS systems because the MacOS file system is case-indifferent.) 01 Oct. 2013 css/cssfld.f: Handle brain-damaged CSS 3.0 files written by CTBTO that disregard left justification of character data in fields and write it right justified. dff/rdchdr.f: Only set mag if have .origin file. dff/rdcdta.f: Handle s3 and i3 data types. 13 Nov. 2013 configure.ac: Add configure option to suppress static linking (source of common problems with self-compilation of SAC). 17 Dec. 2013 fks/xbeam.f: Fix BBFK bug reported by Yanlu Ma. Zero beam before adding trace data to it! 24 Dec. 2013 amf/mmsubs.c: Kludge to fix memory randomization before 64 bit offsets used everywhere for memory references. 19 Feb. 2014 eam/xapk.f: Eliminate trailing junk on output message for APK picks. 07 Apr. 2014 aux/help/mem: Correct example (PLOTSP -> PLOTSPE) 06 May 2014 Makefile.in: Fix pattern to extract build number. aux/messages: New message numbers:- 804 - unknown reference ellipsoid 805 - files aren't on the same planet: 5009 - Insufficient space for correlation calculation -- shorten trace? Revised message text:- 1382 - Not a SEGY file 5007 - Confidence limits option not currently implemented for this estimator. dfm/readsfl.f: If PASSCAL-style SEGY file, default format to twos-complement integer. --Release 111 ---------------------------- 24 May 2014 sam/fdplot.f: Fix label (not log, linear) on Amplitude Response panel (bug reported by Milton Plasencia), division labels on Phase Response panel. gtm/ylinaxis.f: Make routine work properly if used with fixed Y division increments. 26 Aug. 2014 gd3.x11/dispatcheve3.c, css/etoh.c, co/endian.c, co/zsysop.c, co/zgnmsg.c, co/zgterm.c, co/zgpmsg.c, co/zgwindowsize.c, co/zrdxml.c, co/stdu.h: Fix C language quibbles found by clang. 26 Aug. 2014 dfm/readmfl.f: Recognize MSEED data record types of D, R, M, Q so that block size gets reckoned correctly. 03 Sep. 2014 co/zfiles.c: Add include so getcwd decl is correct. 06 Sep. 2014 dfm/cnvfre.f: Parse numeric strings with embedded commas as delimiters. --Compile 251 ------------------------------ 31 Oct. 2014 Makefile.in: Add /opt/X11 to @rpath for Yosemite users --Compile 253 ------------------------------ 09 Mar. 2015 ucf/distaz.f: Fix calculations for stations & events exactly at the poles. utils/testdistaz.f: New component for testing utils/makefile: Compilation directions for testing Makefile.in: Remove testdistaz in clean phase 30 Mar. 2015 amf/allamb.f: Add utility/debug routine to dump memory blocks. scm/xtaper.f: Fix bug causing points to be clobbered at end of tapering if multiple files in memory have different numbers of data points. 06 Apr. 2015 Makefile.in: Fix residual problems with finding PackageMaker and building 64-bit Darwin systems. co/stdu.h: New routine name (zextname) into Fortran name translation table. gam/xppk.f: Label Tn (n>0) picks with pick quality as per user feature request. aux/help/plotpk: Document. 07 Apr. 2015 ncpf/processline.f: Short-circuit text expansion on command line input if a comment encountered in the text. main/sac.f: Changed calling sequence to processline(). ncpf/macroline.f: Ditto. top/continuesac.f: Ditto (though continuesac() is never called). 08 Apr. 2015 utils/sactosac.c: Fix bug in conversion of XY files (X data conversion skipped). 08 Apr. 2015 dff/rsac1.f, dff/rsac2.f, dff/rsach.f, dff/wsac0.f, dff/wsach.f: handle conversion of little-endian files silently on input and convert them to big-endian on output. 15 Apr. 2015 dfm/readcfl.f: Fix recovery from errors if problems reading CSS files; also name file based on station & component rather than just data file; also expand ~/ in CSS file names and directories; finally, make CSS reading more robust if data incomplete for a trace (Bug reported by Dmitry Krasnoschchekov). css/csshdr.c: Relax length check for .origin file to handle DOS file format. (Bug reported by Dmitry Krasnoschchekov). 20 Apr. 2015 Makefile.in: Fix dist-src use of "tar cfz ..." which seems to fail on MacOSX systems (Mavericks). (Actually this was due to using a defective version of tar inherited from an old Fink build.) 21 Apr. 2015 ncpf/macrokeyword.f: Handle keyword args that have blanks embedded in them. XX/poptok.f: Changed return values to return pointer to text, not delimiter. 22 Apr. 2015 dfm/readcfl.f: Fix dual memory release. Makefile.in: Set .dmg volume label differently for 64-bit builds. 01 May 2015 dfm/xdelchan.f: Workaround for compiler bug isacmem(idel+i)=i causing failure of dc command (sac hangs). [Redacted after 15 May. 2015 change] 14 May 2015 sam/xcorrelate.f: Fix circular shift bug after correlation. ncpf/gettime.f: Simplify code checking for depmax and depmin. 15 May 2015 configure.ac: Add -fno-aggressive-loop-optimizations to compiler options to defeat optimizations based on loop bounds. This fixes a class of apparent compiler-related bugs that arise from GCC 4.8+ compiler optimization heuristics having to do with loops. When the loop control identifier indexes sacmem, sacmem's bounds are used to decide whether entry to the loop will be futile. Due to SAC using offsets from the sacmem COMMON origin as indexes, these heuristics lead to no loop repetitions at all because it looks like the initial bound is >> greater than the array limits. dbh/crscor.f: Relax length restrictions due to small internal buffer size and restriction to short FFTs. Pass in work area to crscor() and change it to use the Singleton FFT routine rather than the Harris FFT routine. sam/xcorrelate.f: Fix length restriction on correlations by passing work area to crscor(). sam/xconvolve.f: Fix length restriction on convolutions by passing work area to crscor(). Also fix values returned from CONVOLVE (off by one data point). 20 May 2015 wild/wildfl.f: Handle bare catenation properly; aa[mm]zz -> aammzz. (As always, aa[mm,nn]zz -> aammzz, aannzz) exm/xmacro.f: Expand macro file names beginning with ~/xxx. 24 May 2015 gam/xppk.f: Properly implement PPK RELATIVE. 26 May 2015 cnd/xelse.f, cnd/xendif.f: Complain about dangling ELSE/ENDIF. aux/messages: New message 2708 to complain about dangling ELSE/ENDIF. 27 May 2015 gam/dispid.f: Allow plot labels to have characters added later so they may be right justified. gam/xp.f,gam/xp1.f: Label relative plots. 16 June 2015 ncpf/processline.f: Fix bugs in short-circuited text expansion on command line input if a comment encountered in the text. Did not complete expansion of &...& and (...) elements. Also show context with extra ( or ) found on command line. fks/xbbfk.f: Save output file name in persistent storage; initialize default file name to advertised value in manual. 29 Oct. 2015 sss/xplotrecords.f: Fix bug in PRS causing gd4 crash if flatlined data in a trace. gd4.app/gd4.carbon.c: Add debug code for bad data, but comment out. Also add slightly wordier dump of botch in protocol report. 12 Nov. 2015 co/aggro.c: Add routine to trap FPE errors. 14 Nov. 2015 evalresp-3.3.3: Fix behavior with type 55 (FAP) response blockettes and define a sensible interpolation scheme for handling frequencies that aren't in the table, or beyond its limits. icm/evr.f: Don't declare an error if EVALRESP didn't work; warning message is displayed and processing will continue. 16 Nov. 2015 evalresp-3.3.3: Back-port 4.0.6 recognition of COUNT == COUNTS in filter unit labeling. sss/xplotrecords.f: Set trace selected/unselected status based on SUM ON/OFF value in trace information. 11 May 2016 dfm/getatw.f: Define sensible behavior for negative N in PDWs. Flips limits. aux/help/xlim, aux/help/cut: Document. --Compile 245 ------------------------------ 05 Apr. 2017 uom/xdif.f: Fix bug causing SAC file length to be too long after DIF command use. (Bug reported by Andy Nowacki). --Compile 262 ------------------------------ 21 May 2017 dfm/xsort.f: New file to implement SORT command. dfm/xdfmc.f: Implement SORT command. dfm/makefile: Ditto. aux/clstd: Add SORT to command list. aux/help/sort: New file to document SORT command. aux/help/commands: Add SORT command to command list. dfm/xdelchan.f: Fix DC bugs when rearranging storage when traces deleted. Did not copy ncomp, nstart, nfinish, nfillb, nfille, ntotal, nxsdd. --Compile 264 ------------------------------ 24 May 2017 ucf/ddttm.f: Fix DDTTM restriction to date differences < 1 day and return difference in double precision in preparation for retaining full internal precision on time calculations. bom/opf.f: Double precision DDTTM result. bom/xmerge.f: Ditto. readgfl.f: Ditto. dfm/readmfl.f: Ditto. dfm/readsfl.f: Ditto. dfm/synch.f: Ditto. dfm/xch.f: Ditto. dfm/xrgse.f: Ditto. dfm/xsynch.f: Ditto. gam/xp1.f: Ditto. gam/xp2.f: Ditto. gam/xppk.f: Ditto. smm/xmarktimes.f: Ditto. --Compile 309 ------------------------------ 30 Aug. 2017 ucf/cnvfta.f: New routine to convert double precision numbers to char. pl/logdta.f: New routine (logdtd) to take log of double precision data. pl/plmap.f: Increase precision of plot mapping calculations so data at long offsets in a file can be plotted, where single precision time causes problems. Do graphical offset/mapping calculations in double precision. pl/pldta.f: Ditto. gam/xppk.f: Ditto for picks/time offsets in long files. pl/ylinax.f: Handle labeling of traces at long offsets into data. pl/xlinax.f: Ditto. 23 Nov. 2017 xyz/ximage.f, xyz/xgrayscale.f: Collateral damage from previous change to double precision graphical mapping parameters. 24 Nov. 2017 Makefile.in: Make "make install" more robust by adding -f to selected cp and --exclude XX to tar commands. --Compile 375 ------------------------------ 04 Dec. 2017 co/zfiles.c: Use scandir to get files to guarantee return in alphabetical order. Also expand leading ~/ on directory names to user's home dir, which makes it possible to do searches on SAC file names prefixed with the home directory. configure.ac: Check for scandir() presence, define define. co/config.h.in: Regenerate with autoheader. --Compile 402 ------------------------------ --Release 112 ---------------------------- 05 May 2018 dfm/defcut.f, dfm/xdfmc.f: Fix ancient bug causing ending cut N xxx to fail in some (maybe most) cases. dfm/defcut.f: Fix double file name append in error message. dfm/xcutim.f: Increase number of cuts. dfm/xsynch.f: Don't require data in memory for SYNCHRONIZE command. 05 Oct. 2018 co/stdu.h: Include by default, if available; fixes build problems with CENTOS reported by A. Nowacki. co/zmemad.c: Remove explicit include, supplied by stdu.h. configure.ac: Define HAVE_USABLE_IEEETRAP to handle yet another OS difference in trap handling. Only enable if --enable-debug config option given. co/aggro.c: Use HAVE_USABLE_IEEETRAP to enable compilation of ieeeerr_ (can of worms for masochistic SAC debuggers). configure: regenerated from configure.ac co/config.h.in: Ditto. 11 Oct. 2018 sam/fdplot.f: Change impulse response so peak is at zero. gam/xppk.f: Fix windowing of multi-trace plots; previously only worked if cursor in topmost trace of window. Also fix line style, width, etc. so these do not change when one goes to different time windows. Start with initial values and keep them. 12 Oct. 2018 co/aggro.c: With Linux and MacOS, use sigaction to handle FPE errors and use fenv.h to obtain floating exception codes; for Linux, under control of HAVE_FENV_H preprocessor symbol. Remove use of HAVE_USABLE_IEEETRAP (v.s.) configure.ac: Add -Wl,-no_pie to Darwin 10.x and higher builds. config.h.in: regenerated from configure.ac by automake configure: regenerated from configure.ac by autoconf 14 Oct. 2018 gam/xp1.f: Change OFFSET: in P1 REL to use G format and trim leading blanks in order to provide more concise offset reports. pl/pldta.f: Fix logic to do basic clipping; led to trace extending off right and left end of frame if sample rate coarse or in narrow time window. pl/plclip.f: Fix minor bug in clip algorithm. 19 Jun. 2019 co/zgcurr.c, co/zgterm.c, co/zgnmsg.c: Use POSIX IOCTLs in favor of BSD if both are available, to simplify include and library inclusion. (Problems reported by James Wookey U. Bristol). co/stdu.h: Don't assume uintptr_t defined in . 10 July 2019 ucf/testsort.f: moved to test/testsort.f to eliminate need for testsort.o when building lib/sac.a (src/makedep skips dependencies for contents of test/) ucf/makefile: Added testsort configure.ac: Check for . configure: Regenerate. co/config.h.in: Regenerate. co/stdu.h: make uintprt_t check more robust. Makefile.in: Make sure inc/ver is readable by everybody. Makefile: Regenerate. co/zgnmsg.c: Use termios structure if available. co/zgterm.c: Use POSIX libraries if available. co/aggro.c: Forgot to include conf.h to control conditional compilation. co/zgcurr.c: Check whether terminal I/O control available. co/zmemad.c: Eliminate duplicate include of , in "stdu.h" already. configure.ac: Fix Darwin test for -no_pie use. configure.ac: Hunt for include files for -lxml2; this fixes XML dataset processing which was broken for many pre-Mojave Mac releases. configure: Regenerate. Makefile.in: Make sure source distributions or installs don't include tar's ._* files. Makefile: Regenerate. configure.ac: Fix cocoa check syntax error if no cocoa. configure: Regenerate. 15 July 2019 gd4.app/makefile: Temporary fix to allow builds in 32 bit mode. Also fix tar not to include ._* files. gd4.app/makefile: Make 32 bit build forcing more robust. --Compile 85 ------------------------------ --Release 113 ---------------------------- 16 July 2019 gd4.mac/gd4.mac.m: Don't use Cocoa routines to start up gd4.app. Eliminate extraneous dummy routines. gd4.mac/gd4.mac.c: Renamed from gd4.mac.m 16 July 2019 gd4.app/gd4.cocoa.m: New component to replace gd4.carbon.c as 64-bit app. 28 July 2019 configure.ac: Fix up --enable-libxml/--disable-libxml so they don't define HAVE_LIBXML multiple times. If no HAVE_LIBXML, code will use built-in Apple Core Foundation XML routines. configure: regenerate. 30 July 2019 aux/help/plotrecordection: Update description to describe selected trace setting to value of SUM in stack. sss/plotrecordsection.f: Fix record section clipping in portrait mode and labeling of traces. 31 July 2019 aux/help/hilbert: Fix punctuation problems in HILBERT help info. Also fix xlim in top panel of DEMO HILBERT display. aux/help/read: Clarify that no wild cards may be in directory names. 02 Aug. 2019 co/zinfo.c: Fix Y2K bug, wrong month returned, and truncated time and date info returned. 03 Aug. 2019 ucf/ldtime.f: New routine to parse SEED-style times. ucf/ddttm.f: Fix documentation for calling sequence. icm/polezero.f: Implement IRIS-style polezero files with multiple entries. Also fix bug causing loop if no PZ response found in a file. aux/help/transfer: Describe. 07 Aug. 2019 aux/messages: New warning message about nothing usable found in a PZ file. gem/xsaveimg.f: New command processor: SAVEIMG. gd0/beginframe0.f, gd0/draw0.f, gd0/drawpoly0.f, gd0/enddevice0.f, gd0/endframe0.f, gd0/expand0.f, gd0/fill0.f, gd0/initdevice0.f, gd0/move0.f, gd0/raster0.f, gd0/setcolor0.f, gd0/setlinestyl0.f, gd0/settextangl0.f, gd0/settextsize0.f, gd0/setwidth0.f, gd0/text0.f: implement SAVEIMG. co/sgfbufwrite.c: New module to implement plot drawing for SAVEIMG command. aux/help/saveimg: Document. 10 Aug. 2019 utils/sgftopdf.c: Fix raster image display to remove use of compression abbreviations - prevents proper display by Mac Preview app. ucf/cnvital.f: New routine to format left-justified integer and return length. xyz/calcfftsize.f, xyz/spectrogram.f: Shorten informational messages. gem/xsaveimg.f: Use cnvital for debug output. 15 Aug. 2019 dfm/xra.f: Recover gracefully from bad READALPHA format errors. aux/help/readgse: Fix syntax typo. dfm/readmfl.f, dfm/readgfl.f: Keep full time resolution for GCF and MSEED data by checking for fractional milliseconds and making B value nonzero. gd4.mac/gd4.mac.c: Fix occasional gd4.app protocol botch on first window use. utils/sgftoxfig.c: Fix bug in filled rectangle drawing (probably never encountered). 16 Aug. 2019 co/sgfbufwrite.c: Add .fig output capability. gem/xsaveimg.f: Ditto. aux/help/saveimg: Document. 24 Aug. 2019 dfm/xsynch.f,dfm/synch.f: Implement BEGIN {ON|OFF} option for SYNCH. Also check for synch operations that will affect sub-millisecond time resolution. inc/dfm, dfm/inidfm.f: Ditto. aux/help/synchronize: Document. aux/messages: new message about time resolution loss. ucf/inctim.f: Round time arithmetic results to nearest millisecond like SAC2000 does. 26 Aug. 2019 ucf/incdat.f: Fixed leap year reckoning (SAC thought 2000 was one). 27 Aug. 2019 bom/xmerge.f: Implement SAC2000 semantics for MERGE. Expand wild cards in MERGE file list. bom/merge.f: Ditto, new routine. aux/messages: new messages about MERGE actions and errors. ucf/indttm.f, ucf/dndttm.f: Routines to do time arithmetic to nanosecond resolution. gd4.app/gd4.cocoa.m: Check for parent SAC task and, if it disappears, terminate. This is to prevent a hung job if SAC crashes. gd4.mac/gd4.mac.c: Pass proper PID for SAC to gd4.app task. 30 Aug. 2019 pl/pldta.f: Fix clipping algorithm at right & left margins when time window is very small, sub-sample interval. ucf/copyd.f: New routine. 31 Aug. 2019 ucf/kidate.f: Fix leap year reckoning (SAC thought 2000 was one). aux/help/qdp: Update for MAC device. 02 Sep. 2019 dfm/xsynch.f: Test for and report time precision loss at msec level when synchronizing times. dfm/synch.f: Ditto, and do time calculations to nanosecond resolution. 17 Sep. 2019 utils/makefile: Fix build of utils that use PS font routines; now in SAC library. Makefile.in: Re-work for 32-bit library builds with Apple's built-in libxml. 24 Sep. 2019 gd4.app/gd4.cocoa.m: Add defines to permit builds on pre-Mohave systems. 22 Oct. 2019 Makefile.in: Re-work for binary distributions to ensure static libraries in Fortran utilities, notably sachdrinfo. --Release 114 ---------------------------- 11 Jan. 2020 icm/polezero.f: Change parsing strategy for IRIS-style pole-zero files to adapt to some unannounced/mistaken change in format. dff/inilhf.f: Change length unit reported for IACC file type from CM to NM. gdm/draw.f: Eliminate debug output from previous release. 12 Jan. 2020 dbh/fft.f: Increase max FFT size. 13 Jan. 2020 pl/pldta.f: Fix clipping of log-scaled data. 14 Jan. 2020 co/zcatch.f: Disable fault trapping (seems to send SAC into infinite loop). 15 Jan. 2020 gd0/raster0.f: Relax restriction to small raster files (<2*32768 bytes). gem/xsaveimg.f: Ditto. co/sgfbufwrite.c: Fix traversal of image scripts with raster images in them. xyz/xspectrogram.f: Retain header info in output spectrogram. aux/help/spectrogram: Document behavior with multiple input files, and reformat references. 16 Jan. 2020 icm/xprewit.f: New code to implement WHITEN command-level command. icm/xicmc.f: Add WHITEN to command dispatcher. spe/xwhiten.f: New code to implement WHITEN in SPE subprocess. spe/xspec.f: Add WHITEN to command dispatcher. spe/makefile: Add new components. aux/help/whiten: Update description. dbh/inspect.f: Extend #poles & zeros to match max. whitening order. 17 Jan. 2020 icm/prewit.f: Fix decls, improve error message. inc/icm: Define MPREWI in ICM to limit prewhiten order in ICM. icm/xprewit.f: Use it. icm/xtransfer.f: Ditto. icm/makefile: Changed/new dependencies. cpf/lcirc.f: Shorten message when integer out of range. inc/dfir: Comment out most (due to conflicts with inc/sam) inc/sam: add nword to retain whitening order value for fdplot(). sam/fdw.f: FILTERDESIGN command component for whitening filter, frequency domain methods. sam/filterdesign.f: Integrate it with existing code, fix error report when syntax error encountered during parse. sam/fdplot.f: Implement placing filter information into file headers like documentation says. Also handle whitening filter output. sam/fdlp.f, sam/fdhp.f, sam/fdbr.f, sam/fdbp.f: Ditto. sam/makefile: add new components. scm/xrotate.f: Fix syntax error report bug when no rotation angle given. dbh/lp.f: Fix char parameter declaration. dbh/spolz.f: Add polynomial root finder code. dbh/makefile: Add compilation commands for same. 19 Jan. 2020 sam/xwsp.f: Bug - used wrong parameter for number of points to write. 22 Jan. 2020 sam/fdwtd.f: FILTERDESIGN command component for whitening filter, implemented using time domain methods. aux/help/filterdesign: Document. 23 Jan. 2020 top/saccommands.f: Fix decl for var module to avoid 64 bit type. 28 Jan. 2020 icm/xprewit.f: Implement PSD option in WHITEN for frequency domain whitening. aux/help/whiten: Document. 28 Jan. 2020 pl/centxt.f, pl/ylinax.f, pl/ylogax.f, gam/dispid.f, gam/xp2.f: Implement XREVERSE command. Strangely, this was always in SAC but not documented -- probably because it was buggy. gam/dispid.f: Ditto. aux/clstd: Add command to parser list. aux/help/commands: Add command into list. aux/help/xreverse: Document. aux/help/contents{,1,2}: Document. 29 Jan. 2020 pl/centxt.f, pl/ylinax.f, pl/ylogax.f, pl/xlogax.f, pl/xlinax.f: Implement YREVERSE command. Strangely, this was also always in SAC but not documented -- probably because it was buggy. gam/xp1.f, gam/disppk.f: Ditto. aux/clstd: Add command to parser list. aux/help/commands: Add command into list. aux/help/yreverse: Document. aux/help/contents{,1,2}: Document. 02 Feb. 2020 co/rseed.c: Recognize B-type data blockettes. 04 Feb. 2020 co/rseed.c: Rework calling sequence to rseed() to eliminate need in SAC to further parse mseed blockettes. Also parse high-resolution time and sample rate blockettes (100, 500, 1001). dfm/readmfl.f: Adapt to new rseed() calling sequence and handle higher-res start times in blockettes. fks/makefile: Add missing dependency on inc/dfir. 05 Feb. 2020 inc/gem: Make sure ixint, iyint are adjacent in GEM common. gem/xgemc.f: Implement PREVIOUS option for XLIN, XLOG, YLIN, YLOG, LINLIN, LINLOG, LOGLIN, LOGLOG commands. cpf/xciprv.f: Implement parsing of optional PREVIOUS command to set fixed values. cpf/makefile: Add new components. aux/help/{xlin,xlog,ylin,ylog,linlin,linlog,loglin,loglog}: Document. 12 Feb. 2020 utils/cmdcheck.sh: New script to check on SAC compile that the command lists are properly sorted. Otherwise, one gets weird command parsing errors due to binary search used to find command in list. aux/copyright: Update year range. 17 Mar. 2020 aux/help/transfer: Fix typo in RSTN subtype choices (NTR -> NT). 20 Mar. 2020 dff/rsacxml.f: Use 64 bit arithmetic for array offset to user data. co/zrdxml.c: Re-work to use NSXML routines in favor of deprecated CFXML. co/makefile: Add explicit objective-C compile option for Mac builds. 22 Mar. 2020 co/{rseed.c, sgfbufwrite.c, zgpmsg.c, zrdxml.c, zopenm.c, zbasename.c, endian.c, zsleep.c, zrunout.c, zrbytabs.c, zopenc.c, zinfo.c, zgetgd.c, zgetcpu.c, zclosec.c}: Fix clang warning niggles. Makefile.in: Remove -w from SACCFLAGS. Makefile: Regenerate. 23 Mar. 2020 utils/{sgftoxfig.c, sgftops.c, sgftopdf.c, sgftoeps.c}: Fix clang warning niggles. 25 Mar. 2020 sam/xunwr.f: Report suggested values for unwrap command parameters on fail. aux/messages: Ditto. sam/unwrap.f: Ditto, and parameterize operation based on LMAX, subdivision of initial FFT size. sam/estpha.f: Ditto and ditto, and recode to prevent zero division, stack overflow, and clean up programming constructs. sam/chkpha.f: Ditto. aux/help/unwrap: Fix typos, expand description, and document new messages. 01 Apr. 2020 inc/dfm: Add DATAGEN gravity directory. dfm/inidfm.f: Ditto. aux/datagen/gravity: New data for gravity wave detection. aux/datagen/gravity/{H1,L1}.20150914.Z.alpha: Recorded data. aux/datagen/gravity/H1.20150914.NR.Z.alpha: Synthetic data. aux/datagen/gravity/tosac: Unpack to native format. aux/datagen/tosac: Include gravity subdirectory. aux/help/datagen: Describe. 02 Apr. 2020 dbh/pds.f: Fix error message return logic. spe/xpds.f: Bug: Allocate properly sized scratch area. aux/macros/demo-gravity: New demo macro aux/macros/demo: Add WHITEN command demo aux/help/whiten: Add reference to demo 03 Apr. 2020 sss/xsss.f: Define record section time window limits by default on entry to SSS, mimicking SAC2000 behavior. sss/ttint.f: Properly label travel time curves that end before crossing the window boundary. pl/plclip.f: Fix clipping of VNULL values. pl/pldta.f: Fix clipping of VNULL values. 04 Apr. 2020 dfm/cleardfl.f: Clean up SSS file-related storage when file memory cleared out. sss/xzerostack.f: Ditto. 07 Apr. 2020 sss/libtau.f: Re-code arrival finding in tau-p tables to make it comprehensible (TRTM, FINDTT). Add routine (TXTB) to return slowness, range and travel time for each named branch from tau-p tables for drawing travel time curves with triplications. sss/iasptimes.f: Use new routine for travel time curves. sss/xplotrecords.f: Ditto, and fix memory indexing bugs in curve plotting. sss/ttint.f: Fix labeling of travel time curves. 08 Apr. 2020 aux/help/contents: Include help info for SAVEIMG. aux/help/contents2: Ditto. aux/help/contents3: Ditto.