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.
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 nc-time-axis
-
To run the courses, navigate to the repository 'course_content' folder and run :
$ jupyter notebook
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.
There are two main courses provided :
0.5 hours — depends on basic knowledge of matplotlib (see options below):
- in
course_content/cartopy_course/cartopy_intro.ipynb
- launch in binder here
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).
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 :
3.5 hours — depends on a basic Python background
- in
course_content/extra_courses/numpy_intro.ipynb
- launch in Binder here
3 hours — depends on a knowledge of numpy
- in
course_content/extra_courses/matplotlib_intro.ipynb
- launch in binder here