Flooding forced the evacuation on Friday of some 100,000 people in Calgary and nearby towns in the heart of the Canadian oil patch.

Schools were closed and the military sent in two helicopters and hundreds of troops to help clear as many as 24 neighborhoods as heavy rains caused the Bow and Elbow Rivers in western Canada to overflow their banks.

Calgary Mayor Naheed Nenshi urged residents to gather their belongings and flee. He told them to expect to be away from their homes for a few days while police patrolled streets shouting evacuation orders over loudspeakers.

Television footage showed swift currents carrying away cars and destroying homes in nearby towns.

With more rain forecast over the weekend, water levels are expected to continue rising in the city of one million people that hosted the 1988 Winter Olympics, before cresting.

Twelve communities in surrounding Alberta province meanwhile have declared a state of emergency, and mudslides forced the closure of the Trans-Canada Highway, isolating the mountain resort town of Banff.