Слияние радужной оболочки, когда cube.var_name отличается
Я столкнулся с проблемой слияния кубов. У меня есть список кубов, который я хотел бы объединить в меньший набор кубов. Однако, когда я пытаюсь объединить радужную оболочку, я получаю следующее сообщение об ошибке:
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.'
Помимо этой детали, я считаю, что два куба подходят для слияния, и буду признателен за любые рекомендации.
1 ответ
var_name
является атрибутом для куба (и, как это бывает, для координат), и это то, что отличается между вашими двумя кубами.
Просто гомогенизировать var_names
должно быть все что нужно в этом случае. Например, вы можете установить их все air_pressure_at_sea_level
с:
for cube in cubes:
cube.var_name = 'air_pressure_at_sea_level'
После этого, cubes.merge_cube()
должен работать (или потенциально поднять дальнейшую несовместимость).