MeteoLens began in 2019 as a set of ingest scripts for a university thesis and turned into infrastructure that other people depend on. Two maintainers, one server rack, no company.
National meteorological services publish excellent data in mutually incompatible formats, with different missing-value conventions, different time zones and different ideas about what a station identifier is. Every researcher who needs more than one country writes the same normalisation layer, badly, and throws it away at the end of the project. This is that layer, maintained.
A grant from a Dutch research council covers hardware until 2028. Bandwidth is donated by a hosting provider in exchange for a logo we have never got round to adding. There is no commercial tier and no plan to build one — if the grant ends, the archive gets frozen and stays online read-only rather than going behind a paywall.
Derived products, normalisation code and quality flags are CC BY 4.0. The underlying observations remain under the terms of their source networks; each station record carries a source_licence field with the exact terms and a link. Most are open, a handful of them restrict commercial redistribution, and we do not attempt to relicense anything.
@misc{meteolens2026,
title = {MeteoLens: a normalised archive of station observations},
author = {Vos, R. and Ilves, K.},
year = {2026},
note = {https://meteolens.safeeclipse.online}
}Data questions and key requests: data@meteolens.safeeclipse.online. Suspected errors in a series: send the station, variable and time window — we reprocess and reply with what we found, even when the answer is that the upstream network is wrong and we cannot fix it.