Post on 18-Mar-2020
Felix Herrmann, Ph.D.Assistant professorDepartment of Earth & Ocean Sciences
Ozgur Yilmaz, Ph.D.Assistant professorDepartment of Mathematics
Michael Friedlander, Ph.D.Assistant professorDepartment of Computer Science
NSERC CRD site visitFebruary 10th, 2006University of British Columbia
Contact:Felix J. Herrmannfherrmann@eos.ubc.ca
Website:slim.eos.ubc.ca/NSERC2006
DNOISEDynamic Nonlinear Optimization for Imaging in Seismic Exploration
Reproducible research in computational (geo)sciences
Gilles HennenfentPhD student
Seismic Laboratory for Imaging & ModelingDepartment of Earth & Ocean SciencesThe University of British Columbia
Dept. of Earth & Ocean SciencesThe University of British ColumbiaGraduate seminar seriesJanuary 26, 2007
1
Released to public domain under Creative Commons license type BY (https://creativecommons.org/licenses/by/4.0).Copyright (c) 2007 SLIM group @ The University of British Columbia.
Seismic Laboratory for Imaging and Modeling
Motivation
! bring reproducibility and peer review to the field of computational (geo)sciences
– make research productive
– seamless integration of computational results into publications (report, journal paper, thesis, etc.)
! provide an efficient technology transfer tool– from student to student in a research group
– from research group to its sponsors
2
Seismic Laboratory for Imaging and Modeling
Madagascar story
! start in 2003– Sergey Fomel, University of Texas at Austin
! release to the general public in June 2006– open-source (rsf.sourceforge.net)
! schools & workshops– Vancouver in August 2006
– possible future locations include Texas, California, and Europe
! improvements committed on a daily basis– contributors around the world (including SLIM @ UBC!) and YOU could be one
3
Seismic Laboratory for Imaging and Modeling
Cumulative stable release downloads
0
100
200
300
400
500
600
June
July
August
September
October
November
December
January
4
Seismic Laboratory for Imaging and Modeling
Cumulative developer version access
0
500
1000
1500
2000
2500
3000
ReadWrite
5
Seismic Laboratory for Imaging and Modeling
Website access locations (top 100)
6
Seismic Laboratory for Imaging and Modeling
Philosophy: 1-week tech transfer
Monday get an idea
Tuesday implement it
Wednesday test it
Thursday communicate it
Friday attend graduate seminar...
7
Seismic Laboratory for Imaging and Modeling
Madagascar architecture
! 3 main levels– low-level
• main programs/functions: typically written in C/C++, Fortran, Python, Matlab, Mathematica
– mid-level
• processing flows: written using Python and SCons
– processing flows are numerical recipes
– experiments become unit tests for Madagascar test-driven development
– high-level
• documentation: written using LaTeX and SCons
8
Seismic Laboratory for Imaging and Modeling
! (www.python.org)– dynamic object-oriented programming language
– multi-paradigm language
• object orientation, structured programming, functional programming, and aspect-oriented programming supported
– very clear, readable syntax!!!
– cross-platform
! (www.scons.org)– next-generation, cross-platform, build tool (alternative to Make)
– written in Python
– reliable, automatic dependency analysis
– reliable detection of file changes using MD5 signatures (and/or time stamp)
! (subversion.tigris.org) - optional– version control system
Python, SCons & Subversion
9
Seismic Laboratory for Imaging and Modeling
Madagascar construction
Report/paper
(SCons + LaTeX)
Processing flow
(SCons + Python)
Program
(C)
Program
(Fortran)
Program
(C++)
Program
(Python)
Program
(Mathematica)
Program
(Matlab)
Report/paper
(SCons + LaTeX)
Book
(SCons + LaTeX)
Processing flow
(SCons + Python)
Processing flow
(SCons + Python)
Docu
men
tion
(PD
F &
HT
ML
)P
rocessin
g flo
ws
Program*
(SEP)
Program*
(SU)
Program*
(Delphi)
* geophysic packages
10
Seismic Laboratory for Imaging and Modeling
Demo...
! $RSFROOT/book/slim/rsf
11
Seismic Laboratory for Imaging and Modeling
Conclusions
! Madagascar– convenient & powerful environment for reproducible
research in computational (geo)sciences
– convenient technology transfer tool
• seamless integration of computation results in publications (report, journal paper, thesis, etc.)
– open-source (rsf.sourceforge.net)
12