Home / News / News & Events / Research placements – buildings skills that last

Research placements – buildings skills that last

Oliver Kotla joined the National Centre for Atmospheric Science as part of the STEM Learning UK research placement and experiences scheme – designed to offer Year 12 students real-life workplace experience in the STEM sector.

The focus of Oliver’s 2 week placement was their development of new Python ‘recipes’. Python recipes are short code examples that can be used to improve coding efficiency, solve common coding problems, and interpret different kinds of datasets whatever their storage backend.

The Python recipes were added to a code library that atmospheric scientists can now access and use for tasks, such as visualising climate data.

Eager to explore their coding skills, they worked alongside Sadie Bartholomew who is a computational scientist at the National Centre for Atmospheric Science and University of Reading.

The skills and experiences I picked up over the course of my research placement will prove indispensable as I head into university and on to the workplace, and I would wholeheartedly recommend a placement at NCAS to anybody interested in computing and the Earth sciences!

– Oliver Kotla

We spoke to Oliver and Sadie about the placement:

Why did you come up with this research placement idea?

“The software libraries cf-python and cf-plot are developed and maintained in-house by a team in Reading at NCAS-CMS, including myself. Over the past few years we’ve initiated a section of short code scripts we call ‘recipes’ which are designed to demonstrate how the libraries can be used in practice to achieve specific results with real datasets, such as generating a given plot or calculating a statistic of some sort. For instance, there are recipes to showcase regridding; finding and plotting temperature anomalies and measures such as relative vorticity; and even to plot the warming stripes.” – Sadie Bartholomew

How did you work together and what did you take away from the experience?

“There is a lot of flexibility for what makes a good recipe, so the idea was to help Oliver learn about cf-python and cf-plot (as well as background to NCAS and environmental science) to begin with, and then let him choose a topic or two to explore more closely to lead to at least one recipe. We worked in a way that encouraged Oliver to work independently to study the libraries and their capabilities, but with regular check-ins (and plenty of teaching to start off with) for any questions and discussion.

“In mentoring and teaching others you tend to learn a lot yourself and Oliver’s questions often made me think deeply about why we design our library and its functionality in particular ways, to cater to the needs of end users, most often scientists. Also Oliver uses some tools which I was not (so) familiar with for note taking and coding, so he taught me plenty about alternative ways of working.

“Above all we take away three great new recipes for our recipes collection which Oliver created, which we hope will be very useful references to those who use cf-python and/or cf-plot.” – Sadie Bartholomew

Why do you think it’s important for people who want to pursue science to have placement opportunities and mentoring experiences?

“I also completed a Nuffield Research Placement (as it was then called) back when I was Oliver’s age, at Newcastle University’s Department of Chemistry, developing educational resources for studying crystals under the microscope. It was very rewarding to be able to work for a short while in a proper scientific environment. For one, you get access to much better resources than in the school lab/classroom – vastly more sophisticated equipment to play around with (with care)! – and can tap into the wealth of expertise and experiences of your supervisor and other staff.” – Sadie Bartholomew

My own experience of doing a placement motivated me to give back to the younger generation by hosting placements myself with the support of NCAS, Oliver being my third summer student so far.

I saw how being embedded in a real research environment allows you to appreciate that a career in science, be it a scientist or in a supporting role such as a Research Software Engineer or technician, etc. is an exciting and accessible career and visualise yourself there. I hope Oliver felt the same about his placement.

– Sadie Bartholomew

What was involved in developing the Python recipes?

“On my first day at NCAS-CMS, Sadie introduced me to the Python libraries I’d be working with over the course of the placement; I had a look at the recipes written by previous research placement students and we came up with some ideas for new ones based on the parts of the libraries we thought could be explored further.

“Sadie helped me set up the development environment I’d be using, and I began working on a few of the ideas to see which ones could come together as a full recipe. I don’t have a background in Earth science so, for one recipe, I decided to focus on cf-plot’s integrations with the Matplotlib library, which I had worked with in the past. The tricky part was diving into cf-plot’s source code to find an undocumented variable I could use to hook the two libraries together.

“Once the three recipes were wrapped up, I presented them back to Sadie for feedback and then we compiled them into pages for the gallery.” – Oliver Kotla

What were your highlights from the placement?

“While writing a recipe to plot a wind rose from data gathered across a particular region (inspired by what I still remember from secondary school geography), I came across a bug in how one of the functions in cf-python converted between units; I brought it up to Sadie and she showed me the process of making contributions to the cf-python codebase. I got to work writing and testing a patch for the operation which I was then able to push to cf-python’s source code. It feels great being able to make a helpful – albeit small – contribution to a huge project like that!” – Oliver Kotla

What did you find most valuable? What was surprising?

“Whilst at Reading, I had a wonderful time meeting the rest of the team from NCAS-CMS. Everybody was super welcoming and it was a delight to learn what everyone was working on.

“My office partner, David, talked me through his work on the JULES land-surface model, which feeds land surface data into the Met Office Unified Model. I was, admittedly, surprised that the model was written in Fortran, though it led me to start learning the language myself after my placement!” – Oliver Kotla