import iris
# we construct 2 simple cubes
c1 = iris.cube.Cube([0,1,2], long_name='some_parameter')
xco = iris.coords.DimCoord([11, 12, 13], long_name='x_vals')
c1.add_dim_coord(xco, 0)
c1.add_aux_coord(iris.coords.AuxCoord([100], long_name='y_vals'))
c2 = c1.copy()
c2.coord('y_vals').points = [200]
# add the cubes to a cubelist
cubelist = iris.cube.CubeList()
cubelist.append(c1)
cubelist.append(c2)
# CubeList is merged as expected
merged1 = cubelist.merge()[0]
print merged1
# Save and reload the cubelist
iris.save(cubelist, 'merge_list_test.nc')
test_list = iris.load('merge_list_test.nc')
# This merge does not work, and returns merged2 is c2
merged2 = test_list.merge()[0]
print merged2Many thanks
Mike
import iris
# we construct 2 simple cubes
c1 = iris.cube.Cube([0,1,2], long_name='some_parameter')
xco = iris.coords.DimCoord([11, 12, 13], long_name='x_vals')
c1.add_dim_coord(xco, 0)
c1.add_aux_coord(iris.coords.AuxCoord([100], long_name='y_vals'))
c2 = c1.copy()
c2.coord('y_vals').points = [200]
# add the cubes to a cubelist
cubelist = iris.cube.CubeList()
cubelist.append(c1)
cubelist.append(c2)
# CubeList is merged as expected
merged1 = cubelist.merge()[0]
print merged1
# Save and reload the cubelist
iris.save(cubelist, 'merge_list_test.nc')
test_list = iris.load('merge_list_test.nc')
# Remove var_name attributes
for cube in test_list:
cube.var_name = None
cube.coord('y_vals').var_name = None
# And now this merge does work.
merged2 = test_list.merge()[0]
print merged2