Software and research: the Institute's Blog

Latest version published on 5 December, 2017.

Software use in researchBy Daniel S. Katz, University of Illinois Urbana-Champaign, Robert Haines, Research IT, University of Manchester, David Perez-Suarez, Research IT Services, UCL, Alexander Struck, Humboldt-Universität zu Berlin

Nowadays, software is used in most research. But how the software is created, used, and what it depends on are not well understood questions. The importance of such knowledge varies based on the motivation of the reader. On one side, we could be interested in the impact of the software, how many times it has been used and by who. This type of analysis could come, for example, from funding bodies and organisations to reward the creation of something and help its sustainability, from institutions who hire people behind that software, or from the software authors to get an understanding of the needs of their users or simply to get credit for their work. Another motivation may be trying to understand the research being carried out with a particular software or set of tools either for purely academic purposes (e.g., by historians and scholars of science) or with a commercial perspective (such as by intellectual property teams from universities for the monetisation of the software). Some other purposes have to do with reproducibility and provenance: for example, how do we know which calculations need to be repeated if a bug is discovered in a particular version of software?

Looking for software in research is one of many topics…

Continue Reading

Latest version published on 5 December, 2017.

research software project managerShoaib Sufi, Software Sustainability Institute, Robin Dasler, CERN, Chris Edsall, University of Bristol.

This post is part of the WSSSPE5.1 speed blogging series

The accidental research software project manager

For many, the role of research software project manager (RSPM) may be an accidental calling. The career path for this role isn’t well-established, and research software development in academia may itself be something of a haphazard, nigh-accidental byproduct of conducting domain research. Individuals approaching this role may have little to no wider industry experience, instead approaching the project manager role from research or research software engineering.

For those in a RSPM role who do not have prior industry experience, there is no solid basis for comparison between industry best practices for software development and the observed practices of the research environment, nor even any sense of whether or not best practices between industry and academia should be identical. How do those in this position gauge whether the practices in place in their particular work environment reflect how a project should be conducted versus how it has always been conducted? And to what extent could this lack of relevant…

Continue Reading

Latest version published on 30 November, 2017.

We would like to invite everyone working on research software in the Netherlands to complete the RSE survey and spread the word.

The Netherlands Research Software Engineer community (NL-RSE) was started to gain insight into the various communities of RSEs in the Netherlands and increase the interaction between them. The RSE surveys in the UK in 2016 and 2017 [1, 2] have allowed to gain valuable insights and spread the word about the RSE movement. That is why the Netherlands eScience CenterePLAN (Platform of eScience/Data Research Centres in the Netherlands), NL-RSE, and the UK RSE Association are organising this survey for 2017 in the Netherlands.

The study is conducted by the University of Southampton on behalf of the Software Sustainability Institute and complies with University of Southampton ethics guidelines (reference no.: ERGO/FPSE/30610). The investigators are Simon Hettrick and Olivier Philippe. Contacts in the Netherlands are Ben van Werkhoven and Tom Bakker from the Netherlands eScience Center.

[1]: See RSE State of the Nation Report 2017, page 21.

[2]: See UK-…

Continue Reading

Latest version published on 29 November, 2017.

Best practice for scientific softwareBy Damien Irving,  climate scientist

This post was originally published on the Dr Climate blog.

Code written by a research scientist typically lies somewhere on a continuum ranging from “scientific code” that was simply hacked together for individual use (e.g. to produce a figure for a journal paper) to “scientific software” that has been formally packaged and released for use by the wider community.

I’ve written at length (e.g. how to write a reproducible paper) about the best practices that apply to the scientific code end of the spectrum, so in this post I wanted to turn my attention to scientific software. In other words, what’s involved in turning scientific code into something that anyone can use?

My attempt at answering this question is based on my experiences as an Associate Editor with the Journal of Open Research Software. I’m focusing on Python since (a) most new scientific software in the weather/ocean/climate sciences is written in that language, and (b) it’s the language I’m most familiar with.

Hosting

First off, you’ll need to create a repository on a site like GitHub or Bitbucket to host your (version controlled) software. As well as providing the means to make your code available to…

Continue Reading

Latest version published on 28 November, 2017.

ReproducibilityBy Geraint Ian Palmer, Cardiff University.

A first version of this post was originally published on Geraint's blog.

There is a reproducibility crisis in science.

In computational science this is completely avoidable: if we can tell a computer what to do, we can tell it to do it again - and we can tell other people how to tell their computer to do it again.

In the domain of discrete event simulation, however, the software and methodologies that are traditionally used can make it difficult to reproduce the simulation results. In a recent preprint I have submitted with Dr. Vincent Knight, Prof. Paul Harper and Asyl Hawa, we compare simulation approaches in terms of reproducibility and best practice, and introduce Ciw, a Python library for discrete event simulations of queueing networks that is designed to facilitate…

Continue Reading