Assignment: Rising CO$_2$ levels in the atmosphereΒΆ

Mauna Loa Observatory is located over 3000 meters above the sea level, on the Big Island of Hawaii. NOAA, the National Oceanic and Atmospheric Administration, runs this facility, and has been collecting data on the composition of our atmosphere for years. The rise of CO$_2$ in our atmosphere is one of the drivers of climate change as CO$_2$ is a heat-trapping gas. NOAA measures CO$_2$ levels at the observatory and has made its data available for all.


In this assignment, your task is

  1. to download this data from within python using urllib,
  2. do the necessary data munging to get the data into arrays,
  3. extract the monthly averages of measured CO$_2$ from a data column named average,
  4. plot the monthly averages as a function of time,
  5. estimate the rate of change of CO$_2$ from this data, and
  6. plot your estimate of the rate of change as a function of time.

The last two items require you to experiment with imperfect techniques to estimate rate of change (imperfections that we saw in previous class activities). Please conclude your assignment with what your answer would be if a policy-maker wants a "yes or no" answer on whether the rate of increase of CO$_2$ is increasing.

Your product for grading should be a jupyter notebook, written clearly (like a term paper), including code and graphs, and with explanations of all your steps to arrive at your graphs and conclusions.


  • This is where the data is available for download:

  • The data has gaps (read the file header) which you can easily remove using numpy's masking facilities.

  • The data may not be perfectly equispaced. Use the function interp1d from scipy.interpolate to generate values at equispaced time intervals (after installing scipy).

  • You will see that although CO$_2$ data has a rising trend, the curve is filled with small oscillations. Use your experience from exercises or any other tools you know to calculate rate estimates of the overall trend.