iris-grib
iris-grib copied to clipboard
GRIB interface for Iris.
Reference #463. Enforce an `iris>=3.10` for `iris_grib` when `iris` 3.10 is released. Also purge the defensive code `iris_grib.__init__._aslazydata_has_meta` along with an appropriate refactor.
synced local file(s) with [SciTools/.github](https://github.com/SciTools/.github). ## Please read: https://github.com/SciTools/.github/tree/main/templates Changed files synced local .pre-commit-config.yaml with remote templates/.pre-commit-config.yaml --- This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#8904391301](https://github.com/SciTools/.github/actions/runs/8904391301)
The GRIB1 load translation code ([here](https://github.com/pp-mo/iris-grib/blob/459d9d058387850ad0ccfa914fea16f26449c383/iris_grib/_grib1_load_rules.py])) is still using `GribWrapper`s, which is the only thing preventing us throwing all the old loader code away, including the GribWrapper class. **Technical Debt...
All the grib2 load rules in `iris_grib._load_convert` are written in terms of the sectionally-structured `GribMessage` object. But all the **save** rules (`iris_grib._save_rules`) use the gribapi (and/or eccodes) instead **Technical Debt...
Especially Ruff, but also repo-review (when integrated) We can adopt the general approach [developed for ruff in Iris](https://github.com/SciTools/iris/issues/5625#issuecomment-1859159734), broadly - a to-do checklist of excluded checks - a regular review...
Closes #188
Akin to `iris`, we should consider adopting the [Covenant Code of Conduct](https://www.contributor-covenant.org/) for `iris-grib`.
The [zenodo](https://zenodo.org/account/settings/github/repository/SciTools/iris-grib) service has now been enabled for `iris-grib`, but we'll only get our first DOI with the next release, at which point we can add the `zenodo` badge to...
The [translation routine for gdt 3.10 (mercator grids)](https://github.com/SciTools/iris-grib/blob/v0.15.0/iris_grib/_load_convert.py#L755) does not check all termplate parameters. Specifically, it doesn't check the scanningMode, nor *any* of the following parameters at the end of...