Evaluation and Reproducibility of Numerical Simulations
Stephan Rave
Software Tool Seminar WS14/15 Münster October 15, 2014
living knowledge WWU Münster
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations Stephan - - PowerPoint PPT Presentation
W ESTFLISCHE W ILHELMS -U NIVERSITT M NSTER Evaluation and Reproducibility of Numerical Simulations Stephan Rave living knowledge Software Tool Seminar Mnster WWU Mnster WS14/15 October 15, 2014 W ESTFLISCHE W ILHELMS -U
Software Tool Seminar WS14/15 Münster October 15, 2014
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 2 /14
◮ Greenhorn Mistakes... ◮ Creation and Management of Simulation Datasets for the MULTIBAT project ◮ Reproducibility Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 3 /14
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 3 /14
◮ Write super cool program. Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 3 /14
◮ Write super cool program. ◮ Hmm, will take a few days. Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 3 /14
◮ Write super cool program. ◮ Hmm, will take a few days. ◮ Lock laptop in office over the weekend. Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 3 /14
◮ Write super cool program. ◮ Hmm, will take a few days. ◮ Lock laptop in office over the weekend. ◮ Weekend! :) Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 3 /14
◮ Write super cool program. ◮ Hmm, will take a few days. ◮ Lock laptop in office over the weekend. ◮ Weekend! :) ◮ Monday morning: Error! Calculation terminated! :( Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 4 /14
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 4 /14
◮ Write super cool program. Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 4 /14
◮ Write super cool program. ◮ Let’s test it first on a small grid ... Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 4 /14
◮ Write super cool program. ◮ Let’s test it first on a small grid ... ◮ Start giant computation on office machine. Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 4 /14
◮ Write super cool program. ◮ Let’s test it first on a small grid ... ◮ Start giant computation on office machine. ◮ Weekend! :) Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 4 /14
◮ Write super cool program. ◮ Let’s test it first on a small grid ... ◮ Start giant computation on office machine. ◮ Weekend! :) ◮ Monday morning: Updates installed, calculation terminated! :( Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 5 /14
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 6 /14
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 6 /14
◮ Write super cool program and test it. Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 6 /14
◮ Write super cool program and test it. ◮ Start giant computation on BIGDADDY or METATRON. Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 6 /14
◮ Write super cool program and test it. ◮ Start giant computation on BIGDADDY or METATRON. ◮ Weekend! :) (Each hour, nervously test with screen if everything is still ok.) Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 6 /14
◮ Write super cool program and test it. ◮ Start giant computation on BIGDADDY or METATRON. ◮ Weekend! :) (Each hour, nervously test with screen if everything is still ok.) ◮ Monday morning: Cool, error really goes down! Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 6 /14
◮ Write super cool program and test it. ◮ Start giant computation on BIGDADDY or METATRON. ◮ Weekend! :) (Each hour, nervously test with screen if everything is still ok.) ◮ Monday morning: Cool, error really goes down! ◮ Advisor: What about the L2-norm? Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 6 /14
◮ Write super cool program and test it. ◮ Start giant computation on BIGDADDY or METATRON. ◮ Weekend! :) (Each hour, nervously test with screen if everything is still ok.) ◮ Monday morning: Cool, error really goes down! ◮ Advisor: What about the L2-norm? ◮ Days later: Yes, also in L2-norm! Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 6 /14
◮ Write super cool program and test it. ◮ Start giant computation on BIGDADDY or METATRON. ◮ Weekend! :) (Each hour, nervously test with screen if everything is still ok.) ◮ Monday morning: Cool, error really goes down! ◮ Advisor: What about the L2-norm? ◮ Days later: Yes, also in L2-norm! ◮ Advisor: The plot would look much nicer if it was green! Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 6 /14
◮ Write super cool program and test it. ◮ Start giant computation on BIGDADDY or METATRON. ◮ Weekend! :) (Each hour, nervously test with screen if everything is still ok.) ◮ Monday morning: Cool, error really goes down! ◮ Advisor: What about the L2-norm? ◮ Days later: Yes, also in L2-norm! ◮ Advisor: The plot would look much nicer if it was green! ◮ After deadline: Green plot. Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 7 /14
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 7 /14
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 7 /14
◮ Generate as much data as you can! Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 7 /14
◮ Generate as much data as you can! ◮ But keep in mind what you want to know! Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 7 /14
◮ Generate as much data as you can! ◮ But keep in mind what you want to know! ◮ Some questions will only arise later on! Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 8 /14
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 8 /14
◮ Which format? Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 8 /14
◮ Which format? ◮ With which parameters have I created this data31.dat? (metadata) Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 8 /14
◮ Which format? ◮ With which parameters have I created this data31.dat? (metadata) ◮ After a year: What the heck was important-simulation2.dat all about?
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 8 /14
◮ Which format? ◮ With which parameters have I created this data31.dat? (metadata) ◮ After a year: What the heck was important-simulation2.dat all about?
◮ ls data* | wc -l: 297. In which file did I have p = 3? (searchability) Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 8 /14
◮ Which format? ◮ With which parameters have I created this data31.dat? (metadata) ◮ After a year: What the heck was important-simulation2.dat all about?
◮ ls data* | wc -l: 297. In which file did I have p = 3? (searchability) ◮ Before submission: Did I already have this bug when I made the
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 9 /14
1http://neuralensemble.org/sumatra
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 9 /14
◮ Ignore all existing software and roll your own!
1http://neuralensemble.org/sumatra
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 9 /14
◮ Ignore all existing software and roll your own! ◮ In particular, ignore Sumatra1!
1http://neuralensemble.org/sumatra
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 10 /14
◮ Input: ◮ problem ◮ operator ◮ parameter training set ⊂ R2 ◮ maximum amount of interpolation points ◮ number of parameters for testing ◮ Output: ◮ interpolation points, interpolation basis ◮ interpolation error for each training parameter at each time for each
◮ interpolation error for each test parameter at each time for each number
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 11 /14
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 12 /14
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 12 /14
◮ Put all code under version control! Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 12 /14
◮ Put all code under version control! ◮ Archive only datasets which have been created with a clean working tree. Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 12 /14
◮ Put all code under version control! ◮ Archive only datasets which have been created with a clean working tree. ◮ Save commit hash along with dataset. Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 12 /14
◮ Put all code under version control! ◮ Archive only datasets which have been created with a clean working tree. ◮ Save commit hash along with dataset. ◮ Save the script/program invocation which has created the dataset. Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 12 /14
◮ Put all code under version control! ◮ Archive only datasets which have been created with a clean working tree. ◮ Save commit hash along with dataset. ◮ Save the script/program invocation which has created the dataset. ◮ Write a reproduce script, which auto-generates the dataset. Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 13 /14
2https://www.virtualbox.org/ 3https://www.docker.com/
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 13 /14
◮ When creation visualizations, specify uniquely which datasets shall be used.
2https://www.virtualbox.org/ 3https://www.docker.com/
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 13 /14
◮ When creation visualizations, specify uniquely which datasets shall be used. ◮ Write a reproduce script, which automatically generates all datasets for the
2https://www.virtualbox.org/ 3https://www.docker.com/
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 13 /14
◮ When creation visualizations, specify uniquely which datasets shall be used. ◮ Write a reproduce script, which automatically generates all datasets for the
◮ Use virtual machines with the same initial state for all your computations.
2https://www.virtualbox.org/ 3https://www.docker.com/
Stephan Rave (stephan.rave@wwu.de)
WESTFÄLISCHE WILHELMS-UNIVERSITÄT MÜNSTER
Evaluation and Reproducibility of Numerical Simulations 14 /14
Stephan Rave (stephan.rave@wwu.de)