DYNAMICO Mesh

On this page

DYNAMICO Mesh#

この例では、構造化されていない六角形/五角形メッシュをレンダリングする方法を示します。

📋 まとめ#

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

The resulting mesh contains hexagonal cells tessellated around 12 pentagon cells, which are centered over the 12 vertices of a base icosahedron.

It uses surface air pressure data from the DYNAMICO project, a new dynamical core for the Laboratoire de Météorologie Dynamique (LMD-Z), the atmospheric General Circulation Model (GCM) part of Institut Pierre-Simon Laplace (IPSL-CM) Earth System Model. The data targets the mesh faces/cells.

Note that a graticule and Natural Earth coastlines are also rendered.

🏷 Tags: component: coastlines component: graticule domain: meteorology load: unstructured version: 0.1.0


dynamico
from __future__ import annotations

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


def main() -> None:
    """Plot a DYNAMICO unstructured mesh.

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

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

    # 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}",
    )

    # Plot the unstructured mesh.
    p = gv.GeoPlotter()
    p.add_mesh(mesh, scalar_bar_args={"fmt": "%.0f"})
    p.add_coastlines()
    p.add_graticule()
    p.add_text(
        "DYNAMICO Icosahedral (10m Coastlines)",
        position="upper_left",
        font_size=10,
    )

    # Define a specific camera position.
    p.view_xz(negative=True)
    p.camera.zoom(1.3)

    p.add_axes()
    p.show()


if __name__ == "__main__":
    main()

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