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; tiles resampled onto the common EPSG:3857 grid | 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 | Input size (px) | Temporal style | Notable requirements | Detail |
|---|---|---|---|---|---|---|---|
prithvi |
S2 6-band | 768 | 30m | 224 | multi-frame (auto, ≤4) | required temporal + location side inputs | detail |
olmoearth |
S2 L2A 12-band / S1 VV/VH | 128–1024 | 10m | 256 (flexible) | multi-frame (auto, ≤12) | FlexiViT; 4 sizes (nano/tiny/base/large) | detail |
dofa |
Multispectral + wavelengths | 768 | 10m | 224 | single composite | wavelength vector required | detail |
clay |
S2 L2A 10-band | 1024 | 10m | 256 | single composite | metadata conditioning (latlon/time/gsd/wavelengths) | detail |
terramind |
S2 12-band | 384 | 10m | 224 | single composite | ViT-S class; strict z-score normalization | detail |
terrafm |
S2 12-band or S1 VV/VH | 768 | 10m | 224 | single composite | dual-modality by channel count | detail |
thor |
S2 10-band or S1 VV/VH | 768 | 10m | 288 | single composite | dual-modality; grouped tokens; native-snap | detail |
galileo |
S2 10-band time series | 128 | 10m | 64 | multi-frame (auto, ≤12) | nano default; month tokens | detail |
anysat |
S2 10-band time series | 768 | 10m | 24 | multi-frame (fixed T) |
JEPA; s2_dates DOY side input |
detail |
agrifm |
S2 10-band time series | 1024 | 10m | 224 | multi-frame (fixed T) |
Video Swin; fixed T frame stack |
detail |
fomo |
S2 12-band | 768 | 10m | 64 | single composite | per-channel spectral modality keys | detail |
wildsat |
S2 RGB | 256 | 10m | 224 | single composite | biodiversity training; image_head default | detail |
satvision |
TOA 14-channel (MODIS) | 4096 | 1000m | 128 | single composite | SwinV2 Giant; strict channel calibration | detail |
remoteclip |
S2 RGB (B4,B3,B2) |
512 | 10m | 224 | single composite | CLIP projection; RGB preprocessing | detail |
scalemae |
S2 RGB + scale | 1024 | 10m | 224 | single composite | sensor.scale_m is a model input |
detail |
satmae |
S2 RGB (B4,B3,B2) |
1024 | 10m | 224 | single composite | ViT-L; MAE token/grid | detail |
satmaepp |
S2 RGB (B4,B3,B2) or S2 10-band |
1024 | 10m | 224 (rgb) / 96 (s2_10b) | single composite | modality=rgb (default) or s2_10b; ViT-L; fMoW eval preprocessing; 10-band uses strict band order + grouped-channel tokens |
detail |
Input size (px) is the fixed spatial size each model's encoder consumes: under the default input_prep="tile", inputs larger than it are cut into tiles of this size at native resolution and the outputs stitched (both for provider fetches and user-provided data — see User Data API); under input_prep="resize" they are downsampled to it in one step. Together with Default Resolution it gives the native footprint of one forward pass, e.g. galileo 64 px × 10 m ≈ 640 m. olmoearth (FlexiViT) accepts any size divisible by its patch size — 256 is its training tile size; user-provided data is consumed natively at its own size by default (warning above 512 px), and an explicit model_config image_size restores fixed-size behavior. anysat and prithvi sizes are env-tunable (RS_EMBED_ANYSAT_IMG, RS_EMBED_PRITHVI_IMG).
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.
Provider-backed models and tessera share one output grid (EPSG:3857 at the model's scale_m); a ROI that straddles a UTM zone boundary is served with a warning about the resampling seam. copernicus keeps its coarse product-native EPSG:4326 grid, so check its detail page before comparing grid outputs directly against other 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.