Grib2io

Latest version: v2.3.0

Safety actively analyzes 688512 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 6

2.0.2

Another very small bugfix release.

What's Changed
* Fixed a bug in `show_config()` that was causing a `ModuleNotFoundError`. (see eb95acd)

**Full Changelog**: https://github.com/NOAA-MDL/grib2io/compare/v2.0.1...v2.0.2

2.0.1

What's Changed
* Removed `import g2clib` from `grib2io.utils.__init__`. This is no longer needed and was causing ModuleNotFoundError. (see 992c891)
* Fixed an issue in setup.py where g2c_incdir could be undefined. (see 8db08fa)
* Fixed an issue when creating a new Grib2Message object from scratch, the reference date components are set to zero that would raise errors with the datetime.datetime objects. For new Grib2Messages, the reference date is now set to the UNIX epoch. (see 7fd6f5d)
* xarray backend: Added ability to pass interpolation method options to the interp accessor functions. (see b9053dc)
* xarray backend: Added `engine` attribute to returned Dataset; added `griddef()` accessor function to return the `grib2io.Grib2GridDef` object. (see f4944b3)
* xarray backend: Added `validDate` coordinate variable and `shortName` and `fullName` attrs to DataArrays. (see 3f7225d)

**Full Changelog**: https://github.com/NOAA-MDL/grib2io/compare/v2.0.0...v2.0.1

2.0.0

Introduction

The entire grib2io codebase has been rewritten. grib2io v1 was an optimized version of its predecessor, ncepgrib2 (formerly a part of the pygrib package). grib2io v2 has taken a different approach to handling the vast amount of GRIB2 metadata.

The Grib2Message object uses dynamic inheritance where it is comprised of a base object (for GRIB2 Sections 0 and 1). The rest of the GRIB2 message makes use of templates, so grib2io defines each grid, product, and data representation template as a class. When a GRIB2 message is read from file or created from scratch, `Grib2Message.__new__()` is used to create the custom Grib2Message object based on the template numbers.

In the Grib2Message object, GRIB2 section metadata values are stored in class variables of the section name (e.g. section0, section1, etc). The Grib2Message base class and template classes contain metadata that are class variable that are dataclass field objects. Their default values are descriptor classes that live in `grib2io/templates`. **_Each GRIB2 metadata attribute has a descriptor class defined for it_**. This allows for real-time mapping between a GRIB2 numeric metadata value stored in the section array and its "decoded" state.

Why refactor in this manner? The Grib2Message object now becomes a lightweight object container. The GRIB2 metadata only exists in 1 location -- its respective section array and you access the decoded variable through its descriptor class, not another variable in the object.

Highlights

* Rewrite of `Grib2Message` object leveraging dynamic inheritance; template classes; and descriptor classes for metadata (see Introduction above for more information). (39)

* Added support for spatial interpolation using [NCEPLIBS-sp](https://github.com/NOAA-EMC/NCEPLIBS-sp) and [NCEPLIBS-ip](https://github.com/NOAA-EMC/NCEPLIBS-ip) libraries. (#52)

* Improved perforamance when indexing GRIB2 messages. Instead of storing many attributes of each message, the actual Grib2Message object is stored along with message offset information.

* **_IMPORTANT:_** For `grib2io.open`, GRIB2 message number counting now begins at zero (0).

* Improved `grib2io.open.select()` functionality. Since each Grib2Message object is indexed, the select method can easily access **_ANY_** Grib2Message metadata attribute.

* Improved performance when unpacking data values. The GRIB2 data section is only read from file when `Grib2Message.data` is referenced. (40)

* Added support for Reduced and Rotated Lat/Lon grids. (42 and 59)

* Added support for Product Definition Template 4.48. (49)

* Date and time metadata objects are now of type `datetime.datetime` or `datetime.timedelta`. (1)

* Improved xarray backend support.

**Full Changelog**: https://github.com/NOAA-MDL/grib2io/compare/v1.1.0...v2.0.0b1

2.0.0rc2

What's Changed
* Fix latlons by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/83
* Add pyproject.toml by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/84
* Unified interpolation function by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/85
* Update xarray backend by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/86


**Full Changelog**: https://github.com/NOAA-MDL/grib2io/compare/v2.0.0rc1...v2.0.0rc2

2.0.0rc1

What's Changed
* Update README.md by timcera in https://github.com/NOAA-MDL/grib2io/pull/71
* Interp to stations by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/74
* tweaks to xarray_backend for forming datarray based on pdtn by AdamSchnapp in https://github.com/NOAA-MDL/grib2io/pull/77
* Separate interpolation from grib2io into it own repo/package, [grib2io-interp](https://github.com/NOAA-MDL/grib2io-interp) by EricEngle-NOAA in https://github.com/NOAA-MDL/grib2io/pull/78

New Contributors
* timcera made their first contribution in https://github.com/NOAA-MDL/grib2io/pull/71

Known Issues
* Issue generating latitude and longitude values for some GRIB2 files (mainly from CMC and BOM Australia) 82

**Full Changelog**: https://github.com/NOAA-MDL/grib2io/compare/v2.0.0b2...v2.0.0rc1

2.0.0b2

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.