CMSC 246 Systems Programming
Fall 2019


Working with GeoTiff data or Obfuscated C

Due Saturday Dec 14 before Midnight

I will consider requests for extensions on a case by case basis, but only if the request is made in person (not in class) and only if the request is made by Thursday Dec 12. NASA recently published a dataset describing tailpipe emissions of C02 covering the continental united states. You can read about this dataset at https://daac.ornl.gov/CMS/guides/CMS_CO2_Relationships.html. Briefly, this dataset gives, for the past 33 years, an estimate of tailpipe CO2 emissions (cars and trucks) for every kilometer of road in the united states.

I have obtained this dataset for your final assignment.

You task is:

  1. Write a program to extract data for the kilometer cor road nearest the Bryn Mawr campus for each of the 33 years that the dataset covers. Alternately, you may use the Haverford campus. Alternately, you can use the location of the place where you live when not at college (if you live in the US.)
The data for this assignment is in /home/gtowell/Public246/CO2/. This directory contains 3 subdiectories with the actual data in /home/gtowell/Public246/CO2/data/*.tiff. That if correct; the information is in tiff files. Specifically, geotiff files. The good news in that tiff is a well defined file format. Likewise geotiff is well defined. The bad news is that I have not found any code that easily reads these files.

With those 33 years worth of data, draw an graph showing the CO2 emissions changes.

Some thoughts.

You may work in pairs if you are so inclined. If you work with a partner, you need to do more. Specifically, rather than just extracting the data for a single place you need to produce a program that can extract data a region. With the regional data make a plot, or perhaps a series of plots showing the data for the region. I leave it to you to work out the details, but I am looking for something pretty. For example, think about a movie with 32 (or 33) frames showing the the changing CO2 emissions over time for a 20x20 (e.g.) region.

If you work in a pair you I must receive email from both partners in the pair by Friday Dec 6 stating this intention.

What to Hand in

Alternative Assignment

Write a block of code in the style of the obfuscated C code competition. It can do anything. Some constraints:

What to Hand in