github.com/rse-standrewscs/shallow-water TL;DR: Rewriting isn’t always bad, Amdahl’s Law is important and memory bandwidth is a potential bottleneck when doing many simple double precision math operations Introduction As part of an Undergraduate Research Assistant Scheme in my first year of university I was tasked with parallelising a piece of shallow water simulation software written in FORTRAN by Dr David Dritschel of the Vortex Dynamics Research Group, under supervision of Dr. Alexander Konovalov, at the University of St Andrews.