No one knows for sure why the sky changes color before a tornado or severe thunderstorm. But there are a couple of theories that suggest what creates the strange greenish-yellow color that (sometimes) precedes a storm.
To understand the first theory, you’ve got to picture mountains. Mountains in the distance often look a deepening blue. That blue color stems from the scattering of light by air molecules – it’s the same reason the sky looks blue. Some experts think that, before a thunderstorm, golden-reddish light from the sun low in the sky and a natural bluing effect of the air combine to create a green sky. The storm provides a dark backdrop and offsets this greenish or yellowish hue.
A different meteorological theory holds that storm clouds themselves may help make the color of the sky bluish-green. To understand this theory, you first need to know that water is intrinsically blue (sometimes you can see the bluish tint of water in a white bathtub). It could be that the storm clouds — which are filled with water — provide the color blue, which, again, is illuminated by the golden light of a low sun to create the color green.
In sum: the reason for green skies before a storm isn’t entirely known. But it is known that a greenish-yellow sky before a storm is common in some parts of the world, while totally absent in others.