Moving to Open Source for Predictive Science Inc.'s Modeling Software
Abstract
Presentation given by Ronald Caplan at the Developing Heliophysics Standards and Cross-Science Collaborations Workshop on Aug 11, 2025.
Full text
Moving to Open Source for Predictive Science Inc.'s Modeling Software Ronald M. Caplan, Cooper Downs, and Jon A. Linker
PSI Modeling Software and Open Source ❍Since its founding in 2008, Predictive Science Inc. (PSI) has been developing and using research software in the field of solar physics and heliophysics ❍Many of the codes were in development and use by the founders of PSI, spanning back over 30 years ❍Over the years, the models have been made available to the public for runs-on-request (RoR) through NASA’s Coordinated Community Modeling Center (CCMC), as well as shared privately with collaborators, and delivered to centers as project deliverables ❍With recent Open Science initiatives and the large increase in Free and Open-Source Software (FOSS) practices, PSI has begun providing many of its codes as open source
Open + X ❍There are many terms with “open” when it comes to scientific research software (and not all definitions are agreed upon) ❍Open Use: Allow anyone to run/use the software. ●Pre-compiled binaries ●Private transfer of source code on request with restrictive license (e.g. no modifications or sharing) ●Runs-on-request (e.g. CCMC) ❍Open Access: Allow anyone to obtain a version of the source code (e.g. zenodo), possibly with restrictive license ❍Open Source: Allow anyone to obtain the source code with permissive license (e.g. Apache2, MIT, etc.) ❍Open Development: Allow anyone to see and/or contribute to code development (e.g. github, gitlab)
Why Open Source/Access? ❍Most research is publicly funded – If the public pays for it, should the public have access to it? ❍Validation/reproducibility of published results – For lab/experimental results, this is understood, why not for model simulation? ❍Transparency of methods – The choice of numerical methods/implementation, tweaks, kludges, work-arounds, approximations, etc. can effect results, even given the same “model” ❍Model software increasingly a core part of research – As much as results, figures, and analysis, so shouldn’t it be part of the publication? ❍Open development can lead to rapid and/or significant advancements
Why not Open Source/Access? ❍Competition for funding and/or obtaining new results/discoveries ❍Unintentional misuse of code – Can lead to incorrect research results – Can lead to incorrect assessments of reliability and/or usability of the model – Development involves bug fixing, experimentation, correction, etc. - may not want the latest version used as production ❍Implicit sign-up for forever (unfunded) support and maintenance ❍Intellectual property issues – May want to commercialize in the future – Lack of attribution
PSI’s Open Science Practices ❍Originally, only had runs-on-request (RoR) at CCMC ❍Moving to a combination of runs-on-request and open-source ❍This allows reproducible, predictable code runs for other researchers to use (with possible limited functionality and customization), but also allows transparency of model codes ❍Code version releases (e.g. github tag + zenodo) are created to accompany publications that use the model software ❍Private development branches: - Allows for experimentation and corrections in a non-public space - Allows feature embargo until publication of new results and/or submission of proposals
PSI’s use of Runs-on-Request ❍RoR is a key component of PSI’s Open Science practice, allowing public use of model software ❍Takes care of complicated setup, saving a lot of time for researchers ❍Imposes limits on model options and problem size (not always a bad thing!) ❍Allows running models that require large computational resources for researchers who may not have access to such resources ccmc.gsfc.nasa.gov/m odels/CORHEL-CME~1 Example publication using RoR independent of PSI: Cormack, et. al. (2025) https://arxiv.org/abs/2506.08820
PSI’s move to Open Source: POT3D ❍POT3D is PSI’s potential field solver ❍Part of an SWQU project, which required open-source release ❍It was made open source in 2021, and since then: ●Included in the SPEChpcTM 2021 Benchmark suite (allowing us to track performance on a wide range of compute hardware) ●Used in the ISC 2023 Student Cluster Competition (tested by over a dozen groups, resulting in optimization suggestions) ●Included in a compiler vendor’s internal validation suite, avoiding regressions in new versions of the compiler applied to our codes ●POT3D is very similar to our MHD code MAS in structure and algorithms, so we were able to use it as a reproducer when submitting compiler bug and supercomputer performance questions ●Feedback of new users has led to developing improvements ❍Overall, making POT3D open-source has been a benefit, with little or no detriment. However, POT3D was more-or-less a “completed code” with little core model development (other than optimizations) github.com/predsci/pot3d Space Weather with Quantified Uncertainty
OFT: Open-source Flux Transport ❍New flux transport model, created as part of SWQU project ❍Several components included as git sub-modules: ●HipFT – New code from scratch, developed in private github – made public with first production release – subsequent development has been done on public github ●ConFlow – was private code for many years – process of making it open source included many code improvements and documentation ●MagMAP – New code from scratch, developed in private github – made public with first production release – has private development branch for new features - staged into public release ❍PSI co-led a student workshop for the SWQU project, where all attending students not only learned about the modeling software, but left the meeting with the codes checked out, installed, and running on their laptops github.com/predsci/oft github.com/predsci/hipft github.com/predsci/magmap github.com/predsci/conflow Space Weather with Quantified Uncertainty