Skip to content

Herbie 2023.3.0

Compare
Choose a tag to compare
@blaylockbk blaylockbk released this 12 Mar 05:25
· 476 commits to main since this release

Thanks again for using Herbie and your kind words. More than a few of you found me at the AMS annual meeting in Denver to thank me for publishing and maintaining Herbie. It's always encouraging to hear how I've helped someone. I'm still in shock how putting some code I wrote in grad school on the internet was discovered by so many. Hebie is still a project I work on in my free time, and I don't claim it is the most efficient or cleanly coded package, but the lessons I learn with Herbie have helped me in many ways in other work I do. So, I thank you for your involvement and use of Herbie and for helping me develop my skills.

Now I want to give a big "thank you" to these two people

  1. Ryan May (@dopplershift), thanks for instructing me on how to publish Herbie on conda-forge. This really simplifies installing Herbie given its dependency on cgfrib and cartopy. Herbie can now be installed like this:
conda install herbie-data

Note: The name of this package on pypi and conda is herbie-data because herbie is taken on PyPI.

  1. Andreas Motl (@amotl), thanks for your help with migrating the documentation to readthedocs and adding GitHub Actions to run the suite of tests with each pull request. Automating the doc builds and tests really helps.

These changes and other updates help make Herbie feel a little more "grown up" in this release.

Breaking Changes

  • I renamed the file herbie/archive.py to herbie/core.py because the name "archive" was starting to lose its meaning. Please pay attention to how you import Herbie...
# DON'T do this anymore
from herbie.archive import Herbie

# DO this
from herbie import Herbie
  • I renamed the Herbie method H.read_idx() to H.inventory() because the single word is easier for me to remember. If you use read_idx() you will get a warning for now; it will be removed later. Note that the inventory method is also available for FastHerbie. In fact, I'm migrating away from the term "index" to "inventory" because it I think it's a more accurate description of what a ".idx" file is--in inventory of the file contents. And besides, "index" means other things in python if you are a heavy Pandas user.
## DON'T do this anymore
H = Herbie(date, model)
H.read_idx()

# DO this
H = Herbie(date, model)
H.inventory()

New/Updated Model Templates

  • Added rtma model template for RTMA (CONUS and Alaska). Template could be extended to include more products (Hawaii, guam, URMA products, etc.).
  • Added gdas to model template by @blaylockbk in #107 Thanks, @alcoat!
  • Updated gefs model template (not reforecast GEFS) by @blaylockbk in #133
  • Updated ecmwf to include AWS as source for ECMWF forecasts by @blaylockbk in #159

Note: There will be additional changes to the GEFS and GFS model templates to make the more consistent. I also plan to add a template for the URMA model since it exists.

What's Changed

  • Install: Herbie can be installed with conda.
  • Bug Fix: Essentially turned off 'content-length' check in affdbda because files from NOMADS report a content-length of 20 bytes (something changed on NOMADS in the last year)
  • Enhancement: Fix handling idx source location and generate missing idx with wgrib2 for local files. by @blaylockbk in #127
  • Documentation: Made the Herbie logo a little more "shiny".
  • Documentation: Overhaul of the Herbie documentation (thanks to the flu and being confined to bed for a few days).
  • Documentation: Add configuration for "Read the Docs" by @amotl in #142
  • CI: Run tests on GHA by @amotl in #139
  • General updates, improvement, and clean up by @blaylockbk in #158
  • Improvements to nearest_points required input. by @blaylockbk in #165
  • Add a wrapper for wgrib2 in Herbie. by @blaylockbk in #161

New Contributors

Full Changelog: 2022.09.0...2022.x.x