Skip to main content

Xarray extension for unstructured climate and global weather data analysis and visualization.

Project description



Xarray extension for unstructured climate and global weather data

Build Status GitHub Workflow Status CI Upstream pre-commit.ci status
Code Coverage Code Coverage Status
Docs Documentation Status
Benchmarks ASV Repostory
Releases Github release Conda PyPI
License License
Citing DOI

What is it?

UXarray aims to address the geoscience community's need for tools that enable standard data analysis techniques to operate directly on unstructured grid data. UXarray provides Xarray-styled functionality to better read in and use unstructured grid datasets that follow standard conventions, including UGRID, MPAS, ICON, SCRIP, ESMF, FESOM2, and Exodus grid formats. This effort is a result of the collaboration between Project Raijin (NSF NCAR and Pennsylvania State University) and the SEATS Project (Argonne National Laboratory, UC Davis, and Lawrence Livermore National Laboratory). The UXarray team welcomes community members to become part of this collaboration at any level of contribution.

UXarray is implemented in pure Python and does not explicitly contain or require any compiled code. This makes UXarray more accessible to the general Python community. Any contributions to this repository in pure Python are welcome and documentation for contribution guidelines can be found when clicking New Issue under the Issues tab in the UXarray repository.

Why is the name "UXarray"?

We have created UXarray based on Xarray (via inheritance of Xarray Dataset and DataArray classes), a Pangeo ecosystem package commonly-used for structured grids recognition, to support reading and recognizing unstructured grid model outputs. We picked the name "UXarray" (pronounced "you-ex-array"), with the "U" representing unstructured grids.

Features

  • Grid class for storing grid information and providing grid-specific functionality
    • Support for reading UGRID, MPAS, ESMF, ICON, GEOS-CS, SCRIP, and EXODUS grid formats
    • Support for reader structured (i.e. latitude longitude) grids
  • Extension of xarray's DataArray and Dataset classe to support unstructured grid operations
    • uxarray.UxDataArray inherits xarray.DataArray and is attached to a Grid instance through the .uxgrid accessor
    • uxarray.UxDataset inherits xarray.Dataset and is attached to a Grid instance through the .uxgrid accessor
  • Extension of xarray's open_dataset and open_mfdataset methods to support reading grid and data files
  • Plotting
    • Native visualization of unstructured grids written using the hvPlot package
    • Support for grid topology visualization (i.e. exploring the geometry of a grid) and data visualization (i.e. data mapped to each face)
  • Subsetting
    • Ability to select arbitrary regions of a grid using different selection methods (nearest neighbor, bounding circle, bounding box)
  • Remapping
    • Support for nearest neighbor and inverse distance weighted unstructured to unstructured remapping
  • Topological Aggregations
    • Perform aggregations within different topology elements using connectivity information
  • Mathematical Operators
    • Support for Integral, Difference, and Gradient calculations

Intended Features

The following intended features have been inspired by discussions with members of the scientific community, within the SEATS Project and Project Raijin, and on several community platforms such as Xarray GitHub Repository. The UXarray team is receptive to additional functionality requests.

  • Support for finite volume and finite element outputs.
  • Triangular decompositions.
  • Calculation of supermeshes (consisting of grid lines from two input grids).
  • Snapshots and composites following particular features.

Documentation

UXarray Documentation

Contributor’s Guide

Installation

Project Raijin Homepage

SEATS Project Homepage

Contributors

Thank you to all of our contributors!

Contributors

Citing UXarray

If you'd like to cite our work, please follow How to cite UXarray.

Support

NSF Logo Project Raijin, entitled "Collaborative Research: EarthCube Capabilities: Raijin: Community Geoscience Analysis Tools for Unstructured Mesh Data", was awarded by NSF 21-515 EarthCube (Award Number (FAIN): 2126458) on 08/19/2021. The award period of performance has a start date of 09/01/2021 and end date of 08/31/2024.
DOE Logo SEATS is funded by the Regional and Global Modeling and Analysis (RGMA) program area in the U.S. Department of Energy (DOE) Earth and Environmental System Modeling Program which is part of the Earth and Environmental Systems Sciences Division of the Office of Biological and Environmental Research in DOE’s Office of Science.
EarthCube Logo EarthCube aims to transform the conduct of geosciences research by developing and maintaining a well-connected and facile environment that improves access, sharing, visualization, and analysis of data and related resources.
PANGEO Logo Pangeo supports collaborative efforts to develop software and infrastructure to enable Big Data geoscience research.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uxarray-2024.12.0.tar.gz (137.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uxarray-2024.12.0-py3-none-any.whl (154.4 kB view details)

Uploaded Python 3

File details

Details for the file uxarray-2024.12.0.tar.gz.

File metadata

  • Download URL: uxarray-2024.12.0.tar.gz
  • Upload date:
  • Size: 137.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for uxarray-2024.12.0.tar.gz
Algorithm Hash digest
SHA256 8aa8ce626d45069e5ce4c533eb6faa2477764c3a1938f2d424e40c958c6ae043
MD5 7289aa588d2e02d3141ce087074480cf
BLAKE2b-256 120784e06a64c3c4504396f713fc336f1a09df84fd6aac3dc590c8b55e26d13e

See more details on using hashes here.

Provenance

The following attestation bundles were made for uxarray-2024.12.0.tar.gz:

Publisher: pypi.yaml on UXARRAY/uxarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uxarray-2024.12.0-py3-none-any.whl.

File metadata

  • Download URL: uxarray-2024.12.0-py3-none-any.whl
  • Upload date:
  • Size: 154.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for uxarray-2024.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 416c3ecffc765f133bef61c61f5901841013c01218691053f0e0769da92cb167
MD5 008f0d22b994224f0a8fe235796d29c3
BLAKE2b-256 4bdcb75c0677d77ab5d6faf43ce2e6784fb415b90b13c8569f1208ca65a4647d

See more details on using hashes here.

Provenance

The following attestation bundles were made for uxarray-2024.12.0-py3-none-any.whl:

Publisher: pypi.yaml on UXARRAY/uxarray

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page