Uxarray: Extending Xarray to Support the Analysis of Native, Kilometer-Scale Unstructured Grids in Python
In recent years, climate and global weather models have been slowly but steadily transitioning into employing unstructured meshes within their dynamical cores to better represent the sphere. The use of unstructured grids allows for models to be run at kilometer-scale resolutions, which enables several applications such as resolving individual thunderstorms. Major challenges come with this: tremendous size of the resulting data and the need for performant computations on such data sizes, lack of community software tools that support operations on native unstructured meshes without regridding them to structured grids, and complexity of analysis and visualization of unstructured grid data compared to those for structured grids. UXarray, as introduced in the prior years, was created to support scalable data analysis and visualization functionality on high-resolution unstructured grids. It is the product of a collaborative effort between Project Raijin, funded by an NSF EarthCube award between NSF NCAR and The Pennsylvania State University, and the SEATS project, funded by DOE. Xarray, the cornerstone Pangeo community package for labeled multi-dimensional arrays in Python, is being extended under the hood of UXarray for input/output (I/O) and interoperability purposes. UXarray is written around the UGRID conventions, which have recently been accepted as an extension to the CF conventions, providing a standardized way of representing unstructured grids in the netCDF file format. UXarray supports representing a growing number of formats and dynamical cores in the UGRID conventions, including Model for Prediction Across Scales (MPAS), Community Atmosphere Model - Spectral Element (CAM-SE), Energy Exascale Earth System Model (E3SM), and the Goddard Earth Observing System (GEOS) Finite-Volume Cubed-Sphere Dynamical Core (FV3). UXarray has matured substantially within the last year, enabling various real-world analysis and visualization workflows applied to outputs from these models with the addition of several significant functions such as remapping, subsetting, calculus operators; and raster and vector data plotting along with grid topology visualizations. This presentation will provide an overview of the current I/O, analysis, and visualization capabilities of UXarray along with future plans, and it will also discuss how the earth system science community can help guide the UXarray roadmap.