Why don't I see green flames more often?
There are 2 different kind of flames, and thus of flame color mechanisms:
- flames containing carbon, i.e., soot. Carbon is pretty opaque (it can create heavy smoke), and emit thermal blackbody spectrum. Then you don't have green for the same reason that you don't have green stars ( well explained in wikipedia : a blackbody spectrum is large, not peaky, and visual system integrates so that "max of bump in green" is seen as white).
- "normals flames" (but carbon is so frequent on Earth flames that one often forgets all the other elements :-) ), where color is due to emissive peaks of the excited molecules (flame of sodium, etc). Then you can have green flames. For example, copper sulphate shows a green flame.
Green is roughly in the middle of the visible spectrum. So to see green light, you need not just energy at the "green" wavelength (ca 530nm), but also a relative lack of energy at other (red and blue) wavelengths, (say, 630 and 450nm).
Thus to see green rather than yellow or white, you need energy in a relatively narrow band. (You can achieve this by exciting relatively narrow bandwidth emitters in a flame, such as copper ions, but not normally by black body radiation.
A normal flame is a black body emitter - relatively broad band, thus more likely to emit white light, if it was at a high enough temperature (say, 6000K) Green does show up in this light, but because of the presence of red and blue in similar quantities, it doesn't appear green but white.
However at lower temperatures, its peak is at the red end of the spectrum or even well into the infra-red end. Then the visible part will appear yellow (3000K) (because the blue end of the spectrum is well down the emission curve) or even red, (1500K) as the peak is infra-red and only the upper end of the curve intersects the low (red) end of the visible band.
In theory, black body radiation at still higher temperatures (peaking in the UV region) would appear bluish, having less energy at the red end of the band. However "blue flame" temperatures simply aren't that high. Instead, there are no carbon particles to act as black body radiators, we are seeing something else. I'm not sure what, but I have heard that oxygen has emission lines in the blue region (as copper does in green) so it may be oxygen atoms acting as narrow band emitters.