SEISMIC UNIFIED DATA SYSTEM, SUDS, Version 2.6 CONTRIBUTOR Name: Peter Ward and others INSTITUTION: U S Geological Survey and University of Alaska EMAIL ADDRESS: ward@andreas.wr.usgs.gov US MAIL ADDRESS: U.S. Geological Survey, Mail Stop 977, 345 Middlefield Road, Menlo Park, Ca 94025. TELEPHONE NUMBER: 415/329-4736 FAX NUMBER: 415/329-5163 PROGRAM NAME: Seismic Unified Data System (SUDS) VERSION NUMBER: 2.6 DISTRIBUTION DATE: 5/11/94 DESCRIPTION: ( 1 line): Programs, subroutines, manuals, examples *********** Special Note *************** The IRIS DMC routinely coordinates testing of software contributed to the Software Exchange Library, but in the case of SUDS, the DMC is acting as a distribution point, and is not involved in platform testing at this time. (Mostly due to the complexity and variations involved, it wouldn't be possible.) ************************************************************************ DETAILS: SUDS is a new method for organizing data that promotes efficient storage, exchange, and use of both data and computer programs by seismologists with widely varying needs and interests. SUDS is compact, modular, and self-documenting. SUDS is machine independent, working well in both files and relational database systems mounted on different types of storage devices and on different types of computers that stand alone or are interconnected by networks. SUDS is scalable to meet efficiently the needs of individuals with one seismograph, the needs of operators of major seismograph networks, the needs of seismologists merging data from all over the world, and even the widely varying needs of researchers. SUDS is described in a manual that is compiled to run table-driven, general-purpose software for such tasks as editing, plotting, and filtering, as well as phase picking and earthquake locating. While developed for seismology, SUDS applies to all types of data. SUDS, Version 1, was developed on SUN3 workstations, was adopted as the format for the IASPEI Seismological Library for personal computers, and is in widespread use. Version 1.41 is currently maintained and supported by Robert Banfill, Small Systems Support, 2 Boston Harbor Place, Big Water, Utah 84741-0205, 801-675-5827 or Fax 801-675-3780. SUDS, Version 2, is a major rewrite to make SUDS machine independent and relational. Version 2 integrates a relational database (RDM formerly known as db_vista). ASSOCIATED PROGRAMS: XPICK, a program for picking phases from seismograms that runs SUDS data, is available from Mitch Robinson at the Geophysical Institute of the University of Alaska (mitch@fm.gi.alaska.edu). XPICK runs under X-windows on SUN4 systems. Hypoellipse, a location routine for regional earthquakes written by John Lahr, U.S.G.S. Fairbanks, Alaska, has been adapted to run with SUDS data and is also available from Mitch Robinson. Filters for data into SUDS are under development at several centers. The ah2suds and segy2suds filters are included in this distribution. Filters from Geotech PDAS instruments, REFTEK instruments, Lennartz Mars88 instruments, and Nanometrics instruments are nearly complete. For information contact ward@andreas.wr.usgs.gov DISCLAIMER Several commercial software packages are being used in conjunction with SUDS. The following descriptions are for informational purposes only, and should not be construed as endorsement of these packages by the developers of SUDS, their institutions, or the US Government. GRAPHICAL USER INTERFACE: Development of high level SUDS tools is proceeding using the ZINC Application Framework (ZAF). ZAF is a machine and operating system independent set of C++ subroutines for creating window-type applications. ZAF calls the windows routines for a given machine, thus giving similar results on different machines, but results that have the look and feel of each machine. ZAF presently supports DOS, MS-Windows, Windows-NT, OS-2, and X-windows (OSF/Motif). Support for Macintosh is in beta test. ZINC-based applications will be usable by all without special licensing. We intend to provide executables for OSF/Motif, MS-Windows, and Macintosh. Those wishing to use other platforms or wishing to develop ZINC-based applications need a license from ZINC Software Incorporated, 405 South 100 East, 2nd Floor, Pleasant Grove, Utah 84062, 801-785-8900, fax 801-785-8996, bulletin board 801-785-8997. RELATIONAL DATABASE MANAGEMENT SYSTEM SUDS-2 is designed to operate with any relational database management system. Two are presently being used: RDM, Raima Data Manager, formerly DB_Vista, is being used at the USGS. Object code included in SUDS applications can be distributed without special licensing. Sample programs for SUN3 and SUN4 are included in this distribution. RDM is supported on 80x86 machines and is available for Macintosh. Sybase is being used at the Geophysical Institute of the University of Alaska. Programs that create the SQL to generate a SUDS-Sybase database are included in this distribution. Use of Sybase requires a license from COMPUTER AND OS: Source is included and is designed to be machine independent without modification. A single file (suds/libsuds/dep_*.c) contains the machine and operating system dependencies. This source compiles and runs under SUN3 and SUN4 (SUN OS 4.1.x and Solaris 2.x), 80x86 (DOS 6), and Macintosh (Version 7). We will work with others to port to other hardware and operating systems. SPECIAL HARDWARE OR OTHER SOFTWARE NEEDED: SOURCES are included for SUDS, but not for the RDM (Raima Data Manager) Database libraries. If the enclosed binary libaries will not work on your machine, contact Peter Ward. SUDS uses LEX and YACC to compile the manual, however, compilation does not need to be done on every machine because the output is stored in ASCII include files or files of SUDS structures. stedit uses the curses library for terminal independence. A future version will use the Zinc Application Framework for portability. DISTRIBUTION CONTAINS: STATICALLY LINKED EXECUTABLES OR C-SHELL SCRIPTS: ah2st, asc2st, create_labels, db_query, dbload, dbsearch, lm_ip, make_rdm, newlock, show_links, st2asc, stdescribe, stedit, sthead, stload, stpart UNIX Style Manual Pages Detailed Reference Manual: yes Tutorial Text: yes Tutorial Code or script: yes Source Code: yes Makefiles: yes Special or extra libraries: yes ************************************************************************* SUDS is under development. This code is being made available to people who are interested in learning about suds and in providing input in the design and implementation of suds. Development of a widely useful data standard is a job that needs a great deal of thought by people with widely differing perspectives. No matter how hard we have tried, we need your input and help at this stage. Does the philosophy of suds make sense to you? Would it meet your needs? Is the implementation appropriate? What improvements are necessary? Should members be added or deleted from existing structures? What new structures are needed? One of the best ways to answer these questions is to try writing or adapting an application to suds or writing filters to convert other formats to suds. NOW IS THE TIME THAT YOU CAN HAVE MAJOR INPUT. We need your thought and your help. Simply keep in touch with ward@andreas.wr.usgs.gov explaining what you think, what you are doing, etc. and I will keep you abreast of updates to the software. Please read and write suds only from the IO library libsuds. This keeps the standard homogeneous since the library does a number of things such as pad the data to 8 byte boundaries that you might not consider important but which are very important for portability and modularity. ************************************************************************* INSTALLATION ON WORKSTATIONS UNDER UNIX See README.dos and README.mac for installation in those environments. suds_2.6_tar.Z is a complete copy of SUDS sources, manuals, and object code for SUN3 and SUN4. It requires 13 megabytes but can be reduced by 30% if you delete the object code not needed for your machine. 1. Create a directory for suds on your machine such as: mkdir /usr/src/suds 2. After copying suds_2.6_tar.Z to this directory, use the UNIX command: uncompress -c suds_2.6_tar.Z | tar xf - 3. Create symbolic links: ln -s /usr/src/suds /suds ln -s /usr/src/suds/include /usr/include/suds 4. Run the Install script to generate a file suds.env in your home directory. This file contains setenv lines and a set path line that should be added to your .cshrc file before compiling or using SUDS. 5. Reinitialize your C-shell: source .cshrc SUDS uses the following environment variables when running: HOME Your home directory, set by shell LOGNAME Your login name, set by shell SUDS_INCLUDE Directory for SUDS include files if not /usr/include/suds On UNIX systems these do not need to be set, but on other computers they may need to. SUDS should now be usable. See Tutorial. RECOMPILING SUDS If you want to recompile cd /suds make Source is included except for db_query, libquery.a, and libvistamu.a which are for the database. INSTALLING THE DATABASE (Not included in version 2.6) A sample database is contained in the file suds_gsmen_db.Z This is a database containing all SUDS structures but is populated presently only with recorder, station and service structures for the USGS Northern California Network. It currently requires 7 megabytes. 1. After copying this file to /suds use the UNIX command: uncompress -c suds_gsmen_db.Z | tar xf - 2. Add to your .login file setenv DBUSERID your_name setenv DBDPATH /suds/gsmen setenv DBFPATH /suds/gsmen setenv DBLOG /suds/gsmen/ setenv DBTAF /suds/gsmen/ setenv LOCKMGR suds_lockmgr setenv QBDPATH /suds/gsmen 3. Check the file /suds/include/suds.def The database uses this to get the path. The environment variables above are for db_query, the standard database query routine. .suds_defaults allows you to specify where the datafiles are put by structure. So for example the waveforms can be put on a read-only mass-store. Modify this file if your do not use the standard paths. 4. Copy cp /devel/rdm_home/bin/$ARCH/lm_ip /etc 5. Add to /usr/etc/rc.local # # lock manager for rdm (Raima Data Manager and SUDS) # -u maximum users, -f maximum files, -q maximum requests in queue # if [ -f /usr/etc/lm_ip ]; then echo 'starting Raima Data Manager lock manager' /usr/etc/lm_ip -a suds_lockmgr -u 16 -f 128 -q 128 fi # OR just for testing type: newlock HAVE A NICE DAY!!