Skip to content

Inconsistent variables names for 100m wind speed starting with eccodes==2.45.0 #533

Description

@williamhobbs

I'm not sure if this is a bug or simply a change, so let me know if I should move this to a discussion...

With eccodes==2.44.0, I could get 80 and 100 m wind speed from GFS and GEFS like this:

search_str = ('[UV]GRD:80 m above|[UV]GRD:100 m above')

ds = Herbie(
            date=pd.Timestamp('2025-08-20 12:00:00'),
            model='gfs',
            product='pgrb2.0p25',
            fxx=18,
            ).xarray(search_str)

xr.merge(ds, compat='override')

ds is a list of datasets, and xr.merge... returns an xarray dataset with variables u and v for 80 m wind speed, u100 and v100 for 100 m wind speed.

Image

But with eccodes>=2.45.0,

search_str = ('[UV]GRD:80 m above|[UV]GRD:100 m above')

ds = Herbie(
            date=pd.Timestamp('2025-08-20 12:00:00'),
            model='gfs',
            product='pgrb2.0p25',
            fxx=18,
            ).xarray(search_str)

ds

ds is a single dataset with only u and v variables and two separate values for the heightAboveGround coordinate (80.0 and 100.0)

Image

But then searching only for 100 m wind speed gives variables named u100 and v100:

search_str = ('[UV]GRD:100 m above')

ds = Herbie(
            date=pd.Timestamp('2025-08-20 12:00:00'),
            model='gfs',
            product='pgrb2.0p25',
            fxx=18,
            ).xarray(search_str)
ds
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions