Seismic Unix

Last updated

Seismic Unix is an open source seismic utilities package which was supported by the Center for Wave Phenomena (CWP) at the Colorado School of Mines (CSM). Currently it is supported by John Stockwell.

Contents

Seismic Unix
Developer(s) CWP, John Stockwell
Stable release
SU 44R28 / March 23, 2023 (2023-03-23)
Operating system Unix, Linux, Solaris, Mac OS X, Cygwin
Type Technical computing
License New BSD license [1]
Website Seismic Unix Home

History

Einar Kjartansson began writing what is now called SU (the SY package) in the late 1970s while still a graduate student at Jon Claerbout's Stanford Exploration Project (SEP). He continued to expand the package while he was a professor at the University of Utah in the early eighties. In 1984, during an extended visit to SEP Kjartansson introduced SY to Shuki Ronen, then a graduate student at Stanford. Ronen further developed SY from 1984 to 1986. Other students at SEP started to use it and contributed code and ideas. SY was inspired by much other software developed at SEP and benefited from the foundations laid by Claerbout and many of his students; Rob Clayton, Stew Levin, Dave Hale, Jeff Thorson, Chuck Sword, and others who pioneered seismic processing on Unix in the seventies and early eighties.

In 1986, Shuki Ronen brought this work to the CWP at Colorado School of Mines during his one-year postdoctoral appointment there, Ronen aided Cohen in turning SU into a supportable and exportable product.

Chris Liner, while a student at the center, contributed to many of the graphics codes used in the pre-workstation (i.e., graphics terminal) age of SU[ when? ]. Liner continues to promote the use of SU in his students' research at the University of Houston.

Craig Artley, now with the Landmark division of Halliburton, made major contributions to the graphics codes while still a student at CWP and continues to make significant contributions to the general package.[ when? ]

Dave Hale wrote several of the heavy lifting processing codes as well as most of the core scientific and graphics libraries.[ when? ]

John Stockwell's involvement with SU began in 1989. He was largely responsible for the Makefile in the package. He has been the main contact for the project since the first public release of SU in September 1992 (Release 17). After Jack Cohen's death in 1996, Stockwell assumed the role of principal investigator of the SU project and has since remained in that role. The number of lines of code have more than tripled in the 11 years.

There have been many contributors to SU over the past two decades.

Syntax

The Seismic Unix routines run under the Unix terminal, and can get maximum efficiency when using it with Bourne shell (sh) or Bourne-again shell (bash) scripting techniques.

Simple routines

Many of the programs run simply by a command on the terminal, for instance, to visualize a seismogram, as wiggle traces

$ suxwigb<seismogram.su 

or as an image plot

$ suximage<seismogram.su 

More elaborated routines

It is also possible, to use bash features to elaborate more complex processing structures:

$ for((i=1;i<=100;i++));do\> sufdmod2<model.bin>output.movnx=200nz=300tmax=5xs=$izs=0hsfile=seismogram.$i.su\> done

In the example above Seismic Unix will create 100 seismograms in 100 different source positions

SU Data

Here will have an explanation of how SU data is, it's headers and how they are organized in a big SU file with more than one gather:

--header—data—header—data--...

SU Programs

Seismic Unix has many of the processes needed on the geophysical processing. It is possible to use it to manipulate and create your own seismograms, and also to convert them between the SU standard file and the industry standard, the SEG Y.

Here you can find a list of the programs that the SU package has, with a brief description and a link to its help page. [2]

Awards

2002 - Society of Exploration Geophysicists Special Commendation [3]

1994 - University to Industry award from the Colorado chapter of the Technology Transfer Society [4]

Related Research Articles

<span class="mw-page-title-main">Bash (Unix shell)</span> GNU replacement for the Bourne shell

Bash, short for Bourne-Again SHell, is a shell program and command language supported by the Free Software Foundation and first developed for the GNU Project by Brian Fox. Designed as a 100% free software alternative for the Bourne shell, it was initially released in 1989. Its moniker is a play on words, referencing both its predecessor, the Bourne shell, and the concept of rebirth.

<span class="mw-page-title-main">KornShell</span> Bourne shell backward compatible Unix shell created by David Korn

KornShell (ksh) is a Unix shell which was developed by David Korn at Bell Labs in the early 1980s and announced at USENIX on July 14, 1983. The initial development was based on Bourne shell source code. Other early contributors were Bell Labs developers Mike Veach and Pat Sullivan, who wrote the Emacs and vi-style line editing modes' code, respectively. KornShell is backward-compatible with the Bourne shell and includes many features of the C shell, inspired by the requests of Bell Labs users.

<span class="mw-page-title-main">Shell script</span> Script written for the shell, or command line interpreter, of an operating system

A shell script is a computer program designed to be run by a Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be command languages. Typical operations performed by shell scripts include file manipulation, program execution, and printing text. A script which sets up the environment, runs the program, and does any necessary cleanup or logging, is called a wrapper.

<span class="mw-page-title-main">Unix shell</span> Command-line interpreter for Unix operating system

A Unix shell is a command-line interpreter or shell that provides a command line user interface for Unix-like operating systems. The shell is both an interactive command language and a scripting language, and is used by the operating system to control the execution of the system using shell scripts.

man page Unix software documentation

A man page is a form of software documentation found on Unix and Unix-like operating systems. Topics covered include programs, system libraries, system calls, and sometimes local system details. The local host administrators can create and install manual pages associated with the specific host. A manual end user may invoke a documentation page by issuing the man command followed by the specific detail they require. These manual pages are typically requested by end users, programmers and administrators doing real time work but can also be formatted for printing.

<span class="mw-page-title-main">Bourne shell</span> Command-line interpreter for operating systems

The Bourne shell (sh) is a shell command-line interpreter for computer operating systems. It first appeared on Version 7 Unix, as its default shell. Unix-like systems continue to have /bin/sh—which will be the Bourne shell, or a symbolic link or hard link to a compatible shell—even when other shells are used by most users.

<span class="mw-page-title-main">C shell</span> Unix shell

The C shell is a Unix shell created by Bill Joy while he was a graduate student at University of California, Berkeley in the late 1970s. It has been widely distributed, beginning with the 2BSD release of the Berkeley Software Distribution (BSD) which Joy first distributed in 1978. Other early contributors to the ideas or the code were Michael Ubell, Eric Allman, Mike O'Brien and Jim Kulp.

Almquist shell is a lightweight Unix shell originally written by Kenneth Almquist in the late 1980s. Initially a clone of the System V.4 variant of the Bourne shell, it replaced the original Bourne shell in the BSD versions of Unix released in the early 1990s.

<span class="mw-page-title-main">GNU Autotools</span> Software build toolset from GNU

The GNU Autotools, also known as the GNU Build System, is a suite of build automation tools designed to support building source code and packaging the resulting binaries. It supports building a codebase for multiple target systems without customizing or modifying the code. It is available on many Linux distributions and Unix-like environments.

<span class="mw-page-title-main">MinGW</span> Free and open-source software for developing applications in Microsoft Windows

MinGW, formerly mingw32, is a free and open source software development environment to create Microsoft Windows applications.

In computing, echo is a command that outputs the strings that are passed to it as arguments. It is a command available in various operating system shells and typically used in shell scripts and batch files to output status text to the screen or a computer file, or as a source part of a pipeline.

On POSIX-compliant platforms, SIGHUP is a signal sent to a process when its controlling terminal is closed. It was originally designed to notify the process of a serial line drop. SIGHUP is a symbolic constant defined in the header file signal.h.

ProTERM is a terminal emulator and modem program for the Apple II and Macintosh lines of personal computers, published by Intrec Software. Most popular in the late 1980s and 1990s, it was most commonly used for calling bulletin board systems (BBSes) via a computer's modem, experienced users could also Telnet into Unix server and shell account thereon and FTP and tunneling to various destinations therefrom, and once logged into a Unix shell account, other forms of telecom all across the pre-Web Internet; via VT100 terminal emulator or ANSI art, this later ushered in Graphics to the scene.

<span class="mw-page-title-main">AT&T UNIX PC</span> 1980s Unix desktop computer

The AT&T UNIX PC is a Unix desktop computer originally developed by Convergent Technologies, and marketed by AT&T Information Systems in the mid- to late-1980s. The system was codenamed "Safari 4" and is also known as the PC 7300. An updated version with larger hard drive was dubbed the "3B1". Despite the latter name, the system had little in common with AT&T's line of 3B series computers. The system was tailored for use as a productivity tool in office environments and as an electronic communication center.

In Unix and Unix-like operating systems, job control refers to control of jobs by a shell, especially interactively, where a "job" is a shell's representation for a process group. Basic job control features are the suspending, resuming, or terminating of all processes in the job/process group; more advanced features can be performed by sending signals to the job. Job control is of particular interest in Unix due to its multiprocessing, and should be distinguished from job control generally, which is frequently applied to sequential execution.

The script command is a Unix utility that records a terminal session. It dates back to the 1979 3.0 Berkeley Software Distribution (BSD).

In seismology, first-break picking is the detecting or picking the onset arrivals of refracted signals from all the signals received by receiver arrays and produced by a particular source signal generation. It is also called first arrival picking or first break detection. First-break picking can be done automatically, manually or as a combination of both. With the development of computer science and the size of seismic surveys, automatic picking is often preferred.

<span class="mw-page-title-main">Madagascar (software)</span>

Madagascar is a software package for multidimensional data analysis and reproducible computational experiments.

<span class="mw-page-title-main">Command-line interface</span> Computer interface that uses text

A command-line interface (CLI) is a means of interacting with a computer program by inputting lines of text called command lines. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternative to the non-interactive mode available with punched cards.

The POSIX terminal interface is the generalized abstraction, comprising both an application programming interface for programs, and a set of behavioural expectations for users of a terminal, as defined by the POSIX standard and the Single Unix Specification. It is a historical development from the terminal interfaces of BSD version 4 and Seventh Edition Unix.

References

  1. "Legal Statement". Archived from the original (TXT) on 1997-06-17.
  2. SU Help Page
  3. Award 2002
  4. Award 1994

See also