In a major administrative change, the code repository of the Madagascar project, which has been hosted by SourceForge for more than 9 years and more than 12,000 revisions, is being moved to GitHub. The location of the Madagascar project on GitHub is https://github.com/ahay/

The move has been discussed several times previously. The former major hub of open-source projects, SourceForge has been loosing popularity among open-source software developers and went through some bad publicity recently because of their practice of injecting malware into open-source projects. The final straw, which prompted our move, was the whole cite going down in July 2015 and taking more than a week to restore access to repositories. DHI Group, Inc. announced today its plans to sell the Slashdot Media business, which includes Slashdot and SourceForge.

GitHub brings a social-networking aspect to open-source software development, as well as many other useful tools and enhancements. Its success story was desribed in the recent article in*Wired* How GitHub Conquered Google, Microsoft, and Everyone Else.

The repository has been converted to Git, but if you prefer to use Subversion, you can continue to do so thanks to the svn bridge. See http://www.ahay.org/wiki/Download#Current_development_version for instructions. If you need a developer access to commit changes directly to the master branch of the repository, please register at GitHub and send your GitHub login name to the project administrator. Everyone else should be able to participate in the project development by using Git's preferred way of "pull requests".

The move has been discussed several times previously. The former major hub of open-source projects, SourceForge has been loosing popularity among open-source software developers and went through some bad publicity recently because of their practice of injecting malware into open-source projects. The final straw, which prompted our move, was the whole cite going down in July 2015 and taking more than a week to restore access to repositories. DHI Group, Inc. announced today its plans to sell the Slashdot Media business, which includes Slashdot and SourceForge.

GitHub brings a social-networking aspect to open-source software development, as well as many other useful tools and enhancements. Its success story was desribed in the recent article in

The repository has been converted to Git, but if you prefer to use Subversion, you can continue to do so thanks to the svn bridge. See http://www.ahay.org/wiki/Download#Current_development_version for instructions. If you need a developer access to commit changes directly to the master branch of the repository, please register at GitHub and send your GitHub login name to the project administrator. Everyone else should be able to participate in the project development by using Git's preferred way of "pull requests".

The most popular colormap in Madagascar, other than the default greyscale, is **color=j**, modeled after "**jet**", which used to be the default colormap in MATLAB. More than 1,000 Madagascar examples use **color=j**.

In October 2014, with release R2014b (Version 8.4), MATLAB switched the default colormap to a different one, called "**parula**". The "**parula**" colormap is copyrighted by MathWorks as a result of a creative process (solving an optimization problem). No open-source license is given to use it outside of MATLAB. According to Steve Eddins, "this colormap is MathWorks intellectual property, and it would not be appropriate or acceptable to copy or re-use it in non-MathWorks plotting tools."

StÃ©fan van der Walt and Nathaniel Smith from the Berkeley Institute for Data Science have developed several new open-source colormaps with good perceptual properties. One of them (named "**viridis**") is proposed as a good replacement for "**jet**" and as the default colormap in matplotlib 2.0.

Is it a good colormap? We can find out by using tools from Matteo Niccoli's tutorial on colormaps.

This analysis shows the intensity and lightness distributions of "**viridis**" are nicely linear. In his presentation at SciPy-2015, Nathaniel Smith explains the rational for this choice.

In October 2014, with release R2014b (Version 8.4), MATLAB switched the default colormap to a different one, called "

