当我使用satpy读取喜马威-8标准数据时,终端总是说“提供了‘文件名’,但它是空的。”
喜马威-8有16个观察波段,每10分钟就有一张完整的磁盘图片,因此对于一个包含16个文件夹(一个文件夹是一个波段)的文件夹,每个波段被分成10个部分,因此在一个波段文件夹中有10个文件。
喜马威-8标准数据的格式是.dat,数据命名为HS_aaa_yyyymmdd_hhnn_Bbb_cccc_Rjj_Skkll.DAT.
H08: Himawari-8
yyyy: Observation start time(year)
mm: Observation start time(month)
dd: Observation start time(day)
hh: Observation start time(hour)
nn: Observation start time(min.)
bb: Band number (01 – 16)
cccc: Observation area and number, FLDK: Full Disk
jj: Spatial resolution
kk: segment number (01 – 10)
ll: total number of segments (01 – 10)例如HS_H08_20210518_1100_B01_FLDK_R10_S0110.DAT
以下是vscode的所有消息:
(my_satpy_env) E:\HK\Python>python Process_SatHima_Imagery.py
Traceback (most recent call last):
File "E:\HK\Python\Process_SatHima_Imagery.py", line 18, in <module>
scn = Scene(filenames=files, reader='ahi_hsd',filter_parameters={'start_time': datetime(2021,5,25,2,00), 'end_time': datetime(2021,5,25,2,10)})
File "C:\Users\RSFBioL\anaconda3\envs\my_satpy_env\lib\site-packages\satpy\scene.py", line 108, in __init__
self._readers = self._create_reader_instances(filenames=filenames,
File "C:\Users\RSFBioL\anaconda3\envs\my_satpy_env\lib\site-packages\satpy\scene.py", line 157, in _create_reader_instances
return load_readers(filenames=filenames,
File "C:\Users\RSFBioL\anaconda3\envs\my_satpy_env\lib\site-packages\satpy\readers\__init__.py", line 546, in load_readers
raise ValueError("'filenames' was provided but is empty.")
ValueError: 'filenames' was provided but is empty.我使用了吉特布的代码,他上传了代码“https://github.com/gSasikala/ftp-himawari8-hsd/blob/main/examples/Processing_Satellite_Imagery.ipynb”
我使用编辑器vs代码编写,python版本为3.9.7,我已经在我的计算机上安装了anaconda和satpy。
对不起,我是Python和喜马威8标准数据公司的新手,如果我错过了什么,就提醒我一下。谢谢你的回复或对我的建议。
发布于 2022-01-14 03:47:29
错误消息意味着将空列表传递给Scene对象。因此,在这一行代码中(您可以在错误跟踪中看到它):
scn = Scene(filenames=files, reader='ahi_hsd',filter_parameters={'start_time': datetime(2021,5,25,2,00), 'end_time': datetime(2021,5,25,2,10)})files变量是一个空列表([])。Satpy不能加载任何东西,因为它没有任何文件。链接到的笔记本使用以下代码创建files变量:
files = glob.glob(r'D:\ftp_h8_hsd_25Jul\*.dat')这意味着获取以.dat结尾的目录D:\ftp_h8_hsd_25Jul\中的所有文件的列表。这是笔记本电脑Windows机器作者的目录(文件夹)。如果您在本地机器上没有这些数据文件,那么您需要从某个地方下载它们。如果您有这些文件,那么您需要更改代码的D:\ftp_h8_hsd_25Jul\*.dat部分以匹配您的下载位置。例如,如果您在linux上,并使用浏览器下载文件,它们可能在/home/<username>/Downloads/*.dat中。
我不清楚你想做什么,或者你的出发点是什么,所以我不确定我还能帮上什么忙。Stackoverflow不是最广泛使用的支持Satpy问题的论坛。如果您想多聊聊,我建议加入Pytroll松弛(请参阅http://pytroll.github.io/#getting-in-touch),我们很乐意提供帮助。
https://stackoverflow.com/questions/70515790
复制相似问题