如何使用 OPeNDAP open/download XArray 中的 MODIS 数据

How to open/download MODIS data in XArray using OPeNDAP

我想通过 OPeNDAP 作为 xarray.Dataset 访问多个 MODIS 产品,例如找到 here 的 MOD13Q1 瓦片。但是我 运行 遇到了一些问题,我认为这些问题在某种程度上与身份验证有关。对于不需要身份验证的数据源,一切正常。例如:

data = xr.open_dataset('https://dods.ndbc.noaa.gov/thredds/dodsC/data/stdmet/44065/44065.ncml')

运行没有问题。但是,对于 NASA Earthdata,我需要提供用户名和密码。 XArray documentation points to a function provided by pydap called setup_session which, as they explain in their documentation,专门为NASA Earthdata提供:

from pydap.client import open_url
from pydap.cas.urs import setup_session
dataset_url = 'https://opendap.cr.usgs.gov/opendap/hyrax/MOD13Q1.061/h01v10.ncml'
session = setup_session('my_username', 'my_password', check_url=dataset_url)
dataset = open_url(dataset_url, session=session)

这会在 setup_session 行出现以下错误:

UserWarning: Navigate to https://opendap.cr.usgs.gov/opendap/hyrax/MOD13Q1.061/h01v10.ncml, login and follow instructions. It is likely that you have to perform some one-time registration steps before acessing this data.

导航到给定的 url 不幸的是没有解决任何问题。我也非常有信心我已经在我的 NASA Earthdata 个人资料页面上批准了正确的应用程序(例如,我已经批准 LP DAAC OPeNDAP)。

任何 suggestions/solutions 将不胜感激!

在您填写表格并请求一些数据之前,ncml 数据页面不会要求您登录。我尝试了登录 url,它请求 ASCII 格式的最小数据片段。当时好像还行。

login_url = "https://opendap.cr.usgs.gov/opendap/hyrax/MOD13Q1.061/h01v10.ncml.ascii?YDim[0],XDim[0],time[0]"
dataset_url = 'https://opendap.cr.usgs.gov/opendap/hyrax/MOD13Q1.061/h01v10.ncml'
session = setup_session('my_username', 'my_password', check_url=login_url)
dataset = open_url(dataset_url, session=session)