Skip to main content

2021 Workshop: Model software engineering

Long title
Model software engineering
Conveners
Michael Hirsch
Matthew Zettergren
Description

This session discusses results and tutorials connecting open-source and black-box models together for science closure, data analysis and instrument design. Sessions will demonstrate:

  • compiled languages working together with scripted languages
  • platform-agnostic build systems
  • transitioning models from PI team to general science public users
  • success stories from recently funded projects (e.g. NASA ROSES HDEE, E.7)
Agenda
  • brief introduction
  • Kamodo (R. Ringuette, NASA GSFC)
  • portable library development (J. Haiducek, NRL)
  • Fortran to Python porting: EmmPy (G. Stephens, JHU-APL)
  • flipchem: An ion density calculator via Python wrapped C and Fortran  (pdf) (A. Reimer, SRI)
  • modern Fortran: stdlib, IDE, packaging (Ondřej Čertík, LANL)
  • Tutorial: Version control (Git) and CI (GitHub Actions) for multi-institutional teams
  • Group discussion
Justification

ST #5: Fuse the Knowledge Base across Disciplines

Bridge the gap between software engineering and physics to help make models more accessible. Show how to integrate restricted license software in an open-source package. Metrics include increased number of modelers sharing core functionality of their model, and enhancing model connections to CEDAR and the Python Heliophysics community.

ST #6: Manage, Mine, Manipulate Geoscience Data and Models

When users don't have to rely on the PI team to get started with a model, this accelerates science discovery. Encourage example gallery codes and videos for the models. Metrics include mining papers for citations / keywords used such as links to software repos used, which can themselves be mined for use of continuous integration tools, build system type and specific software libraries.