So, I'm attempting to calculate the habitable band of a solar system based off of a star's luminosity and radius (currently discounting multistar systems).
This article quotes a lot of factors, but notes at the bottom that a band can be calculated by finding the expected temperature at a given distance from the star based on luminosity: if the temp is less than 273K then water is frozen always, so call that the outer wall, and similarly 373K is the inner wall. Good enough for me.
The equation quoted is L = 4 * pi * r2 * (5.67E-8) * T4,
where L is the star's luminosity, r is the distance from the center of the star, and T is the temperature at that distance.
Thus I can find the distance r for 273K as r = (L / (4 * pi * (5.67E-8) * 2734))(1/2).
Problem being that when I plug in Wikipedia's values for Sol, I get a habitable band between 1.156 AU and 2.08 AU. The author of the link above claims results of 0.7 and 1.5 AU.
This article finds the same equation, but notes that factors such as albedo and greenhouse effect the outcome, and so to get the band you need one planet to base finding 273 and 373K off of.
Sure enough, multiplying my results by (1 - .37) gets much closer to the original author's results (37 being Earth's albedo or percent energy reflected outright), but it leaves an odd taste in the mouth that he doesn't mention such adjustments at all when he mentions his results.
Just looking for a bit of outside review here by all the smart people I know, in case I'm overlooking something (high odds, given my results are off).
Currently using
def habitableBandMin(self):
maxLifeTemp = OISInit.valueOf["MaximumTemperatureForLife"]
return (self._Luminosity / ((fourpi) * SBConst * maxLifeTemp**4))**(0.5) / AU
with fourpi and AU being obvious defined constants, and SBConst being 5.67E-8, and maxLifeTemp being 373 from a dict containing values from an init file.
It's entirely possible that I'm doing something obviously dumb and missing it, I dunno.