问题标签 [opendap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1472 浏览

python - 如何使用 python 下载 nasa 卫星 OPeNDAP 数据

我尝试过请求、pydap、urllib 和 netcdf4,并且在尝试下载以下 NASA 数据时不断收到重定向错误或权限错误:

GLDAS_NOAH025SUBP_3H:GLDAS 诺亚陆地表面模型 L4 3 小时 0.25 x 0.25 度子集 V001(http://disc.sci.gsfc.nasa.gov/uui/datasets/GLDAS_NOAH025SUBP_3H_V001/summary?keywords=Hydrology

我正在尝试下载大约 50k 个文件,这是一个示例,它在粘贴到 google chrome 浏览器时有效(如果您有正确的用户名和密码):

http://hydro1.gesdisc.eosdis.nasa.gov/daac-bin/OTF/HTTP_services.cgi?FILENAME=%2Fdata%2FGLDAS_V1%2FGLDAS_NOAH025SUBP_3H%2F2016%2F244%2FGLDAS_NOAH025SUBP_3H.A2016244.2100.001.20162561907025. 11.95%2C28.86%2C-0.62%2C40.81&LABEL=GLDAS_NOAH025SUBP_3H.A2016244.2100.001.2016286201048.pss.nc&SHORTNAME=GLDAS_NOAH025SUBP_3H&SERVICE=SUBSET_GRIB&VERSION=1.02&LAYERS_BDATASET&LAYERS=

有人有使用 python 从网络获取 OPeNDAP NASA 数据的经验吗?如果需要,我很乐意提供更多信息。

这是给出 401 错误的请求尝试:

这是给出重定向错误的pydap示例:

0 投票
1 回答
1913 浏览

windows - 在 Windows R 64 位中从 OPeNDAP 下载和打开 netcdf 文件

我正在尝试从名为 OPenDAP 的开放在线数据库下载和打开 netcdf 文件。当我直接从 OPenDAP 的服务器数据集访问表单下载数据文件时,将文件命名为“MUR_JPL_L4_GLOB_opendap.nc.nc4”,我可以在 R Studio 中成功下载和查看数据。

此外,当我将数据访问表单的数据 URL 直接插入浏览器时,(例如,“ http://podaac-opendap.jpl.nasa.gov/opendap/allData/ghrsst/data/GDS2/L4/GLOB/JPL/ MUR/v4.1/2009/009/20090109090000-JPL-L4_GHRSST-SSTfnd-MUR-GLOB-v02.0-fv04.1.nc.nc4?lat[0:1:17998],lon[0:1:35999 ],analysed_sst[0:1:0][0:1:17998][0:1:35999] "),命名文件为“MUR_JPL_L4_GLOB_browser.nc.nc4”,我可以在R Studio中成功下载并查看数据.

当我尝试在 R Studio 中使用 download.file() 函数直接从上面的 URL 下载数据时,我也可以成功下载文件。

但是,在 RStudio 中下载的该数据文件(“MUR_JPL_L4_GLOB_rstudio.nc.nc4”)无法使用“ncdf4”包中的 nc_open() 函数在 R Studio 中打开。当我尝试使用以下代码打开文件时,R Studio 报告“断言失败”错误,然后 R Studio 立即崩溃。

我的 R Studio 版本和 ncdf4 包是最新的。我在 Rgui 中尝试了相同的代码,但出现了类似的错误消息和崩溃。我也在另一台计算机上尝试过,结果相同,并使用不同的下载功能,例如“下载器”包中的“下载”,但它也以同样的方式失败。我还下载了文件的一小部分,以防大文件大小出现问题,但这没有帮助。

我的问题是:

1) 为什么使用 download.file() 函数打开 RStudio 下载的文件会导致 R Studio 崩溃,而我的浏览器直接下载的文件正常运行?2)你知道任何可以让我解决这个问题的修复吗?

我的最终目标是下载和处理其中的许多文件,这就是为什么使用浏览器手动下载所有数据不是一个好选择的原因。

我的 sessionInfo() 如下:

R 版本 3.3.2 (2016-10-31) 平台:x86_64-w64-mingw32/x64 (64-bit) 运行于:Windows >= 8 x64 (build 9200)

语言环境:[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252 [4] LC_NUMERIC=C LC_TIME=English_United States.1252

附加的基础包:[1] stats graphics grDevices utils datasets methods base

其他附加软件包:[1] ncdf4_1.15

通过命名空间加载(未附加):[1] tools_3.3.2

在此先感谢您的帮助。

0 投票
1 回答
1264 浏览

python - 如何安装 Python Pydap util 模块(pydap.util)

我安装了什么

我使用以下方法在我的 Ubuntu 上安装了 Pydap:

如果我正确理解了pip search pydap命令的输出,我已经正确安装了所有 Pydap 模块。

但要 100% 确定,我还输入了:

无模块

但是,正如我所见,没有实用程序路径:

所以我无法导入 util 模块(import pydap.util)来执行以下代码:

(从https://wiki.earthdata.nasa.gov/display/EL/How+To+Access+Data+With+PyDAP复制的代码)

看起来:

没有返回任何要安装的包名

笔记

https://wiki.earthdata.nasa.gov/display/EL/How+To+Access+Data+With+PyDAP 有示例“AUTH MODULE CODE”适用于没有安装 util 模块的人,但它不适用于我 - 以下行有问题:

因为 pydap.lib没有定义 USER_AGENT :

AttributeError:“模块”对象没有属性“USER_AGENT”

0 投票
1 回答
1054 浏览

python - 如何通过 OpenDAP 使用 xarray 打开多个 NetCDF 文件?

我正在尝试使用 THREDDS 服务器上的 OpenDAP 打开托管在 OpenDAP 上的多个 NetCDF 文件xarray.open_mfdataset(),但出现错误。如果我只打开一个文件(但仍然使用open_mfdataset()),它可以工作,如果我打开两个,它不会。

例如,这很好用:

虽然这不是:

我在 jupyter 笔记本中运行它,我在笔记本中没有得到任何输出,它只是继续运行,而在终端中它打印以下内容

从那里开始,它只会退化为打印更多垃圾。

这不应该工作得很好吗?

编辑:

我以前不知道这一点,但事实证明 netCDF4 库还支持将多个路径作为一个数据集打开。我不确定这是否相关,因为我不知道 xarray 和 netCDF4 是否使用相同的后端,但无论如何,以下工作都很好。至少这表明问题不在服务器端。

0 投票
2 回答
1499 浏览

python - python将OpenDap加载到NetcdfFile

我正在使用 URL 从 opendap 服务器(数据的子集)打开 netcdf 数据。当我打开它时,数据(据我所见)在请求变量之前并未实际加载。我想将数据保存到磁盘上的文件中,我该怎么做?

我目前有:

希望有人能帮忙,谢谢!

0 投票
2 回答
452 浏览

python - xarray 波周期(以秒为单位)作为 timedelta64 摄取

变量测量海浪周期的“单位”属性以“秒”为单位。这不是日期时间字段,但 xarray 会自动将此变量作为 timedelta64 摄取。由于单位不是“自...之后的秒数”,我会假设 xarray 应该将其视为普通的 float32 数据数组,但显然不是这样。有没有办法让我告诉 xarray 将波周期变量作为 float32 摄取,或者在摄取后将它们从 timedelta64 转换回它们的原始值?我仍然希望它将“时间”变量转换为 timedelta64,所以我不想关闭整个数据集的转换,只针对特定变量(Tper、sper、wper)。

这是我在 TDS 服务器中的波浪预测中使用的基本 OPeNDAP URL:

http://oos.soest.hawaii.edu/thredds/dodsC/hioos/model/wav/ww3/hawaii/WaveWatch_III_Hawaii_Regional_Wave_Model_best.ncd

建议?谢谢!

您可以在此处使用 OPeNDAP 页面查看类似“ncdump”的输出:

http://oos.soest.hawaii.edu/thredds/dodsC/hioos/model/wav/ww3/hawaii/WaveWatch_III_Hawaii_Regional_Wave_Model_best.ncd.html

或者您可以像这样在 OPeNDAP URL 上运行 ncdump:

ncdump -h http://oos.soest.hawaii.edu/thredds/dodsC/hioos/model/wav/ww3/hawaii/WaveWatch_III_Hawaii_Regional_Wave_Model_best.ncd

这导致以下结果:

0 投票
1 回答
498 浏览

numpy - xarray:通过 OPeNDAP 存储的数据的平均值

我正在使用 xarray 非常酷的 pydap 后端(http://xarray.pydata.org/en/stable/io.html#opendap)来读取通过 OPenDAP 在 IRI 存储的数据:

作为参考,它是次季节预测数据,其中 L 是提前期(45 天预测),S 是初始化日期,M 是集合。

我想做一个整体平均值,我只对 500 hPa 水平感兴趣。但是,它崩溃并给出RuntimeError: NetCDF: Access failure

分解计算会删除RuntimeError. 猜猜所有开始时间的计算量太大了。在 S 上循环应该不会太难:

0 投票
1 回答
800 浏览

dask - xarray:dask数组的滚动平均值冲突的数据大小和滚动操作中的坐标

我正在尝试对 xarray 中的 dask 数组进行滚动平均。我的问题可能在于滚动平均值之前的重新分块。我收到数据和坐标之间大小冲突的 ValueError。但是,这出现在滚动操作中,因为我认为在进入滚动操作之前数组的数据和坐标没有冲突。

很抱歉没有创建要测试的数据,但我的项目数据很快就可以使用:

长度 351 与 366-351=15(窗口的一半)有关。

0 投票
1 回答
81 浏览

python - 从 OpenDAP 数据集中提取数据以获取多维变量

我正在创建一个从海洋数据集中提取数据的 API

我正在使用 netCDF4 python 模块来处理这些数据。有一个多维变量 vozocrtx,输入参数为 time_counter、deptht、y、x。

根据文档,如果我想从数据集中提取这个特定变量的数据,我可以做

但是,我想要的是有一个包含提取和切片索引的变量,比如

我想做的原因是创建一个通用函数,该函数将根据输入(开始、结束和步幅)* 不提取数据。的尺寸。

我尝试了一些东西并阅读了文档,但找不到任何有用的东西。任何提示或方向将不胜感激。

0 投票
2 回答
632 浏览

r - 从需要使用 R 进行身份验证的 OpenDap 服务器获取数据

我正在尝试使用 R 和 ncdf4 包从 OPeNDAP 服务器获取数据。但是,nasa eosdis 服务器需要用户名/密码。如何使用 R 传递此信息?

这是我正在尝试做的事情:

和错误信息:

Rsx_nc4_get_vara_double 中的错误:NetCDF:授权失败语法错误,意外的 WORD_WORD,期望 SCAN_ATTR 或 SCAN_DATASET 或 SCAN_ERROR 上下文:HTTP ^ 基本:访问被拒绝。Var: nlat Ndims: 1
Start: 0 Count: 400 Error in ncvar_get_inner(d$dimvarid$group_id, d$dimvarid$id, default_missval_ncdf4(), : C function R_nc4_get_vara_double 返回错误

我尝试了网址https://username:password@disc2 .... 但这也不起作用。