different approach to step function in shallow_water