TESSERA, a pixelwise geospatial foundation model

TESSERA is an open and pixel-wise foundation model for multi-modal (Sentinel-1/2) earth observation time series that learns robust, label-efficient embeddings.
Our goal with TESSERA is to make manipulating global satellite intelligence as easy as conventional programming tasks are. Towards this we release global, annual, 10m, pixel-wise embeddings together with open weights and code and lightweight adaptation heads. We also develop practical tooling for large-scale retrieval and inference at planetary scale.
As with any good foundation model, there are a staggering array of downstream tasks which can benefit. TESSERA embeddings deliver state-of-the-art accuracy with high label efficiency across diverse classification, segmentation, and regression tasks.
1 Storage, Zarr, and cloud-native distribution
A lot of the early 2026 work has been on the plumbing needed to actually use TESSERA at scale. We restructured the store around a Zarr v3 layout and a shared geo-embeddings convention, iterating on the chunking after community feedback and shipping it through geotessera 0.8 with multi-year support and a browser-based TZE explorer backed by HTTP range requests.
On the storage side, we expanded the Cambridge Ceph cluster to 1.4PB just in time to mirror the full half-petabyte to AWS Open Data, with the sync finishing a week or so later. The
geotessera client now discovers tiles from multiple
registries so consumers can pull from whichever copy is closest. In parallel,
Mark Elvers has been porting Brotli/Zstd/Snappy to OxCaml and
building ocaml-zarr as the basis
for native OCaml access to the cloud-native stores.
2 Scaling up to v2
We first shipped Tessera v1.1 in June 2026 as a drop-in retrained model that removed the tiling artefacts of v1.0 and gave better year-on-year temporal stability, with weights published on Hugging Face. There's an interesting paper on the temporal sensitivity of the embeddings using V1.1 done by the team at Xoopla as well.
The first v2 checkpoint paper was then done in the early summer of 2026 led by Frank Feng, using the UKRI AIRR allocation on Isambard 2 for a "hero run" to scale the model. Hundreds of ablation sweeps gave us a simple rule for allocating compute; as the training budget grows, the encoder and the satellite data should grow together while the projector stays fixed. The result is a 1-billion parameter model, with a 2B one now complete and published on Huggingface/geotessera.
Since inference over 1.8 million tiles has to stay cheap, we distil that model
into a family of smaller student models. TESSERA-v2-1B-M has
fewer parameters than v1 and still outperforms it, along with every other
GeoFM we could find. v2 also adds Matryoshka embeddings, so the first 1/8th of the 128
dimensions carry ~90% of the downstream performance. This matters for smaller
devices, but also leaves open how to slice dimensions efficiently in Zarr.
3 Distribution and downstream results
We have moved the embeddings to Source Cooperative after the enthusiastic reaction at CNG London, which mostly means routing terabytes via Cambridge to dodge five-figure AWS egress charges, with Zarr v3 becoming the default access mechanism. Isaac Corley has been very helpful in getting us started.
By August 2026 the npy-format sync had finished, covering almost a
petabyte of v1 alongside selectively generated v1.1 and v2-beta embeddings.
geotessera 0.10+ now fetches over the data.source.coop
endpoint rather than S3 directly, which lets us drop a pile of S3-specific
logic and take advantage of Cloudflare R2 edge caching for the bulk downloads
most of our users do.
The Zarr v3 transcode of ~10 million tiles ran on Amazon Fargate Spot in the same region as the source data, bringing the cost of a global conversion to roughly $1500 (rather than the $50000 from a naive out-of-region approach!). We also evaluated Icechunk for its git-like versioning of Zarr stores, which suits our growing family of model variants, but set it aside for now as its custom on-disk format has no stable FFI for clients outside Python. We're planning to come back to it for development for sure though, as its version control features are ace.
On the downstream side, tree species mapping in Trentino showed foundation-model embeddings reaching near-asymptotic accuracy from as few as 5% of training parcels, provided a nonlinear classifier is used.
Pedro Sousa is applying the embeddings to probabilistic weather downscaling (Earth observation embeddings are effective sub-grid descriptors for probabilistic weather downscaling), where a frozen embedding supplies the sub-grid surface structure that topography alone cannot, and improves temperature and wind predictions at sites the model has never seen. Independent validations have also started appearing, with TESSERA the best decametric option for cocoa mapping in Côte d'Ivoire and on GeoLifeCLEF. On the outreach side, Sadiq Jaffer presented at the RAISE Summit in Paris with Vultr, and we ran a stall at a House of Lords reception on AI for science with NVIDIA, who have been helping optimise our kernels.
GeoTessera 0.10 in August 2026 completed the move, with npy tiles, landmasks, manifests and Zarr stores all served from Source Cooperative behind Cloudflare. The Zarr client became UTM-native at the same time, routing lon/lat queries to the zone that holds them rather than resampling, and gained matryoshka depth reads for the v2 stores. That release also marked a year since the first geotessera release, by which point hundreds of public embedding requests had been filed from users around the world.

4 Public interest
The model has attracted a good deal more public attention than we anticipated. The v1.0 paper was presented at CVPR 2026, and ESA put TESSERA on their front page shortly afterwards. A story about applying the embeddings to hedgehog habitat turned into a week of BBC and ITV coverage in May 2026 and then onto national breakfast news, which is a useful reminder that a familiar local species carries an argument about satellite mapping much further than the mapping does on its own. We also demonstrated the model to a campus audience at the Cambridge Conservation Initiative's tenth birthday. Rather than track all of this here, the news page on geotessera.org keeps a running timeline of press coverage, with a feed if you would rather subscribe.
5 Community events in India
There's a bunch of community events happening in India in particular, as I happened to be there a few times in 2025/26. The first TESSERA hackathon ran at the Indian AI Impact Summit in Delhi in February 2026, working through integration with IIT-Delhi's CoRE Stack and testing labelling workflows. It is where we first discussed federated embedding mirrors with India as a plausible first node. Aadi Seth and Srinivasan Keshav followed it with a call for students to take the work further.
In April 2026 I gave a TESSERA talk at the launch of the FP Launchpad at IIT Madras, arguing that functional programming has a serious role in planetary computing at the half-petabyte scale we are now generating, and demonstrating the Zarr v3 store, the geotessera library and the TZE explorer.
