Package: python3-xarray
Version: 0.15.0-3
Severity: important

Dear Maintainer,

I was trying to use to_netcdf() located in 
/usr/lib/python3/dist-packages/xarray/backends/api.py on a grib file without 
specifying the engine and it appears that the default engine selection end up 
on grib engine.

So _get_default_engine calls _get_default_engine_grib as we have a grib file 
but this function always raise a ValueError even if cfgrib import succeed but 
anyway, there is a real issue with this function as it is returning nothing 
while _get_default_engine is expecting an engine.
If we try to, somehow, makes _get_default_engine_grib return cfdisk as engine, 
it will still fail as cfgrib is absent of the WRITEABLE_STORES bellow but even 
if it would have been present, cfgrib does not implement a writeable store.

WRITEABLE_STORES: Dict[str, Callable] = {
    "netcdf4": backends.NetCDF4DataStore.open,
    "scipy": backends.ScipyDataStore,
    "h5netcdf": backends.H5NetCDFStore.open,
}

I'm quite new dealing with xarray but I think grib engine seems to be on work 
in progress or something and doesn't look ready yet.

In order to get the job done, I tryed to make _get_default_engine_grib 
returning "netcdf4" based on observation on an older implementation of xarray 
(0.10.2-1). This "hack" worked but it is really dirty. 

Could you please dig a bit more and fix this issue?

Best regards, and thank you for all job done maintaining theses packages.


-- System Information:
Debian Release: bullseye/sid
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'unstable'), (500, 'testing'), 
(500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-8-amd64 (SMP w/1 CPU core)
Kernel taint flags: TAINT_CRAP
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-xarray depends on:
ii  python3         3.8.2-2
ii  python3-numpy   1:1.17.4-5
ii  python3-pandas  0.25.3+dfsg-7

Versions of packages python3-xarray recommends:
ii  python3-bottleneck  1.2.1+ds1-2+b1
ii  python3-dask        2.11.0+dfsg-1
ii  python3-h5netcdf    0.7.1-1
ii  python3-netcdf4     1.5.3-1+b2
ii  python3-zarr        2.4.0+ds-1

Versions of packages python3-xarray suggests:
pn  python-xarray-doc   <none>
pn  python3-cartopy     <none>
ii  python3-matplotlib  3.2.1-1
pn  python3-pydap       <none>
pn  python3-rasterio    <none>
ii  python3-scipy       1.3.3-3
pn  python3-seaborn     <none>
ii  python3-toolz       0.9.0-1

-- no debconf information

Reply via email to