Skip to main content

Embeddings

The OlmoEarth platform can compute and export embedding vectors for any region and time period. These vectors offer flexibility to support a range of downstream analyses without the need for heavy compute resources.

Embeddings are computed with the latest OlmoEarth embeddings model. See the changelog for the current version.

Precomputed global embeddings​

Annual 10 meter embeddings for the whole planet are already available, so you may not need to compute your own:

  • Embeddings Explorer. Browse the global embeddings in your browser, run similarity search, and compare years. No sign-in required.
  • Source Cooperative. Download the dataset for your own analysis.

Compute your own embeddings when you need a different resolution, time period, or set of imagery sources.

Configuration​

Computing embeddings follows the same workflow as any other prediction. Configure your model, draw or upload an area of interest, and run it. Three parameters tailor the output:

ParameterOptionsRecommendation
Spatial resolution10 to 80 meters, in 10 meter steps40 meter for regional land-cover mapping. 10 meter when small features matter (e.g., individual fields, urban footprints).
Months of temporal context1 to 1212 (an annual composite) for stable features like land cover. Fewer months for seasonal snapshots or change detection.
Imagery sourcesSentinel-2 (optical), Sentinel-1 (radar), Landsat 8/9 (optical with thermal), or any combinationStart with Sentinel-2. Add Sentinel-1 in areas with persistent cloud cover. Each added source increases cost and runtime.

Output format​

The output is a Cloud-Optimized GeoTIFF (COG) with one band per embedding dimension (128 for the current model). Vectors are stored as signed 8-bit integers (int8):

  • Valid values range from -127 to +127.
  • -128 is reserved for nodata (pixels with insufficient imagery coverage).

See embedding_transforms.py for quantization and dequantization code. For many tasks, the int8 values perform well.

Example use cases​

  • Segmentation - Train a lightweight classifier (e.g., logistic regression) on a small number of labeled pixels and predict across the full region.
  • Similarity search - Compute cosine similarity between a query location and every other pixel to find areas with similar surface characteristics.
  • Change detection - Compare embeddings from different time periods (e.g., monthly snapshots before and after an event) to identify where surface conditions have shifted.
  • Unsupervised exploration - Apply PCA or clustering to visualize spatial structure without any labels, a useful first step when exploring a new region.

For working code covering all four use cases, see the embeddings tutorial linked below.

Further reading​

For applications that require higher accuracy than frozen embeddings can provide, the platform also supports supervised fine-tuning.