Skip to content
Switch branches/tags
This branch is 124 commits ahead of ltauxe:master.


Python Programming for the Earth Sciences

Authors: Lisa Tauxe (, Hanna Asefaw (hasefaw@ucs.dedu), Brendan Cych ( & Dave May (


Shield: CC BY 4.0

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0

Computers in Earth Science

Computers are essential to all modern Earth Science research. We use them for compiling and analyzing data, preparing illustrations like maps or data plots, writing manuscripts, and so on. In this class, you will learn to write computer programs with special applications useful to Earth Scientists. We will learn Python, an object-oriented programming language, and use Jupyter notebooks to write our Python programs.


Why Python?

  • Flexible, freely available, cross platform;

  • Easier to learn than many other languages;

  • It has many numerical, statistical and visualization packages;

  • It is well supported and has lots of online documentation.

The name 'Python' refers to 'Monty Python' - not the snake - and many examples in the Python documentation use jokes from the old Monty Python skits. If you have never heard of Monty Python, look it up on youtube; you are in for a treat.

Which Python?

  • The notebooks in this repository are compatible with Python 3.6+. While most of the notebooks are compatible with Python 2.7, we do not test or maintain backwards compatibility.

Jupyter notebooks

This course is entirely structured around a special programming environment called Jupyter notebooks. A Jupyter notebook is a development environment where you can write, debug, and execute your python programs. It is a web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Jupyter notebooks do not have to exist, or be run on your computer, they can be created and run on a remote machine in which you access them via a web browser (e.g. Firefox, Safari, IE, Chrome). Hence you do not even need to install Python on your computer.

Lecture synposis

A complete table of contents for this course can be found here.

Note that the view above is read-only - you will not be able to execute or modify the notebooks.

If you wish to explore the lectures interactively, you can access them via Binder by clicking here, or by clicking the "launch Binder" button at the top of this ReadMe file.

Getting started

The simplest way to begin is by clicking the "launch Binder" button at the top of this ReadMe file. This "one-click" option will launch your personal Jupyter environment for this course.

Once you have launched the Jupyter notebook environment, open the file Lecture_01.ipynb.

SIO113 course information (Spring 2021)

Please refer here for a complete course description.


No description, website, or topics provided.




No releases published


No packages published