reproducible research in sep · 2017-09-28 · reproducible research in sep 1 yang zhang june. 2011...

27
Reproducible Research in SEP 1 Yang Zhang Yang Zhang June. 2011 June. 2011 Stanford Stanford Stanford Stanford Exploration Exploration Exploration Exploration Project Project Project Project

Upload: others

Post on 08-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Reproducible Research in SEP

1

Yang ZhangYang Zhang

June. 2011June. 2011

Stanford Stanford Stanford Stanford Exploration Exploration Exploration Exploration

ProjectProjectProjectProject

Page 2: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Outline

�Background�Reproducibility workflow� Current practice� Interactive visualization example�Discussion

2

Page 3: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Reproducible research origin� J. Claerbout, 1992, “Electronic

documents give reproducible research a new meaning”

3

Page 4: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Reproducible research� scientific computational research is hard to

repeat� paper/documents cannot hold all the details� tricks hidden by the author� different computing environment � data availability

4

Page 5: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Non-reproducibility hurts us� difficult for other researchers to verify� harder to promote our research� slowdown the technology transfer� difficult for the followers (even ourselves) to

pick up and continue at later time

5

Page 6: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Electronic reproducibility documents

� Overcome (mitigate) all the previous issues� more flexible graphic demonstration approaches

6

Page 7: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Outline

�Background�Reproducibility workflow� Current practice� Interactive visualization example�Discussion

7

Page 8: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Software

� SEPlib� GNU Make� vplot� LaTex & Scons

8

Page 9: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

SEPlib

� (one of) the first seismic processing package in academia

� header-binary data storage style� 3-D geometry handling and data regularization� multi-dimension regular-sampled data

visualization tool (Sep_cube)

9

Page 10: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

GNU Make, Grammar

� makefile – A bunch of rules to build certain targets

10

mymac:~zyang03$> make target

Page 11: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

GNU Make

� source code compilation and build� data process flow� figure generation cmd

11

Page 12: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

GNU Make

� source code compilation and build� data process flow� figure generation cmd

12

Page 13: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

GNU Make

� source code compilation and build� data process flow� figure generation cmd

13

Page 14: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

GNU Make

� source code compilation and build� data process flow� figure generation cmd

14

Page 15: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Reproducible research flow

15

SEPlib library

GNU MakeGNU Make

Reproducibility test

Page 16: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

SEP’s reproducibility criterion on results(figures)

� easily reproducible (ER)� conditionally reproducible (CR)

� Computing time exceeds 20mins� requires unconventional (less universal) computing

hardware/platform (Cluster)� depends on real-data availability

� non-reproducible (NR)� hand-drawing� figures from outer sources

16

Page 17: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Reproducibility makefile rules

� make exec� make ER/CR� make clean� make burn� make view

17

Page 18: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Project Example

� Courtesy of Adam Halpert

18

Page 19: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Project Example

� Courtesy of Adam Halpert

19

Page 20: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Project Example

� Courtesy of Adam Halpert

20

Page 21: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Project Example

� Courtesy of Adam Halpert

21

Page 22: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Project Example

22

� Courtesy of Adam Halpert

Page 23: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Interactive pdf documents� Sep_cube (more info on Bob Clapp web page)� Python & socket� demo

23

Page 24: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Demo

24

Page 25: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Some issues� GNU Make

� automatic removal of intermediate file (solved now)� does not resolve the source dependency for C/C++� rebuild criterion based on modified date� learning curve

� tab/space� variable assignment� less programmability

� result.%.H (result.${par1}.H) is OK, but � result.%1.H.%2.H (result.${par1}.${par2}.H is not

supported.� bash

25

Page 26: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Acknowledgement� Adam Halpert� Bob Clapp� Sjoerd de Ridder� Yaxun Tang

Page 27: Reproducible Research in SEP · 2017-09-28 · Reproducible Research in SEP 1 Yang Zhang June. 2011 Stanford Exploration Project

Stanford Exploration Project

Reference� http://sepwww.stanford.edu/doku.php?id=sep:res

earch:reproducible

27

�Thank you