问题标签 [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 投票
2 回答
1517 浏览

python - 如何将带有 complex128 数据的 xarray.DataArray 保存到 netcdf

我想用 to_netcdf 保存的 xarray 数据集中有一些复杂数据(numpy dtype complex128)。我收到以下错误:

我知道我正在将数据类型传递给不受支持的底层 netCDF4。我还在使用 netcdf4 的复合数据类型上找到了https://unidata.github.io/netcdf4-python/ 。但不幸的是,我不知道如何将其应用于我的问题,因为我没有直接使用 netcdf4 库。

我可以在保留数据类型的同时将数据类型 complex128 的数据保存到 netcdf(使用xarray.DataArray.to_netcdf)吗?

MWE:

0 投票
1 回答
651 浏览

matlab - 在matlab中读取nc文件

我想从一个文件夹中读取多个 nc 文件。这些文件是矩阵形式,即分层数据。我已成功读取单个文件并显示属性并提取它们。但是当我试图绘制它们时,它以错误结束。我是 MATLAB 新手,所以我不知道这是什么错误以及如何修复它。我还必须读取多个文件并使用所需的变量创建一个单独的数据框。我试过这段代码:`

它带有错误

使用 pcolor 时出错(第 57 行)矩阵尺寸必须一致。

0 投票
1 回答
397 浏览

r - 如何根据时间戳将函数与特定的 netCDF 文件相关联

我有 73 个 netCDF 文件,每个文件代表一个日历年的 5 天间隔,并且有几个变量。每个文件有 120 个层,代表每小时的间隔。

我已将它们全部读入 R 并使用ncdf4包适当地命名它们,如下所示:

我在与 netCDF 文件(经纬度)相同的投影中也有一个位置数据框,但是这些位置也不规则地跨越整个日历年。数据样本如下所示:

我要做的是根据日期时间戳将数据框与正确的 netCDF 文件和图层匹配,即如果它在一年的第 1 天和第 5 天之间,它将是 netCDF 文件 1 等。然后我想插值将 netCDF 文件中的可变数据与数据帧的相关日期时间戳关联到位置数据上。因此,在数据框提供的给定时间和地点,netCDF 文件中同一日期和时间的变量 V 的值是多少。我可以使用循环函数来完成第一部分,但编码效率非常低且耗时:

等等...在我不确定最佳方法之前从未使用过 netCDF 文件。有什么建议么?

################# 更新

我在使用中阅读了 netCDF 文件

从文件中提取按顺序命名的日期:

取决于

通过使用

然后,我通过 find9ing 每个数据点在 fd 中对应的间隔为数据框创建一个参考列,如下所示:

0 投票
1 回答
140 浏览

r - R - 在 lat 和 lon 网格空间中绘制 netcdf4 数据

我是这种阴谋的新手,因此请原谅我的经验不足。

我想绘制给定n一天欧洲的最高气温。

数据可在此处访问http://www.ecad.eu/download/ensembles/data/Grid_0.44deg_rot/tx_0.44deg_rot_v16.0.nc.gz (258MB..sorry)。

这是一个具有 3 个维度和 4 个变量的 netcdf 文件。

这是我所做的:

如何绘制给定日期的最高温度网格(纬度和经度)?

那我怎么画max_day

这应该很简单,但我还没有找到解决方案。

谢谢

0 投票
1 回答
2081 浏览

python - 使用 Python 将 netCDF 文件转换为 csv

我正在尝试将 netCDF 文件转换为 csv。文件存储在 thredds 服务器中。我编写了以下代码,该代码从 Thredds 服务器读取文件,并从 netCDF 文件中存在的变量列表中选择六个变量,并将它们以 csv 格式存储在本地。

下面的代码显示了所需的变量。

问题:我无法将文件写入包含 lat、lon、time、time1、Temperature_height_above_ground 等所有变量的 csvnformat。所需的输出如下所示:

谁能帮我解决这个问题?

提前致谢!

0 投票
1 回答
1590 浏览

r - 在 R 中绘制带有级别的 netcdf 文件

我最近开始在 R 中使用 netcdf。示例数据在这里:

http://www.earthstat.org/data-download/ > 175 种作物的收获面积和产量 > 单个作物 > 大豆_HarvAreaYield2000_NetCDF

在这个文件夹中,有一个名为 netcdf 的文件soybean_AreaYieldProduction.nc

这就是我打开netcdf的方式

我想绘制每个级别,但不知道如何提取每个级别的数据。

这就是我提取 lon 和 lat 数据的方式:

但是如何提取单个级别?

最终目标是使用以下命令可视化我想要可视化的每个级别:

0 投票
1 回答
997 浏览

r - 使用 R 中的循环从多个 NetCDF 文件中获取单个变量

如果我有 n 个名为 nc.data_1、nc.data_2... nc.data_n 的文件,如何从所有文件中获取相同的变量并将它们存储到 R 中的单个数组中?(即(a)获取时间然后(b)分别从n个文件中获取具有维度的降水数据:[l​​on, lat, time] = [144, 91, 24])。下面的代码是我到目前为止所做的。

数据路径:https ://www.dropbox.com/sh/m8u3xwm5za7m7mc/AACHq2AjeZaxHm1sEhaOJ_g2a/2011?dl=0

对于时间变量,我不能使用与lat和lon相同的方法,因为每个文件中的时间不同(每个文件存储一天的数据)

0 投票
0 回答
1310 浏览

python - 修改 NetCDF 文件以使维度不受限制

是否可以使用 Python + netCDF4 打开现有的 NetCDF 文件并将其中一个维度从固定大小更改为无限维度,以便我可以将数据附加到它?

我找到了这个问题/答案,其中列出了使用 NCO/xarray 执行此操作的几个选项,但我专门寻找使用 netCDF4 包的方法。

下面是一个创建具有固定维度的 NetCDF 文件的最小示例(这部分当然在现实中不存在,否则我可以简单地创建具有无限维度的文件......),然后重新打开它尝试修改time尺寸。有netCDF4.Dimension time_dim一个函数/方法isunlimited()来测试维度是否是无限的,但没有像make_unlimited()我希望的那样。

0 投票
1 回答
280 浏览

python - matplotlib.basemap - 地球科学 - ValueError:操作数无法与形状一起广播 (12529,15661) (12529,15662)

似乎无法弄清楚为什么我的图表无法正确显示。我正在尝试使用 netCDF4 和 mpl_toolkits.Basemap 在地图投影上绘制深度。我尝试了几种预测,但都没有奏效。下面是我正在使用的代码:

这是我得到的错误回报。仍在自学编码,需要一点帮助。

0 投票
1 回答
754 浏览

netcdf - 如何交换 netCDF 文件的尺寸?

我有一个

在这里,我想让变量v1具有(时间,xr)而不是(xr,时间)的维度。

我这样做使用:

但当然,它不会复制 v2。我对具有大量变量的大文件执行此操作,而我只想对单个变量执行此操作。

我怎样才能做到这一点?