introducing madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · introducing...

29
Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible Numerical Experiments Sergey Fomel 1 Paul Sava 2 Felix Herrmann 3 1 Bureau of Economic Geology Jackson School of Geosciences University of Texas at Austin 2 Colorado School of Mines 3 University of British Columbia June 11, 2006 S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 1 / 20

Upload: others

Post on 19-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Introducing MadagascarA Computational Platform for Geophysical Data Processing and

Reproducible Numerical Experiments

Sergey Fomel1 Paul Sava2 Felix Herrmann3

1Bureau of Economic GeologyJackson School of Geosciences

University of Texas at Austin

2Colorado School of Mines3University of British Columbia

June 11, 2006

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 1 / 20

Page 2: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

From RSF to Madagascar

RSERSF

RSG

RSF

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 2 / 20

Page 3: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Outline

1 New

2 Test Driven Development

3 Open Source

4 Universal File Format

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 3 / 20

Page 4: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Outline

1 New

2 Test Driven Development

3 Open Source

4 Universal File Format

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 3 / 20

Page 5: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Outline

1 New

2 Test Driven Development

3 Open Source

4 Universal File Format

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 3 / 20

Page 6: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Outline

1 New

2 Test Driven Development

3 Open Source

4 Universal File Format

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 3 / 20

Page 7: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Outline

1 New

2 Test Driven Development

3 Open Source

4 Universal File Format

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 4 / 20

Page 8: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

History

Started in June 2003

6 main contributors

Version 0.9 released June 2006Development version

2,000 revisions300 main programs (140,000 lines of C)3,000 tests (40,000 lines of Python)30 papers (20,000 lines of LATEX)

http://rsf.sf.net/

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 5 / 20

Page 9: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Heritage

SEPlibRob Clayton, Jon Claerbout, Dave Hale, Stew Levin, RickOttolini, Joe Dellinger, Steve Cole, Dave Nichols, MartinKarrenbach, Biondo Biondi, Bob Clapp

SEP reproducible research systemMartin Karrenbach, Matthias Schwab, Joel Schroeder,Sergey Fomel, Bob Clapp

Seismic Unix

DDS

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 6 / 20

Page 10: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Outline

1 New

2 Test Driven Development

3 Open Source

4 Universal File Format

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 7 / 20

Page 11: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Test Driven Development

XP, agile software engineering, refactoringTests drive development

Computational geophysicsTests are numerical experiments

ScienceReproducible experiments mean progress

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 8 / 20

Page 12: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 8 / 20

Page 13: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 8 / 20

Page 14: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 8 / 20

Page 15: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 8 / 20

Page 16: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 8 / 20

Page 17: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 8 / 20

Page 18: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Inspirational Quotes

Abandoning the habit of secrecy in favor of processtransparency and peer review was the crucial step bywhich alchemy became chemistry. In the same way, itis beginning to appear that open-source developmentmay signal the long-awaited maturation of softwaredevelopment as a discipline.Eric S. Raymond, The art of UNIX programming, 2004

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 9 / 20

Page 19: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Inspirational Quotes

The purpose of reproducible research is to facilitatesomeone going a step further by changing something.The first step that someone will want to make is to besure that your work is reproducible before they changeand improve upon it.Jon F. Claerbout, Reproducible research

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 10 / 20

Page 20: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Inspirational Quotes

An article about computational science in a scientificpublication is not the scholarship itself, it is merelyadvertising of the scholarship. The actual scholarshipis the complete software development environment andthe complete set of instructions which generated thefigures.Jon B. Buckheit and David L. Donoho, WaveLab andreproducible research, 1995

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 11 / 20

Page 21: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Inspirational Quotes

Within the world of science, computation is now rightlyseen as a third vertex of a triangle complementingexperiment and theory. However, as it is now oftenpracticed, one can make a good case that computing isthe last refuge of the scientific scoundrel... Where elsein science can one get away with publishingobservations that are claimed to prove a theory orillustrate the success of a technique without having togive a careful description of the methods used, insufficient detail that others can attempt to repeat theexperiment?Randall J. LeVeque, Wave propagation software,computational science, and reproducible research,2006

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 12 / 20

Page 22: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Reproducible Research Tools

SEPGNU make rulesPerl scriptsShell scriptsLATEX macros

MadagascarSCons (Python replacement for make)

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 13 / 20

Page 23: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Outline

1 New

2 Test Driven Development

3 Open Source

4 Universal File Format

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 14 / 20

Page 24: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Open Source

Open source means freedom to the userFreedom to useFreedom to study and modifyFreedom to redistributeFreedom to improve

Open source means collaboration and peer reviewMadagascar package is 100% open-source

GPL licenseHosted by SourceforgeDeveloped with Subversion

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 15 / 20

Page 25: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Outline

1 New

2 Test Driven Development

3 Open Source

4 Universal File Format

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 16 / 20

Page 26: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Universal File Format

Borrowed from classic SEPlib

Binary data and test headers

N-dimensional hypercubes

Can represent seismic data (regular, irregular, 3-D, 9-D,etc.) as well as any other kind of data

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 17 / 20

Page 27: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Inspirational Quotes

To design a perfect anti-Unix, make all file formatsbinary and opaque, and require heavyweight tools toread and edit them....If you feel an urge to design a complex binary fileformat, or a complex binary application protocol, it isgenerally wise to lie down until the feeling passes.Eric S. Raymond, The art of UNIX programming, 2004

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 18 / 20

Page 28: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Summary

Madagascar is a software package for geophysical dataprocessing and reproducible numerical experiments.

New, test-driven, open-source, using a universal file format

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 19 / 20

Page 29: Introducing Madagascarreproducibility.org/wikilocal/docs/vienna.pdf · 2008. 10. 9. · Introducing Madagascar A Computational Platform for Geophysical Data Processing and Reproducible

Please Visit

http://rsf.sf.netSchool and workshop

Reproducible Research in Computational GeophysicsAugust 30-31, 2006Vancouver BC, Canada

S. Fomel (UT Austin) Introducing Madagascar EAGE Open-Source Software 20 / 20