Seismic data processing guides & tutorials

A collection of freely available tutorials, guides, lecture notes and primers on geophysical/seismic/seismology with signal/data processing

There is a wikipedia page for free geophysics/seismic softwares, including Madagascar, FreeUSP, CWP/SU or Seismic unix

Reflection seismology (or seismic reflection), Wikipedia
Reflection seismology (or seismic reflection) is a method of exploration geophysics that uses the principles of seismology to estimate the properties of the Earth's subsurface from reflected seismic waves. The method requires a controlled seismic source of energy, such as dynamite/Tovex, a specialized air gun or a seismic vibrator, commonly known by the trademark name Vibroseis. Reflection seismology is similar to sonar and echolocation. This article is about surface seismic surveys.

The Nature Of Digital Seismic Processing, by Roy O. Lindseth (1967)
Today, most geophysical interpretive and management personnel have had experience with digital processing of seismic data. Results of the processing may be often impressive, but at other times may leave much to be desired. The reasons for this are not always apparent. They must be derived from a knowledge of the processing techniques and theory, which in turn, often involve unfamiliar concepts. The problem is further complicated by rather complex mathematics used to derive the methods and the proofs of the operations. Under these conditions, management and operating personnel must appraise and evaluate the use of the new techniques. As a result, there is a tremendous surge in the need to learn more about the techniques for the more efficient utilization of the seismic method. The research geophysicist, the mathematician, and the computer programmer must be familiar with the theory and the proofs, in order to develop the applications and to determine their validity. However, the person who is concerned only in evaluating a given process and determining why certain results are obtained, may sidestep rigorous mathematical procedures in favour of a more pragmatic approach to the problem. In the following pages, we shall endeavour to develop an explanation of the seismic process in a straightforward manner, using simple concepts and demonstrations. Rigorous proofs will be avoided. The full treatment and proofs may be obtained where desired from the references. Digital processing of seismic information is based on the methods and procedures of signal theory. The development follows a regular procedure. First, certain assumptions are ‘made and the necessary terms and symbols are defined. Then, a set of theorems is postulated and the corresponding proofs are developed. Practical applications then follow. Thus it is with seismic processing.

FGDP: Fundamentals of geophysical data processing, by Jon Claerbout
TOC, Preface, Introduction, Chapter 1: Transforms; Chapter 2: One-sided Functions; Chapter 3: Spectral Factorization; Chapter 4: Resolution; Chapter 5: Matrices and Multichannel Time Series; Chapter 6: Data Modeling by Least Squares; Chapter 7: Waveform Applications of Least Squares; Chapter 8: Layers Revealed by Scattered Wave Filtering; Chapter 9: Mathematical Physics in Stratified Media; Chapter 10: Initial-value Problems in Two and Three Dimensions; Chapter 11: Seismic Data Processing with the Wave Equation; Index; References

Open Data/Open Source: Seismic Unix scripts to process a 2D land line, by Karl Schleicher (2012)
This paper describes how to process an internet downloadable 2D land line data set though a very basic processing sequence using Seismic Unix. The data from the Alaska North Slope has good signal, although it may be suitable for testing ground-roll and noise burst attenuation programs. The detailed steps to download the dataset from the Internet and process it are described. You should be able to follow these steps and recreate my results. I hope this will accelerate the testing and validation of programs developed in different research groups

A series of  Lecture Notes proposed by Guy G.Drijkoningen
Lecture Notes: Seismic Data Acquisition - TA3600
Seismic data acquisition is the gathering / recording of seismic data in the field (be it on land or at sea) with the ultimate goal to make a seismic image of the subsurface. Various supporting field activities are required for good seismic data acquisition. For example, seismic exploration for oil and gas is a complex interaction of activities requiring good management. Important aspects are:
- General administration/exploration concession and permit work ("land and legal"); topographic surveying and mapping, which is quite different for land- or marine work.
- More specific seismic aspects: placing and checking the seismic source, which on land is either an explosive (for example dynamite) or Vibroseis and at sea mostly an array of air-guns; positioning and checking the detectors, geophones on land, hydrophones at sea; operating the seismic recording system.
The organisation of a seismic land crew, often faced with difficult logistics, terrain- and access road conditions is quite different from that of marine seismic crew on board of an exploration vessel, where a compact streamlined combination of seismic and topo operations is concentrated on the decks of one boat; different circumstances require different strategies and different technological solutions.

Lecture Notes: Introduction to Reflection Seismology - TA3630, by Guy G.Drijkoningen

