gpt4 book ai didi

python - 如何使用 pydap 库收集 THREDDS 数据?

转载 作者:行者123 更新时间:2023-12-01 08:15:21 25 4
gpt4 key购买 nike

我一直在尝试使用 Will Holgren 的示例 get_nomads.py 模块,他很友善地转发了我的方式。代码中,有一个获取THREDDS数据的调用,如下:

from pydap.client import open_url
dataset = open_url('https://nomads.ncdc.noaa.gov/thredds/dodsC/gfs-004/201612/20161201/gfs_4_20161201_0000_003.grb2')

这不起作用,因为(显然)旧的 THREDDS 服务器已停用。

Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm 2018.2.4\helpers\pydev\_pydevd_bundle\pydevd_exec2.py", line 3, in Exec
exec(exp, global_vars, local_vars)
File "<input>", line 1, in <module>
File "C:\Users\pmoran\jira\slf\venv\lib\site-packages\pydap\client.py", line 64, in open_url
dataset = DAPHandler(url, application, session, output_grid).dataset
File "C:\Users\pmoran\jira\slf\venv\lib\site-packages\pydap\handlers\dap.py", line 51, in __init__
raise_for_status(r)
File "C:\Users\pmoran\jira\slf\venv\lib\site-packages\pydap\net.py", line 30, in raise_for_status
comment=response.body
webob.exc.HTTPError: 404 Not Found

所以环顾四周,我找不到支持这种数据访问方法的 THREDDS 服务器。

顺便说一句:我能够获取数据如下:

url = 'http://dtvirt5.deltares.nl:8080/thredds/dodsC/opendap/rijkswaterstaat/jarkus/profiles/transect.nc'
dataset = open_url(url)
<DatasetType with children 'id', 'areacode', 'areaname', 'alongshore', 'cross_shore', 'time', 'time_bounds', 'epsg', 'x', 'y', 'lat', 'lon', 'angle', 'mean_high_water', 'mean_low_water', 'max_cross_shore_measurement', 'min_cross_shore_measurement', 'nsources', 'max_altitude_measurement', 'min_altitude_measurement', 'rsp_x', 'rsp_y', 'rsp_lat', 'rsp_lon', 'time_topo', 'time_bathy', 'origin', 'altitude'>
variable = dataset['id']
print(variable[0:10])
[2000100 2000101 2000102 2000103 2000104 2000105 2000106 2000120 2000140
2000160]

我还看到我可以手动从 https://www.ncei.noaa.gov/thredds/dodsC/gfs-g4-anl-files/201808/20180828/gfsanl_4_20180828_1800_006.grb2.html 下载数据

但我似乎找不到参数格式来使用 pydap 下载数据。我认为我所需要的只是一个指向真实 THREDDS 服务器的指针,该服务器在同一 URI 位置具有适当的 DDS 和 DAS 文件。

有人知道如何使用 pydap 客户端获取 GFS4 GRB 文件吗?

谢谢

最佳答案

还没有使用 pydap 进行测试,使用 netCDF4 进行测试,它对 THREDDS 非常有用。这应该可以使用 pydap 来实现。


dataset = open_url('http://www.ncei.noaa.gov/thredds/dodsC/gfs-g4-anl-files/201612/20161201/gfsanl_4_20161201_0000_003.grb2')

该文件的 THREDDS OPeNDAP 表单为 here:

YYYYMM/组织的主要目录位于: https://www.ncei.noaa.gov/thredds/catalog/gfs-g4-anl-files/catalog.html
所有带有 TDS 访问链接的 NCEI GFS 数据集均可在此处查看:
https://www.ncdc.noaa.gov/data-access/model-data/model-datasets/global-forcast-system-gfs

关于python - 如何使用 pydap 库收集 THREDDS 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55012687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com