问题描述
我正在尝试下载位于此处的文件并对其进行子集化:https://www.ncei.noaa.gov/thredds-ocean/catalog/ncei/archive/data/0129374/daily/catalog.html,但我不确定是我做错了什么还是链接有问题。这是我第一次从该服务下载数据,所以我无法确切判断。
如果我将鼠标悬停在我看到的第一个文件的链接上:https://www.ncei.noaa.gov/thredds-ocean/catalog/ncei/archive/data/0129374/daily/catalog.html?dataset=ncei/archive/data/0129374/daily/livneh_NAmerExt_15Oct2014.195001.nc
我试过用 pydap 打开这个网址:
from pydap.client import open_url
open_url('https://www.ncei.noaa.gov/thredds-ocean/catalog/ncei/archive/data/0129374/daily/catalog.html?dataset=ncei/archive/data/0129374/daily/livneh_NAmerExt_15Oct2014.195001.nc')
但我收到错误:
webob.exc.HTTPError: 404 Not Found
如果我使用 netCDF4 库,则会出现不同的错误:
import netCDF4
netCDF4.Dataset('https://www.ncei.noaa.gov/thredds-ocean/catalog/ncei/archive/data/0129374/daily/livneh_NAmerExt_15Oct2014.195001.nc')
这给了我:
OSError:[Errno -75] NetCDF:格式错误或意外约束: b'https://www.ncei.noaa.gov/thredds-ocean/catalog/ncei/archive/data/0129374/daily/catalog.html?dataset=ncei/archive/data/0129374/daily/livneh_NAmerExt_15Oct2014.195001. nc'
链接可能有问题吗?如何下载这些数据并对其进行子集化处理?
解决方法
目前您使用的文件有误。您需要使用 OPENDAP 链接:https://www.ncei.noaa.gov/thredds-ocean/dodsC/ncei/archive/data/0129374/daily/livneh_NAmerExt_15Oct2014.195001.nc.html。然后删除其中的html部分。
我已经使用我的 nctoolkit 包对此进行了测试,它似乎工作正常:
import nctoolkit as nc
ds = nc.open_thredds("https://www.ncei.noaa.gov/thredds-ocean/dodsC/ncei/archive/data/0129374/daily/livneh_NAmerExt_15Oct2014.195001.nc")
ds.select(time = 0)
ds.plot()