Month: September 2015


September 28, 2015 Systems No comments

Julia is a new open-source programming/scripting language designed for high-performance scientific computing. The goal is to combine the simplicity of Python with the performance approaching that of statically-compiled languages like C.

Julia has a number of other attractive features including:

  • Dynamic type system
  • Powerful shell-like capabilities for managing other processes
  • Designed for parallelism and distributed computation
  • Automatic generation of efficient, specialized code for different argument types
  • Elegant and extensible conversions and promotions for numeric and other types

A simple interface to Julia has been added to Madagascar. It can be easily extended to include other functions from the Madagascar library. An example test script is shown below:

#!/usr/bin/env julia

using m8r

inp = m8r.input("in")
out = m8r.output("out")

n1 = m8r.histint(inp,"n1")
n2 = m8r.leftsize(inp,1)

clip = m8r.getfloat("clip")

trace = Array(Float32,n1)

for i2 in 1:n2
    trace = clamp(trace,-clip,clip)

Compare it with scripts or programs in other languages.

Tutorial on Spitz method for pattern recognition

September 24, 2015 Examples No comments

The example in rsf/tutorials/spitz reproduces the tutorial from Karl Schleicher on the Spitz method for signal and noise separation, presented at the 2014 SciPy conference. The implementation is different, with Claerbout’s T-X helical filters instead of Spitz’s and Schleicher’s F-X filters.

For more explanation, see:

  • Spitz, S., 1999, Pattern recognition, spatial predictability, and subtraction of multiple events: The Leading Edge, 18, 55–58.
  • J. F. Claerbout and S. Fomel, 2000, Spitz makes a better assumption for the signal PEF: Stanford Exploration Project, SEP-103, 211-219.

Madagascar users are encouraged to try improving the results.

SEG Working Workshop 2015 – Land 3D Processing

September 23, 2015 Celebration No comments

A working workshop to create processing results for Land 3D seismic data held on August 19-22, 2015. Working Workshops as opposed to “talking workshops” are meetings where the participants collaborate in small groups to develop new software code or to conduct computational experiments addressing a particular problem.

This workshop invited participants to create processing results on the small, open data, 3D land project (Teapot Dome 3D). Participants were encouraged to use their own proprietary or open software. Our goal was a final presentation describing the programs, parameters, and data (input and output) in sufficient detail so the results can be reproduced after the workshop. Participants were encouraged to download the Teapot Dome 3D data before the workshop.

The photograph at the top of this post shows some of the 25 participants from 16 organizations who participated in the event. They were from diverse backgrounds including students, post docs, academic staff, faculty, early career professionals, and senior professionals.

A GitHub repository was established to share processing scripts. Final presentations were made in a Lightning talk (5 minute presentation) session on the final day. Presentations were saved and are publicly available.

The agenda for the event was: Wednesday – Optional informal Tutorials Install software and Teapot Dome data Thursday – Working started Introductions, team formation, team work Lunch and learn – SeaView Team work, team check in Friday – continue work sessions Team work, check in, workshop dinner Saturday – wrap up and presentations Create presentation, lunch, lightning talks

An overview of some of the presentations follows.

Bjorn Olofsson was invited to on Thursday to make a lunch and learn presentation on SEAVIEW the viewer from the OpenSeaSeis package. Seaview supports multiple seismic formats including SeaSeis, SEGY, SU, and Madagascar. Bjorn described issues related to visualization including how to handle aliasing. See Bjorn’s presentation and the full distribution of his demo.

Huang, Liau, Yu described the workshop effort to edit bad traces on the Teapot Dome survey. They used the Python API in IPython notebooks to access the data. They used the Mayavi Python library for 3D visualization. They observed three types of noise and developed a Python script to build a mask to edit one type of noise traces. The presentation is available.

Merzlikin and Cvetkovic presented results using diffraction imaging and oriented filtering on the teapot dome project. They estimated a 3D dip field and used it for 3D diffraction and structure oriented smoothing. The presentation is available.

Worthy-Blackwell and Staal worked on Velocity interpolation and NMO. They interpolated the commercial velocity field using scipy.interpolate.Rbf and applied it to a small subset of the data using sfbinint3 and sfnmo.

Yangkang Chen applied noise suppression to the post stack volume and evaluated results on output and difference volumes.

Bill Symes applied a basic processing sequence with Seismic Unix. He approximated the processing sequence in Excell’s processing report from the original processing. His sequence was tpow, decon, agc, nmo, and stack. No surface consistant decon or scaling is available in SU, so he used single trace processing. He showed incremental improvement at each stage on midpoint gathers and stacks. He also checked for residual moveout on CMP gathers and made updates to the velocity field. This was the most complete processing sequence produced at the workshop. His presentation is available.

In summary, the workshop was attended by a good mixture of academics and professionals with a broad range of experience. Turnout for the optional tutorial day was much larger then expected, about 20. Most attendees used Madagascar, but the most complete processing sequence was applied using Seismic Unix. Madagascar and Seismic Unix were both developed as a platform for university research and many basic processes are missing. Applying a full processing sequence to 3D land data with these systems is a challenging task. Unfortunately nobody used a commercial processing system to help guide improvements to these academic systems. SeaView shows promise as a viewer to help explore your data. Participants enjoyed the opportunity to learn, contribute and network.

Let’s do it again next year using the Stratton 3D Land seismic survey. Contact me at to help organize the event.

Tutorial on seismic trace attributes

September 22, 2015 Examples No comments

The example in rsf/tutorials/attr reproduces the tutorial from Matt Hall on analyzing trace attributes. For more explanation, see Matt’s blog post An attribute analysis primer.

Madagascar users are encouraged to try improving the results.

Anelliptic approximations in TI and orthorhombic media

September 15, 2015 Documentation No comments

A new paper is added to the collection of reproducible documents: On anelliptic approximations for qP velocities in TI and orthorhombic media

Anelliptic approximations for phase and group velocities of qP waves in transversely isotropic (TI) media have been widely applied in various seismic data processing and imaging tasks. We revisit previously proposed approximations and suggest two improvements. The first improvement involves finding an empirical connection between anelliptic parameters along different fitting axes based on laboratory measurements of anisotropy of rock samples of different types. The relationship between anelliptic parameters observed is strongly linear suggesting a novel set of anisotropic parameters suitable for the study of qP-wave signatures. The second improvement involves suggesting a new functional form for the anelliptic parameter term to achieve better fitting along the horizontal axis. These modifications lead to improved three-parameter and four-parameter approximations for phase and group velocities of qP waves in TI media. In a number of model comparisons, the new three-parameter approximations appear to be more accurate than previous approximations with the same number of parameters. These modifications also serve as a foundation for an extension to orthorhombic media where qP velocities involve nine independent elastic parameters. However, as shown by previous researchers, qP wave propagation in orthorhombic media can be adequately approximated using just six combinations of those nine parameters. We propose novel six-parameter approximations for phase and group velocities for qP waves in orthorhombic media. The proposed orthorhombic phase-velocity approximation provides a more accurate alternative to previously known approximations and can find applications in full-wave modeling, imaging, and inversion. The proposed group-velocity approximation is also highly accurate and can find applications in ray tracing and velocity analysis.

Deblending with multiple constraints

September 15, 2015 Documentation No comments

A new paper is added to the collection of reproducible documents: Iterative deblending with multiple constraints based on shaping regularization

It has been shown previously that blended simultaneous-source data can be successfully separated using an iterative seislet thresholding algorithm. In this paper, I combine the iterative seislet thresholding with the local orthogonalization technique via the shaping regularization framework. During the iterations, the deblended data and its blending noise section are not orthogonal to each other, indicating that the noise section contains significant coherent useful energy. Although the leakage of useful energy can be retrieved by updating the deblended data from the data misfit during many iterations, I propose to accelerate the retrieval of leakage energy using iterative orthogonalization. It is the first time that multiple constraints are applied in an underdetermined deblending problem and the new proposed framework can overcome the drawback of low-dimensionality constraint in the traditional 2D deblending problem. Simulated synthetic and field data examples show superior performance of the proposed approach.

Program of the month: sfsimilarity

September 14, 2015 Programs No comments

sfsimilarity computes the local similarity attribute between two datasets.

The following example from tccs/ortho/orthofair shows two 2-D sections and their local similarity.

The second dataset for computing the local similarity is specified by other=. The program performs iterations of shaping regularization. The main controling parameters are the number of iterations niter= and the smoothing radii in different dimensions rect1=, rect2=, etc. The iterations can be additionally accelerated using the eps= parameters. To suppress the output of iteration statistics on the screen, use verb=n.

10 previous programs of the month: