New package for reading grib2 meteorological files

74 views
Skip to first unread message

Tom Larsen

unread,
Oct 30, 2025, 11:12:59 AM (13 days ago) Oct 30
to golang-nuts
Hi all,

I've been working on building containerized data pipelines to process large-scale meteorological observations and forecasts. Go is my favorite platform to build these with because I can achieve very small, high-performance containers.

To do this, I needed to read the grib2 file format. It's a highly compressed and esoteric storage format for gridded weather data. Many of the NOAA's flagship forecasts publish their data into grib2 files.

I wanted a pure-Go solution without external dependencies. Not seeing one that was compatible with the files I work with, I built my own. It can read geospatial grid points and their values from NOAA's GFS, HRRR, GDAS, and MRMS weather products (and likely others).

It's open source (MIT) and available on GitHub.

I've completed pressure testing on the grib files I use. If you find a file it does not work with, open a PR and attach the file. This package is the backbone of my pipelines and I am pushing to make it fully compliant with the grib2 spec, but I need example files to find edge cases that aren't handled correctly or that use templates I have not implemented.

Links:

Thanks,
Tom

Wojciech S. Czarnecki

unread,
Oct 30, 2025, 10:11:36 PM (13 days ago) Oct 30
to golan...@googlegroups.com
Dnia Thu, 30 Oct 2025 08:12:59 -0700 (PDT)
Tom Larsen <larsen...@gmail.com> napisał/a:

> To do this, I needed to read the grib2 file format. It's a highly
> compressed and esoteric storage format for gridded weather data. Many of
> the NOAA's flagship forecasts publish their data into grib2 files.
>
> I wanted a pure-Go solution without external dependencies. Not seeing one
> that was compatible with the files I work with, I built my own. It can read
> geospatial grid points and their values from NOAA's GFS, HRRR, GDAS, and
> MRMS weather products (and likely others).

Thank you :)

--
Wojciech S. Czarnecki
<< ^oo^ >> OHIR-RIPE
Reply all
Reply to author
Forward
0 new messages