有没有办法比较R中.nc文件的结构/体系结构?

问题描述 投票:0回答:2

我有一个示例 .nc 文件,其中包含许多变量(准确地说是 5 个),并且正在被读入程序中。我想创建一个新的 .nc 文件,其中包含不同的数据(和不同的维度),这些数据也将被读入该程序。

我创建了一个与示例文件相同的 .nc 文件(我已包含原始文件中包含的每个变量的所有必要属性)。 但是,我的文件仍然没有被摄取。

我的问题是:有没有办法测试 .nc 文件布局/结构的差异? 我已经检查了 Rstudio 中的每个变量/属性,并且还以全貌打开了它们,它们看起来是一样的。由于未读取文件,因此存在明显的差异(除了它们包含的实际数据之外)。

我看到有一些选项可以在线比较 .nc 文件中的实际数据(比较两个 netCDF 文件),但这不是我想要的。我想比较变量/属性名称/状态/描述/尺寸以查看我的文件的不同之处。这可能吗?

这里的理想情况是根据原始文件中存在的变量创建一个 .nc 模板,然后填充我的数据。我可以通过定义尺寸(

ncdim_def
)、创建文件(
nc_create
)、获取数据(
ncvar_get
)并将其放入文件(
ncvar_put
)来做到这一点,但这就是我所做的到目前为止,它太依赖我不犯错误(我显然有错误,因为它们不一样)。

r netcdf
2个回答
0
投票

如果您使用的是 UNIX,使用 CDO 可以更轻松地实现这一点。请参阅参考卡的信息部分:https://code.mpimet.mpg.de/projects/cdo/embedded/cdo_refcard.pdf

例如,如果您想检查文件中的描述是否相同,只需执行以下操作:

cdo griddes example1.nc

cdo griddes example2.nc

您可以轻松地在 R 中使用

system
来解决这个问题。


0
投票

Th

ncompare
工具正是您所要求的那种结构(和元数据)比较。它是一个可以从命令行执行的 Python 包,因此也可以使用
system
命令从 R 调用它。 注意我是它的开发人员。

以下是 NASA 地球数据论坛上的描述和屏幕截图:https://forum.earthdata.nasa.gov/viewtopic.php?t=4687.

© www.soinside.com 2019 - 2024. All rights reserved.