问题标签 [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 回答
544 浏览

netcdf - 无法修改 netcdf 中特定维度上的特定变量值

我有一个包含 4-D 变量的 netcdf 文件:

我想使用变量“mask_veget”作为掩码来改变变量“maxvegetfrac”在特定区域的值,以及其“veget”维度的选择值。为此,我正在使用 ncap2。例如,如果我想将第 5 级 veget 维度的 maxvegetfrac 值设置为 500,其中 mask_veget 等于 6,我会:

我的问题是,在生成的 test.nc 文件中,maxvegetfrac 已在“veget”维度的第一级修改,而不是第五个。如果我在整个植物维度上运行脚本,我会得到相同的结果:

所以我在某个地方弄错了,但是......在哪里?任何帮助表示赞赏!

0 投票
1 回答
751 浏览

python - 从 netCDF 中提取位置和跨时间范围的值

是否有与 xarray 函数等效的 netCDF4 来从 netCDF 文件中选择纬度和特定时间范围的值:

我不想使用 cdo 或 nco

0 投票
2 回答
4006 浏览

python - 使用 Python 将变量添加到现有的 Netcdf4 文件

我想在现有的一组 NetCDF 气候数据文件中添加一个包含朱利安日期的附加变量。我已经编写了一些 python 脚本,但已经有一段时间了,所以我有点生疏了。阅读“netCDF4 模块”文档后,我尝试编写脚本以使用以下方法创建新变量:

但是当它到达这一行时,我得到一个“AttributeError:NetCDF:找不到属性”:

文件“C:/WinPython64/WinPython-64bit-3.4.4.6Qt5/notebooks/netcfdfill.py”,第 35 行,在 newvarJD= infile.create.Variable('Julian_Day','i4',

所以,我认为需要声明尺寸,所以我更改了代码:

但现在我收到一个新错误,上面写着 KeyError: 'lat'

我包括我对脚本的尝试,因为我想我还有几个错误。你能帮助我吗?

0 投票
1 回答
620 浏览

r - 如何在 R 中使用 netcdf 格式重新网格化数据的分辨率

我从https://www.esrl.noaa.gov/psd/data/gridded/data.cmap.html下载了一个名为“precip.mon.mean.nc”的 netcdf 文件。它是月平均降水量数据集,分辨率为 2.5x2.5。

我想知道如何使用 Kriging 或反距离加权 (IDW) 等插值方法将降水数据分别重新划分为 1x1 和 3x3 分辨率。谢谢您的帮助。

0 投票
1 回答
1491 浏览

python - netCDF4 变量的压缩级别

您如何确定 netCDF4 变量的压缩级别(最好在 Python 中)?

0 投票
1 回答
983 浏览

python - NetCDF4 将值赋值给变量问题

我有一个 netCDF 文件,并试图使用 python netCDF4 创建新变量。但是程序未能将值分配给数组。

下面是我的代码

我应该怎么做才能解决这个问题?

任何帮助,将不胜感激。

TIA

0 投票
1 回答
969 浏览

python-3.x - 使用纬度和经度来确定我位于哪个“单元格”(NETCDF4)

背景

我有一个网格大小的 NETCDF4 文件0.125x0.125。纬度从90-90,经度从0360。因此,完整的表格大小为1441 x 2880(纬度 x 经度)。

我正在获取我的位置坐标(以度为单位的纬度)并试图找到我所在的位置cell......

为了计算cell我所处的位置,我这样做:

所以给定我的 NECTDF4 数据集,如果我的位置是[31.351621, -113.305864](lat, lon),我发现我与cell[31.375, 246.75] (lat, lon) 匹配。将计算出的 lat 和 lon 插入GetNearestIndex,然后我将获得我所在单元格的“地址”(x,y)。

现在我知道cell我离哪个最近,我从 NETCDF 文件中获取值,然后我可以说“你所在位置的温度是 X”。

问题是,我不知道我这样做是否正确,所以我的问题是:

问题

  1. 如何正确确定我所在的单元格并获取 x 和 y 索引?

  2. 如何验证我的计算是否正确?

  3. myLon%360 是从 myLon 转换为从 0 到 360 度的网格的正确方法吗?网格单元大小无关紧要吗?

0 投票
1 回答
969 浏览

r - NetCDF - 转换为栅格和投影问题

我有以下NetCDF文件 - 我正在尝试转换为栅格,但有些地方不对劲。没有给出 NetCDF 文件的投影,但基于我从它那里收到的软件,它应该是 LatLong,但可能是圆柱等面积。我尝试了两种方法,但我不断收到这种失真,这使得无法在正确的位置查询值。我知道网格的间距不均匀,不确定这是否会影响最终结果(这里是 ArcGIS 的视觉效果,但在 R 中这是同样的问题,除非使用 levelplot 函数绘制)。 在此处输入图像描述

0 投票
3 回答
3460 浏览

python - python,netcdf4:需要介绍为netcdf创建无限时间维度

有人可以介绍如何为 NetCDF 文件创建无限时间维度吗?我尝试使用 data.createDimension('t', None),但是当我查看它时,t它是一个 Numpy 数组。如果可能的话,也请介绍一下为它赋值的过程。我正在使用python 2.7。

编辑过的问题

我有多个 NetCDF 文件(3 维),每个我必须计算一个数组(3 维)。文件之间的时间步长为 3 小时。现在我必须为每个时间步创建一个带有计算数组的新 NetCDF。我的问题是,我不知道如何访问时间轴,以便我可以将计算出的数组分配给不同的时间步长。

编辑过的问题

我想为时间轴分配一个日期。为了创建我使用的日期,datetime如下所示:

两个时间步长之间的时间为 3 小时。在遍历文件时,时间步长的日期计算如下:

我创建了一个这样的变量:

现在我想将日期分配给时间变量:

但它不是这样工作的。感谢您的帮助。

0 投票
1 回答
442 浏览

python - 使用 python Iris 模块的横截面图

我想使用为海洋学和气象学开发的 python Iris 模块沿经度绘制横截面,我正在使用他们的示例: http://scitools.org.uk/iris/docs/v1.4/examples/graphics/cross_section。我 试图将他们的代码更改为我的示例,但我的代码输出为空。

数据:http ://data.nodc.noaa.gov/thredds/fileServer/woa/WOA09/NetCDFdata/temperature_annual_1deg.nc