Bringing Research Software Engineering to Atomic, Molecular and Optical Physics

Posted by j.laird on 14 July 2021 - 10:00am

By 2021 RSE Fellow Andrew Brown.

This blog post is cross-posted from the RSE website.

I got tired of feeling like an imposter in computational physics, so I switched to Research Software Engineering so I had a whole new field in which to feel like an imposter.

So I'll never win a Nobel

Academic science encourages the idea of the lone investigator, working obsessively and single-handedly extending the borders of humankind's knowledge. You only have to look at the structure of the Nobel Prize for instance. I joked recently that realising that I would never win the Nobel prize had liberated me to pursue a different path in academia, one which led me to Research Software Engineering.

It's not that I'm not a good physicist. My background is in computational atomic physics, specifically addressing laser-atom interactions and looking at ultrafast electronic dynamics. It's a pretty hot area of science, and through a mixture of talent and luck I have been able to do all of the things that make for a successful academic career: publish papers, give invited talks and (most importantly of course) bring in heaps of money in grant funding to my institution.

Software vs "codes"

All of this academic success was built on software, although, in the computational atomic physics community we don't really have "software," we have "codes". I think the distinction is drawn explicitly to differentiate between "software that other people use" and "codes that only geniuses like us can use".

That of course implies a deliberate attempt by the community to make their work inaccessible, and in some cases that might have happened. But I suspect more often the poor state of atomic physics software is down to the fact that much of the code base is several decades old. For all of the reasons that will be familiar to you who have an interest in software sustainability, this has led to software that is not documented, not version-controlled and not sustainable. It might be legally open-source, but is so difficult to use that it might as well be a black box that spits compilation errors at anyone who isn't simultaneously an expert in arcane fortran, high-performance computing and atomic physics.

A brighter viewpoint

Now all of that paints a pretty bleak picture, but the science which is being done is genuinely incredible. To describe atomic processes, particularly those including multi-electron dynamics, from first principles is an astounding achievement, and relies on the decades-long development and leadership of people like the late Philip Burke (whom we have to thank for initiatives like the Collaborative Computational Projects for instance).

Moreover, in one way or another, Atomic, Molecular and Optical (AMO) physics underpins a huge amount of modern scientific research: high-precision atomic spectra are used for plasma diagnostics in Fusion Reactors, ionisation calculations with bio-molecules are used to model radiation damage and dose deposition for cancer treatments, and laser-controlled electron dynamics inform new light technologies, solar cells and drug design.

There's the rub

But here's the problem: we have world-leading capabilities and huge potential impact, and yet no-one can use our software. Or, more accurately, to a large extent, the people who use AMO physics software are the same people who develop it. And (not to put too fine of a point on it) because much of the code-base is decades old, so are many of the developers. Within the next 10-15 years a huge amount of expertise will be lost from the field, and there is a very real danger that much AMO physics software will retire along with its developers.

And that is the motivation for my EPSRC, Research Software Engineering fellowship. I may not have (m)any RSE credentials, and I am relatively inexperienced even in my own field. But I am one of the only people who has a foot in both the RSE and AMO camps. I care deeply about ensuring the long-term impact of what we do by starting to think less about immediate scientific gains, and more about sustainable practices. I want to put these incredible tools developed over generations of academics into the hands of scientists who can realise their potential. And while that means I probably will never win my Nobel prize, maybe with a bit of luck I can help a few other people win theirs.


Want to discuss this post with us? Send us an email or contact us on Twitter @SoftwareSaved.  

Share this page