首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我要使用satpy对希米瓦里-8标准数据失败?

为什么我要使用satpy对希米瓦里-8标准数据失败?
EN

Stack Overflow用户
提问于 2021-12-29 06:18:17
回答 1查看 287关注 0票数 1

当我使用satpy读取喜马威-8标准数据时,终端总是说“提供了‘文件名’,但它是空的。”

喜马威-8有16个观察波段,每10分钟就有一张完整的磁盘图片,因此对于一个包含16个文件夹(一个文件夹是一个波段)的文件夹,每个波段被分成10个部分,因此在一个波段文件夹中有10个文件。

喜马威-8标准数据的格式是.dat,数据命名为HS_aaa_yyyymmdd_hhnn_Bbb_cccc_Rjj_Skkll.DAT.

代码语言:javascript
复制
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的所有消息:

代码语言:javascript
复制
(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标准数据公司的新手,如果我错过了什么,就提醒我一下。谢谢你的回复或对我的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-14 03:47:29

错误消息意味着将空列表传递给Scene对象。因此,在这一行代码中(您可以在错误跟踪中看到它):

代码语言:javascript
复制
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变量:

代码语言:javascript
复制
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),我们很乐意提供帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70515790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档