PyCUDA shallow water equations finite volume solver