Month: May 2015

1M

May 27, 2015 Celebration No comments

Madagascar passes a symbolic mark of one million lines of code. Black Duck Open Hub reports that

In a Nutshell, Madagascar… has had 12,444 commits made by 85 contributors representing 1,098,223 lines of code

Amplitude balancing

May 9, 2015 Documentation No comments

Another old paper is added to the collection of reproducible documents:
Iterative least-square inversion for amplitude balancing

Variations in source strength and receiver amplitude can introduce a bias in the final AVO analysis of prestack seismic reflection data. In this paper we tackle the problem of the amplitude balancing of the seismic traces from a marine survey. We start with a 2-D energy map from which the global trend has been removed. In order to balance this amplitude map, we first invert for the correction coefficients using an iterative least-square algorithm. The coefficients are calculated for each shot position along the survey line, each receiver position in the recording cable, and each offset. Using these coefficients, we then correct the original amplitude map for amplitude variations in the shot, receiver, and offset directions.

Two-dimensional Hilbert transform

May 7, 2015 Documentation No comments

A new paper is added to the collection of reproducible documents:
Seismic dip estimation based on the two-dimensional Hilbert transform and its application in random noise attenuation

In seismic data processing, random noise seriously affects the seismic data quality and subsequently the interpretation. This study aims to increase the signal-to-noise ratio by suppressing random noise and improve the accuracy of seismic data interpretation without losing useful information. Hence, we propose a structure-oriented polynomial fitting filter. At the core of structure-oriented filtering is the characterization of the structural trend and the realization of nonstationary filtering. First, we analyze the relation of the frequency response between two-dimensional (2D) derivatives and the 2D Hilbert transform (Riesz transform). Then, we derive the noniterative seismic local dip operator using the 2D Hilbert transform to obtain the structural trend. Second, we select polynomial fitting as the nonstationary filtering method and expand the application range of the nonstationary polynomial fitting. Finally, we apply variableamplitude polynomial fitting along the direction of the dip to improve the adaptive structureoriented filtering. Model and field seismic data show that the proposed method suppresses the seismic noise while protecting structural information.

Structure-constrained acoustic impedance

May 6, 2015 Documentation No comments

A new paper is added to the collection of reproducible documents:
Structure-constrained relative acoustic impedance using stratigraphic coordinates

Acoustic impedance inversion involves conversion of seismic traces to a reflection coefficient time series, and then into acoustic impedance. The usual assumption for the transformation of post-stack seismic data into impedance , is that seismic traces can be modeled using the simple convolutional model. According to the convolutional model, a seismic trace is a normal-incidence record, which is an assumption that is strictly true only if the earth structure is composed of horizontal layers. In the presence of dipping layers, such an assumption is violated, which introduces bias in the result of impedance inversion. I propose to implement impedance inversion in the stratigraphic coordinate system, where the vertical direction is normal to reflectors and seismic traces represent normal-incidence seismograms. Tests on field data produce more accurate and detailed impedance results from inversion in the stratigraphic coordinate system, compared to impedance results using the conventional Cartesian coordinate system.

Summer events

May 5, 2015 Celebration No comments

Two exciting events are being planned for this summer. The Madagascar School for Advanced Users is being planned for August 8-9, 2015. The school will take place in Qingdao, China, and will be hosted by the China University of Petroleum. Unlike previous Madagascar schools, the intended audience are not beginners but current users of Madagascar who want to learn more about advanced topics (parallel computing; graphical user interfaces; interfaces to C++, Python, and Matlab, etc.) More information is available at http://www.ahay.org/wiki/Qingdao2015. The Working Workshop on 3D Seismic Data Processing is being planned for August 19-22, 2015. The workshop will take place in Houston and will be hosted by Rice University. Unlike previous working workshops, the participations is not limited to Madagascar users. Users of other software packages with interest in seismic field data processing are encouraged to participate. The workshop is being organized by Karl Schleicher, with support of SEG. More information is available at http://www.ahay.org/wiki/SEG3DSeismicProcessingWorkingWorkshopHouston2015-Land3D

Program of the month: sfbox

May 1, 2015 Celebration No comments

sfbox draws a boxed baloon-style label, which is useful for annotating graphics.

The following example from sep/avo/imp annotates several reflectors on a seismic section:

sfbox has a large number of parameters to control the box appearance. The most important are: label= for the text on the label, x0= and y0 for the position of the pointer tip (in Vplot coordinates), xt= and yt= for the relative shift of the label with respect to the pointer tip.

The following example from tccs/timelapse/duri uses xt=0 and yt=0 to hide the pointer under the label.

Selecting proper parameters for the location of the label can be tricky. The task is made interactive by the vpannotate script. vpannotate takes a Vplot file as an input and adds an annotation to it. It can do it in the batch mode (when used with batch=y) or in an interactive mode (when used with batch=n). In the later case, the selected parameters are saved in a text file, which can be used as a parameter file for sfbox (or, alternatively, for vpannotate batch=y).

10 previous programs of the month