Madagascar Open-Source Project
A computational platform for
geophysical data processing and
reproducible numerical experiments


The goal of the Madagascar Project is to spur the emergence of an open-source exploration and production software environment. Introduced by Sergey Fomel as "Madagascar" in his workshop presentation at the EAGE Conference in Vienna on June 11, 2006, the project represents a new computational platform for geophysical data processing and reproducible numerical experiments.

The Madagascar open-source project is currently hosted on-line only by SourceForge. It is already one of the most active of more than 123,000 total open-source projects and more than 10,000 scientific projects at SourceForge.

On August 30–31, 2006, Sergey Fomel and his colleagues from the University of British Columbia and the Colorado School of Mines conducted a school and workshop in Vancouver on "Reproducible Research in Computational Geophysics".

To learn more about this workshop and session presentations, visit the Madagascar site page on the RSF School and Workshop here.

The joint creation of a group of volunteers, including Sergey Fomel and Jim Jennings from BEG, The University of Texas at Austin; Paul Sava, Colorado School of Mines; and Felix Herrmann, University of British Columbia, the concept was initially introduced under its original working title, "RSF" (from regularly sampled format). The original abstract defines the project’s essential history and objectives:

1. Madagascar is a new software package. It started in 2003 and was developed entirely from scratch. Being a new package, it follows modern software engineering practices, such as module encapsulation and test-driven development. Rapid development of a project of this scope (more than 300 main programs and more than 3,000 tests) would not be possible without our standing on the shoulders of giants and learning from 30 years'’ previous experience in open packages, such as SEPlib and Seismic Unix. We have borrowed and reimplemented functionality and ideas from both these packages.

2. Madagascar is a test-driven package. Test-driven development is not only an agile software programming practice, but also a way of bringing a scientific foundation to geophysical research that involves numerical experiments. Providing reproducibility and peer review (the backbone of any real science) to the field of computational geophysics is the main motivation for RSF development. The package consists of two levels: low-level main programs (typically developed in the C programming language and working as data filters) and high-level processing flows (described with the help of the Python programming language) that combine main programs and completely document data-processing histories for testing and reproducibility. Experience shows that high-level programming is easily mastered, even by beginning students that have no previous programming experience.

3. Madagascar is an open-source package. It is distributed under the standard GPL open-source license, which places no restriction on the usage and modification of the code. Access to modifying the source repository is not controlled by one organization, but it is shared equally among different developers. This sharing enables an open collaboration among different groups spread all over the world, in the true spirit of the open-source movement.

4. Madagascar uses a simple, flexible, and universal data format that can handle very large datasets but is not tied specifically to seismic data or data of any other particular kind. This “regularly sampled” format is borrowed from the traditional SEPlib and is also related to the DDS format developed by Amoco and BP. A universal data format allows us to share general-purpose data-processing tools with scientists from other disciplines, such as petroleum engineers working on large-scale reservoir simulations.

For more information about the Madagascar Project, please contact Sergey Fomel.