Build Status | |
Code Coverage | |
Docs | |
Benchmarks | |
Releases | |
License | |
Citing |
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, 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.
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.
The following intended functionality has 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 reading and writing UGRID, SCRIP ESMF, and Exodus formatted grids.
- Support for reading and writing shapefiles.
- Support for arbitrary structured and unstructured grids on the sphere, including latitude-longitude grids, grids with only partial coverage of the sphere, and grids with concave faces.
- Support for finite volume and finite element outputs.
- Support for edges that are either great circle arcs or lines of constant latitude.
- Calculation of face areas, centroids, and bounding latitude-longitude boxes.
- Triangular decompositions.
- Calculation of supermeshes (consisting of grid lines from two input grids).
- Regridding of data between unstructured grids.
- Global and regional integration of fields, including zonal averages.
- Application of calculus operations, including divergence, curl, Laplacian and gradient.
- Snapshots and composites following particular features.
Thank you to all of our contributors!
If you'd like to cite our work, please follow How to cite UXarray.
![]() |
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 supports collaborative efforts to develop software and infrastructure to enable Big Data geoscience research. |