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()
应该可以工作(或可能引发进一步的不兼容性)。
我 运行 遇到了合并多维数据集的问题。我有一个多维数据集列表,我想将其合并为一组较小的多维数据集。 但是,当我尝试合并 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()
应该可以工作(或可能引发进一步的不兼容性)。