Almost fixed - was for some reason going unstable after a few seconds sim time. Think this was because I didn't let the timestep change fast enough downwards to maintain the CFL condition