If you try this example in IPython, you'll see that `grid_shape == (4, 1, 1)`, which is as it should be.  The logic in this method only cares about the distributed dimensions.  Ones are appended to `grid_shape` after this function is called to pad it out appropriately.