Thursday, January 17, 2008

That not a bug that a feature!

I never though I’d use that sentence in a good way, for those not getting it is this sentence comes apparently from a Microsoft tech support answer to a complain about something the software did automatically. It as become synonymous with weird function in computer software that do thing that annoy user without being of much use (Clippy anyone?).

Well today one of my own software was displaying something that looked like a bug. Basically it was telling me that something I thought should not be equal to zero was equal to zero.. If you really want to know it was the mass of a young stellar population when Hbeta emission is observed. Basically, young stars emit UV light that is absorbed by the interstellar gas and reemitted as visible light in mostly in the Blamer series of emission line, two of the most preeminent being Halpha in the red and Hbeta in the blue. Now while star like the Sun, an intermediate age star in astronomy, emit UV light, they are like candle next to the more massive young stars and their flux can be ignored even when they are present in large number. Now what my software was telling me was that my old/intermediate age stellar population was producing my observed spectrum, which featured the Hbeta and Halpha lines, without any contribution from young stars.

After looking around the code for error and to my sources synthetic spectrum for weird features or error and finding none, I finally understood what was happening. My code was actually smarter then I though when I programmed it. It could differentiate between my code having found two different ages for an area (identifying and separating them as his part of the goal of my phd) and an area where my two synthesis codes found a single population (i.e a single age). I could not figure out how to confirm or dismiss this hypothesis (the single population producing both set of indicator) but it seems that my software has a feature that give me solid arguments for it. It can even give me argument to separate the metallicity of the gas and stars in such a situation but you don’t need to get the details, it’s actually pretty interesting if you work in galaxy synthesis.

So in short that almost a Eureka moment for me, understanding what my code was producing and that what I thought was a bug is actually an interesting feature. Now I just need to verify that it is indeed a feature and not some weird coincidence that fits with an interesting hypothesis. Oh well a phd student work is seemingly never finished.

No comments: