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 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
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
HERE FOR THE MADAGASCAR SCHOOL IN VANCOUVER