# Lab Notebooks for Computational Science

Many grants require an official record be kept of day-to-day research activities. For experimental research groups, this is often accomplished with a bound paper notebook in which the experimental details, troubles, and possibly a few key results can be written (or sometimes even printed off and taped in).

Some electronic lab notebook options exist, which may be better suited to work done entirely on the computer (or maybe not!), but these are still less common. Plain text files may not satisfy the requirement of immutable entries. Furthermore, some institutions and groups with a tradition of experimental work may not take to an electronic format at all.

What methods have you tried to keep an official log of your computational research activities?

• Why can't you use the same approach used in experimental laboratories? – nicoguaro Sep 1 '20 at 16:39
• That's absolutely an option. Just curious what people's experience was. Electronic versions are tempting because recording file locations or input file settings would be easier (and less error-prone, I think) in a digital format rather than writing things out longhand. – s47 Sep 1 '20 at 16:43
• GitHub. It’s great for version tracking as well as tracking progress toward research goals. It also enables you to share and collaborate on projects, while also maintaining management controls. – Paul Sep 2 '20 at 0:50
• Have you considered using PowerPoint or an open-source equivalent? Its multimedia capabilities make it very useful for computational work since you can copy/paste graphs/plots, console output, typeset math, etc. in addition to bullet points summarizing your work that day. Its contents can also be easily adapted for demonstrating your work to others. Of course, you should also, as discussed above, preserve things like input files and revision hashes. – smh Sep 4 '20 at 11:03
• I added provenance as a tag to this question. – nicoguaro Sep 4 '20 at 20:36

• Finding exactly where bugs have crept into the code I write, sometimes manually and sometimes automatically with git bisect.