Here's a link (updated) to download the new version of my habitable zone calculator program.
(It's built as a Windows executable; Python source code is included if you want to see what it's doing, run it directly, muck about or fix things. It relies on a handful of sprites and a font in the same directory.)
Example screenshot
With (default) parameters for Sol*.
What does it do?
Given the details (radius, temperature and distance from primary if applicable) for stars in a system, it will attempt to work out:
The basic spectral class and luminosity of each star.
The positions around the primary of the zones for metal-rich worlds, the main habitable zone (the zone within which terraforming candidates can appear), earth-like worlds, water worlds, ammonia worlds and (roughly speaking) the boundary where icy worlds start to appear.
Given a distance to check, it will provide the black-body, general (albedo 0.35, which most worlds in Elite have) and icy (albedo 0.6) temperatures expected from a body without atmosphere at that distance.
Given a distance and mass, it will attempt to estimate the temperature and Sudarsky class of a gas giant of that mass at that distance.
How do I use it?
For the purposes of the calculator, any stars a planet is directly orbiting are considered primary. Any stars a planet is not directly orbiting are considered secondary.
If there is a single primary star, enter the details on the top line like the picture and press enter on any box to update the display.
Read off the positions of the habitable zones from the display. ("MHZ" is shorthand for the Main Habitable Zone where planets can be terraforming candidates.)
If you want to check a distance or guess at a gas giant, enter the details in the appropriately labeled boxes.
If there is more than one primary star (i.e. the planet is directly orbiting two or more stars) enter their details on the following rows and keep the "distance" value at 0.
If there are secondary stars, add their details on following rows, and in the "distance" column enter the distance in AU (check yourself in game; get the distance in light seconds and divide it by 499) between those stars and the primary.
If you want to check the zone for planets around a secondary star or stars, re-enter the details but now put the secondary star(s) as primaries (with distance zero) and the primary star(s) as secondaries.
I may still need to delve into the realms of video tutorial for using it with multiple star systems. ^^
What doesn't it do?
Hand-authored systems, stars and planets do not always play by the rules. Do not be surprised if you get strange results from them!
There are limits to what can be guessed.
I have a more accurate star class guesser program which also uses the age and mass of a star to make a much better guess as to its class in-game. For ease of use, the hab-zone calculator only works off temperature and radius, so guessed star classes may differ from observed ones.
Worlds within the metal-rich zone are not necessarily metal-rich; there's some kind of mass-related cutoff formula so more massive worlds are often high-metal content.
Worlds within the habitable zone are not necessarily candidates for terraforming; again, there's a mass-related cutoff formula and possibly other considerations. But they usually will be.
Earth-like worlds have quite specific requirements which I don't fully understand as yet.
Icy worlds can be found closer than indicated in some circumstances (the "hot iceballs.")
The gas giant mass-to-temperature increase formula used is an approximation, but the temperature and guessed class will usually be very close.
Worlds orbiting gas giants receive a heat-contribution based on proximity to the gas giant as well as the star.
Additional
Happy hunting!
Any questions, feedback, comments, bugs, whatever, let me know on this thread or PM me.
*Though as Sol is hand-authored, the standard disclaimer applies: treat any results with great caution in a hand-authored system!
(It's built as a Windows executable; Python source code is included if you want to see what it's doing, run it directly, muck about or fix things. It relies on a handful of sprites and a font in the same directory.)
Example screenshot
With (default) parameters for Sol*.

What does it do?
Given the details (radius, temperature and distance from primary if applicable) for stars in a system, it will attempt to work out:
The basic spectral class and luminosity of each star.
The positions around the primary of the zones for metal-rich worlds, the main habitable zone (the zone within which terraforming candidates can appear), earth-like worlds, water worlds, ammonia worlds and (roughly speaking) the boundary where icy worlds start to appear.
Given a distance to check, it will provide the black-body, general (albedo 0.35, which most worlds in Elite have) and icy (albedo 0.6) temperatures expected from a body without atmosphere at that distance.
Given a distance and mass, it will attempt to estimate the temperature and Sudarsky class of a gas giant of that mass at that distance.
How do I use it?
For the purposes of the calculator, any stars a planet is directly orbiting are considered primary. Any stars a planet is not directly orbiting are considered secondary.
If there is a single primary star, enter the details on the top line like the picture and press enter on any box to update the display.
Read off the positions of the habitable zones from the display. ("MHZ" is shorthand for the Main Habitable Zone where planets can be terraforming candidates.)
If you want to check a distance or guess at a gas giant, enter the details in the appropriately labeled boxes.
If there is more than one primary star (i.e. the planet is directly orbiting two or more stars) enter their details on the following rows and keep the "distance" value at 0.
If there are secondary stars, add their details on following rows, and in the "distance" column enter the distance in AU (check yourself in game; get the distance in light seconds and divide it by 499) between those stars and the primary.
If you want to check the zone for planets around a secondary star or stars, re-enter the details but now put the secondary star(s) as primaries (with distance zero) and the primary star(s) as secondaries.
I may still need to delve into the realms of video tutorial for using it with multiple star systems. ^^
What doesn't it do?
Hand-authored systems, stars and planets do not always play by the rules. Do not be surprised if you get strange results from them!
There are limits to what can be guessed.
I have a more accurate star class guesser program which also uses the age and mass of a star to make a much better guess as to its class in-game. For ease of use, the hab-zone calculator only works off temperature and radius, so guessed star classes may differ from observed ones.
Worlds within the metal-rich zone are not necessarily metal-rich; there's some kind of mass-related cutoff formula so more massive worlds are often high-metal content.
Worlds within the habitable zone are not necessarily candidates for terraforming; again, there's a mass-related cutoff formula and possibly other considerations. But they usually will be.
Earth-like worlds have quite specific requirements which I don't fully understand as yet.
Icy worlds can be found closer than indicated in some circumstances (the "hot iceballs.")
The gas giant mass-to-temperature increase formula used is an approximation, but the temperature and guessed class will usually be very close.
Worlds orbiting gas giants receive a heat-contribution based on proximity to the gas giant as well as the star.
Additional
Happy hunting!
Any questions, feedback, comments, bugs, whatever, let me know on this thread or PM me.
*Though as Sol is hand-authored, the standard disclaimer applies: treat any results with great caution in a hand-authored system!
Last edited: