Space Data Atlas

Challenges

Identify Earth Locations that Analog the Permanent Moon Base Locations and Mars

Beginner/Youth, Intermediate, Advanced. Earth Science, Planets & Moons, Software, Space Exploration.

Use open Earth, Moon and Mars data to find and describe new places on Earth, like deserts, polar regions, volcanic ground or caves, that resemble future lunar or Martian base sites.

Read the official challenge on spaceappschallenge.org

Your first hour

  1. Pick a target base site on the Moon or Mars and describe its terrain, lighting and surface from Trek layers.
  2. Turn that description into measurable Earth criteria (slope, elevation, vegetation, temperature).
  3. Screen candidate Earth regions using SRTM elevation and HLS imagery.

Suggested datasets

In order of how useful they are likely to be. These are suggestions, not the official resource list.

Harmonized Landsat Sentinel-2 (HLS) Landsat 30 m (HLSL30) v2.0

NASA LP DAAC

Works in browser

Landsat surface reflectance resampled to match Sentinel-2 on a common 30 m grid, so fields can be tracked every few days. The Sentinel-2 half is HLSS30; both come as Cloud Optimized GeoTIFFs.

CMR short name HLSL30, concept ID C2021957657-LPCLOUD, GIBS layer HLS_L30_Nadir_BRDF_Adjusted_Reflectance

NASA SRTM Global 1 arc second (SRTMGL1) V003

NASA LP DAAC

Works in browser

About 30 m elevation for land between 60N and 56S from the Shuttle Radar Topography Mission. Useful for finding terrain (craters, lava fields, canyons) that resembles lunar or Martian sites.

CMR short name SRTMGL1, concept ID C2763266360-LPCLOUD

Moon Trek WMTS: South Pole Illumination and Earth Visibility

NASA Solar System Treks (JPL)

No loginWorks in browser

South polar tile layers from LRO: WAC percentage-based illumination (WAC_POLE_ILL_PCT_SOUTH_100M) and LOLA average Earth visibility (AVGVISIB_85S_060M_201608_EARTH_SP). Together they show where a lander gets sunlight for power and line of sight to Earth for communication.

endpoint https://trek.nasa.gov/tiles/Moon/SP/WAC_POLE_ILL_PCT_SOUTH_100M/1.0.0/WMTSCapabilities.xml

Mars Trek WMTS Layers (CTX Global Mosaic, MOLA)

NASA Solar System Treks (JPL)

No loginWorks in browser

Mars basemaps as WMTS tiles with open CORS, including the global 5 m CTX mosaic (CTX_beta01_uncontrolled_5m_Caltech) and MOLA color hillshade (Mars_MGS_MOLA_ClrShade_merge_global_463m). Stack them to plan a route and read terrain.

endpoint https://trek.nasa.gov/tiles/Mars/EQ/CTX_beta01_uncontrolled_5m_Caltech/1.0.0/WMTSCapabilities.xml

LRO LOLA Gridded Topography via PDS Orbital Data Explorer REST API

NASA PDS Geosciences Node (Washington University in St. Louis)

No loginWorks in browser

A REST API for finding PDS products by mission, instrument and product type; for example LOLA gridded elevation (GDRDEM) of the Moon. Returns product lists with download links to the PDS archive.

endpoint https://oderest.rsl.wustl.edu/live2/?query=products&target=moon&ihid=LRO&iid=LOLA&pt=GDRDEM&output=json

Starter code

Find low-cloud HLS scenes over a farmPython
import earthaccess

# 30 m HLS Landsat scenes over a single farm area, low cloud only
results = earthaccess.search_data(
    short_name="HLSL30",
    bounding_box=(-93.7, 41.9, -93.5, 42.1),  # near Ames, Iowa
    temporal=("2026-05-01", "2026-09-30"),
    cloud_cover=(0, 20),
    count=5,
)
print(len(results), "scenes")
for g in results:
    print(g["umm"]["GranuleUR"])

# Each scene has one Cloud Optimized GeoTIFF per band.
# earthaccess.login()
# earthaccess.download(results[:1], "./hls")
Fetch a south pole illumination tileJavaScript
// Read the WMTS capabilities for the lunar south pole illumination layer,
// then fetch one tile. Moon Trek tiles send CORS headers.
const base = "https://trek.nasa.gov/tiles/Moon/SP/WAC_POLE_ILL_PCT_SOUTH_100M/1.0.0";
const xml = await fetch(`${base}/WMTSCapabilities.xml`).then((r) => r.text());
const template = xml.match(/template="([^"]+)"/)[1];
const matrixSet = xml.match(/<TileMatrixSet>([^<]+)<\/TileMatrixSet>/)[1];
console.log("tile template:", template);

const tileUrl = template
  .replace("{Style}", "default").replace("{TileMatrixSet}", matrixSet)
  .replace("{TileMatrix}", "0").replace("{TileRow}", "0").replace("{TileCol}", "0");
const tile = await fetch(tileUrl);
console.log(tile.status, tile.headers.get("content-type"), tileUrl);
// Earth visibility layer: swap the path to AVGVISIB_85S_060M_201608_EARTH_SP

Try a live search

Ask NASA's Common Metadata Repository for the five newest files in Harmonized Landsat Sentinel-2 (HLS) Landsat 30 m (HLSL30) v2.0. This runs in your browser and needs no login.