Skip to content

Supported Models (Overview)

This page is the model selection entry point. Use it to answer one question quickly: which model IDs should I shortlist for this task?

Once you have a shortlist, use Advanced Model Reference for side-by-side preprocessing and temporal details, then open the linked detail page for the exact contract, caveats, and examples. If you are about to change input_prep, variant, fetch resolution, patch size, or image size, read Before You Start first, because those knobs affect both runtime cost and embedding semantics.


How To Read This Page

Start with the quick chooser, then scan the catalog table for input and temporal fit, and open the detail page before benchmarking or production use.

Canonical model IDs use the short public names shown on this page, such as remoteclip, prithvi, terrafm, and thor. Some detail-page filenames still use older names for compatibility, but the canonical IDs above are the names users should copy into code.


Quick Chooser by Goal

Goal Good starting models Why
Fast baseline / simple pipeline tessera, gse, copernicus Precomputed embeddings, fewer runtime dependencies
Simple S2 RGB on-the-fly experiments remoteclip, satmae, satmaepp, scalemae Straightforward RGB input paths
Time-series temporal modeling prithvi, olmoearth, galileo, anysat, agrifm Native multi-frame temporal packaging — see Temporal Sampling
Multispectral / strict spectral semantics satmaepp (modality="s2_10b"), dofa, clay, terramind, thor, satvision Strong channel/schema assumptions
Mixed-modality experiments (S1/S2) terrafm, thor Supports S2 or S1 path (per call)

Model Catalog Snapshot

Precomputed Embeddings

Model ID Type Primary Input / Source Default Resolution Dim Temporal mode Notes Detail
tessera Precomputed GeoTessera embedding tiles 10m 128 yearly coverage product Fast baseline, source-fixed precomputed workflow; product-native fixed CRS detail
gse Precomputed Google Satellite Embedding (annual) 10m 64 TemporalSpec.year(...) Annual product via provider path detail
copernicus Precomputed Copernicus embeddings 0.25° 768 limited (2021) Coarse resolution product on fixed EPSG:4326 grid detail

On-the-fly Foundation Models

Model ID Primary Input Dim Default Resolution Temporal style Notable requirements Detail
prithvi S2 6-band 768 30m multi-frame (auto, ≤4) required temporal + location side inputs detail
olmoearth S2 L2A 12-band / S1 VV/VH 128–1024 10m multi-frame (auto, ≤12) FlexiViT; 4 sizes (nano/tiny/base/large) detail
dofa Multispectral + wavelengths 768 10m single composite wavelength vector required detail
clay S2 L2A 10-band 1024 10m single composite metadata conditioning (latlon/time/gsd/wavelengths) detail
terramind S2 12-band 384 10m single composite ViT-S class; strict z-score normalization detail
terrafm S2 12-band or S1 VV/VH 768 10m single composite dual-modality by channel count detail
thor S2 10-band or S1 VV/VH 768 10m single composite dual-modality; grouped tokens; native-snap detail
galileo S2 10-band time series 128 10m multi-frame (auto, ≤12) nano default; month tokens detail
anysat S2 10-band time series 768 10m multi-frame (fixed T) JEPA; s2_dates DOY side input detail
agrifm S2 10-band time series 1024 10m multi-frame (fixed T) Video Swin; fixed T frame stack detail
fomo S2 12-band 768 10m single composite per-channel spectral modality keys detail
wildsat S2 RGB 256 10m single composite biodiversity training; image_head default detail
satvision TOA 14-channel (MODIS) 4096 1000m single composite SwinV2 Giant; strict channel calibration detail
remoteclip S2 RGB (B4,B3,B2) 512 10m single composite CLIP projection; RGB preprocessing detail
scalemae S2 RGB + scale 1024 10m single composite sensor.scale_m is a model input detail
satmae S2 RGB (B4,B3,B2) 1024 10m single composite ViT-L; MAE token/grid detail
satmaepp S2 RGB (B4,B3,B2) or S2 10-band 1024 10m single composite modality=rgb (default) or s2_10b; ViT-L; fMoW eval preprocessing; 10-band uses strict band order + grouped-channel tokens detail

Temporal and Comparison Notes (What People Usually Miss)

TemporalSpec.range(start, end) is usually a compositing window rather than a single-scene selector, and OutputSpec.grid() may be a token or patch grid rather than a georeferenced raster, especially for ViT-like backbones. Cross-model comparisons are usually easiest with OutputSpec.pooled() plus fixed ROI, temporal, and compositing settings.

Precomputed products can also keep their own product-native projection instead of the common provider-backed EPSG:3857 sampling grid. Today that matters especially for tessera and copernicus, so check each detail page before comparing grid outputs directly against on-the-fly models.

On this page, "Default Resolution" means the default source-side fetch resolution, not the final resized tensor shape sent into the backbone. Multi-frame models such as prithvi, olmoearth, galileo, anysat, and agrifm also need extra attention to frame count and temporal side inputs — how each one turns a TemporalSpec.range into frames is summarized in Temporal Sampling.

Read the details in Supported Models (Advanced Reference).


More Detail

For cross-model preprocessing, temporal packaging, and environment knobs, continue to Advanced Model Reference. For user-facing guidance on how to trade compute for quality, spatial detail, or temporal fidelity, read Before You Start. If you are adding a new adapter, use Extending to keep the implementation and documentation consistent.