Spherical Multi-Cell Mesh (Projected)

On this page

Spherical Multi-Cell Mesh (Projected)#

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

📋 まとめ#

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

出来上がったメッシュには四角形セルが含まれます。

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. The mesh is also transformed to the Sinusoidal (Sanson-Flamsteed) pseudo-cylindrical projection.

🏷 Tags: component: coastlines component: texture domain: oceanography load: unstructured filter: threshold projection: crs version: 0.1.0


smc sinu
from __future__ import annotations

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


def main() -> None:
    """Plot a projected 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,
        name=f"{sample.name} / {sample.units}",
    )

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

    # Plot the unstructured mesh.
    crs = "+proj=sinu"
    p = gv.GeoPlotter(crs=crs)
    p.add_mesh(mesh)
    p.add_base_layer(texture=gv.natural_earth_hypsometric())
    p.add_coastlines()
    p.add_text(
        f"WW3 Spherical Multi-Cell ({crs})",
        position="upper_left",
        font_size=10,
    )

    # Define a specific camera position.
    p.view_xy()
    p.camera.zoom(1.5)

    p.add_axes()
    p.show()


if __name__ == "__main__":
    main()

Sphinx-Galleryによって生成されたギャラリー