reproducible research in computational (geo)sciences nserc … · 2019-11-14 · seismic laboratory...

12
Reproducible research in computational (geo)sciences Gilles Hennenfent PhD student Seismic Laboratory for Imaging & Modeling Department of Earth & Ocean Sciences The University of British Columbia Dept. of Earth & Ocean Sciences The University of British Columbia Graduate seminar series January 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.

Upload: others

Post on 18-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reproducible research in computational (geo)sciences NSERC … · 2019-11-14 · Seismic Laboratory for Imaging and Modeling Madagascar story! start in 2003 Ð Sergey Fomel, University

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. [email protected]

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.

Page 2: Reproducible research in computational (geo)sciences NSERC … · 2019-11-14 · Seismic Laboratory for Imaging and Modeling Madagascar story! start in 2003 Ð Sergey Fomel, University

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

Page 3: Reproducible research in computational (geo)sciences NSERC … · 2019-11-14 · Seismic Laboratory for Imaging and Modeling Madagascar story! start in 2003 Ð Sergey Fomel, University

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

Page 4: Reproducible research in computational (geo)sciences NSERC … · 2019-11-14 · Seismic Laboratory for Imaging and Modeling Madagascar story! start in 2003 Ð Sergey Fomel, University

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

Page 5: Reproducible research in computational (geo)sciences NSERC … · 2019-11-14 · Seismic Laboratory for Imaging and Modeling Madagascar story! start in 2003 Ð Sergey Fomel, University

Seismic Laboratory for Imaging and Modeling

Cumulative developer version access

0

500

1000

1500

2000

2500

3000

ReadWrite

5

Page 6: Reproducible research in computational (geo)sciences NSERC … · 2019-11-14 · Seismic Laboratory for Imaging and Modeling Madagascar story! start in 2003 Ð Sergey Fomel, University

Seismic Laboratory for Imaging and Modeling

Website access locations (top 100)

6

Page 7: Reproducible research in computational (geo)sciences NSERC … · 2019-11-14 · Seismic Laboratory for Imaging and Modeling Madagascar story! start in 2003 Ð Sergey Fomel, University

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

Page 8: Reproducible research in computational (geo)sciences NSERC … · 2019-11-14 · Seismic Laboratory for Imaging and Modeling Madagascar story! start in 2003 Ð Sergey Fomel, University

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

Page 9: Reproducible research in computational (geo)sciences NSERC … · 2019-11-14 · Seismic Laboratory for Imaging and Modeling Madagascar story! start in 2003 Ð Sergey Fomel, University

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

Page 10: Reproducible research in computational (geo)sciences NSERC … · 2019-11-14 · Seismic Laboratory for Imaging and Modeling Madagascar story! start in 2003 Ð Sergey Fomel, University

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

Page 11: Reproducible research in computational (geo)sciences NSERC … · 2019-11-14 · Seismic Laboratory for Imaging and Modeling Madagascar story! start in 2003 Ð Sergey Fomel, University

Seismic Laboratory for Imaging and Modeling

Demo...

! $RSFROOT/book/slim/rsf

11

Page 12: Reproducible research in computational (geo)sciences NSERC … · 2019-11-14 · Seismic Laboratory for Imaging and Modeling Madagascar story! start in 2003 Ð Sergey Fomel, University

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