HydroLoc
A ReSIREN location encoder that maps a geographic coordinate (lat, lon) to a 512-d
embedding. It is a MIND-style model (residual SIREN trunk
over an Equal-Earth projection of the coordinate) trained by distilling two frozen image
foundation models evaluated over ~106k global Sentinel-2 water patches from the
Hydro dataset:
- DINOv3 ViT-L/16 (
vit_large_patch16_dinov3, timm) on the RGB quicklooks β 1024-d - OlmoEarth v1.2 Base on the 12-band multispectral tiles β 768-d
The trunk is supervised with a Matryoshka objective (nested prefixes 64/128/256/512),
so any leading slice embedding[:, :m] is itself a usable, compact location embedding β the
signal is front-loaded into the earliest dimensions.
Usage
import torch
from hydroloc import HydroLoc
model = HydroLoc.from_pretrained("isaaccorley/hydroloc").eval()
latlon = torch.tensor([[37.77, -122.42], # (lat, lon) in degrees
[-8.70, 45.00]])
with torch.no_grad():
emb = model(latlon) # [2, 512]
emb64 = emb[:, :64] # compact 64-d Matryoshka prefix
hydroloc.py is self-contained and depends only on torch (plus huggingface_hub and
safetensors for from_pretrained).
Coordinate convention
Input is (..., 2) with column 0 = latitude, column 1 = longitude, in degrees. Internally
the coordinate is mapped through the Equal-Earth projection before the SIREN trunk.
Files
hydroloc.pyβ standalone model definition + loadermodel.safetensorsβ trunk weightsconfig.jsonβ architecture config
Architecture
| Trunk | residual SIREN, embed_dim=512, depth=4, w0_first=30 |
| Input | Equal-Earth-projected (lat, lon) |
| Output | 512-d embedding; Matryoshka prefixes [64, 128, 256, 512] |
| Objective | cosine + MSE distillation of L2-normalized teacher embeddings |
| Teachers | DINOv3 ViT-L/16 (RGB), OlmoEarth v1.2 Base (multispectral) |
The per-teacher distillation heads are training-only and not included; the released artifact is the coordinate β embedding trunk.
Notes
- Trained on water locations, so embeddings are most meaningful over oceans/coasts/inland water.
- The embedding is spatially smooth (nearby coordinates β similar embeddings) and, under PCA, recovers global coastline structure.
- Downloads last month
- 32