
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "generated/gallery/warp/from_unstructured__fvcom.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__fvcom.py>`
        to download the full example code.

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

.. _sphx_glr_generated_gallery_warp_from_unstructured__fvcom.py:


FVCOM Bathymetry
----------------

This example demonstrates how to render a warped unstructured triangular mesh.

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

Creates a mesh from 1-D latitude and longitude unstructured points and
connectivity, warped to show the vertical profile.

It uses an unstructured grid Finite Volume Community Ocean Model (FVCOM) mesh of
sea floor depth below geoid data.

The resulting mesh contains triangular cells. The connectivity is required to
construct the cells from the unstructured points.

Note that, the data is on the mesh faces/cells, but also on the nodes/points.

A ``pyvista`` "warp" operation is used to extrude the mesh by the point depth
values, to reveal the bathymetry of the Plymouth Sound and Tamar River in
Cornwall, UK.

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

.. tags:: Unstructured, Warp

----

.. GENERATED FROM PYTHON SOURCE LINES 41-91







.. tab-set::



   .. tab-item:: Static Scene



            
     .. image-sg:: /generated/gallery/warp/images/sphx_glr_from_unstructured__fvcom_001.png
        :alt: from unstructured  fvcom
        :srcset: /generated/gallery/warp/images/sphx_glr_from_unstructured__fvcom_001.png
        :class: sphx-glr-single-img
     


   .. tab-item:: Interactive Scene



       .. offlineviewer:: /home/docs/checkouts/readthedocs.org/user_builds/geovista/checkouts/v0.5.3/docs/src/generated/gallery/warp/images/sphx_glr_from_unstructured__fvcom_001.vtksz






.. code-block:: Python


    from __future__ import annotations

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


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

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

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

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

        # Warp the mesh nodes by the bathymetry.
        mesh.point_data["node"] = sample.node
        mesh.compute_normals(cell_normals=False, point_normals=True, inplace=True)
        mesh.warp_by_scalar(scalars="node", inplace=True, factor=2e-5)

        # Plot the unstructured mesh.
        plotter = gv.GeoPlotter()
        sargs = {"title": f"{sample.name} / {sample.units}", "shadow": True}
        plotter.add_mesh(mesh, cmap="deep", scalars="face", scalar_bar_args=sargs)
        plotter.add_axes()
        plotter.add_text(
            "PML FVCOM Tamar",
            position="upper_left",
            font_size=10,
            shadow=True,
        )
        plotter.camera.zoom(1.2)
        plotter.show()


    if __name__ == "__main__":
        main()


.. _sphx_glr_download_generated_gallery_warp_from_unstructured__fvcom.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__fvcom.ipynb <from_unstructured__fvcom.ipynb>`

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

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

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

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


.. only:: html

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

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