如何从 NCEI THREDDS 服务器下载和子集 netCDF 文件
How to download and subset netCDF files from NCEI THREDDS server
我正在尝试下载位于此处的文件并对其进行子集化:https://www.ncei.noaa.gov/thredds-ocean/catalog/ncei/archive/data/0129374/daily/catalog.html,但我不确定是我做错了什么还是 link 有问题。这是我第一次从该服务下载数据,所以我无法准确判断。
如果我将鼠标悬停在 link 上,我会看到第一个文件: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 打开这个 url:
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: Malformed or unexpected Constraint:
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'
有没有可能是link有问题?我如何下载这些数据并对其进行子集化?
目前您使用的文件有误。您需要使用 OPENDAP link: 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()
我正在尝试下载位于此处的文件并对其进行子集化:https://www.ncei.noaa.gov/thredds-ocean/catalog/ncei/archive/data/0129374/daily/catalog.html,但我不确定是我做错了什么还是 link 有问题。这是我第一次从该服务下载数据,所以我无法准确判断。
如果我将鼠标悬停在 link 上,我会看到第一个文件: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 打开这个 url:
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: Malformed or unexpected Constraint: 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'
有没有可能是link有问题?我如何下载这些数据并对其进行子集化?
目前您使用的文件有误。您需要使用 OPENDAP link: 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()