> I was slightly surprised to find this at the cube level, rather than in the attributes dictionary.
Essentially we made it separate because it is separate in CF-netCDF. For example, it's quite possible in CF-netCDF to have a variable with an attribute of "var_name" which bears no relation to the variable name.
> When I come to merge Cubes, the var_name is compared and if it does not match, the cubes do not merge.
This looks like a bug to me too. As far as CF is concerned, the var_name doesn't mean anything so it should not be used as part of the identity of a Cube. However, if all the source Cubes for a merge operation share the same var_name (and there are often cases where there is only a single Cube, so this is definitely true) then it makes sense for the result to maintain the same var_name.
Richard