check_satpy() reports 5 readers broken under satpy v0.23.0
Describe the bug After install the new satpy 0.23.0 release, I have ran check_satpy() function and found 5 readers are broken; most likely due to DatasetID refactoring.
To Reproduce
python3 -c "from satpy.config import check_satpy; check_satpy()"
Expected behavior check_satpy() should report 'ok' for those readers as under previous version v0.22.0.
Actual results Text output of actual results or error messages including full tracebacks if applicable.
... ...
avhrr_l1b_hrpt: cannot find module 'satpy.readers.hrpt' (cannot import name 'Dataset' from 'satpy.dataset'
caliop_l2_cloud: cannot find module 'satpy.readers.caliop_l2_cloud' (cannot import name 'Dataset' from 'satpy.dataset')
ghrsst_l3c_sst: cannot find module 'satpy.readers.ghrsst_l3c_sst' (cannot import name 'Dataset' from 'satpy.dataset' )
li_l2: cannot find module 'satpy.readers.li_l2' (cannot import name 'Dataset' from 'satpy.dataset')
scatsat1_l2b: cannot find module 'satpy.readers.scatsat1_l2b' (cannot import name 'Dataset' from 'satpy.dataset')
Environment Info:
- OS: Linux Ubuntu 18.04
- Satpy Version: 0.23.0
Continuing our conversation from slack: these import errors are actually from the old Dataset class we used to have that was replaced by xarray.DataArray when we moved to xarray/dask in Satpy. Most likely, we removed the actual placeholder class that was sitting in the code and did nothing.
We could either exclude these readers from the checks as "known broken" readers or something like that or someone can fix them all to use DataArray.
Please can you fix these readers. Thanks!
@howff We do what we can in our free time, but apparently none of the original developers are using these readers. If you'd like these to be updated then it may come down to either you volunteering your time or finding a way to fund one of the core Satpy developers to do the work. Otherwise, it will likely depend on when someone who understands the data and the code to find the time to do the changes.
See also https://github.com/pytroll/satpy/issues/399
li_l2 reader has been rewritten in #2271
Just to update on 0.59, check_satpy() is now in satpy.utils
Only two readers stil reports on the cannot import name Dataset ...
caliop_l2_cloud and scatsat1_l2b
Should we move these readers to a satpy.readers._defunct sub-package/module? Similarly the YAML files would need to be moved to satpy/etc/readers/_defunct/. Or do we just remove them completely and depend on git history to get back to them?
I can have a quick look at scatsat1_l2b