计算科学实验室笔记本

计算科学 再现性
2021-12-06 03:47:32

许多赠款要求对日常研究活动进行正式记录。对于实验研究小组来说,这通常是通过一个装订的纸质笔记本来完成的,其中可以写下实验细节、问题和可能的一些关键结果(有时甚至可以打印出来并用胶带粘贴)。

存在一些电子实验室笔记本选项,它们可能更适合完全在计算机上完成的工作(或者可能不是!),但这些仍然不太常见。纯文本文件可能无法满足不可变条目的要求。此外,一些具有实验工作传统的机构和团体可能根本不会采用电子格式。

您尝试过哪些方法来记录您的计算研究活动的官方日志?

1个回答

正如 Paul 在他的评论中提到的,git 和 Github 和 Gitlab 等公共托管网站对于跟踪计算项目的发展历史非常宝贵。一些我发现历史有用的具体例子:

  • 美国联邦拨款要求您填写年度进度报告,我永远记不清我到底做了什么,但我总是可以查看提交历史。
  • 准确查找错误在我编写的代码中的位置,有时是手动的,有时是使用git bisect.
  • 我想提醒与我一起工作的学生,犯错误是可以的,重要的是在测试中谨慎,所以我回顾了我从事过的项目的提交历史,向他们展示了我的一些更愚蠢的错误。

您还提到了电子笔记本;我猜你那时已经熟悉Jupyter 笔记本了。我经常将这些用于计算实验,尤其是当我在搞乱我还不太了解的新方法时。通常,实验笔记本会在我的硬盘驱动器上丢失。我最近开始做的是将这些笔记本保存在 git 存储库中,并使用静态站点生成器nikola在线发布它们,它可以从 Jupyter 笔记本生成帖子。除了代码,我还添加了对数学的解释以及对其他有用资源的引用。这有助于我将来准确地记住我在做什么,并能够向同事和学生展示事情。github 和 gitlab 都提供免费的静态站点托管。您可以使用持续集成工具自动执行 notebook(因此您可以在版本控制中将它们保存在更小的纯文本预执行形式中)并使用它们构建网站。同样的工具也有助于托管软件项目的文档。

您的使用/里程因人而异,仅从个人经验来看。