Supported Models (Overview)¶
This page is the model selection entry point.
Use it to quickly narrow down candidates, then jump to:
- Supported Models (Advanced Reference) for detailed matrices (preprocessing / temporal semantics / env vars)
- Model Detail Template to create a per-model documentation page
How To Use This Page¶
Recommended flow:
- Pick a shortlist from the overview tables below
- Validate temporal + input assumptions in Advanced Reference
- For production/benchmark runs, confirm model-specific caveats and env vars before exporting
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, scalemae, dynamicvis |
Straightforward RGB input paths |
| Time-series temporal modeling | agrifm, anysat, galileo |
Native multi-frame temporal packaging |
| Multispectral / strict spectral semantics | dofa, terramind, thor, satvision |
Strong channel/schema assumptions |
| Mixed-modality experiments (S1/S2) | terrafm |
Supports S2 or S1 path (per call) |
Available Detail Pages (Current)¶
Canonical model IDs are the short names shown below. Legacy IDs (for example remoteclip_s2rgb, prithvi_eo_v2_s2_6b, thor_1_0_base) are still accepted as aliases in the API/CLI.
remoteclipprithvianysatgalileoterraminddofasatvisionthoragrifmsatmaescalemaewildsatdynamicvisfomoterrafmtesseragsecopernicus
More model detail pages can be added using the Model Detail Template.
Model Catalog Snapshot¶
Precomputed Embeddings¶
| Model ID | Type | Primary Input / Source | Outputs | Temporal mode | Notes | Detail |
|---|---|---|---|---|---|---|
tessera |
Precomputed | GeoTessera embedding tiles | pooled, grid |
yearly coverage product | Fast baseline, source-fixed precomputed workflow | detail |
gse |
Precomputed | Google Satellite Embedding (annual) | pooled, grid |
TemporalSpec.year(...) |
Annual product via provider path | detail |
copernicus |
Precomputed | Copernicus embeddings | pooled, grid |
limited (2021) | Coarse resolution product | detail |
On-the-fly Foundation Models¶
| Model ID | Primary Input | Temporal style | Outputs | Notable requirements | Detail |
|---|---|---|---|---|---|
remoteclip |
S2 RGB (B4,B3,B2) |
single composite window | pooled, grid |
provider backend; RGB preprocessing | detail |
satmae |
S2 RGB (B4,B3,B2) |
single composite window | pooled, grid |
RGB path; ViT token/grid behavior | detail |
scalemae |
S2 RGB + scale | single composite window | pooled, grid |
requires sensor.scale_m / input_res_m |
detail |
dynamicvis |
S2 RGB (B4,B3,B2) |
single composite window | pooled, grid |
larger default resize (512) |
detail |
wildsat |
S2 RGB | single composite window | pooled, grid |
normalization options | detail |
prithvi |
S2 6-band | single composite window | pooled, grid |
required temporal + location side inputs | detail |
terrafm |
S2 12-band or S1 VV/VH | single composite window | pooled, grid |
choose modality per call | detail |
terramind |
S2 SR 12-band | single composite window | pooled, grid |
strict normalization/channel semantics | detail |
dofa |
Multispectral + wavelengths | single composite window | pooled, grid |
wavelength vector required/inferred | detail |
fomo |
S2 12-band | single composite window | pooled, grid |
normalization mode choices | detail |
thor |
S2 SR 10-band | single composite window | pooled, grid |
strict stats-based normalization | detail |
satvision |
TOA 14-channel | single composite window | pooled, grid |
strict channel order + calibration | detail |
anysat |
S2 10-band time series | multi-frame | pooled, grid |
frame dates (s2_dates) side input |
detail |
galileo |
S2 10-band time series | multi-frame | pooled, grid |
month tokens + grouped tensors | detail |
agrifm |
S2 10-band time series | multi-frame | pooled, grid |
fixed T frame stack behavior |
detail |
Temporal and Comparison Notes (What People Usually Miss)¶
TemporalSpec.range(start, end)is usually a window for compositing, not a single-scene acquisition selector.OutputSpec.grid()may be a token/patch grid, not a georeferenced raster grid (especially for ViT-like backbones).- Cross-model comparisons are easiest with
OutputSpec.pooled()and fixed ROI/temporal/compositing settings. - Multi-frame models (
agrifm,anysat,galileo) need extra attention to frame count and temporal side inputs.
Read the details in Supported Models (Advanced Reference).
Per-model Detail Pages (Template-first)¶
This repo now includes a reusable template page for documenting each model consistently:
Recommended fields for each model page:
- what the model expects (
inputcontract, band order, temporal mode) - what rs-embed currently feeds (current adapter behavior)
- preprocessing defaults and env knobs
- output semantics (
pooledvsgriddetails) - caveats for reproducibility / fair benchmarking
Source of Truth in Code¶
Model registration source of truth:
src/rs_embed/embedders/catalog.py(MODEL_SPECS)
Implementation details for each adapter live in:
src/rs_embed/embedders/onthefly_*.pysrc/rs_embed/embedders/precomputed_*.py
When docs and code disagree, check code first and update docs accordingly.