You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some operations on an iris.cube.Cube with an unstrcutured mesh attached cause this mesh to be lost and the MeshCoords to become normal AuxCoords. I propose that we add a remesh method to a Cube that can be used to recreate a mesh in this situation.
The remesh method would need to take an argument specifying the dimension the mesh coordinates should be taken from (or the actual coordinates) and could optionally clean the mesh up by reducing duplicated nodes down to a single node.
Motivation
Currently, the remeshing process requires the same five(ish) lines of code from the user whenever this occurs, or their own function. By offering this convenience we can make this easier. I wouldn't go as far as to remesh cubes automatically after an operation appears to have caused a user to inadvertently drop the mesh from a cube because I think that's too far towards making their decisions for them.
Example code for doing this job:
new_mesh = Mesh.from_coords(*region_cube.coords(dimensions=1))
new_mesh_coords = new_mesh.to_MeshCoords(conv_cube.location)
for coord in new_mesh_coords:
region_cube.remove_coord(coord.name())
region_cube.add_aux_coord(coord, 1)
The text was updated successfully, but these errors were encountered:
✨ Feature Request
Some operations on an
iris.cube.Cube
with an unstrcutured mesh attached cause this mesh to be lost and theMeshCoord
s to become normal AuxCoords. I propose that we add aremesh
method to aCube
that can be used to recreate a mesh in this situation.The
remesh
method would need to take an argument specifying the dimension the mesh coordinates should be taken from (or the actual coordinates) and could optionally clean the mesh up by reducing duplicated nodes down to a single node.Motivation
Currently, the remeshing process requires the same five(ish) lines of code from the user whenever this occurs, or their own function. By offering this convenience we can make this easier. I wouldn't go as far as to remesh cubes automatically after an operation appears to have caused a user to inadvertently drop the mesh from a cube because I think that's too far towards making their decisions for them.
Example code for doing this job:
The text was updated successfully, but these errors were encountered: