Month: July 2013

First Working Workshop

July 28, 2013 Celebration 2 comments

An unusual experiment in collaborative reproducible research took place in Austin, Texas, on July 25-27: 25 participants from 9 different organizations gathered at the Bureau of Economic Geology, The University of Texas at Austin for the First Madagascar Working Workshop. The participants divided into 10 teams of 2-3 people by pairing experienced Madagascar developers with novice users. Each team worked on a small project, updating either reproducible papers or entries in the migration gallery. At the conclusion of the meeting, the participants discussed their experience and plans for future workshops.

Butterfly algorithm for generalized Radon

July 26, 2013 Documentation No comments

A new paper is added to the collection of reproducible documents:
A fast butterfly algorithm for generalized Radon transforms

madagascar-1.5 released

July 24, 2013 Celebration No comments

The 1.5 stable release features nine new reproducible papers and multiple other enhancements including the addition of the RVL (Rice Vector Library) and IWAVE++ full waveform inversion packages from Bill Symes and The Rice Inversion Project.

According to the SourceForge statistics, the previous 1.4 stable distribution has been downloaded more than 3,000 times. The total number of Madagascar downloads is approaching 25,000. According to,, the year before 1.5 release was the period of a record development activity, with 32 contributors (up 33% compared to the previous year) making 1,570 commits to the repository (up 35%). says that Madagascar “has a well established, mature codebase maintained by a very large development team with increasing year-over-year commits” and estimated 167 man-years of effort.

Program of the month: sftime2depth

July 1, 2013 Programs No comments

sftime2depth converts the input from vertical time to depth coordinates.

The following example from rsf/su/rsflab9 shows a seismic image converted from time to depth by this transformation:

The example is borrowed from John Stockwell’s lecture notes on Geophysical Image Processing and translated from Seismic Unix to Madagascar. The transformation follows the simple equation
$$t = 2\,\int\limits_{0}^{z} \frac{d\zeta}{v(\zeta)}$$,
where $t$ is two-way vertical time, $z$ is depth, and $v(z)$ is vertical velocity.

The sampling of the output depth axis is controlled by nz=, dz=, and z0=. If the velocity (provided in the auxiliary velocity= file) is sampled in time rather than depth, use intime=y. If it is slowness rather than velocity, use slow=y. If the input is in one-way time rather than two-way time, use twoway=n. The interpolation is carried out using B-splines. The spline order is controlled by extend=. By default, cubic splines (extend=4) are used.

The inverse transformation is given by sfdepth2time.

In the presence of lateral velocity variations, the correct transformation from time to depth is not as simple and needs additional corrections. See Time-to-depth conversion and seismic velocity estimation using time-migration velocity.

10 previous programs of the month