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 is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. The shell's name is an acronym for Bourne-Again SHell, a pun on the name of the Bourne shell that it replaces and the notion of being "born again". First released in 1989, it has been used as the default login shell for most Linux distributions and it was one of the first programs Linus Torvalds ported to Linux, alongside GCC. It is available on nearly all modern operating systems.

<span class="mw-page-title-main">Cygwin</span> Unix-like environment for Windows

Cygwin is a Unix-like environment and command-line interface for Microsoft Windows.

<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 scripting 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 usually found on a Unix or Unix-like operating system. Topics covered include computer programs, formal standards and conventions, and even abstract concepts. A user may invoke a man page by issuing the man command.

<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.

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> Suite of programming tools

The GNU Autotools, also known as the GNU Build System, is a suite of programming tools designed to assist in making source code packages portable to many Unix-like systems.

Unix security refers to the means of securing a Unix or Unix-like operating system. A secure environment is achieved not only by the design concepts of these operating systems, but also through vigilant user and administrative practices.

<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.

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.

The PWB shell was a Unix shell.

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.

HeaderDoc is a documentation generator developed and maintained by Apple Inc. Using specially commented source code files as input, HeaderDoc generates documentation for the code in HTML or XML format. Syntax for HeaderDoc comment tags is largely similar to, and as of HeaderDoc version 8, supportive of Javadoc tags. HeaderDoc 8.7 and later also provides partial support for many Doxygen tags. Apple's HeaderDoc project is free, open source software distributed under the Apple Public Source License.

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).

<span class="mw-page-title-main">Unix-like</span> Operating system that behaves similarly to Unix, e.g. Linux

A Unix-like operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-like application is one that behaves like the corresponding Unix command or shell. Although there are general philosophies for Unix design, there is no technical standard defining the term, and opinions can differ about the degree to which a particular operating system or application is Unix-like.

<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 interface 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

See also