【发布时间】:2016-03-25 09:52:41
【问题描述】:
我想在之前复制一个 NetCDF 文件:
a) 更新第二个文件中变量的值,和/或
b) 向第二个文件添加一个新变量,该变量对应于原始变量的结构。
我已经可以进行这种复制,但是我的过程很乏味并且感觉零碎,所以我想知道是否有更优雅、更简单的解决方案。例如,我希望生成的 NetCDF 文件包含所有全局属性、坐标维度、坐标变量以及可能的数据变量,作为原始 NetCDF 文件。
然后,我想在第二个 NetCDF 中创建另一个变量,其尺寸与原始变量之一相同(这也是可行的,但正在寻找更好的方法)。可能我正在寻找的是一种在 Python 脚本中执行nccopy 功能的方法。 netcdf4 模块中似乎没有这样的功能,但也许我可以使用另一个技巧?
也许这就像复制原始文件并在适当的地方修改副本一样简单?还是打开原来的NetCDF,使用copy模块创建第二个NetCDF?
提前感谢您的任何建议或见解。
【问题讨论】:
-
在我看来,
nccopy的唯一优点是您可以更改 NetCDF 格式(经典、4、..)?那有必要吗?如果没有,为什么不简单地复制文件(使用例如shutil)?至于更改第二个文件;您提到这是可行,但您正在寻找更好的方法。您目前使用的可行解决方案是什么? -
这是单调乏味的——基本上是将所有维度、属性和变量复制到第二个文件中。我经常设法忘记一些东西并最终得到几乎相似的文件,然后当我需要做差异图或类似的东西时,不可避免地会出现不一致的情况,我需要回溯以修复一些小细节。这是我试图通过另一种方法尽量减少的烦恼。