Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
philipc2 committed Dec 2, 2023
2 parents c7b82b3 + 18c7ab3 commit 1766cf4
Show file tree
Hide file tree
Showing 4 changed files with 182 additions and 119 deletions.
13 changes: 5 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@
[![nightly-build](https://github.com/UXARRAY/unstructured-grid-viz-cookbook/actions/workflows/nightly-build.yaml/badge.svg)](https://github.com/UXARRAY/unstructured-grid-viz-cookbook/actions/workflows/nightly-build.yaml)
[![Binder](https://binder.projectpythia.org/badge_logo.svg)](https://binder.projectpythia.org/v2/gh/ProjectPythia/cookbook-template/main?labpath=notebooks)

This Cookbook is a comprehensive showcase of workflows & techniques for visualuzing Unstructured Grids using UXarray. It orginiated as part of
Project Raijin's NCAR Summer Internships in Parallel Computational Science (SIParCS) project, titled "_Python Data Analysis and Visualization for Unstructured Grids_."
This Cookbook is a comprehensive showcase of workflows & techniques for visualizing Unstructured Grids using [UXarray](https://uxarray.readthedocs.io/).

## Authors

Expand All @@ -30,15 +29,13 @@ Project Raijin's NCAR Summer Internships in Parallel Computational Science (SIPa

## Structure

This cookbook is split up into six chapters which provide a comprehensive overview of how to use UXarray to work with and visualuze unstructured grid datasets.
This cookbook is split up into three chapters that provide a detailed overview of how to use UXarray to work with and visualuze unstructured grid datasets:

#### **1. Introduction to UXarray & Unstructured Grids**
**1. Introduction to UXarray & Unstructured Grids**

#### **2. Methods & Libraries for Unstructured Grid Visualization**
**2. Methods & Libraries for Unstructured Grid Visualization**

#### **3. UXarray Visualization**

#### **4. Performance & Data Fidelity Considerations**
**3. UXarray Visualization**

## Running the Notebooks

Expand Down
52 changes: 36 additions & 16 deletions notebooks/01-intro/01-unstructured-grid-overview.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Unstructured Grid Overview"
"# Unstructured Grids Overview"
]
},
{
Expand All @@ -18,7 +18,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"The goal of this notebook is to provide a brief overview of unstructured grids and provide a teaser of plotting with the UXarray package.\n",
"The goal of this notebook is to provide a brief overview of unstructured grids and provide a teaser of plotting with the [UXarray](https://uxarray.readthedocs.io/) package.\n",
"\n",
"Contents:\n",
"1. Structured vs. Unstructured Grids\n",
"2. Structured Grids\n",
Expand Down Expand Up @@ -48,7 +49,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Structured Grid\n",
"## Structured Grids\n",
"A few advantages of structured grids are:\n",
"- Uniform Representation: Simplifies numerical methods and enhances result interpretation.\n",
" \n",
Expand Down Expand Up @@ -134,7 +135,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Unstructured Grids"
"## Unstructured Grids"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Characteristic features of unstructured grids are:"
]
},
{
Expand Down Expand Up @@ -232,36 +240,48 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"NOTE: This is a very basic example of an unstructured grid with triangles. There are very specialized libraries to create unstructured grids. Often the region of interest is meshed with a finer resolution. The mesh is then coarsened in areas where the resolution is not needed. This is done to reduce the number of elements and improve computational efficiency."
":::{note}\n",
"This is a very basic example of an unstructured grid with triangles. There are very specialized libraries to create unstructured grids. Often the region of interest is meshed with a finer resolution. The mesh is then coarsened in areas where the resolution is not needed. This is done to reduce the number of elements and improve computational efficiency.\n",
":::"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Why UXarray for unstructured grids?\n",
"## Why UXarray for Unstructured Grids?\n",
"\n",
"- It inherits from Xarray, providing simplified data using familiar (Xarray like) data structures and operations.\n",
" \n",
"- Bring standardization to unstructured mesh support for climate data analysis and visualization.\n",
"UXarray, which stands for \"Unstructured-Xarray\", is a Python package that provides Xarray-styled functionality for working with unstructured grids built around the UGRID conventions. UXarray can simplify working with unstructured grids because it:\n",
"\n",
"- Adherence to the UGRID specification for compatibility across a variety of mesh formats.\n",
"- Enables significant data analysis and visualization functionality to be executed dircetly on unstructured grids\n",
"\n",
"- Optimized data structures and algorithms for handling large and complex unstructured datasets. \n",
"- Inherits from Xarray, providing simplified data using familiar (Xarray-like) data structures and operations\n",
" \n",
"- Brings standardization to unstructured mesh support for climate data analysis and visualization\n",
"\n",
"- Enhanced Interoperability and Community Collaboration.\n",
"- Adheres to the UGRID specification for compatibility across a variety of mesh formats\n",
"\n",
"- One interface for a variety of unstructured grid formats.\n",
"- Builds on optimized data structures and algorithms for handling large and complex unstructured datasets\n",
"\n",
"There are unstructured grid format such as Exodus, SCRIP, MPAS, UGRID etc. UXarray is a library that can read and write many such unstructured grid formats. The specific focus of UXarray is to provide a common interface to access and operate on unstructured grids in the climate science community."
"- Supports enhanced interoperability and community collaboration\n",
"\n",
"- Provides a single interface for supporting a variety of unstructured grid formats including UGRID, MPAS, SCRIP, and Exodus"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
":::{note}\n",
"This notebook serves as an introduction to unstructured grids and UXarray. For more information, please visit the UXarray documentation at https://uxarray.readthedocs.io/en/latest/ and specifically see the example section: https://uxarray.readthedocs.io/en/latest/examples.html\n",
"\n",
":::"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## What is next?\n",
"The next sections will start with basic building blocks of UXarray and then slowly dive into more advanced features."
]
}
Expand All @@ -282,7 +302,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.4"
"version": "3.11.6"
},
"nbdime-conflicts": {
"local_diff": [
Expand Down
Loading

0 comments on commit 1766cf4

Please sign in to comment.