
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "generated/gallery/warp/from_unstructured__lfric_orog_eqc.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. only:: html

    .. note::
        :class: sphx-glr-download-link-note

        :ref:`Go to the end <sphx_glr_download_generated_gallery_warp_from_unstructured__lfric_orog_eqc.py>`
        to download the full example code.

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_generated_gallery_warp_from_unstructured__lfric_orog_eqc.py:


LFRic Orography (Projected)
---------------------------

This example demonstrates how to render a projected warped unstructured
cubed-sphere mesh.

📋 Summary
^^^^^^^^^^

Uses an unstructured Met Office LFRic C48 cubed-sphere mesh of surface altitude
data.

The mesh contains quad cells and is constructed from CF UGRID unstructured cell
points and connectivity.

The mesh is transformed onto an Equidistant Cylindrical (Plate Carrée)
projection.

Note that the scalar elevation values are located on the mesh nodes/points
which results in the rendered colours being interpolated across the cell faces.
A ``pyvista`` "warp" operation extrudes the mesh, using the same node altitude
values, to highlight the global surface topography.

The warp uses :meth:`~pyvista.PolyDataFilters.compute_normals` and
:meth:`~pyvista.DataSetFilters.warp_by_scalar`. See
`Computing Surface Normals <https://docs.pyvista.org/examples/01-filter/compute_normals>`_
for further details.

.. tags::

    domain: orography,
    filter: warp,
    sample: unstructured,
    projection: crs, projection: transform,
    version: 0.1.0

----

.. GENERATED FROM PYTHON SOURCE LINES 47-93







.. tab-set::



   .. tab-item:: Static Scene



            
     .. image-sg:: /generated/gallery/warp/images/sphx_glr_from_unstructured__lfric_orog_eqc_001.png
        :alt: from unstructured  lfric orog eqc
        :srcset: /generated/gallery/warp/images/sphx_glr_from_unstructured__lfric_orog_eqc_001.png
        :class: sphx-glr-single-img
     


   .. tab-item:: Interactive Scene



       .. offlineviewer:: /home/docs/checkouts/readthedocs.org/user_builds/geovista-ja/checkouts/latest/geovista/docs/src/generated/gallery/warp/images/sphx_glr_from_unstructured__lfric_orog_eqc_001.vtksz






.. code-block:: Python


    from __future__ import annotations

    import geovista as gv
    from geovista.pantry.meshes import lfric_orog
    from geovista.transform import transform_mesh


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

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

        """
        # Load the sample mesh.
        mesh = lfric_orog()

        # Transform the mesh to the Plate Carrée projection.
        mesh = transform_mesh(mesh, crs := "esri:54001")

        # Warp the mesh nodes by the surface altitude.
        mesh.compute_normals(cell_normals=False, point_normals=True, inplace=True)
        mesh.warp_by_scalar(inplace=True, factor=200)

        # Plot the unstructured mesh.
        p = gv.GeoPlotter(crs=crs)
        sargs = {"title": "Surface Altitude / m", "fmt": "%.0f"}
        p.add_mesh(mesh, scalar_bar_args=sargs)
        p.add_text(
            f"LFRic C48 Unstructured Cube-Sphere ({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()


.. _sphx_glr_download_generated_gallery_warp_from_unstructured__lfric_orog_eqc.py:

.. only:: html

  .. container:: sphx-glr-footer sphx-glr-footer-example

    .. container:: sphx-glr-download sphx-glr-download-jupyter

      :download:`Download Jupyter notebook: from_unstructured__lfric_orog_eqc.ipynb <from_unstructured__lfric_orog_eqc.ipynb>`

    .. container:: sphx-glr-download sphx-glr-download-python

      :download:`Download Python source code: from_unstructured__lfric_orog_eqc.py <from_unstructured__lfric_orog_eqc.py>`

    .. container:: sphx-glr-download sphx-glr-download-zip

      :download:`Download zipped: from_unstructured__lfric_orog_eqc.zip <from_unstructured__lfric_orog_eqc.zip>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
