无法使用 satpy 加载 HDF Modis 数据

Could not load HDF Modis data with satpy

一个可能很愚蠢的问题。 我想用 python 加载 MODIS hdf 数据。这些数据集可在 Earthdata 上获得。首先生成一个数据列表,它与日期匹配。

filenames_Aqua=glob(sat_path+MODIS_AQUA+'*.hdf')
filenames_Aqua.sort()

现在我有一个包含 10 个文件的列表。以下是 Satpy 的介绍:

global_scene = Scene(reader="modis_l1b", filenames=filenames_Aqua)

出现以下错误消息:

ValueError: Could not load data from file /MODIS_Aqua/Calibrated_Radiances_5-Min_L1B_1km/MYD021KM.A2017131.1320.061.2018032101913.hdf: SD (15): File is supported, must be either hdf, cdf, netcdf

有什么想法吗?

谢谢。

我会在这里重复我的评论,这样这个问题就可以被认为已经解决了(你需要select这是公认的答案)。

您收到的错误消息来自底层的 pyhdf 库,而不是 Satpy。这表明您的 HDF4 文件在某种程度上已损坏,或者实际上可能不是 HDF4 文件。您可以在命令行上尝试 运行 ncdump -h your_file.hdf,如果成功则表明文件未损坏。

正如您所说,Earthdata 中的文件似乎在某种程度上已损坏。来自 LADS 的相同文件都可以。如果您愿意,我建议您联系 Earthdata 小组,了解您发现的问题。