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

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

.. _sphx_glr_generated_gallery_curvilinear_from_2d__orca_moll.py:


ORCA2 Grid (Projected)
----------------------

This example demonstrates how to render a projected extruded curvilinear grid.

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

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

The resulting mesh contains quad cells.

It uses an ORCA2 global ocean with tri-polar model grid with sea water
potential temperature data. The data targets the mesh faces/cells.

Note that a threshold is applied to remove land ``NaN`` cells, before the
mesh is then transformed to the Mollweide pseudo-cylindrical projection
and extruded to give depth to the projected surface. Finally, 10m
resolution Natural Earth coastlines are also rendered.

.. tags::

    component: coastlines, component: texture,
    domain: oceanography,
    filter: cast, filter: extrude, filter: threshold,
    load: curvilinear,
    projection: crs, projection: transform,
    version: 0.1.0

----

.. GENERATED FROM PYTHON SOURCE LINES 40-96







.. tab-set::



   .. tab-item:: Static Scene



            
     .. image-sg:: /generated/gallery/curvilinear/images/sphx_glr_from_2d__orca_moll_001.png
        :alt: from 2d  orca moll
        :srcset: /generated/gallery/curvilinear/images/sphx_glr_from_2d__orca_moll_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/curvilinear/images/sphx_glr_from_2d__orca_moll_001.vtksz






.. code-block:: Python


    from __future__ import annotations

    import geovista as gv
    from geovista.common import cast_UnstructuredGrid_to_PolyData as cast
    from geovista.pantry.data import nemo_orca2
    from geovista.transform import transform_mesh


    def main() -> None:
        """Plot a projected ORCA2 curvilinear grid.

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

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

        # Create the mesh from the sample data.
        mesh = gv.Transform.from_2d(
            sample.lons,
            sample.lats,
            data=sample.data,
            name=f"{sample.name} / {sample.units}",
        )

        # Remove cells from the mesh with NaN values.
        mesh = cast(mesh.threshold())

        # Transform the mesh to the Mollweide projection and extrude.
        mesh = transform_mesh(mesh, crs := "esri:54009")
        mesh.extrude((0, 0, -1000000), capping=True, inplace=True)

        # Plot the curvilinear mesh.
        p = gv.GeoPlotter(crs=crs)
        p.add_mesh(mesh)
        p.add_coastlines(color="black")
        p.add_axes()
        p.add_text(
            f"ORCA ({crs}, extrude)",
            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_curvilinear_from_2d__orca_moll.py:

.. only:: html

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

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

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

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

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

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

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


.. only:: html

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

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