Xarrays and climate data analysis

Aditya N (~aditya246)


Xarray is a tremendous resource for analyzing large multidimensional data sets. Coupled with Dask, it becomes capable of dealing with larger than memory data sets and parallel compution. Xarrays has become a great tool for earth scientists because of the ease of writing code and the ability to deal with self-describing data sets such as "netcdf". In this workshop, I will take the participants through the basic and advanced features of Xarray using real-world data sets frequently used in atmospheric and oceanographic applications. We will begin by analyzing Chennai's weather and pick out the climate signals from the temperature and precipitation data available from Indian Meteorological Department. We will also work on global data sets and learn how to quickly visualize results using Python's cartographic plotting package "Cartopy". The key learning outcome will be the ability to use Xarray to analyze any N-dimensional data set and perform computations with the ability to scale up from a laptop to a multi-node cluster on the cloud.

Topics to be covered: (We will follow the structure of the documentation for the introductory portions)

  1. Introduction to Xarray and the Python ecosystem built around climate data processing.
  2. Xarray data structures
  3. Selecting and indexing data
  4. Computation
  5. Plotting time series
  6. Introduction to Cartopy (geospatial plotting of data)
  7. Chennai climate data analysis using temperature and precipitation data from Indian Meteorological Department
  8. Regional (South Asian) and global climate data analysis using Hadcrut4 data

I will upload all necessary data sets and Jupyter Notebooks on a Github repository and give the URL here soon. Participants may please download the IPYNB files and try running them on their laptops before coming to the workshop. This will ensure that you have all the necessary packages.

Hands-on session: required Python packages

  1. Numpy
  2. Scipy
  3. Pandas
  4. Xarray
  5. Matplotlib
  6. Cartopy


None! Although, some experience with numpy and pandas will help. Beginners are advised to learn numerical python basics such as numpy, pandas etc. before coming to the workshop. Jake VanderPlas's book and freely available Jupyter notebook tutorials on numpy and pandas may be a great starting point.

Content URLs:

These are some examples of jupyter notebook code that I created for workshops:






Speaker Info:

I am a Ph.D. scholar at IIT Madras working on the geophysical fluid dynamics of the Southern Ocean.

Speaker Links:


Id: 1199
Section: Scientific Computing
Type: Workshop
Target Audience: Intermediate
Last Updated: