University College London
Solar physics has many fields, from studying how the solar interior evolves using techniques similar to those used for seismology on Earth to investigating how the outer layers of the solar atmosphere interact with Earth and the other planets. Although the solar community consists of theorists, modellers and observers, each with a unique skill set, all of them require (but do not necessarily possess) a deep understanding of software and programming to do research.
While my career has been mostly working on the observational side, the path I've followed has been different than most of my colleagues. I have worked in multiple different areas, such as spectroscopy of the high layers of the solar atmosphere; image processing and feature recognition of different types of events at different wavelengths; analysis and simulation of the evolution and propagation of material that comes to Earth (e.g., the solar wind), study of 3D magnetic field simulations of the Earth; and research on signal separation of magnetic field measurements from ground-based observations. I have the opportunity to work in all these areas mostly because of my skills with software and my interest in collaborating with researchers from other areas. In particular, I wish to understand different signatures of the same event at different points of its evolution (for example, an explosion on the sun - a solar flare - can simultaneously disrupt communications on Earth and produce aurorae on Saturn).
The majority of projects I have worked on were part of international networks funded by the European Union to build e-infrastructures. Their main purpose was to help scientists to discover different sets of observations by facilitating access to catalogues, detections, simulations and observational data. My role in these were diverse, in some I had to develop physical simulations, webservices or databases, while in others I had to work with code developed by other people; refactoring it, adding new functionalities or adapting and deploying them in a grid infrastructure. Over all these years I have found that while we have the tools to discover data, we are not connecting people (i.e., experts from different domains).
In my previous position as a researcher in the Mullard Space Science Laboratory (University College London), I developed a software to automatically detect global waves in images of the Sun (also called solar tsunamis). Although this project was funded by the US Air Force (through their European Office of Scientific Research) my intention was to ensure that the final developed code may be used by any solar telescope around the globe (ie., not just Air Force ones). The software used in solar physics is mainly the Interactive Data Language (IDL), a proprietary (and expensive) programming language. However, due to the limitations and exclusivity of the language I am simultaneously developing the code in IDL and Python.
The use of IDL on the solar community is deeply ingrained due to the development by the community of a large open source library (named SolarSoftWare) around IDL to facilitate the analysis of solar data. That library has grown since the 1990s without quality or version control and is therefore subject to a lot of repetition and un-maintained pieces. As a result, solar physics research is inaccessible to everyone because of the costly value of the software and the unsustainable nature of SolarSoftWare. A group of colleagues and I therefore decided to develop a free, high-quality alternative. SunPy was then born, a python module developed by volunteers completely in the open with strict quality controls and properly versioned, tested and documented. For the first time in my years as postdoc I can contribute to SunPy during working hours.
Additionally, at work - here and in the four previous countries I've worked in - I have organised regular meetings about programming to teach people computing tools and good practices (Armagh, Dublin, Finland - on private wiki -, South Africa, MSSL) In my free time, besides contributing to SunPy, I am also involved with a citizen science project called Sunspotter, where we ask volunteers to help us classify sunspots by complexity, therefore helping to improve the forecasting of solar flares. I am the main person analysing the data and interacting with the Spanish speaking community (discussing doubts in the forum and writing blog posts).
Fields of expertise: Research software engineering, education, open source, open science