Python for Earth Science Students

To look at these lectures interactively, go to:

Lecture 1

  • Learn to find your command line interface.
  • Learn how to launch a Jupyter notebooks from the command line interface
  • Learn basic notebook anatomy.
  • Learn some basic UNIX commands
  • Write your first python script
  • Learn your first Ipython magic command
  • Learn about the concept of PATH

Lecture 2

  • Learn about variables
  • Learn about operations

Lecture 3

  • Learn about collections of variables: data structures

  • Learn about objects - Learn about methods which allow you to do things to objects

Lecture 4

  • Learn more about another useful data structure, dictionaries and some of their methods
  • Introduce special Python code blocks
  • Learn about "for" loops, "while" loops and "if" blocks

Lecture 5

  • Learn about functions
  • Discover the joys of modules

Lecture 6

  • get a first peek at the very useful Python packages called NumPy and matplotlib

Lecture 7

  • Learn more about NumPy and matplotlib
  • Learn more about NumPy arrays.

Lecture 8

  • more about matplotlib: adding notes and saving images
  • about DataFrames and Series, two new data structures, that are part of the Pandas package
  • some basic filtering tricks with Pandas
  • how to read in and save data files with Pandas

Lecture 9

  • Learn how to filter data with Pandas
  • Write a program to calculate the great circle distances between two known points.
  • Learn how to generate formatted strings for output.

Lecture 10

  • Learn about "object oriented programming" (OOP)
  • Learn how to create a "class"
  • Learn more about namespaces
  • Learn more about copies

Lecture 11

  • Learn about lambda functions
  • How to use map( ), filter( ), and reduce( )
  • Explore the joys of List, Set and dictionary comprehension

Lecture 12

  • Tricks with pandas
  • Filtering
  • concatentating and merging dataframes

Lecture 13

  • Learn a few more Pandas tricks
  • Learn how to make more complicated plots with matplotlib
  • Learn about the composition of the sun, solar system and Earth.
  • Learn about exceptions in python

Lecture 14

  • Learn how to plot histograms and cumulative distributions
  • Learn how to get lists of random numbers
  • Learn about the topography of the Earth (hypsometric curve)

Lecture 15

  • Learn some basic statisics - samples versus populations and empirical versus theorectical distributions.
  • Learn to calculate central tendencies, spreads.
  • Learn about significant figures and more about formatting output.
  • Learn some useful functions in NumPy and SciPy for simulating distributions and calculating statistics.

Lecture 16

  • Learn how to deal with bivariate data (fitting lines, curves).
  • Apply line fitting to determine the age of the Universe. Cool.

Lecture 17

  • Learn how to use the seaborn package to produce beautiful plots
  • Learn about kernel density estimates
  • Learn appropriate ways of representing different types of data

Lecture 18

NB: This lecture may not work properly in the interactive online binder environement. (it requires cartopy==0.17.0 and that is not yet available)

  • start to make some basic maps using Cartopy. Yippee (we love maps).

Lecture 19

NB: This lecture may not work properly in the interactive online binder environement. (it requires cartopy==0.17.0 and that is not yet available)

  • Learn about gridding and contouring with cartopy

Lecture 20

  • We will work with directional data using rose diagrams and stereonets

Lecture 21

  • Learn some useful tricks about matrix math.

Lecture 22

  • Learn how to plot great and small circles on an equal area net and map projections.

Lecture 23

NB: This notebook will not work in the interactive online binder environement

  • Learn about the concept of Graphical User Interfaces
  • Learn how to make a GUI in a Jupyter notebook
  • Learn how to export the GUI to a command line program

Lecture 24

  • Find out about Machine Learning
  • Learn about using the scikit-learn python package for machine learning.
  • Apply machine learning to Earth Science problems

Lecture 25

  • Learn about 3D plots of points and surfaces
  • Show some examples with subduction zone earthquakes and isotopic systems

Lecture 26

  • Take a look at data with respect to time (time series)
  • Learn a bit about time series analysis.

Lecture 27

  • Learn how to make and display animated gifs