What astronomers actually measured
Every exoplanet page on TerraForge shows a spinning 3D world. It is worth being clear from the start about what that picture is. No telescope has ever photographed the surface of a planet around another star. The handful of exoplanets that have been imaged directly show up as a single point of light next to their star. Everything else is known from how a planet tugs on its star or dims its light.
So the 3D world is a simulation: an educated reconstruction built from a short list of real numbers. This article walks through that list, what the engine does with each number, and where it has to fill in the gaps with an assumption.
The numbers come from the NASA Exoplanet Archive, the public catalogue run by NASA and Caltech. TerraForge takes a snapshot of its combined table (one row per planet, with the best available value for each measurement) and stores it in the site. The site never calls NASA while you browse; the snapshot is refreshed from time to time as the archive grows. Today it holds about 6,400 confirmed planets.
For each planet, the engine reads these values:
- Mass, in Earth masses. Usually found with the radial velocity method: the planet’s pull makes its star wobble toward and away from us, and that wobble shows up as a tiny shift in the colour of the star’s light.
- Radius, in Earth radii. Measured by the transit method: when a planet crosses in front of its star, the star dims slightly, and the size of that dip gives the planet’s size.
- Orbital distance, in astronomical units (AU). One AU is the distance from Earth to the Sun.
- The star’s temperature and luminosity. Luminosity is the total light the star gives off, compared with the Sun.
- Distance from Earth, discovery year and discovery method, which the page shows but the physics does not need.
Notice what is missing: nothing about rock, oceans, air or colour. Those are the parts the engine has to work out.
From mass and radius to what a planet is made of
The key step is density. Divide a planet’s mass by its volume and you learn how tightly packed it is, and that says a lot about its ingredients. Iron is dense, rock less so, water less again, and hydrogen gas hardly at all. Astronomers use exactly this reasoning, and so does TerraForge.
Take Kepler-442 b. The archive lists it at 2.36 Earth masses and 1.34 Earth radii. In Earth units, density is mass divided by radius cubed, so 2.36 ÷ 1.34³ gives about 0.98, almost exactly Earth’s density.
Why raw density is not enough
A bigger planet squeezes itself harder under its own gravity. A rocky world of five Earth masses should be noticeably denser than Earth, so if it only matches Earth’s density, something lighter than rock must be inside it.
To handle this, the engine compares the planet with three reference curves that predict radius from mass for a world made purely of one thing: rock and iron in Earth’s proportions, pure water and ice, or pure hydrogen and helium. It then works out what mix of two neighbouring ingredients would give the measured radius. This is a standard simplification called volume additivity: each ingredient takes up its own share of space, and the shares add up.
That is how TOI-1452 b, at 4.82 Earth masses and about Earth’s density, comes out at roughly 15% water and ice by mass. That fits the published case for it as a possible water world. Kepler-442 b, at half that mass, comes out at about 11%.
The rules at the edges
- A density of 1.6 times Earth’s or more is too high for ordinary rock, so the planet gets an iron-rich, Mercury-like recipe.
- At 50 Earth masses or more, the planet is treated as a gas giant whatever its density. Gravity crushes giants so hard that a heavy one can measure denser than an ice world.
- If a planet is bigger than even a pure water world of its mass could be, it must have a hydrogen and helium envelope, and the engine estimates how much.
The result is a list of element “parts”, the same kind of recipe you build by hand in the builder. These recipes are a blend of TerraForge’s own presets (rocky, iron-rich, water-rich and gas), not real element abundances. Nobody can measure the chemistry inside an exoplanet; this is a sensible stand-in.
One more honest caveat. Only the transit method measures radius directly. For a planet found another way, the archive’s radius is usually its own model estimate, so the density is partly assumed too. The engine says so: those planets’ notes call their density “estimated” rather than “measured”. About three in four of the planets with pages were found by transit.
The star, the orbit and the temperature
Temperature decides most of what a planet looks like: molten, frozen, or somewhere with liquid water. TerraForge starts from the textbook equilibrium temperature, the temperature a planet would settle at if starlight were its only heat source and it reflected none of it:
T = 278 K × (L ÷ d²)1/4
Here L is the star’s luminosity compared with the Sun and d is the orbital distance in AU. At 1 AU from the Sun, that gives 278 K, which is about 5°C. This is the same definition the NASA archive uses for its own equilibrium temperatures, so the two can be compared directly.
The engine then adds greenhouse warming based on the inferred recipe. Carbon dioxide and methane trap heat strongly and water vapour a little, and the effect grows with how thick the atmosphere is. That is why a world’s simulated temperature can sit above the archive figure.
Measured stars versus typical stars
The builder describes stars by spectral class: the letters O, B, A, F, G, K and M, from hottest to coolest. It sorts a real star into a class by its measured temperature: 5,200 K and up is G, 3,700 K and up is K, and anything cooler is M. Each class has one typical luminosity: 0.4 times the Sun for K, 0.04 for M.
Real stars vary much more than that. TRAPPIST-1 eorbits a very cool, dim red dwarf with a measured luminosity of about 0.00055 times the Sun, less than a seventieth of a typical M star. Exoplanet pages pass the measured luminosity to the engine, so TRAPPIST-1 e comes out at about 253 K, close to the archive’s 250 K.
| Star luminosity used | Simulated temperature | |
|---|---|---|
| On its exoplanet page | Measured: about 0.00055 × Sun | About 253 K |
| Opened in the builder | Typical M star: 0.04 × Sun | About 736 K |
The builder works only from the class, so the same planet opened there runs hundreds of degrees hotter. Rather than quietly moving the orbit to make the numbers agree, the builder prints a note saying the star is not an average member of its class.
Planets that glow on their own
A second kind of gap is more interesting. GJ 504 bis a giant planet far from its star, receiving about a thousandth of the sunlight Earth gets. The archive lists it at 510 K. Starlight alone gives TerraForge about 51 K. The difference is the planet’s own heat: young giant planets are still cooling from their formation. TerraForge heats planets only with starlight, so when a planet receives less than 1% of Earth’s sunlight and the archive is far warmer, the note says the archive figure is internal heat the engine cannot model.
What has to be assumed
Some things cannot be measured for any exoplanet yet, so the engine makes a choice and says so.
- Day length.Nobody can see an exoplanet spin. A planet orbiting closer than 0.1 AU is assumed to be tidally locked: the star’s gravity has slowed its spin until one side always faces the star, as one side of the Moon always faces Earth. Its day is then set equal to its year. Everything farther out gets Earth’s 24 hours, labelled as an assumption.
- Type and colour.The recipe, mass and temperature go through the same classifier as every hand-built world, which picks one of TerraForge’s planet types. For example, a rocky world above 1,000 K becomes a lava world, and a heavy, hydrogen-rich planet becomes a gas giant with a Jupiter-like tan. The colours and textures come from that type, not from observation.
- Size on screen. The scene draws every planet at the same size, so a giant and a small rocky world fill the view equally. Radius shapes the recipe, not the picture.
- Clouds, terrain and features. These are generated by the renderer to match the type and conditions. They show what such a world could plausibly look like, not what this one does.
Why some planets have no page
Of the roughly 6,400 planets in the snapshot, about 5,600 have a page. To build a world, the engine needs four numbers: mass, radius, orbital distance and star temperature. Mass and radius give density, and the orbit and star give temperature. Around 850 planets are missing at least one, most often the orbital distance or the star’s temperature. About a third of them were found by microlensing, where a planet’s gravity briefly brightens a more distant star. That method detects the planet but usually leaves its orbit and its own star poorly measured.
The site could still show those planets as a name and a discovery year, but there would be nothing honest to simulate, so they are left out until better measurements reach the archive.
Try it yourself
Open TRAPPIST-1 e’s page and press Open in the builder. The world arrives with its inferred recipe and a note explaining what was measured and what was inferred. Because the builder only knows the star’s class, the note shows the temperature gap described above.
From there, go to the Environment tab and drag Distance from Staroutward until the temperature matches the archive’s 250 K. You have just reproduced, by hand, the gap between a typical M star and a real one. Then open Kepler-442 b the same way, go to the Elements tab, add hydrogen and oxygen to its recipe and watch how the classification changes. Or start from scratch in the builder and see how close you can get to a real planet using only its mass, its orbit and its star.