LFRic LAM Mesh (Projected)

On this page

LFRic LAM Mesh (Projected)#

This example demonstrates how to render a projected unstructured quadrilateral mesh.

📋 Summary#

Creates a mesh from 1-D latitude and longitude unstructured points and connectivity.

The resulting mesh contains quad cells. The connectivity is required to construct the cells by indexing into the CF UGRID unstructured points.

It uses a high-resolution Local Area Model (LAM) mesh of air potential temperature data located on the mesh faces/cells.

Note that, a Natural Earth base layer is rendered along with Natural Earth coastlines, and the mesh is transformed to the Mollweide pseudo-cylindrical projection.

Tags: Coastlines Projection Texture Unstructured


lam pacific moll
from __future__ import annotations

import geovista as gv
from geovista.pantry.data import lam_pacific
import geovista.theme


def main() -> None:
    """Plot a projected LFRic LAM unstructured mesh.

    Notes
    -----
    .. versionadded:: 0.1.0

    """
    # Load the sample data.
    sample = lam_pacific()

    # Create the mesh from the sample data.
    mesh = gv.Transform.from_unstructured(
        sample.lons,
        sample.lats,
        connectivity=sample.connectivity,
        data=sample.data,
    )

    # Plot the unstructured mesh.
    crs = "+proj=moll"
    plotter = gv.GeoPlotter(crs=crs)
    sargs = {"title": f"{sample.name} / {sample.units}", "shadow": True}
    plotter.add_mesh(mesh, scalar_bar_args=sargs)
    plotter.add_base_layer(texture=gv.natural_earth_hypsometric())
    plotter.add_coastlines()
    plotter.add_axes()
    plotter.add_text(
        f"CF UGRID LAM ({crs})",
        position="upper_left",
        font_size=10,
        shadow=True,
    )
    plotter.view_xy()
    plotter.camera.zoom(1.5)
    plotter.show()


if __name__ == "__main__":
    main()

Gallery generated by Sphinx-Gallery