问题标签 [netcdf4]

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 投票
1 回答
455 浏览

r - 如何减少 netCDF 文件的维度并更改数据?

我有一个 netCDF 文件,我想在该文件上减小其中一个维度的大小mid1并替换值:

但这并没有给我输出文件中的任何数据。

0 投票
1 回答
524 浏览

python - Netcdf 生成器 python

以下代码从 nomad 服务器获取温度数据,并生成一个 netcdf 文件,其中包含三个维度(时间、纬度和经度)的数据。它工作正常,除非 xmin <0 和 xmax> 0。在这种情况下报告错误:

回溯(最后一次调用):文件“./make_basic.py”,第 79 行,在 tmpvar[:]=var[0,xmin:xmax,ymin:ymax] 文件“netCDF4/_netCDF4.pyx”,第 3695 行,在 netCDF4._netCDF4.Variable 中。getitem (netCDF4/_netCDF4.c:38039)
文件“netCDF4/_netCDF4.pyx”,第 4376 行,在 netCDF4._netCDF4.Variable._get (netCDF4/_netCDF4.c:47286) RuntimeError: NetCDF: DAP server error

如果 xmin <0 和 xmax <0,或两者都大于零,则它可以正常工作。有谁知道什么可能失败?例如,从负坐标到正坐标做一个欧洲的 netcdf 是很重要的,因为 0 是格林威治的子午线。

0 投票
0 回答
91 浏览

python-3.x - 为什么python中没有传递属性?

我编写了一个脚本来从 IPCC 的 netCDF 数据集中提取空间和时间子集。以下脚本可以正常工作:

cdf_dataset 中的变量“时间”具有属性,当我如上所述编写“cdf_time”时,它们会被传递给它。这是“cdf_time”的简单打印输出:

在这种特定情况下,它是“netCDF4.date2index”所需的属性“units”

当我写

属性不带走。这是此“cdf_time”版本的打印输出:

这基本上是时间值,但没有属性。谁能给我解释一下这个切片“[:]”的效果是什么?为什么没有进行属性?

顺便说一句,我对此很陌生,所以不要指望一些整洁的代码,但我会尝试做我的功课。提前致谢。

0 投票
2 回答
243 浏览

python - NetCDF:如何提取跨越边界的数据?

我有一个具有 4 个维度的 NetCDF 文件:时间、级别、纬度和经度。数据的形状是:1, 60, 1440, 2880

这意味着有1个时间点,60个级别,1440个纬度和2880个经度。

纬度范围从 -90 到 90,增量为 0.125。例如:

经度范围从 0 到 360,增量为 0.125。例如:

我有一个带有 GPS 位置的“站”:station.lat, station.lon = 22.125, 275.250. 将经度转换为 360 度网格空间:station.lon = station.lon%360.0

我想提取一个关于我站的立方体。例如,左侧 5 个单元格,右侧 5 个单元格和所有级别。(包括站所在小区)

为此,我得到了latwithin的索引和withinlats的索引。lonlons

然后,我创建了一系列索引,用于从 netCDF 文件中提取数据:

让我们想象一下

然后我提取数据:

这很好用,但是,索引 2880 将代表 360 度,所以如果我的点位于边界附近(即它的经度被映射到 2879 的索引),我需要回到起点。我lon_index_range会看起来像这样:

现在提取我的数据将无法正常工作...

同样,我不能有这样的东西:factor[:,1220:1231,2879:8)

纬度也存在同样的问题......因为我的观点可能在纬度边界附近。

有谁知道我该如何解决这个问题?

0 投票
2 回答
173 浏览

arrays - 如何沿一维反转存储在 NetCDF 中的多维数组?

我有 netCDF 包含以下形状的多维数组:

[1:424、1:412、1:3、1:130]

..我想沿二维反转并得到:

[1:424、412:1、1:3、1:130]

我试过了:

..但这不会反转对象,我也没有收到任何错误。

非常感谢提前!马立克

0 投票
0 回答
28 浏览

r - 如何读取具有特定维度或维度的所有变量?

我有一个 netCDF 文件

变量具有不同的维度组合。

我使用这个读取了所有变量:

但是,我只想一起读取对应于xy维度的变量。

我怎样才能做到这一点?

0 投票
2 回答
2939 浏览

python - 如何获得具有特定维度的 netCDF 变量列表?

打开 netCDF 文件R

out <- ncdf4::nc_open('test.nc')

获取所有变量

ncvars <- names(out[['var']])

这为我提供了 netCDF 文件中所有变量的列表。

例如,如何获取具有维度time和的变量列表hru

预期输出:

列出与a1, a2

0 投票
0 回答
1297 浏览

python - Python netCDF4 安装错误

我正在尝试在 Ubuntu 14.04 上为 python 2.7 安装 netCDF4 包

安装崩溃并出现以下错误:

我从其他线程中发现的唯一提示是这与 pyrex/Cython 有关。知道我能做些什么来解决这个问题吗?

这是安装的全部输出:

0 投票
1 回答
667 浏览

python - h5netcdf 作为默认的 xarray 引擎

xarray 的默认后端引擎在此函数中设置为 netcdf4

使 h5netcdf 成为 xarray 中默认引擎的最佳方法是什么?

0 投票
0 回答
59 浏览

performance - Python:netCDF4 与 ncks 的效率?

假设我有一个大的 .nc4 文件,我正试图读入我的 Python 脚本。我试图比较这样做的两种方式。

  1. 使用 ncks 二进制文件(在 .nc4 文件中查找数据)

    导入操作系统

    os.popen("ncks 文件").read()

  2. 使用 netCDF4 库

    导入 netCDF4

    netCDF4.Dataset("文件")

基本上,我可以从任何一种方法中得到相同的结果,但我很好奇这两种方法有什么根本不同。我看到我正在使用第一种方法进行系统调用。但是由于它们都从文件中读取,这是否意味着 netCDF4 库是同一系统调用的包装器?一个比另一个更有效(我最初的测试似乎表明 netCDF4 库更快)?

谢谢。