Difference between revisions of "Introduction to madagascar"

From Madagascar
Jump to navigation Jump to search
(→‎Alternatives: moved to own page)
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
<center><font size="-1">''This page was originally created from the LaTeX source in [http://rsf.svn.sourceforge.net/viewvc/rsf/trunk/book/rsf/rsf/paper.tex?view=markup book/rsf/rsf/paper.tex] using [[latex2wiki]]''</font></center>
This page was originally created from the LaTeX source in [http://rsf.svn.sourceforge.net/viewvc/rsf/trunk/book/rsf/rsf/paper.tex?view=markup book/rsf/rsf/paper.tex] using [[latex2wiki]]. Contents that were not duplicating the main page were eventually moved to the [[Package overview]] page.
==What is in Madagascar?==
The package consists of
#A collection of main programs. Most programs act as filters on input data and can be chained in a Unix pipeline. For example: <pre> < data.rsf sfwindow n1=100 | sfbandpass fhi=60 > data2.rsf </pre> This approach follows the Unix philosophy, as formulated by Doug McIlroy, the inventor of Unix pipes (Salus, 1994<ref>Salus, P. H.,  1994, A quarter-century of Unix: Addison-Wesley.</ref>): 
##Write programs that do one thing and do it well. 
##Write programs to work together. 
##Write programs to handle text streams, because that is a universal interface.
#: Running a command (such as <tt>sfwindow</tt>) without parameters or the necessary input and output files shows a brief documentation, explaining the program purpose and parameters.  Alternatively, brief documentation is provided by <tt>sfdoc</tt> program. Main program documentation in HTML format is available on the web at http://www.reproducibility.org/RSF/. Madagascar uses ''Regularly Sampled Format''  (RSF) for data files, which is similar to the format used in the SEPlib library developed at the Stanford Exploration Project (SEP). The file format describes regularly sampled hypercubes. Up to 9 dimensions are supported. In accordance with the Unix philosophy, each RSF file (such as <tt>data.rsf</tt>) is a simple readable text. It contains a pointer (<tt>in=</tt> parameter) to the location of the binary data. Madagascar provides programs for conversion to and from other formats such as SEG-Y and SU. Madagascar currently adopts Vplot file format, also developed at SEP, for generated graphics files.
#An API (application programmer's interface) for programmers writing their own software to manipulate RSF files. The main software language of the Madagascar package is C. Interfaces to other languages (C++, Fortran-77, Fortran-90, Python, Matlab) are also provided.
#A project management system. The system uses and extends [http://www.scons.org/ SCons], an open-source software construction package, to document and maintain data processing flows. Documented projects become computational recipes that can be easily exchanged among Madagascar users.
#A collection of reproducible documents, organized in living books. Each reproducible book contains a collection of Madagascar recipes (<tt>SConstruct</tt> files) used to generate book figures. The recipes cover a variety of data processing and imaging tasks described in the books. Figures and recipes serve dual purpose with respect to Madagascar maintenance. They provide demos for introducing new users to the functionality of the package and, at the same time, regression tests for assuring the system stability under change.
Follow the links at the end of this paper for additional documentation.
==Copyright notice==
The Madagascar package is released in an open-source form under the standard GNU GPL license. In simple words, there are no restrictions on the use of the software (including copying, modifying, selling, etc.) However, there are restrictions on the software redistribution intended to prevent the package from losing its open-source status. Users are encourages to submit their modifications back to the original distribution to the benefit of the whole user community.
In the present form, the Madagascar package, while being completely written from scratch, borrows ideas from the design of [http://sepwww.stanford.edu/doku.php?id=sep:software:seplib SEPlib], a publicly available software package, maintained by Bob Clapp at the Stanford Exploration Project. Generations of SEP students and researchers contributed to SEPlib. Most important contributions came from Rob Clayton, Jon Claerbout, Dave Hale, Stew Levin, Rick Ottolini, Joe Dellinger, Steve Cole, Dave Nichols, Martin Karrenbach, Biondo Biondi, and Bob Clapp.
Madagascar also borrows ideas from [http://timna.mines.edu/cwpcodes/ Seismic Unix] (SU), a package maintained by John Stockwell at the Center for Wave Phenomenon at the Colorado School of Mines (Stockwell, 1997<ref>Stockwell, J. W.,  1997, Free software in education: A case study of CWP/SU: Seismic Unix: The Leading Edge, '''16''', 1045--1049.</ref>;Stockwell, 1999<ref>--------, 1999, The CWP/SU: Seismic Un*x package: Computers and  Geosciences, '''25''', 415--419.</ref>). Main contributors to SU included Einar Kjartansson, Shuki Ronen, Jack Cohen, Chris Liner, Dave Hale, and John Stockwell. SU is open-source software (distributed with BSD-style license) starting with release 40 (April 10, 2007).
==Other documents==
==Other documents==
Line 36: Line 12:
* [[Revisiting SEP tour with Madagascar and SCons]]
* [[Revisiting SEP tour with Madagascar and SCons]]
* [[Reproducible computational experiments using SCons]]
* [[Reproducible computational experiments using SCons]]

Latest revision as of 04:30, 9 January 2009