问题标签 [nco]

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 投票
0 回答
1107 浏览

netcdf - 无法使用 ncrcat 连接 netCDF 文件

我正在循环输出每日 netcdf 文件的模型。我有一个 7 年时间序列的每日文件,理想情况下,我想在每个循环结束时附加到一个文件中,但似乎使用nco工具将数据合并到一个文件中的最佳方法是连接。每个每日文件都称为 test.t.nc 并重命名为每日文件的日期,例如 20070102.nc,除了我创建的第一个文件

制作time连接的记录维度。如果我尝试连接前两个文件,例如

我收到错误消息

我不明白这意味着什么,并且查看所有在线帮助,ncrcat应该是一个简单的过程。无论如何都明白发生了什么?

以防万一这有帮助,ncdump -hfor 20070101.nc 是

和 20070102.nc

这是一个更大的 shell 脚本的一部分,我对文件的命名没有太大的灵活性——以防万一这很重要!

0 投票
1 回答
374 浏览

netcdf - 带有 ncrcat 的 NetCDF 连接,具有不同 lon 范围的文件

我正在尝试沿时间(记录)轴连接两个 NetCDF 文件。

lon 维度在两个文件中的值数量相同,但第一个文件的 lon 坐标值范围为 0.5 到 359.5,第二个文件的 lon 坐标值范围为 -179.5 到 179.5。因此,当我查看在 Panoply 中绘制的级联文件的最后一个时间步时,我看到的值在空间上看起来不错,但位于地图上的错误位置。我已经尝试通过在执行连接之前将 180 添加到第二个文件中的所有 lon 值来解决此问题,但它会产生类似的结果。

我为此使用的命令:

下面是我要连接的两个文件的 ncdump -h 输出:

我可能做错了什么?

0 投票
2 回答
956 浏览

bash - 如何使用 nco 或 cdo 在 netcdf 文件中查找第一个肯定条目的时间/日期?

我有一个时间序列值,我想在数据序列变为正数时找到第一个时间步的时间或日期。我知道我可以将它读入 python、R 或 Fortran 脚本来执行它,但我想知道我是否可以从 BASH 的命令行中执行它,也许使用 nco 或 cdo?

我想用

做一个面具,但这对我没有多大帮助。我需要以某种方式根据数据的符号拆分文件,然后我可以简单地使用

通过管道传输到 awk。

这里有一个小示例文件的链接:

http://clima-dods.ictp.it/Users/tompkins/se/trmm_per10_pc0_year2000_nc2.nc

有小费吗?

0 投票
1 回答
4074 浏览

python - 使用 nco 工具添加多个 netcdf 变量

是否有 nco 运算符通过在单个 netcdf 文件中添加多个变量来创建新变量?我知道您可以使用 ncdiff 进行减法,有什么等价的运算符可以加法吗?

0 投票
2 回答
2732 浏览

netcdf - 无法使用 nco 附加两个 netcdf 文件

我正在使用 netcdf 运算符将两个 NCEP netCDF 文件附加在一起。这些文件大小不同,但它们代表相同的大气变量,即位势高度。一个是 1000 hPa,另一个文件是 925 hPa。它们具有相同的尺寸和相同的纬度和经度范围。两者都代表同一时刻

这是我正在使用的命令 - ncks -A hgt_1000.nc hgt_925.nc

该命令运行没有任何问题,但是当我查看 hgt_925.nc 的输出时,它看起来文件尚未合并。查看 NCO 文档,它们看起来必须具有相同的大小才能附加。还有其他方法吗,还是我应该编写自己的代码来追加?这些是使用 nccopy 下载的 netCDF4 文件经典文件。

0 投票
3 回答
1437 浏览

r - 连接两个不同时间跨度的nc4文件

假设有两个 netCDF 文件(在我的例子中是 nc4),每个变量都有 3 个维度:纬度、经度和时间(年)。它们具有不同的时间跨度(例如 1700-2005 和 2005-2100 - 它们在 2005 年重叠)。如何连接它们以获得一个跨越 1700-2100 的 nc4 文件?

简单地尝试 NCO 运算符 ncrcat file1.cn4 file2.nc4 result.nc4会给出一个跨越 [1700-2005, 1700-1795] 的文件。运行该行时会发出警告:nco_cln_clc_dff<><> failed to initialize UDUnits2 library. 根据这篇文章,我不应该担心。

