Frank Feng and I announced TESSERA v1.1 on behalf of the team earlier this week, and I wanted to follow up here with a more visual explanation of what changed as I got quite a few questions about it!
v1.1 is a retrained successor to the original v1.0 model that Frank Feng and the team have been hammering on for months. Crucially, since we pre-generate embedding 'map tiles', the new release is a drop-in replacement if you just swap tiles; the basic format of 128 dimensions is unchanged. Accuracy of your tasks should improve in all cases (a trend which will continue as we train better models with more data and training FLOPS).
1 Fewer artefacts in low observation areas
Tessera v1.0 could sometimes produce noisier tiles in regions with few clear satellite observations (e.g. due to persistent cloud or satellite sensor gaps). This exhibited as boundary-like seams in the tiles where the inferred embeddings didn't quite align; e.g. along Sentinel-1 ascending/descending coverage edges where one side of the line might have ~50 valid observations and the other ~150.
Tessera v1.1 now handles both sparse and imbalanced observation patterns gracefully! If your region of interest was small and didn't straddle a problematic tile you'll see no difference, but large-scale analyses should get cleaner.
The easiest way to see all this is to look at the embeddings themselves in the TZE explorer. In this video I flip between the v1.0 and v1.1 embeddings over the same regions, visualised in false colour:
What you're looking at in the v1.0 layer are the grid-like seams running through an otherwise homogeneous landscape (Ireland doesn't really have those jagged lines, you can confirm by visiting my lovely home).
What's happening is that the number of valid observations jumps across the line, and the old v1.0 model showed that difference up into the embeddings. The speckly patches are areas where persistent cloud left the model with too few clean observations to produce a stable representation.
We then switch to the v1.1 layer, and the seams are gone and the noisy patches resolve into a smooth structure that follows the actual land cover. It's very satisfying to click around the 10m² pixels and watch embeddings that used to flicker between years settle down into stable trajectories in the explorer!
2 Temporal stability
If you're doing analysis over a long period of time, then the 128-dimensional embeddings are now much more consistent year-on-year for the same location. This is a big deal for tasks like change detection, trend analysis, and even just convenience since training a classifier on one year and applying it to another is now much more accurate.

This feature won't affect most users, but we're pretty pleased with how well change detection now works.
3 Expanded coastal coverage worldwide
The v1.0 land mask we used to mask out ocean areas was too aggressive, and dropped legitimate land pixels along coastlines or on small islands. We've listened to our mangrove-loving friends and extended the inference buffer to 20km, which brings coastlines and remote islands properly into coverage.
4 Our coverage maps now include v1.0 and v1.1
I updated the live coverage map to now track both generations side-by-side, so you can see exactly which tiles exist for v1.0 and v1.1 in any given year:
This is all updated via a GitHub Action on ucam-eo/tessera-coverage-map that also updates an index Parquet file of all available manifests.
4.1 Getting the v1.1 embeddings
To get the new embeddings, grab the geotessera 0.9.0+ release of the
Python library which went out alongside v1.1. It has a new
--dataset-version flag to pick v1.0 or v1.1, and a --dataset-variant flag
now that multiple parties are generating embeddings for the community:
vultris the original v1.0 global runcambridgeis our OxCaml-generated v1.1 run for early adopters- We're working on a Zarr-native full global v1.1 with Cyclops.ai, covering 2017-2025 that will become the default once it lands.
Use uvx to try this without any installation:
uvx geotessera download \
--country "United Kingdom" \
--year 2024 \
--dataset-version v1.1 \
--dataset-variant cambridge \
--format npy \
--output ./uk-v1.1
All the embeddings (both versions) are also now in the s3://tessera-embeddings
public bucket on AWS Open Data, which geotessera 0.9 switches to by default.
Spare a kind thought for "okavango", our single overworked Cambridge server that served every
TESSERA embedding for the first six months without falling over (much)!
But seriously, at some point, we're going to have to turn off `okavanago' as it's
taking up a significant amount of the egress bandwidth for Cambridge, so I encourage
users to upgrade to geotessera 0.9 as soon as possible just to change the source
of your embeddings download. Let me know if you have any problems!
4.2 Also on Hugging Face now
We're also now on Hugging Face with the full v1.1 (and v1.0) model weights, with checkpoints for both the Microsoft Planetary Computer and AWS Open Data preprocessing backends. If you'd rather run inference yourself or fine-tune on your own data, everything you need is there, all under CC0 as usual. Do let us know if you fine-tune a model as we'd love to see how it goes.
If there's a region of the world you need for your own research urgently, please do request an ROI on the geotessera issue tracker and we'll prioritise it in the generation queue. Otherwise, sit tight as we'll have full global 2017-2025 coverage within a few months!
See also coverage from the Meteorological Technology trade magazine about the release.

