The Community Data Analysis Tools (CDAT) library has provided a suite of robust and comprehensive open-source climate data analysis and visualization packages for over 20 years. Over the past year, scientists and software developers have worked together to create a modern successor to CDAT through a new library called xCDAT. xCDAT is a Python package that extends xarray for climate data analysis on structured grids. The goal of xCDAT is to provide generalizable climate domain features and utilities with xarray for simple and robust analysis of climate data. Key features from CDAT that have been implemented in xCDAT include spatial averaging, temporal averaging, and horizontal regridding. xCDAT also integrates several powerful libraries in the xarray ecosystem (e.g., xESMF and cf_xarray) to deliver robust and easy to use APIs.
A major design philosophy of xCDAT is streamlining the user experience while developing code to analyze climate data. This means reducing the complexity and number of lines required to achieve certain features with xarray (e.g., ds.spatial.average(“temperature”) to take a domain average of temperature or ds.temporal.departures(“temperature”, freq=“month”) to calculate monthly departures).
At the forefront of the xCDAT core team’s priorities is serving the long-term needs of the climate community. To keep us accountable to this mission, the team continually practices software engineering principles for implementing maintainable and scalable code. We integrate Python Enhancement Proposals (PEP), automate DevOps processes such as unit testing and code coverage, and actively maintain the documentation. The package is also distributed on Anaconda under the conda-forge channel. As the project matures, we strive to foster a sustainable community that can bolster the project with their active participation in GitHub issues, pull requests, and forum discussions.
Acknowledgement: This software is jointly developed by scientists and developers from the Energy Exascale Earth System Model (E3SM) Project and Program for Climate Model Diagnosis and Intercomparison (PCMDI). The work is performed for the E3SM project, which is sponsored by Earth System Model Development (ESMD) program, and the Simplifying ESM Analysis Through Standards (SEATS) project, which is sponsored by the Regional and Global Model Analysis (RGMA) program. ESMD and RGMA are programs for the Earth and Environmental Systems Sciences Division (EESSD) in the Office of Biological and Environmental Research (BER) within the Department of Energy's Office of Science.