A local time stepping algorithm for GPU-accelerated 2D shallow water models