Lecture Notes: Seismic Data Processing - TG001 / TA3600, by Guy G.Drijkoningen and D. J. Verschuur (2003)
The object of exploration seismics is obtaining structural subsurface information from seismic data, i.e., data obtained by recording elastic wave motion of the ground. The main reason for doing this is the exploration for oil or gas fields (hydro-carbonates). In exploration seismics this wave motion is excitated by an active source, the seismic source, e.g. for land seismics (onshore) dynamite. From the source elastic energy is radiated into the earth, and the earth reacts to this signal. The energy that is returned to the earth's surface, is then studied in order to infer the structure of the subsurface. Conventionally, three stages are discerned in obtaining the information of the subsurface, namely data
acquisition, processing and interpretation.
In seismic data acquisition, we concern ourselves only with the data gathering in the field, and making sure the data is of sufficient quality. In seismic acquisition, an elastic wavefield is emitted by a seismic source at a certain location at the surface. The reflected wavefield is measured by receivers that are located along lines (2D seismics) or on a grid (3D seismics). After each such a shot record experiment, the source is moved to another location and the measurement is repeated. Figure 1.1 gives an illustration of seismic acquisition in a land (onshore) survey. At sea (in a marine or offshore survey) the source and receivers are towed behind a vessel. In order to gather the data, many choices have to be made which are related to the physics of the problem, the local situation and, of course, to economical considerations. For instance, a choice must made about the seismic source being used: on land, one usually has the choice between dynamite and vibroseis; at sea, air guns are deployed. Also on the sensor side, choices have to be made, mainly with respect to their frequency characteristics. With respect to the recording equipment, one usually does not have a choice for each survey but one must be able to exploit its capabilities as much as possible.
Course material TG038 "Seismic data and their physical information contents", by Guy G.Drijkoningen
Introduction, Linear Inversion, Migration (Non Linear Inversion), Elastic wave equation, Amplitude versus Offset (AVO), Waveform inversion, Time Lapse
List of free geophysics software, Wikipedia
1 Reflection seismic processing packages
2 Reflection seismic processing utilities
3 Non-reflection-seismic processing utilities
4 Visualization, interpretation & analysis packages
5 Not true free and open source projects
6 Probably defunct projects
7 References
Stanford Mathematical Geophysics Summer School Lectures, Basics of Exploration Seismology and Tomography, by Gerard T. Schuster
"Do not use more mathematics than the data deserve" paraphrase from Sven Treitel This series of lectures notes is aimed at quickly introducing mathematicians to some aspects of exploration seismology. I tried to avoid algebraic complexity and presented only the key ideas. The HTML lectures and MPG movies associated with the lectures are online at A Netscape 4.0 or higher browser is recommended. The first lecture, Basics of Seismic Experiments and Data Processing, provides a quick look at seismic experiments, data processing, and the final product, the seismic section. The central idea behind each processing step is explained with a minimal use of algebra. I have used many data processing examples to explain the processing steps, and MATLAB scripts are used to clarify any ambiguities in the procedures. The one processing step not described is Dip Moveout Processing, which is not necessary when prestack migration is used. It is my hope that the first lecture can provide sufficient background information so that the mathematician can appreciate the exploration context for the more sophisticated ideas presented by other lecturers. After the first formal lecture, we will conduct a seismic experiment outside the classroom and analyze the data. The second lecture on Basics of Traveltime Tomography describes the theory behind inversion of traveltime data and presents some interesting examples. As before, the central ideas are presented but the mathematical details are kept to a minimum. Examples are given for both exploration and earthquake seismology. The third lecture presents the Basics of Waveform Tomography. I present the theory, followed by a discussion on the benefits and pitfalls of waveform tomography. By no means is this a comprehensive treatment, but it can serve as the starting point for further exploration.

