Earth Analog Finder
This is a frontend prototype. It runs on a curated sample dataset bundled with the app: eight of thirteen parameters are measured and reproducible, five are our estimates. A live NASA data pipeline is planned.
We rank 24 real Earth sites against the conditions of a permanent Moon base or Mars base, across 13 parameters. Every score is shown with the working behind it, so you can check it or change it.
No Earth site can match these
Temperature range, Radiation dose, Daylight score zero for all 24 sites, not because the data is missing but because Earth cannot do them: the atmosphere and magnetic field shield the surface from the dose rate, and no Earth day lasts 336 hours. That is 19% of the total weight, so it is left out of the weighted mean and reported here instead. Averaging it in would only scale every score by the same constant and hide the finding.
Showing 24 of 24 sites
Ranked sites (Moon base)
| # | Site | Score | Conf. |
|---|---|---|---|
| 1 | Atacama Desert Chile | 48.7 | 81 |
| 2 | McMurdo Dry Valleys Antarctica | 46 | 85 |
| 3 | Devon Island Canada | 41.4 | 85 |
| 4 | East Antarctic Plateau Antarctica | 39.6 | 80 |
| 5 | Erta Ale Ethiopia | 38.9 | 63 |
| 6 | Craters of the Moon United States | 37.9 | 85 |
| 7 | Namib Desert Namibia | 37.3 | 68 |
| 8 | Mauna Kea United States | 35.3 | 56 |
| 9 | Deception Island Antarctica | 35.1 | 69 |
| 10 | Pilbara Australia | 34.9 | 80 |
| 11 | Wadi Rum Jordan | 34.5 | 85 |
| 12 | Svalbard Norway | 33.8 | 80 |
| 13 | Mojave Desert United States | 33.2 | 81 |
| 14 | Ladakh India | 33 | 60 |
| 15 | Negev Desert Israel | 32.5 | 85 |
| 16 | Teide Spain | 31.4 | 56 |
| 17 | Lanzarote Spain | 31.1 | 85 |
| 18 | Kilauea United States | 29.1 | 77 |
| 19 | Mount Etna Italy | 27.8 | 60 |
| 20 | Sonoran Desert United States | 27 | 80 |
| 21 | Danakil Depression Ethiopia | 26.6 | 55 |
| 22 | Death Valley United States | 25.5 | 81 |
| 23 | Mono Lake United States | 23 | 85 |
| 24 | Rio Tinto Spain | 16.1 | 90 |
Custom profile
Move any weight and the ranking recomputes. Presets can move a target too, and the panel always shows which numbers changed.
Edit all 13 weights
Site detail
Pick a marker on the map or a row in the table to see the full breakdown.
Methodology at a glance
For each parameter, similarity is 1 minus the distance to the target divided by the tolerance, clamped between 0 and 1. The score is 100 times the weighted sum of those similarities divided by the sum of the weights, taken over the axes a site can actually score on. Confidence is completeness times resolution tier times 100, and it is reported separately. Targets, tolerances and weights all sit in src/data/config.json, and scripts/validate.mjs re-runs the whole thing in the terminal.
What you can do next
- Read where every number comes from in the provenance doc.
- Re-run the scoring yourself with npm run validate.
- Edit a weight in src/data/config.json and watch the ranking move.
- Export the current ranking as CSV and check it in a spreadsheet.