cube.var_name 不同时合并虹膜

Merging iris when cube.var_name differs

我 运行 遇到了合并多维数据集的问题。我有一个多维数据集列表,我想将其合并为一组较小的多维数据集。 但是,当我尝试合并 iris 时,出现以下错误消息:

Traceback (most recent call last):
  File "site-packages/iris/cube.py", line 377, in merge_cube
    proto_cube.register(cube, error_on_mismatch=True)
  File "site-packages/iris/_merge.py", line 1260, in register
    error_on_mismatch)
  File "site-packages/iris/_merge.py", line 420, in match
    raise iris.exceptions.MergeError(msgs)
iris.exceptions.MergeError: failed to merge into a single cube.
  cube.var_name differs: u'air_pressure_at_sea_level_0' != u'air_pressure_at_sea_level_2'

我正在使用 Iris 版本 1.13.0 和 python 2.7。

我曾尝试删除 var_name 坐标,但当我这样做时出现异常 cube.remove_coord('var_name'):

iris.exceptions.CoordinateNotFoundError: 'Expected to find exactly 1  coordinate, but found none.'

除此细节外,我认为这两个立方体适合合并,希望得到任何指导。

var_name 是立方体上的一个属性(碰巧是坐标上的属性),这就是两个立方体之间的不同之处。

在这种情况下,只需将您的 var_names 均质化即可。例如,您可能希望将它们全部设置为 air_pressure_at_sea_level,其中:

for cube in cubes:
    cube.var_name = 'air_pressure_at_sea_level'

在那之后,cubes.merge_cube() 应该可以工作(或可能引发进一步的不兼容性)。