Imperial College Research Software Community Newsletter - May 2023

Welcome to the May issue of our community newsletter. This month has seen a number of research software-related events, including workshops and conferences. Maybe you’ve been to or participated in one or more of these yourself?

The start of the month saw the Software Sustainability Institute’s Collaborations Workshop which returned to offering an in-person attendance option this year. Taking place in Manchester and online, this was an excellent event with a strong representation from the Imperial RSE community at both the core two-day event and the subsequent hack day.

Later in the month, another event took place that often welcomes a number of members of the research software and computational science communities. ISC High Performance was held at the Congress Centre Hamburg in Germany and attracted more than 3,000 attendees, again including some Imperial colleagues.

If you didn’t manage to make it to these or, indeed, other conferences, workshops or community events in the last month, there’s lots more coming up in June and beyond so read on to find out more!

Dates for your diary

Research Computing at Imperial

Our Research Software Champions are continuing their work as part of a current project on improving the culture around research software and use of research software best practices at Imperial. This month we’re introducing another two of our Champions. We’re also introducing Dr Lokesh Ragta who, as we mentioned in last month’s newsletter, joined the central RSE team in March 2023 as a Senior Research Software Engineer.

Research Software Champions

The two Research Software Champions we’re introducing this month are both based in the Department of Chemistry and have been working together to better understand how research software is built and used in the department:

Don Danilov

I’m a final year doctoral candidate at the Department of Chemistry. My research is focused on computational simulations of photochemical dynamics. This area of chemistry seeks to describe the behaviour of molecular systems interacting with light (for example through radiative processes like fluorescence & phosphorescence). This field has a wide range of applications in the design of dyes, solar panel materials and photochemical catalysts. My project deals primarily with understanding how light could be used to steer chemical reactions. Most of our high performance code is written in Fortran (an old language that predates C) with most of the analysis being done in Python, with the occasional use of Mathematica. I wanted to join the software champions scheme because I feel that software, as a research output, is hugely undervalued. Having had an internship in commercial software development I think that there are some relatively easy software development practices most research groups could adopt to greatly improve the accessibility and reliability of their software.

Giacomo Fabrini

Hi there, I’m a final year PhD student in the Chemistry department coming from a Materials Engineering background. My PhD research focuses on nucleic acids nanotechnology approaches for synthetic biology, that is I try to engineer and characterise nanostructures made of nucleic acids which assemble into condensates capable of mimicking the morphology and function of some organelles within living cells. My work is predominantly experimental and it mostly comprises various kinds of imaging. I then analyse microscopy data to characterise the self-assembly of my nanostructures from a kinetics and morphology perspective using custom Python 3 scripts mostly relying on computer vision packages such as OpenCV (cv2). On the side, I am very passionate about Data Science and Machine Learning and I constantly try to improve my scientific coding abilities. I signed up for the Research Software Champion programme because, while I recognise the importance of proper documentation and reproducibility of code and analyses presented in publications, I know this is often not taken in proper consideration in highly experimental research communities. To raise awareness of the importance of best practices in software development, good documentation and analysis reproducibility, together with Don, the other Champion within Chemistry, we have conducted a Chemistry research community-wide survey to evaluate the current status quo, as well as gauge what people would like to learn more of. Accordingly to the latter responses, we will try to organise two workshops, one on Python for Data Science and another on HPC use before the end of July.

Research Software Engineering Team

Now on to Imperial’s central RSE team where we hear from the team’s newest member, Lokesh Ragta:

I have a PhD in Applied Mechanics (specialisation in computational fluid dynamics) from IIT Delhi, India. During my PhD, I was involved in the development, parallelisation and optimisation of code named Unified Gas Kinetic Scheme (UGKS) which is a finite volume based Boltzmann Solver. It was during this time that I learnt the basics of parallel programming APIs such as MPI, OpenMP and decided to pursue a career in the same.

My first job after PhD was in an industrial R&D centre at ABSTCPL, Mumbai, India. This was the first time when I used commercial software to solve fluid flow and particle based simulations. However, I was more inclined to software development rather than using commercial software. Therefore, I decided to pursue my interest in the field of Scientific computing.

Later, I joined as CFD and HPC scientist at STFC Daresbury Laboratory, UK in September 2018 where I worked for two years. During this role, I was exposed to formal software development practices such as version control, clean code, unit testing etc. Later, I joined as a RSE at the University of Leicester in Jul 2020. There, I worked on various projects ranging from benchmarking of existing codes on the HPC cluster, development of new features in LFRic code, development of tutorials and user documentation etc.

I like RSE roles because these roles are intermediate between a researcher and a software engineer. I also like to work with various researchers on their code base so that they can leverage the maximum potential of the available hardware resources. In addition RSE roles also gives me an opportunity to develop and conduct mini workshops for students where we teach basics of HPC, programming, version control etc.

I am always open to have a conversation with the fellow RSEs, researchers, students etc. Please feel free to connect with me at: https://www.linkedin.com/in/lokeshragta/.

Research Software of the Month

This month, we’re again making a call for you to suggest software for the RSotM feature in future newsletters. Do you have a piece of research software that you work on and you’d like to see highlighted in this column? Have you used other research software, that has an Imperial link, that you’d like to tell the community about? Maybe you are using some open source software as part of your research workflow that doesn’t have a link to Imperial but you think is something we should all know about!

We’ll be hearing about some more Research Software of the Month in our June edition but in the meantime, why not get in touch with your suggestions for RSotM at rse-committee@imperial.ac.uk.

RSE Bytes

News

Blog posts, tools & more

Some reminders…

RS Community Slack

The Imperial Research Software Community Slack workspace is a place for general community discussion as well as featuring channels for individuals interested in particular tools or topics. If you’re an OpenFOAM user, why not join the #OpenFOAM channel where regular code review sessions are announced (amongst other CFD-related discussions…). Users of the Nextflow workflow tool can find other Imperial Nextflow users in #nextflow. You can find other R developers in #r-users and there is the #DeepLearners channel for AI/ML-related questions and discussion. Take a look at the other available channels by clicking the “+” next to “Channels” in the Slack app and selecting “Browse channels”.

If you want to start your own group around a tool, programming language or topic not currently represented, feel free to create a new channel and advertise it in #general.

Research Software Engineering support

If you need support with your code, seek no more! The Central RSE Team, within the Research Computing Service is here to help. Have a look at the variety of ways the team can work with you:

HPC documentation and tips

All the documentation, tutorials and howtos for using Imperial’s HPC are available in the HPC Wiki pages. See also the Research Computing Service’s Research Computing Tips series for a variety of helpful tips for using RCS resources and related tools and services.

Research Software Directory

Imperial’s Research Software Directory provides details of a range of research software and tools developed by groups and individuals at the College. If you’d like to see your software included in the directory, you can open a pull request in the GitHub repository or get in touch with the Research Software Community Committee.

Get in Touch, Get Involved!

Drop us a line with anything you’d like included in the newsletter, ideas about how it could be improved, or even offer to guest-edit a future edition! rse-committee@imperial.ac.uk.

If you’re reading this on the web and would like to receive the next newsletter directly to your inbox then please subscribe to our Research Software Community Mailing List.


This issue of the Research Software Community Newsletter was edited by Jeremy Cohen. All previous newsletters are available in our online archive.