Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions src/slides.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
title: Reproducibility in Scientific Computing
authors: Jack Franklin & Marion Weinzierl
---

# Introduction: What is reproducibility?
- Reproducing results
- Portability
-

# A likely scenario

- You have just joined a new research group as a Student/Researcher/PI.
- The group use a custom pipeline/setup to perform their data analysis/simulations.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- The group use a custom pipeline/setup to perform their data analysis/simulations.
- The group use a custom pipeline/setup to perform their data analysis/simulations.
- You are reading their latest paper, and want to reproduce one of their figures - your task is to introduce better data and adapt the algorithm, and add a new line to show the improvement.

- You try to get the setup working on your local system/a new hpc system and...
It doesn't work!

# Version Control

- First put things into VC
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- First put things into VC
- First put things into version control (e.g. Github, Gitlab, Bitbucket, Codeberg)

- Then any changes/fixes can be tracked
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe also something about better collaboration


$-- Since git will be covered during the week we shouldn't need to do too much
$-- here.

# Documentation

- README
- User Docs
- Dev Docs
- Comments?

# Dependencies

- Basic documentation
- Project files (e.g. project.toml for python etc)
- System dependencies (nix/guix/docker?)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add something about automatisation - creating (at least) scripts to run the simulation pipeline, produce figures etc

# Testing
- Unit tests
- Integration tests
- Automating tests (CI etc)

# FAIR Principles
- Findability
- Accessibility
- Interoperability
- Reuse

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Notebooks and containers

$-- Maybe we should look at this retrospectively, and see what elements we covered and
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reproducibility reviews - let new team members run the code according to documentation, and raise issues for things that are not clear/outdated.

Also, point towards reprohacks and other reproducibility initiatives.

$-- where we could improve on.
$-- Also a good way to talk about why these are good principles to start a project with
$-- since we can show that they avoid most/all the problems that we had to solve

# Conclusion/Outlook