As computational scientists a significant part of our time is spent writing code, or supporting others to write code. Some of this code is written to submit and manage calculations which run on various supercomputers (primarily Archer, the UK national supercomputer), and some is used to analyse and extract meaning from the output of these calculations (numbers –> physics). We are largely self-taught programmers and usually have little in the way of formal training. However there are some effective strategies for learning: 1) teaching basic programming skills (Software Carpentry) to other researchers; 2) publishing with or reviewing for the Journal of Open Source Software, a peer-reviewed journal for research code.
The code we write relies heavily upon open source tools, some of which are listed on a personal roadmap. Through a fellowship with the Software Sustainability Institute we have developed resources so that other researchers have the skills in place to publish their code.
Research software and scripts
ThermoPot: An ab-initio thermodynamic modelling packageRepository
CarrierCapture.jl: Anharmonic carrier captureRepository | Paper
Effmass: An effective mass packageRepository | Paper
Vesta_vectors: Visualise atomic displacementRepository
Scripts for job submissions, analysis and publicationsRepository
Teaching software
ChooChoo the Checklist ToolRepository
Other software
Dotspace command lineRepository | Info
Dotspace web app (aka Grain Generator) - unmaintainedRepository | Info
Singing Materials)Repository