StÃ©fan van der Walt and Nathaniel Smith from the Berkeley Institute for Data Science have developed several new open-source colormaps with good perceptual properties. One of them (named "

Is it a good colormap? We can find out by using tools from Matteo Niccoli's tutorial on colormaps.

This analysis shows the intensity and lightness distributions of "

The example in rsf/tutorials/petro1 reproduces the tutorial from Alessandro Amato del Monte on seismic petrophysics (Part 1). The tutorial was published in the April 2015 issue of The Leading Edge.

Madagascar users are encouraged to try improving the results.

Madagascar users are encouraged to try improving the results.

The example in rsf/tutorials/well-tie reproduces the tutorial from Evan Bianco on well-tie calculus. The tutorial was published in the June 2014 issue of The Leading Edge.

Madagascar users are encouraged to try improving the results.

Madagascar users are encouraged to try improving the results.

A new paper is added to the collection of reproducible documents:

Velocity analysis using similarity-weighted semblance

Velocity analysis using similarity-weighted semblance

Weighted semblance can be used for improving the performance of the traditional semblance for specific datasets. We propose a novel approach for prestack velocity analysis using weighted semblance. The novelty comes from a different weighting criteria in which the local similarity between each trace and a reference trace is used. On one hand, low similarity corresponds to a noise point or a point indicating incorrect moveout, which should be given a small weight. On the other hand, high similarity corresponds to a point indicating correct moveout, which should be given a high weight. The proposed approach can also be effectively used for analyzing AVO anomalies with increased resolution compared with AB semblance. Both synthetic and field CMP gathers demonstrate higher resolution using the proposed approach. Applications of the proposed method on a prestack dataset further confirms that the stacked data using the similarity-weighted semblance can obtain better energy-focused events, which indicates a more precise velocity picking.

Another old paper is added to the collection of reproducible documents:

Test case for PEF estimation with sparse data II

Test case for PEF estimation with sparse data II

The two-stage missing data interpolation approach of Claerbout (1998) (henceforth, theGEE approach) has been applied with great success (Fomel et al., 1997; Clapp et al., 1998; Crawley, 2000) in the past. The main strength of the approach lies in the ability of the prediction error filter (PEF) to find multiple, hidden correlation in the known data, and then, via regularization, to impose the same correlation (covariance) onto the unknown model. Unfortunately, the GEE approach may break down in the face of very sparsely-distributed data, as the number of valid regression equations in the PEF estimation step may drop to zero. In this case, the most common approach is to simply retreat to regularizing with an isotropic differential filter (e.g., Laplacian), which leads to a minimum-energy solution and implicitly assumes an isotropic model covariance.

A pressing goal of many SEP researchers is to find a way of estimating a PEF from sparse data. Although new ideas are certainly required to solve this interesting problem, Claerbout (2000) proposes that a standard, simple test case first be constructed, and suggests using a known model with vanishing Gaussian curvature. In this paper, we present the following, simpler test case, which we feel makes for a better first step.

Model:Deconvolve a 2-D field of random numbers with a simple dip filter, leading to a ``plane-wave'' model.Filter:The ideal interpolation filter is simply the dip filter used to create the model.Data:Subsample the known model randomly and so sparsely as to make conventional PEF estimation impossible.

We use the aforementioned dip filter to regularize a least squares estimation of the missing model points and show that this filter is ideal, in the sense that the model residual is relatively small. Interestingly, we found that the characteristics of the true model and interpolation result depended strongly on the accuracy (dip spectrum localization) of the dip filter. We chose the 8-point truncated sinc filter presented by Fomel (2000). We discuss briefly the motivation for this choice.

Claerbout's principle of reproducible research, as formulated by Buckheit and Donoho (1995), states:

The geophysics class in the SEGTeX package features a new option:**reproduce**, which attaches SConstruct files or other appropriate code (Matlab scripts, Python scripts, etc.) directly to the PDF file of the paper, with a button under every reproducible figure for opening the corresponding script.

Unfortunately, not every PDF viewer supports this kind of links. The screenshot below shows evince viewer on Linux, where clicking the button opens the file with gedit editor.

An article about computational science in a scientific publication is not the scholarship itself, it is merely advertising of the scholarship. The actual scholarship is the complete software development environment and the complete set of instructions which generated the figures.

The geophysics class in the SEGTeX package features a new option:

Unfortunately, not every PDF viewer supports this kind of links. The screenshot below shows evince viewer on Linux, where clicking the button opens the file with gedit editor.

Another old paper is added to the collection of reproducible documents:

The double-elliptic approximation in the group and phase domains

The double-elliptic approximation in the group and phase domains

Elliptical anisotropy has found wide use as a simple approximation to transverse isotropy because of a unique symmetry property (an elliptical dispersion relation corresponds to an elliptical impulse response) and a simple relationship to standard geophysical techniques (hyperbolic moveout corresponds to elliptical wavefronts; NMO measures horizontal velocity, and time-to-depth conversion depends on vertical velocity). However, elliptical anisotropy is only useful as an approximation in certain restricted cases, such as when the underlying true anisotropy does not depart too far from ellipticity or the observed angular aperture is small. This limitation is fundamental, because there are only two parameters needed to define an ellipse: the horizontal and vertical velocities. (Sometimes the orientation of the principle axes is also included as a free parameter, but usually not.)

In a previous SEP report Muir (1990) showed how to extend the standard elliptical approximation to a so-called double-elliptic form. (The relation between the elastic constants of a TI medium and the coefficients of the corresponding double-elliptic approximation is developed in a companion paper, (Muir, 1991).) The aim of this new approximation is to preserve the useful properties of elliptical anisotropy while doubling the number of free parameters, thus allowing a much wider range of transversely isotropic media to be adequately fit. At first glance this goal seems unattainable: elliptical anisotropy is the most complex form of anisotropy possible with a simple analytical form in both the dispersion relation and impulse response domains. Muir's approximation is useful because it nearly satisfies both incompatible goals at once: it has a simple relationship to NMO and true vertical and horizontal velocity, and to a good approximation it has the same simple analytical form in both domains of interest.

The purpose of this short note is to test by example how well the double-elliptic approximation comes to meeting these goals:The results indicate that the method should work well in practice.

- Simple relationships to NMO and true velocities on principle axes.
- Simple analytical form for both the dispersion relation and impulse response.
- Approximates general transversely isotropic media well.

Literate programming is a concept promoted by Donald Knuth, the famous computer scientist (and the author of the *Art of Computer Programming*.) According to this concept, computer programs should be written in a combination of the programming language (the usual source code) and the natural language, which explains the logic of the program.

When it comes to scientific programming, using comments for natural-language explanations is not always convenient. Moreover, it is limited, because such explanations may require figures, equations, and other common elements of scientific texts. IPython/Jupyter notebooks provide a convenient tool for combining different text elements with code.

See the notebook at https://github.com/sfomel/ipython/blob/master/LiterateProgramming.ipynb for an example on how to implement literate programming using an IPython notebook with reproducible SConstruct data-analysis workflows in Madagascar.

Related posts:

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

Another old paper is added to the collection of reproducible documents:

Iterative least-square inversion for amplitude balancing

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.

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

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.

A new paper is added to the collection of reproducible documents:

Structure-constrained relative acoustic impedance using stratigraphic coordinates

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.

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

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/SEG_3D_Seismic_Processing_Working_Workshop_Houston_2015-_Land_3D

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

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/SEG_3D_Seismic_Processing_Working_Workshop_Houston_2015-_Land_3D

The example in rsf/tutorials/survey reproduces the tutorial from Evan Bianco on designing 3D seismic surveys. For more explanation, see Evian's blog post Laying out a seismic survey.

Madagascar users are encouraged to try improving the results.

Madagascar users are encouraged to try improving the results.