This site is using cookies to collect anonymous visitor statistics and enhance the user experience.  OK | Find out more

Skip to content
Natural Environment Research Council
Grants on the Web - Return to homepage Logo

Details of Award

NERC Reference : NE/Y003616/1

Software Development for Earth and Environmental Scientists: Reproducible Research through Reusable, Reliable Code

Training Grant Award

Lead Supervisor:
Professor DM Schultz, The University of Manchester, Earth Atmospheric and Env Sciences
Science Area:
Atmospheric
Earth
Freshwater
Marine
Terrestrial
Overall Classification:
Atmospheric
ENRIs:
Biodiversity
Environmental Risks and Hazards
Global Change
Natural Resource Management
Pollution and Waste
Science Topics:
Software Engineering
Software Maintenance
Software Reliability
Software Reuse
Abstract:
Much of modern research is conducted using complex analysis or simulation software. To help ensure that research is reproducible, this software needs to be accessible and usable by others. It should be well written, documented, and archived using a version-control system allowing the tracking of critical changes. However, such software is often not written by dedicated software engineers, but by researchers who have not had time nor resources to properly learn these skills. This deficit in skills has led to a longstanding scientific "replication crisis" where many published, peer-reviewed papers cannot be independently reproduced. Many open communities, such as The Carpentries (https://carpentries.org/) and research software engineers (RSEs; https://society-rse.org/), have worked over the past decade to address this training gap by providing foundational coding and data training to researchers. However, an internal RSE survey conducted by the Software Sustainability Institute (SSI) reports a need for more intermediate-level training to help researchers with the next steps after gaining basic coding literacy as research software-related projects are becoming more complex, require larger development teams, and involve more stakeholders. Such an intermediate-level, discipline-specific course was piloted at the University of Manchester from 27-31 March 2023 to 35 NERC postgraduate students and researchers from around the UK. The workshop followed The Carpentries style of delivery (instructor-led code-along sessions), but was also enhanced with individual self-learning sessions, as well as team exercises and working in small groups with dedicated team instructors on-hand to help. In addition, students were encouraged to bring their own research problems and own research data, and we allowed time during the course for them to apply the lessons learnt to their research and with the support of on-hand instructors. The course received overwhelmingly positive feedback, with 87% of students saying that they would be likely to use the skills learned during the course in their present and future work. We propose to update and refine the course based on the feedback collected from the first cohort and deliver the course again for a similar number of participants in 2023/24. Participants will learn advanced, transferable skills in software engineering and version control, helping them to cooperate with peers on their software development tasks. We will train participants in setting up and maintaining a development environment that can be defined, captured, and recorded to support generating repeatable research. Participants will learn best practices and advanced tools for collaborative code development, including code review for rigorous inspection and early code-error and defect detection. They will also learn through doing that "good" code has a modular structure, has been formally tested, is documented, is easy to read, and is self-explanatory. Such training will help them reduce the "technical debt" that causes many of the common issues encountered with legacy research software and will show them how software can be sustainably managed. Following these principles, participants will be able to reuse their code in new research by producing libraries of useful functions. We will tailor this course for the NERC audience, by replacing the original code examples, datasets, and exercises with NERC-relevant equivalents. Training and learning outcomes of the course will include students gaining intermediate-level general software engineering skills, making them highly employable both within academia and industry. Students will also have opportunities to apply these skills to their own work during the course, supported by the on-hand expert helpers.
Period of Award:
1 Nov 2023 - 31 Jan 2025
Value:
£59,503
Authorised funds only
NERC Reference:
NE/Y003616/1
Grant Stage:
Awaiting Completion
Scheme:
Doctoral Training
Grant Status:
Active

This training grant award has a total value of £59,503  

top of page


FDAB - Financial Details (Award breakdown by headings)

Total - Other Costs
£59,503

If you need further help, please read the user guide.