Spherical Multi-Cell Mesh

On this page

Spherical Multi-Cell Mesh#

This example demonstrates how to render an unstructured quadrilateral mesh.

📋 Summary#

Creates a mesh from 2-D latitude and longitude unstructured cell bounds.

The resulting mesh contains quad cells.

It uses WAVEWATCH III (WW3) unstructured Spherical Multi-Cell (SMC) sea surface wave significant height data located on mesh faces/cells.

Note that, a threshold is also applied to remove land NaN cells, and a Natural Earth base layer is rendered along with Natural Earth coastlines.

Tags: Coastlines Globe Unstructured Texture Threshold


smc
from __future__ import annotations

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


def main() -> None:
    """Plot an SMC unstructured mesh.

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

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

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

    # Threshold the mesh of NaNs.
    mesh = mesh.threshold()

    # Plot the unstructured mesh.
    plotter = gv.GeoPlotter()
    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(
        "WW3 Spherical Multi-Cell (10m Coastlines)",
        position="upper_left",
        font_size=10,
        shadow=True,
    )
    plotter.camera.zoom(1.3)
    plotter.show()


if __name__ == "__main__":
    main()

Gallery generated by Sphinx-Gallery