Software Matters
Posted on Sun 24 March 2024
In May 20231, the Gran Sasso national laboratory in Italy hosted a workshop on supernova neutrino detection. Since I’m a maintainer of several open source software projects in this field, the organisers invited me to give a talk on software. After talking about the software used by the SNEWS network, and SNEWPY specifically2, I closed with a part to remind people that software matters. This is a writeup of that part.
Software matters.
More and more often, what we call a “PhD in Astrophysics” is actually a “PhD in software development with applications to astrophysics”. And that means problems in the software will lead to problems in the physics results. Here are three examples I’ve seen myself in the last few years:
- “Oh, that input file contains the flux of muon or tau neutrinos, not the sum of both! Oops …”
- “We had a bug in the script that we noticed too late; so the tabulated values in the paper are inaccurate.”
- “We compared two event generators and found that one of them implemented an old cross section that was off by ~30%.”
(Note that I’ve tweaked these examples slightly to remove identifying details. The point is not to blame any particular person or software; it’s that these things happen to all of us.)
So: Software matters. It can truly make or break a physics result. And if we all write the same code from scratch again and again, we will waste more time and produce more bugs. That means less physics and worse physics. So let’s not do that.
With SNEWPY, we have well-tested open-source software that covers a lot of common tasks when working with supernova neutrinos. It’s easy to integrate SNEWPY into your own software, too, so you can focus on your particular project rather than reinventing the wheel. Let’s use this to achieve more and better physics results!
- A historical note: Back when I prepared this talk, I didn’t think of myself as a research software engineer—though I already was one, de facto. I’m writing it up now, while I’m still new to the RSE community, so I can look back at 2023-me’s perspective in a few months or years. It’ll be interesting to see how well this holds up over time … ↩
- For the purposes of this post, all you need to know is that SNEWPY does most of the busywork for you when studying supernova neutrinos. ↩