# How to find the temperature of a planet accounting for the atmosphere?

Recently, I started writing a program to generate star systems, and I need a formula to find the approximate surface temperature of a planet. I know of several formulas for this, for example this one based on the formula for equilibrium temperature I found from a site called burro.case.edu:

$$T_{P}=(T_{\odot})(({1-a})^{1/4})\left( \sqrt{\frac{R_{\odot}}{2D}}\right)$$ Where $$T_{\odot}$$ denotes the parent star's temperature in Kelvin, $$a$$ denotes the dimensionless bond albedo, $${R_{\odot}}$$ denotes the parent star's radius in AU (not kilometers/solar radii), $$D$$ denotes the semi-major axis in AU, and $$T_{P}$$ denotes the resulting computed planet temperate in Kelvin.

For example, if we plug in the relevant numbers to Mars ($$T_{\odot}=5778,a=0.25,R_{\odot}=0.0046547454,D=1.524$$), we get an estimated temperature of Mars as 210.127 K, which is nearly spot-on with Mars's real temperature of 210 K. But if I plug in the formula for Venus, it gives a wildly off answer of about 260 K. In fact, this is briefly mentioned on the linked page:

Let's try this for Venus. Putting in the numbers (a=0.6, Tsun=5770K, Rsun=7x105 km, D=0.72 AU) we get the equilibrium temperature of Venus = 260 K. The surface temperature of Venus = 740 K. Whoa! Where'd we mess up?? For that matter, the equilibrium temperature of the Earth is 255 K (or ~ -1 F). Something's wrong!

Obviously this happens becausing trying to estimate a true temperature from the equilibrium temperature results in ignorance of the atmospheric pressure. Venus's atmosphere is about 93 atm, resulting in a runaway greenhouse effect and heating the temperature. On a smaller scale, the same thing occurs for Earth as it has a pressure of 1 atm. The temperature calculation for Mars worked well because it has a pressure of only 0.01 atm making the difference minimal.

So I started searching on the web for other sources which have bias terms accounting for the atmosphere, but I still can't find anything. All I currently have is a very rough approximation based on this Youtube video:

$$T_{P} = 255(\frac{L^{1/4}}{\sqrt{D}})+50\sqrt{P}-50a$$

Where $$L$$ denotes the star's luminosity with respect to the Sun, $$P$$ denotes the planet's atmospheric pressure with respect to Earth, and all the other variables are the same as they were in the last approximation. But this is still far from perfect, Venus's temperature has a ~15 K deviation from the real temperature. So, is there any more accurate formula for the atmospheric temperature of a planet?

• I would search scientific journals if you can or do a google scholarly search on the subject. Unless the Youtube video you saw had a reference I wouldn't trust it. – jmh Aug 25 '20 at 3:39
• The former (and most) equilibrium temperature do not account for any atmosphere and its greenhouse effect. The temperatures sound right for bodies without atmosphere. For accurate surface temperatures you need to consider those - yet that means to complicate matter by orders of magnitude as you see in the difference of the atmospheric effect on earth and venus. You need elaborate models for radiative transfer and atmospheric chemistry to get more precision – planetmaker Aug 25 '20 at 4:01
• That would basically mean modelling planet by planet because of its atmosphere (composition especially). In my modest opinion one cannot attain a simple general formula. I also think that 15 K is not that bad... – Alchimista Aug 25 '20 at 4:04
• You are not going to find a simple formula that is anywhere close to correct. The equation from the YouTube video is nonsense. – David Hammen Aug 25 '20 at 6:24
• +1 for an interesting question, even if there's no realistic prospect of getting a simple formula as an (even approximately) correct answer... – user24157 Aug 25 '20 at 8:58