What's Changed
* Fixed issue when opening GRIB2 files via the xarray backend by TimothyCera-NOAA in https://github.com/NOAA-MDL/grib2io/pull/126
* Added support for MRMS GRIB2 files and [custom MRMS GRIB2 tables](https://www.nssl.noaa.gov/projects/mrms/operational/tables.php) File by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/127
* MRMS GRIB2 files are Gzipped. grib2io can now read Gzipped GRIB2 files, **_but this cannot be done using the xarray backend_**
* Cleanup of GRIB2 message indexing and allow for GRIB1 messages to be ignored by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/129
* Some ECMWF files contain both GRIB1 and GRIB2 messages
* Add support for [PDT 4.32](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp4-32.shtml) by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/130
* Properly mask output data when interpolating from smaller to larger domain by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/133
* Improved docstrings and some type hints. by TimothyCera-NOAA in https://github.com/NOAA-MDL/grib2io/pull/134
* `Grib2Message` class now contains properties `lats` and `lons` by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/135
* Static library build support by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/138
* Expose `bitmap` as public `Grib2Message` attribute by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/140
* Added `to_grib2()` xarray accessor method for `xarray.Dataset` and `xarray.DataArray` objects by TimothyCera-NOAA in https://github.com/NOAA-MDL/grib2io/pull/136
* Improved performance when opening files by removing the use of a 1MB buffer (leftover from grib2io v1.x) and by making `grib2io.open` attrs `levels` and `variables` properties by EricEngle-NOAA in 2fd5219 and 626e28e
* Added NCEP GRIB2 table version number by EricEngle-NOAA in 01e3f62
* Changed `Grib2Message.duration` attribute from being `None` to `datetime.timedelta(hours=0)` by EricEngle-NOAA in 9ef5e53
* Added properties `min`, `max`, `mean`, and `median` to the Grib2Message object by EricEngle-NOAA in 24e4260
* Added ability to control the number of OpenMP threads used for interpolation EricEngle-NOAA in b0d2245
Details about writing to GRIB2 from the Xarray Backend
grib2io v2.2.0 introduces the ability to write GRIB2 files from the xarray backend via `.to_grib2()` accessor methods for `xarray.Dataset` and `xarray.DataArray` objects. At this time, this will only work if xarray objects originated from the grib2io xarray backend. The `.to_grib2()` accessor method leverages xarray attributes `'GRIB2IO_section*'` that are the numeric GRIB2 metadata sections. Future updates to the grib2io xarray backend will further build out this functionality.
**Full Changelog**: https://github.com/NOAA-MDL/grib2io/compare/v2.1.4...v2.2.0