A Vertical Sorting Model for Rivers with Non-uniform Sediment and Dunes