Laboratory Manual for Seismic Data Processing Courses at KFUPM using the Seismic UN*X Software under the Linux Operating System, by Abdullatif Al-Shuhail
Seismic data processing is introduced at KFUPM through mainly two courses: GEOP320 (Seismic Data Processing) and GEOP510 (Seismic Data Analysis). GEOP320
is a core course to Geophysics undergraduate students while GEOP510 is an elective course to Geophysics graduate students. Both courses have mandatory laboratory sessions that require the use of the Seismic UNIX (SU) processing software under the Linux operating system (OS) environment. SU is a software freely distributed by the Center for Wave Phenomena at Colorado School of Mines. [...] The manual consists of a CDROM that includes the manual (this document), copies of the latest release of SU and related softwares as well as tutorials on conventional seismic data processing flow of a real 2-D seismic dataset. 
ProMAX 2D: Seismic Processing and Analysis, by Landmark Graphics Corporation (through SribD only)
This manual is intended to accompany the instruction given during the standard ProMAX 2D course. Because of the power and flexibility of ProMAX, it is unreasonable to attempt to cover all possible features and applications in this manual. Instead, we try to provide key examples and descriptions, using exercises which are directed toward common uses of the system. For more progressive training please take Advanced 2D. The manual is designed to be flexible for both you and the trainer. Trainers can choose which topics, and in what order to present material to best meet your needs. You will find it easy to use the manual as a
reference document for identifying a topic of interest and moving directly into the associated exercise or reference. You are encouraged to copy the exercise workflows and optimize them to your personal situation.

Seismic Processing Steps

Theory of Seismic Imaging, by John Scales
Notes for a graduate course in seismic imaging taught at the Colorado School of Mines. Numerous exercises based on the Center for Wave Phenomena's Seismic Unix free seismic processing package. Last revision January 1997.

Seismic Data Processing, GEOP 320, by Dr. Abdullatif Al-Shuhail, Associate Professor of Geophysics Earth Sciences Department, King Fahd University of Petroleum & Minerals
Seismic Unix: GPGN 461/561 Lab, Fall 2012, by John Stockwell, Center for Wave Phenomena
In the lecture portion of the course GPGN452/561 (now GPGN461/5 61) (Advanced Seismic Methods/Seismic Processing) the student is given a word, picture, and chalkboard introduction of the process of seismic data acquisition and the application of a myriad of processing steps for converting raw seismic data into a scientifically useful picture of the earth’s subsurface. This lab is designed to provide students with a practical hands-on experience in the reality of applying seismic processing techniques to synthetic and real data. The course, however, is not a “training course in seismic processing,” as one might get in an industrial setting. Rather than training a student to use a particular collection of software tools, we believe that it is better that the student cultivate a broader understanding of the subject of seismic processing. We seek also to help students develop so me practical skills that will serve them in a general way, even if they do not go into the field of oil and gas exploration and development. Consequently, we make use of freely available open-source software (the Seismic Unix package) running on small-scale hardware (Linux-based PCs). Students are also encouraged to install the SU software on their own personal (Linux or Mac) PCs, so that they may work (and play) with the data and with the codes at their leisure. Given the limited scale of our available hardware and time, ou r goal is modest, to introduce students to seismic data processing through a 2D single-component processing application. The intended range of experience is approximately that which a seismic processor of the late 1970s would have experienced on a vastly slower, more expensive, and more difficult to use processing platform
Tutorial on Seismic Reflection CDP Data Processing in the RadExPro Plus software, by DECO Geophysical (Edition of 21.11.2007)
This tutorial is intended for the users, who begin to process seismic reflection CDP data in the RadExPro Plus program. All standard stages of basic CDP processing are discussed, from the introduction of geometry to stacking, that is the so-called minimal processing sequence. It is assumed that the user is already familiar with the theory of the CDP reflection method and with the fundamental technology of processing such data.