我还使用了NCO 手册 中描述的附加功能ncrcat --rec_apn file2.nc4 file1.cn4。我得到一个结果时间跨度 [2005-2310,2005-2100] 和一个警告:(ncrcat: WARNING Intra-file non-monotonicity. Record coordinate “time” does not monotonically decrease between input file file2.nc4 record indices: 94,95 output file1.nc4 record indices 400,401 ...索引在这里不太重要,因为我收到了每个索引的警告)

请注意,我可以在没有时间跨度问题的情况下与Linux上的CDOcdo mergetime file1.cn4 file2.nc4 result.nc4连接:(或cdo -z zip_3 mergetime file1.cn4 file2.nc4 result.nc4获得 3 级压缩)。另请注意,为了处理重叠的 2005 年,我必须export SKIP_SAME_TIME=1在调用之前使用(仅第一次出现)。cdo mergetime

使用 RI 尝试了以下方法:

我让它运行了将近 2 个小时,然后我停止了运行。由于我必须为数百个 nc4 文件执行此操作,所以我不能等那么久。运行时没有大喊任何错误,但我不确定代码是否正确。

我使用 Windows 7、64 位、8Gb RAM。对于 R -“R 版本 3.3.0 (2016-05-03)”

更新:用 R 打印这两个文件的一些元数据

1)文件1.nc4

2)文件2.nc4

希望能帮助到你

0 投票
1 回答
452 浏览

netcdf - Trouble concatenating netcdf files with ncrcat

I have a list of netcdf files that I am trying to concatenate along the time dimension.

I am attempting to use the steps outlined here, which seem simple enough. However, I am running into some errors (likely some small/stupid oversight on my part...)

When I try to first make time a record dimension, I am using the following command:

This, however, give me the following error:

It seems like this is just some simple syntax/typo error on my part, but try as I might I can' find anything wrong.

Just to be sure, when I run a ncdump -h on the file, it confirms that there is indeed a time dimension

Additionally, if I try to skip this step and just go right to the ncrcat part...

I get the following error:

Which is especially odd...I'm pretty confident it is indeed at netCDF file (I just ran ncdump on it after all, and have no problem viewing it with ncview...)

Any thoughts? What simple step am I embarrassingly missing?

0 投票
1 回答
394 浏览

netcdf - cdo showname 显示与 ncdump 不同的变量

我很困惑为什么 cdo 和 ncdump 显示不同的变量。我发现 WRF 数据没有时间坐标变量,如典型的 ncfile ( http://www.ncl.ucar.edu/Applications/wrfnetcdf.shtml )。所以我在我的所有 nc 文件中添加了一个时间变量,也许我添加这个时间变量的方式是它没有出现在 cdo showname 中的原因?(这和以前的问题一样,只是希望措辞更清楚)

使用 ncdump 在这里显示时间变量:

此处没有使用 cdo 显示时间变量:

0 投票
1 回答
283 浏览

python - 从 netCDF 维度中减去值

如何使用 nco 工具或任何其他 netcdf 工具包从 netCDF 中的一个维度中减去特定值?

例如

给我:

如何从时间维度中的每个值中减去 10,以便最终结果为:

0 投票
2 回答
2108 浏览

r - 如何在 Windows 7 上使用 NCO 或 R 将每月 TRMM netCDF 文件连接成单个 netCDF 文件?

我下载了1998年-2016年的netCDF格式的TRMM月降水率,所以大约有200多个文件。这些文件的名称是 3B43.19980101.7.HDF.nc 3B43.19980201.7.HDF.nc 3B43.19980301.7.HDF.nc,等等。我想将所有这些文件连接到一个 netCDF 中。我尝试使用 NCO 运算符“ncrcat”,它应该能够沿记录维度连接一系列很长的文件,在这种情况下是时间,但到目前为止还没有运气。起初我尝试了简单的只有 2 个文件

ncrcat -O -h 3B43.19980101.7.HDF.nc 3B43.19980201.7.HDF.nc out.nc

得到

错误:没有用于处理的变量拟合标准

所以我尝试了

我再次尝试

仍然有同样的错误

错误:没有用于处理的变量拟合标准

有没有更简单的方法来处理 200 多个文件?我可以遵循的脚本?我对这一切都很陌生,所以请温柔一点。

任何帮助将不胜感激。我正在使用 Windows 7 x86。