Punjab is facing one of its worst floods in decades, with the Sutlej, Beas, and Ravi and several seasonal rivulets in spate due to heavy rain across north India.