Kyle awarded 2019 BSSw Fellowship
I am excited to announce that I’ve been awarded a Better Scientific Software (BSSw) Fellowship for 2019! I join fellow Fellows Rene Gassmoeller, Ignacio Laguna, and Tanu Malik and honorable mention awardees Stephen Andrews, Nasir Eisty, Benjamin Pritchard, and Vanessa Sochat.
(This post is over three months late, since the fellows were announced in December and the above photo was taken in January… sorry!)
This is an exciting program sponsored by the Better Scientific Software community, which is funded by the Exascale Computing Project, a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration. Beyond the honor of being selected out of the entire US research computing community, I also receive $25,000 in funds to support my proposed activity over the next year.
(Note: like all grant funds, I do not personally get this money, nor does it add to my salary. Instead, it comes to Oregon State University where I can use it for approved expenses like supporting travel, or paying for some of my summer time, based on my fixed nine-month salary.)
My project focuses on educating on best practices for developing research software, including both developing educational content (like lectures and/or modular lessons) and offering courses and workshops around this content. This builds on the graduate course I started teaching last year here at Oregon State, Software Development for Engineering Research, and also some work I’ve done with colleagues in the combustion research community around advocating for better software practices in our research. (You can view a recent presentation I gave on this topic; thanks to Ray, Bryan, and Richard for their work on that!)
I’m including my application materials below, in case they are helpful for any future applicants (inspired by Dan Katz’s similar blog post).
Describe your work relevant to scientific software. (1000–1500 characters)
My research lies at the intersection of (reacting) fluid-flow simulations and numerical methods, particularly those that exploit modern processing architectures. We emphasize developing open-source, usable software and sharing it with the community. We also archive all research products (papers, software, data) in public repositories. Much of my research focuses on developing software packages that enable high-fidelity combustion and reacting-flow simulations. Specifically, I developed a chemical kinetic model reduction software, MARS (Mechanism Automatic Reduction Software), which has been used in support of publications by dozens of research groups. More recently, I have been developing an open-source, Python-based tool for chemical kinetic model reduction called pyMARS. We are also developing multiple software packages for accelerating the cost of reactive-flow solvers for graphics processing units (GPUs) and other modern many-core processors. These include an open-source package that generates source code to analytically evaluate Jacobian matrices for chemical kinetics systems and an open library of integrators for multithreaded CPUs and GPUs. These tools have been used by other groups for modeling combustion, and also in other areas such as simulations of coupled turbulence and biogeochemistry in the upper ocean.
Describe your background and experience relevant to being a BSSw Fellow. (1000–1500 characters)
I have helped lead several efforts relevant to being a BSSw Fellow that support research software development, credit, and best practices to enable better research. This began when I co-led, with Arfon Smith and Daniel Katz, the FORCE11 working group that established principles for software citation. I helped found, and continue to serve on the editorial board, of the Journal of Open Source Software (JOSS, https://joss.theoj.org), which improves research software through peer review and provides a venue for developers of such software to receive academic credit (via a publication) for their efforts. I also recently helped found a sibling journal, the Journal of Open Source Education (JOSE, https://jose.theoj.org), which reviews and publishes computational learning modules and open educational software. Related to both of these journals, I also serve on the Steering Council of the broader Open Journals organization. I have also helped organize and participated in the workshops of the Working towards Sustainable Software for Science: Practice and Experiences (WSSSPE) community, including contributing to two workshop reports. I am a certified Software Carpentry trainer, and at Oregon State University I have begun offering a course for graduate students, Software Development for Engineering Research, that teaches and applies best practices for scientific software development in the context of a software development project in support of the students’ research.
What would you do as a BSSw Fellow? (1000–1500 characters)
As a BSSw Fellow, I will develop and hold workshops, and associated lesson content, that use a hands-on approach to teach graduate students, postdoctoral researchers, research scientists, and faculty best practices for developing research software. This will build on the 10-week course I developed at Oregon State University for graduate students: Software Development for Engineering Research. In this course, students focus on developing a software package that supports their thesis research, while they learn about and apply best practices including (but not limited to) version control, peer code review, open-source licensing and copyright, software and data citation, documentation, testing, parallel computing, and reproducible workflows. I will develop a modular, reusable version of this course that can be offered over a two-day period. I will share this educational content openly with the research community via outlets such as the Journal of Open Source Education, annual Scientific Computing with Python (SciPy) conference, WSSSPE (Working Towards Sustainable Software for Science: Practice and Experiences) community, and BSSw community. I will offer this workshop at conferences in my home research community of combustion and chemical kinetics.
What impact do you foresee from your efforts? (1000–1500 characters)
During my tenure as BSSw Fellow, I will hold workshops on research software development for my home research community in combustion and reacting-flows modeling. Compared with other research communities, my field has been particularly slow to adopt modern scientific software development practices, including version control, open-source licensing, and testing (among others). Thus, training researchers — particularly early-career researchers like graduate students and postdocs — in these practices will improve the science and engineering research of this field and enable new collaborations. I will share the educational content behind these workshops openly and widely beyond this field, magnifying the impact across a broad range of scientific fields. By educating researchers on both the importance of best practices, and then showing them in a hands-on fashion how to employ such tools, my efforts will help multiple research communities develop more trustworthy, reusable, and sustainable scientific software.