Programmed for scientific success

As computer programming has advanced from the starting blocks laid down by Ada Lovelace, it has become indispensable to science. With data being vital to many HR Wallingford projects, an ever increasing number of our scientists and engineers now have programming know-how as part of their skills sets.

Since Ada Lovelace’s pioneering work in the first half of the 1800s, programming had made huge strides and become of massive benefit to a wide range of fields. At HR Wallingford, for instance, we use coding to model water quality, collision risks for fish, wave conditions and underwater noise – and those are just a tiny handful of the projects led by our female scientists, flying the flag high for the trailblazing Ada.

Programming has been a core part of our organisation’s skills set right from its beginning, for example for numerical modelling and to control instrumentation in the physical modelling halls. The rise in computing power over the last decades, enabling us to extract value from ever larger sets of data, has resulted in most of our projects now requiring some coding. Quite often it is possible to re-use our previously built models, adapting them by adding new lines of code. At the other end of the spectrum, we have a dedicated informatics team that work on projects which require the full software development lifecycle including both desktop and web applications.

Jane Mauz

For example Jane Mauz, a principal scientist in the informatics team, has developed software for applications including water quality modelling, flood risk mapping and climate change impacts. Her specialism is geospatial data. She typically uses Python to write new software, as well as for writing shorter scripts to help others in the company extract value from their data.

“Across the company, scientists use a wide range of languages – such as Matlab, Fortran, C#, R, Java, and of course Python – as the range of work requires a variety of tools,” Jane explains. “Over the last few years there has been increasing demand for web dashboards that provide a live view of clients’ data, so we have expanded our capability in web development using HTML, CSS, JavaScript, Python and Flask.”

Dr Kate Rossington, who specialises in modelling coasts and estuaries, typically uses Matlab and Fortran when coding for her work. Like Jane, the projects that she works on sometimes require her to develop new models and sometimes to adapt existing ones. If a data set needs analysing, and it’s too big for Excel,  she writes the code in Matlab.

Kate Rossington with Tom Benson and the fish encounter model

“One interesting programming project I’ve worked on was a fish encounter agent-based model – to investigate fish collisions with underwater turbines,” she explains. “Starting with our existing agent-based model I used published algorithms to write a program in Matlab that would predict when fish passed close to an underwater turbine and calculate the likelihood of it colliding, being injured or killed. This program allows us to predict the impact of tidal turbines on fish populations and has the potential to help estimate the environmental impacts of tidal turbines at different locations.”

Dr Olivia Bentley, who works on projects that model and analyse waves to help solve problems relating to coasts and oceans, mainly codes with Python, and sometimes Fortran.

“I use my programming skills on a daily basis for analysing data,” explains Olivia. “A lot of our metocean analysis tools are already in existence, so much of my work is in editing the code. When I do write new code it is often to solve a problem, for instance automating animation of sea ice model results in QGIS. I have also written code to help visualise results, and to generate plots and tables automatically into a Word document formatted in HR Wallingford style. 

“I like projects when we write from scratch and think out of the box – when you have an inkling that code should be able to solve a problem, and you can actually make it work. Even when not coding from scratch, it’s useful to have some programming knowledge to know what you are looking for when editing. I think it’s pretty difficult to do any science without some knowledge of programming now.”

Olivia Bentley

Many new graduates, not surprisingly therefore, now arrive at HR Wallingford already knowing how to program. They may know different languages to what they subsequently need for projects here, but that gives them the building blocks to learn new ones. Plus, the experts in the informatics team are always on hand to advise less experienced programmers. 

Kate, Jane and Olivia all learned to code at university. Kate had to learn to code for her PhD. She started modelling her estuarine model in Excel, but soon realised it wasn’t capable of meeting her needs, so taught herself Visual Basic and Fortran. Olivia learnt python, C and Matlab as part of her undergraduate course and then got in a lot of coding practice when she ran numerical models for her PhD thesis. To be able to interact with her model of turbulent vertical mixing in the ocean, she had to write various plotting and analysis scripts along with short scripts to set the initial states of the model in Python. Jane touched on programming in her undergraduate degree, but it was a substantial part of her Masters in GIS, which combined her love of informatics and geography.

“Learning programming of course doesn’t stop after university,” Jane points out. "It’s important to keep your knowledge up-to-date, as the pace of change is so fast. There is always more to learn – new languages, technologies and methods.”

Over the years, our scientists and engineers have made sure that they keep abreast with developments and have used programming to maximum benefit for our projects. As computer power keeps rising, and new techniques emerge, they will continue to make the most of developments in a discipline that Ada set in motion with her early programming almost 200 years ago.

Contact us for more information
Press Office
Press Office
+44 (0)1491 822854