Working with Spatio-temporal data in Python

With Software Carpentry lessons and Data Carpentry lessons you learn the fundamental data skills needed to conduct research in your field and learn to write simple programs.

This one-day workshop will introduce you to Python for analyzing and visualizing spatial-temporal data. We will be using datasets from the environmental sciences that are freely available.

We will learn:

The meaning of these terms will become clear as we work through the python notebooks.


  1. Learners need to understand what files and directories are and what a working directory is. These concepts are covered in the Unix Shell lesson.
  2. Learners need to have some prior knowledge of Python. For instance, what is covered in the Software Carpentry lesson Programming with Python is more than sufficient.

  3. Learners must install Python and a few additional python libraries before the class starts. See the setup instructions

  4. Learners must get the metos data before class starts: please download and unzip the file

    Please see the setup instructions for details.


Setup Download files and install packages required for the lesson
00:00 1. Introduction Where to start?
Why using common data formats?
00:00 2. Data Formats in Environmental Sciences What are the most common data formats in Environmental Sciences?
raster vs vector formats?
What are the most common python packages to read/write netCDF, HDF, GeoTIFF data files?
00:00 3. Intro to Coordinate Reference Systems & Spatial Projections What are Coordinate Reference Systems?
00:00 4. Plotting spatio-temporal data with Python How can I create maps with python?
00:00 5. Data analysis with python What is pandas, geopandas, SciPy?
Why using GeoPandas?
How can I use Scipy?
00:00 6. Machine Learning with Scikit-learn: handling missing data Learn about Scikits (SciPy Toolkits)
Learn to use scikit-learn (python modules for machine learning and data mining) in meteorology and oceanography
00:00 7. Handling very large files in Python How to manipulate very large netCDF or HDF files?
00:00 8. Visualize and Publish with Python How to create interactive plots and publish them on the web?
00:00 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.