The dinosaurs were wiped out 66 million years ago because a massive asteroid hit vast oil deposits in Mexico, sending thick black smoke into the atmosphere all over the world, according to a new study.

Soot blocked out the sun, causing the planet to cool significantly and experience devastating droughts.

The amount of sunlight would have fallen by up to 85 per cent, while the Earth would have cooled by as much as 16 degrees Celsius on land for about three years.

At the same time, rainfall would have fallen by up to 80 per cent causing extreme drought.

In a paper in the journal Scientific Reports, the researchers wrote: “Although small mammals and reptiles could have lived underground where it is warmer, the dinosaurs did not.

“The different habitats of the dinosaurs and small mammals and reptiles would also have been key factors in determining their extinction or survival.”

The six-mile-wide asteroid, which hit what is now the Yucatan Peninsula, created the third-largest crater on Earth, some 110 miles across.

It struck the Earth with the force of about a billion nuclear bombs of the size that destroyed the Japanese city of Hiroshima during World War Two.

It had been something of a mystery why some dinosaurs had died out while others, like the ancestors of crocodiles, did not.

Previously it was thought that the impact caused vapours of sulphuric acid in the sky, which reflected sunlight leading to global darkness, near-freezing conditions and widespread acid rain.

But the researchers, from Japan’s Meteorological Research Institute and Tohuku Univeristy, said: “If this had occurred, crocodilians and various other animals would have also gone extinct.

“Recent impact experiments and model calculations have demonstrated that condensed sulfuric acid aerosols cannot form and persist over long periods following asteroid impacts.”