It’s July, summer is here (apparently!), the College is much quieter as we’ve reached the end of term, but there’s still lots going on in the world of Research Software Engineering. Whether you are taking a break during August, or you’re working through the summer, I hope you find something of interest and some inspiriation from our selection of items in this month’s newsletter.
This month we continue our popular profiles of people working in the research computing and research software fields at Imperial. As AI continues to feature regularly within the news, we highlight some tools that might be of interest if you’re looking to bring AI-assistance into your software development workflow. We also have our regular digest of upcoming events, activities and deadlines so read on to find out more…
There’s still just time to submit an abstract to the RSEs in e-Science Workshop - the deadline has been extended to Monday 31st July 2023. This workshop is part of the IEEE eScience 2023 conference, taking place in Limassol, Cyprus from 9th-13th October 2023.
The deadline to register for in-person attendance at RSECon23, the 7th Annual Conference for Research Software Engineering, has also been extended to Monday 31st July 2023. The conference will take place in Swansea on 5th-7th September 2023. This is the main annual event for members of the RSE community in the UK and beyond and it provides a great opportunity for networking and collaboration, and to find out what’s happening across the community through a wide range of talks and posters.
Nominations are now open for trustees of the Society of Research Software Engineering. Every year at the Society AGM, which generally takes place at RSECon, members vote on the appointment of trustees and this is your choice to nominate yourself for election. If you’d like to find out more about being a trustee and what it involves, take a look at “Everything you wanted to know about being a Trustee of the RSE Society but were afraid to ask”! Nominations close on Friday 4th August 2023.
To be held as part of this year’s SuperComputing conference (SC23), the Research Software Engineers in HPC (RSE-HPC-2023) workshop is currently accepting abstract submissions. The deadline is Friday 11th August 2023.
The Alan Turing Institute, in collaboration with UCL and the Universities of Edinburgh, Newcastle and Cambridge, have been running a series of workshops on Educating Engineers for Safe AI. The first two events have passed but the final workshop in the series takes place in Newcastle on the 15th-16th August 2023.
The hidden REF Festival takes place in Bristol on 21st September 2023. Registration is now open.
Registration is now open for International Data Week 2023: A Festival of Data, taking place 23rd-26th October 2023. This will be a hybrid event taking place in Salzburg, Austria. In addition to a range of talks, the event also hosts working group meetings for Research Data Alliance WGs.
National RSE community conferences: Both the German and US research software communities are running conferences over the coming months. On the 26th-28th September 2023, the German RSE community (deRSE) will run their deRSE Unconference in Jena, Germany, which follows on from the main deRSE conference that took place earlier in 2023. US-RSE will run their first conference, US-RSE 2023 on 16th-18th October 2023 in Chicago, IL.
Over the last few months, we’ve been highlighting members of the Research Software Champions scheme in this section. The project which supported the setup and running of the Champions scheme is now coming to a close and we thank our Champions for all their excellent work raising awareness of the importance of research software within their departments.
This month we hear from Rich FitzJohn who leads the RESIDE Research Software Engineering team:
I run the RESIDE RSE team within the MRC Centre for Global Infectious Disease Analysis in the School of Public Health at Imperial. Our team supports a large group of computational epidemiologists, most of whom could be considered RSEs as they primarily work in code, writing simulation or statistical models. My team’s work with the researchers focusses on scaling their work - reducing the “time to model” through new libraries and frameworks, increasing the robustness and reproducibility through better tooling and workflows and in delivering research to stakeholders and end-users (often in resource-poor environments) through bespoke web applications.
Before coming to Imperial College in 2015, I had a highly collaborative research career, starting with Manaaki Whenua/Landcare Reseach in NZ building databases, through to a postdoc at Macquarie University working with industry software engineers and ML specialists. I find collaborative work very rewarding, particularly when you find the thing that a group can build together with their joint expertise that none of the constituent parts could manage.
The best thing about my work is being able to see the results of the work my team or I do put into practice immediately, along with the varied nature of what needs doing. Throughout the COVID-19 response I was working directly with the researchers and we were coping with a changing data landscape while helping implement new statistical methods that were put into use right away - a level of impact that it’s hard to imagine in most other jobs!
This month we highlight a code developed by the Pore-Scale Modelling and Imaging group in the Department of Earth Science and Engineering: pnextract - pore-network extraction
Flow in porous media is ubiquitous in natural and manufactured settings, from rainfall falling on soil and transpiration in plants, to filling a baby’s nappy and fluid exchange in electrochemical devices, such as electrolysers and fuel cells. Underground, most of the world’s fresh water is held in porous rock and soil, while deeper formations may contain oil and gas; otherwise the pore space is filled with salty water which can be displaced to store carbon dioxide or hydrogen. The design and management of flow processes in porous media require accurate tools for analysis and modelling. The advent of micron-resolution three-dimensional X-ray imaging has allowed us to image the pore space and the fluids within it. However, how do we make sense of images that often contain 10s of billions of voxels?
pnextract is an open-source software written in C++ that extracts pore networks from images or statistical reconstructions of porous materials. These pore networks preserve the topology of the pore space and also calculate other parameters, such as the pore size distribution, interfacial area and volume needed for analysis and simulations.
The program has been used thousands of times by hundreds of researchers around the world for a variety of applications. These include manufactured porous media, particularly those found in electrochemical devices, such as the characterization of porous electrodes in batteries to create a digital twin, and to predict and design the performance of fibrous materials used in electrolysers and fuel cells. The tool has even been used to quantify the efficiency of surgical masks. The other main application is to study natural porous media – rocks, soils, coal and gas hydrates – for applications in hydrocarbon recovery and carbon dioxide storage, as well as contaminant transport. Here the characterization of the pore space is a powerful tool to enable the prediction of flow properties to manage subsurface recovery and storage projects.
In the commercial domain, the original developer of the method, and a former PhD student, Dr. Hu Dong, has founded a successful start-up company, iRock Technologies, based in Beijing to develop network extraction and other tools to provide rock characterization services to the energy industry.
For more in-depth understanding of the code, users can refer to specific papers related to this topic, which may provide additional insights [1, 2].
Network extraction is normally the first step for further analysis and modelling, to predict flow and transport processes in porous materials, and to analyse three-dimensional images. For over 20 years Imperial College has pioneered new techniques in imaging, analysis and modelling of porous media. We also host a suite of codes for modelling and image analysis which complements the network extraction code at https://github.com/ImperialCollegeLondon/porescale. Overall, our code repository provides an open-source resource to the community, including colleagues in industry as well as in academia, for the analysis, characterization, and prediction of processes in porous media with a wide range of applications.
Please visit our webpage to become more familiar with what we are doing.
Last month we highlighted that the Byte-sized RSE series of short tutorial sessions covering key RSE skills has now come to an end. We’re pleased to announce that there are plans for a second series of these sessions beginning in the autumn and this time we’re looking for contributors to run sessions. If you’d like to run a session on a topic that you think researchers and RSEs would benefit from learning about, let us know at rse-committee@imperial.ac.uk.
A new Research Data Alliance / Research Software Alliance Working Group Policies in Research Organisations for Research Software (PRO4RS) is currently being set up and you can now join the group if you’re interested to engage with it’s activities.
The RSLondonSouthEast 2023 workshop took place at Imperial on Monday 17th July 2023. A group of around 70 researchers, RSEs and other Research Technology Professionals came together for a programme of talks, discussion and networking. It’s clear from feedback that the attendees enjoyed the day and the organisers look forward to running the workshop again in 2024.
Are you curious about Large Language Models (LLMs) and how AI chatbots such as ChatGPT work? Take a look at this article from New Scientist: How does ChatGPT work and do AI-powered chatbots “think” like us?
And, also on the theme of AI, while there’s no doubt that recent developments are impressive, can AI models get as far as understanding humour?! The article Do androids laugh at electric sheep? Study challenges AI models to recognize humor by Tom Fleischman of Cornell University, published on TechXplore, reports on a study investigating this question.
A number of new Code for Thought podcast episodes have been released over the last few weeks, including a couple of further episodes in German. Listen to Peter Schmidt talking with Teresa Gomez-Diaz from Université Paris Gustave-Eiffel about Open Data and Open Software. Peter has also been speaking with Nick Radcliffe about “Test Driven Data Analysis”
Making the case for undertaking research into Research Software Engineering, the preprint Toward Research Software Engineering Research has been prepared by a group of authors from the German RSE community.
While many of us enjoy nothing more than some time spent writing code, what if you’re finding coding to be a bit much of a chore?! The world of AI-assisted coding is advancing rapidly and could be here to help you!
Following on from a recent AI-assisted coding workshop/hackathon run at Imperial by the Graduate School’s Research Computing and Data Science Skills team, we thought we’d highlight some of the tools that are out there in this space.
Maybe you’ve tried some of these yourself. Maybe you even use them regularly as part of your software development workflow?
Perhaps the most widely talked about and best known tool out there at the moment is OpenAI’s ChatGPT. There are many articles looking at using ChatGPT to write (or help with writing) code, for example “Coding with chatGPT”. However, there are a number of other tools that focus specifically on writing code.
GitHub offers Copilot while Amazon has released CodeWhisperer.
Replit provides an online software development environment that now also includes AI assistance in the form of their Ghostwriter tool.
Focusing more on code completion - i.e. you write code, it offers possible completions of lines or even whole functions! - is tabnine
These are just some examples of a wide range of tools and services that are available in a space that is changing and growing incredibly rapidly.
Want to tell members of the Imperial research software community about your experiences with AI-assisted coding? Maybe you’d like to run a tutorial on a tool you love to use that has revolutionised your coding practices? Maybe you’ve tried out a few different options and have some useful feedback for the community? Maybe you’d just like to tell us what you use and why. Feel free to get in touch with the Community Committee at rse-committee@imperial.ac.uk.
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.
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:
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.
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.
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.