The processing is conducted on an example of the real data, which can be downloaded from our Web-site:
The archive contains initial data for the work: a fragment of an on-shore seismic profile, recorded in SEG-Y format (file line_1.sgy), with the trace headers containing source point and receiver point numbers, and two ASCII files, rec_geom.txt and sou_geom.txt, containing coordinates of the receivers and sources, respectively. Furthermore, you can load the final project, which is a result of executing all steps, described in the tutorial:
Note that the facilities of the software, of course, are not limited to the minimal processing sequence described here. We consciously did not consider more complicated tasks such as, for example, horizontal velocity analysis, migration, calculation and analysis of seismic attributes, etc. You can find the information about these and other procedures of data processing and analysis in the "User Manual" to the program.
La géophysique pour les géologues
tome 1 : les méthodes électriques
tome 2 : les méthode de prospection magnétiques
tome 3 : les méthodes gravimétriques
tome 4 : les méthodes sismiques
tome 5 : les méthodes électromagnétiques
Cet ouvrage traitant la géophysique pour les géologues, a pour ambition tout d'abord, l' actualisation du support pédagogique en géophysique appliquée, par l’intégration de nouvelles techniques de prospection surtout en sub-surface (la multi-électrode ; le-géo radar etc.. ) et enfin la vulgarisation de ces méthodes d'investigation au sein de la communauté universitaire; Enseignants, Ingénieurs et chercheurs spécialisés dans les sciences de la terre. Les géologues trouveront dans cet ouvrage les bases théoriques et pratiques de la géophysique: géophysique de surface ou superficielle, la géophysique semi-profonde et enfin la géophysique profonde. Il intéressera également le grand public, curieux de savoir ce que cache le sous-sol et comment l'explorer; dans le domaine de la recherche pétrolière et minière, en hydrogéologie et thermalisme, dans les travaux publiques (bâtiments, Ponts-et-Chaussées) ; en archéologie et recherches océaniques, en volcanologie et en séismologie. Les thèmes développés dans ce livre sont: Les interactions entre les phénomènes physiques et les propriétés physiques de la matière (la Roche, la Terre ou l’Univers). 
Basics of Exploration Seismic Experiments and Data Processing
The goal of exploration seismology is to find oil and gas reservoirs by seismically imaging the earth's reflectivity distribution. Towards this goal, exploration geophysicists perform seismic experiments ideally equivalent to that shown in Figure 1. Here, the source excites seismic waves, and the resulting primary reflections are recorded by a geophone located at the source position. If we assume only primary reflections then this defines the ideal zero-offset (ZO) experiment. For now we assume a magic filter (to be described later as data processing) that eliminates all events but primary reflections.
A seismic source is usually some mechanical device or explosive that thumps the earth, and a geophone records the time history of the earth's vertical particle velocity, denoted as a seismic trace d(x,z=0,t). Larger amplitudes on the Figure 1 traces correspond to faster ground motion and the up-going (down-going) motion is denoted here by the blackened (unblackened) lobes. The strength of these amplitudes is roughly proportional to the reflectivity strength m(x,z) of the corresponding reflector.
2D Processing Tutorial (Free USP)
This tutorial is being developed on the fly with interested FreeUSP users. If there is something you would like covered in this section please post to and we will see if we can include it. This is a work in progress and will progress as user demand and my ability to apportion time to the exersize dictates. Also, when I get a few hours to pound out a new section I am moving pretty fast. If you see me come off the rails, please chime in. The faster we correct any mistakes, the better for everyone involved
Seismic Overview: An Explanation of Seismic Data
The words seismic and geophysics are often associated with earthquakes. But seismic data are also a valuable technology used extensively by the oil and gas industry in its exploration, development and reservoir management operations.
This interactive Seismic Overview is a picture-based explanation of seismic data — how the data are gathered and how the data are used.
There are 40 slides that run in their own custom-sized window, and each one should take only about 30 seconds to read and digest.
A Comparative Study of Open Seismic Data Processing Packages
Izzatdin A. Aziz, Andrzej M. Goscinski and Michael Hobbs
Deakin University, School of information technology, TR C11/2, May 2011
New seismic computational functions are being actively developed by geophysicists and computer experts for open seismic data processing packages, or in short open SDP packages. However, vast contributions of seismic computational functions have caused redundancies among open SDP packages in solving common seismic problems. Redundancies of seismic functions have led to the uncertainty on which function to apply when dealing with a specific problem. Therefore there is a need for a classification of seismic computational functions for open SDP packages to guide the development of new seismic functions. In response, presented in this paper, we have introduced a taxonomy that classifies seismic computational functions into three distinct groups; Data Manipulation, Reflection Seismology and Visualization. Each group consists of computational functions selected based on the characteristic of seismic problem it is meant to solve. The taxonomy comprised of seismic computational functions from three open SDP packages: Seismic UNIX or SU, Madagascar and OpenDtect. To date, we have not seen any apparent comparative study between the functionalities of the three open SDP packages. So, we have performed a functionality tests to compare each open SDP package’s functional executions on a series of seismic data processes, using a historical SEGY dataset of 122 Gigabytes in size. The execution was conducted on a high performance cluster. The analysis of the tests was presented from the view point of a system analysis, hence, structural geology such as identifying the Earth subsurface’s faults and hydrocarbon reservoirs are not presented. The result of the tests is significant: we discovered that it is possible to perform data format conversions between each open SDP package. The original SEGY data size has been reduced when converted to the SU format. This is due to the elimination of the header file that is not required in SU. The original file has also been reduced to 115 GB ytes when converted to Madagascar‘s format. This is because Madagascar's format uses a contemporary memory arrangement approach. CPU Execution times for each open SDP package to complete the functionality test shows that Madagascar performs faster by approximately 32 hours when compared to the other packages
Seismic Reflections
A technical blog about seismic data processing (powered by GLOBE Claritas)