Published October 9, 2023 | Version v1
Presentation Open

MARBLE: How to make an open science global magnetosphere code?

Description

The Magnetosphere-Aurora Boundary Layer Explorer (MARBLE) is a currently-under-development global magnetosphere code which will solve the "kinetic Hall MHD" equations. Although NASA now requires all newly funded scientific software to be open source, this is in sharp contrast to the traditionally closed-development ecosystem of global magnetosphere codes. MARBLE, currently being built from the ground up, presents a unique opportunity to develop a large-scale, production code right from the outset with open science principles at its core. While MARBLE's primary objective is to simulate magnetospheric impacts on auroral physics, our stretch goal is to provide a platform for the development of a community, open-source global magnetosphere code. Such a code, in order to be useful, needs to be powerful, accessible, understandable, and seamlessly fit into existing scientific analysis workflows. To achieve this vision, we have chosen to write MARBLE in Python. This provides several advantages, including more rapid development and compatibility with community open source libraries such as Kamodo, SunPy, SpacePy, and others in the PyHC ecosystem. Although pure Python itself is slow, we take advantage of helper libraries such as Numba and CuPy to accelerate low-level arithmetic calculations. The use of Python also enables us to adopt a modular approach to model development. This modularity streamlines addition, substitution, and development of desired features, resulting in a flexible and adaptable resource for the community. We envision this kind of open-source community model as a teaching code, a testbed for prototype development, and a means to more easily ingest and make accessible advanced features from privately developed global codes.

Files

MARBLE_open_science DASH.pdf

Files (632.6 kB)

Name Size Download all
md5:ae15b76a7639bbdfdaddfa887af644c8
632.6 kB Preview Download