Shared Software Environments for Heliophysics

Abstract

Making software work across platforms is currently a challenging engineering task but modern approaches to software engineering and development are making it attainable. In the past decades shared software environments have come into a mature state. It is possible to create and use these shared software environments on different platforms. This greatly facilitates sharing and using software between computers. The premise of these shared software environments is that they ‘just work’, regardless of the platform, and decrease user time spent resolving dependencies and related software installation challenges. Furthermore, we believe that open science, which has the goal of creating transparent and reproducible results, will require such solutions since much of our research today relies on creating and/or repurposing existing software to do science. In this paper we describe the efforts of the IHDEA Science Platforms group to engineer a small set of basic shared environments for doing heliophysics research using Python software. These software environments include a range of implementations ranging from virtual environments to containerized environments as well as container-backed platforms, like JupyterLab, which may be hosted remotely in the cloud or institutional compute environments. We present use cases, our work to identify key software in use by the community, our analysis to understand the types of shared software environments that would be of the most use to the community

Type
Publication
Report, Zenodo