Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Python Courses for the Scientific Researcher

This repository contains courses on several Python software packages for the benefit of scientific researchers, particularly in the fields of oceanography and meteorology. All the content is fully open-source and freely downloadable.

The courses are presented as interactive self-learning tutorials, contained in "Jupyter notebooks". The user will run the notebook interactively, and will also edit it and run their own code, particularly to complete the set learning exercises.

These courses assume some prior knowledge of the numpy and matplotlib packages. "Additional Learning Resources", below, suggests some suitable learning resources for those.

Download and Run Courses

The most flexible learning method is to download this repository and run it in a Python environment with the correct dependencies. A suitable environment can be produced with conda (only 'miniconda' is needed) :

  • To create the environment, use the command :
    $ conda create -n testenv iris iris-sample-data jupyter

  • To run the courses, navigate to the repository 'course_content' folder and run :
    $ jupyter notebook

Run Courses in Binder

It is also possible to run any of these courses in a cloud instance with Binder, simply by following the links provided below. This is quick to try, and highly convenient. However you must be aware that this runs in a transient session, so all your edits will be lost when that expires (usually some 10s of minutes after the last interaction). It is possible to download your modified notebook before the session times out, but not (easily) to re-upload and run it again in Binder.

Principal Courses

There are two main courses provided :

A First Look at Cartopy (for Iris)

0.5 hours — depends on basic knowledge of matplotlib (see options below):

  • in course_content/cartopy_course/cartopy_intro.ipynb
  • launch in binder here

An Introduction to Iris

6 hours — depends on the "First Look at Cartopy" course:

  • start from course_content/iris_course/0.Iris_Course_Intro.ipynb
  • launch in binder here

Note: to run this course fully, you need to have installed not only iris and its dependencies, but also iris-sample-data (it requires to be importable as a package).

Additional Learning Resources

There are also two older courses included here, covering numpy and matplotlib at an entry level. However, these sources are no longer actively maintained. As a similar fast introduction to numpy and matplotlib, we can recommend the sections on those topics in the Scipy lectures. For more detail, in time, you should also refer to the standard tutorials for those projects.

The older Scitools course contents are these :

An Introduction to Numpy

3.5 hours — depends on a basic Python background

  • in course_content/extra_courses/numpy_intro.ipynb
  • launch in Binder here

An Introduction to Matplotlib

3 hours — depends on a knowledge of numpy

  • in course_content/extra_courses/matplotlib_intro.ipynb
  • launch in binder here


Python courses for the scientific researcher







No releases published


No packages published