Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Three questions about the variable-resolution mesh

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.


New member
I have three questions about the variable-resolution mesh:

1.How does the grid rotate program determine which resolution of the mesh to rotate when repositioning the refinement regions on a sphere?

2.To get a SCVT grid with variable resolution, why not subdivide the grid instead of refining the region by grid-rotate?

3.After rotating the high resolution thinning area, how is the connection between the thinning area grid and the original resolution grid combined? What's the topology, what's the math?

(1) and (3) might be best answered by noting that the grid_rotate program doesn't relocate just the refined region, but instead it performs a solid-body rotation of the entire mesh, preserving the mesh topology in the process. The initial (lat,lon) and final (lat,lon) specified in the namelist for the grid_rotate program effectively define a great-circle arc, and thus, an axis for the solid-body rotation.

Regarding (2), we generally would like for the mesh spacing to change gradually (typically only a few percent from one cell to its neighbors), and so we avoid adding refinement by subdividing cells, as that would generally give sharp transitions in mesh resolution by integer factors.
Thank you for your reply!
But I still have some questions about the grid_rotation program: 1. According to your answer, can I say this: "instead of creating a new high-resolution grid to rotate, the grid_rotation program rotates the original variable resolution grid file and positions the high-resolution part into the areas that need to be refined?"
2. Is the variable-resolution grid SCVT (Spherical Centroidal Voronoi Tessellation)? How is it constructed? What's the math?

Thank you for your help!
Your restatement sounds correct to me.

The variable-resolution meshes are very nearly centroidal, which would make them effectively SCVTs. I say "very nearly", since the process that we use to generate these meshes is iterative, and we stop iterating when we believe the mesh to be "good enough". There's a short introduction to the mesh generation process that we use for MPAS-Atmosphere at; the references at the end of the slides should be a good starting point to the mathematical details of the process. Also in the same directory as the PDF file, you can find animations that go along with several of the slides.
Thank you so much! I think I will understand the process of the mesh generation process after studying PDF carefully. Thank you again!
Excuse me,I have two more questions to ask you.
1. What if the shape of the high-resolution area before rotation is
different from the shape of the area to be refined? For example, the
high-resolution mesh before rotation is a narrow area, while the area to be
refined is a circular area.
2. Why does the bisection of Mk of step 2.2 on pdf12 result in a point set?
1. Since the rotation of a mesh does not change the size or shape of an area of refinement, it is necessary to begin with a mesh that has the size and shape of refinement that will be needed after applying a rotation. If we need a narrow region of refinement in the rotated mesh, we need to start with a mesh that has that same narrow region of refinement but located in a different place on the sphere.

2. For a CVT mesh, the generating point set consists of the mass centers of the Voronoi cells. When we bisect a CVT mesh, the new point set (with 4*n-6 points if the mesh covers the surface of the sphere) consists of the cell centers plus the points where the dual Delaunay triangulation faces intersect the Voronoi cell faces (i.e., the edge locations in MPAS); the resulting point set will in general not already possess the centroidal property. So, the bisection of M_k is trivially a generating point set for another *non-centroidal* Voronoi tessellation, which we iterate on until the centroidal property is achieved.