Literate computing has emerged as an important tool for computational studies and open science, with growing folklore of best practices. In this work, we report two case studies - one in computational magnetism and another in computational mathematics - where domain-specific software was exposed to the Jupyter environment. This enables high-level control of simulations and computation, interactive exploration of computational results, batch processing on HPC resources, and reproducible workflow documentation in Jupyter notebooks. In the first study, Ubermag drives existing computational micromagnetics software through a domain-specific language embedded in Python. In the second study, a dedicated Jupyter kernel interfaces with the GAP system for computational discrete algebra and its dedicated programming language. In light of these case studies, we discuss the benefits of this approach, including progress toward more reproducible and reusable research results and outputs, notably through the use of infrastructure such as JupyterHub and Binder.
翻译:液态计算已成为计算研究和开放科学的一个重要工具,并日益成为最佳做法的民间传说。在这项工作中,我们报告了两个案例研究,一个是计算磁性,另一个是计算数学,其中域特定软件暴露在Jupyter环境中。这使得能够对模拟和计算进行高级别控制,对计算结果进行互动探索,对HPC资源进行批量处理,并在Jupyter笔记本中复制工作流程文件。在第一项研究中,Ubermag通过嵌入Python的域名语言驱动现有的计算微磁软件。在第二项研究中,与GAP系统的一个专门的Jupyter内内核界面用于计算离子镜及其专用编程语言。根据这些案例研究,我们讨论了这一方法的好处,包括朝着更可再生和可再用研究成果和产出的进展,特别是通过使用JupyterHub和Binder等基础设施。