Geosciences 232
Climate Dynamics of the Earth and Other
Planets
PlanetaryClimateBook Problem and Reading Assignments News Archive
Recordings of Lectures
Fall Quarter 2011
Mondays and Wednesdays 1:30-2:50, Hinds 561
Current News and Announcements
Course Evaluations: Please take the time to fill out a course evaluation here . Login to your cMore account, go to your course schedule, and click on the evaluation prompt. I appreciate the time you put into filling out these evaluations. If you liked the course, they help me attract more students. If there are aspects that didn't work for you, I want to know about them so I can figure out how to improve things. One thing I will definitely do differently next year is to set aside the entire first week as a Python clinic, with a required lab session; the object will be that everybody is up and running with the language installation by the end of the week. This year, there was also a problem finding a time for the weekly problem/lab session that would fit into people's schedule. I am thinking of scheduling an official lab/section meeting as part of the course, though I am a bit afraid that if I add a required scheduled session it will increase the chance of conflict with other courses and inhibit people from enrolling. Suggestions as to how to handle this are welcome.
Take Home Final Exam is here: FQ2011Exam.pdf
11/29/2011: It was brought to my attention that the link to the chapter 3 script ERBEplot.py was broken. This has now been fixed. Some of you may find it useful for doing the ERBE problem on the current problem set.
11/22/2011: I just called Adobe and got my account extended by 7 days as a temporary fix. Please view the lecture right away before it goes away again. Hopefully we will have a permanent solution by Monday. Today's lecture has been posted. Note the small correction mentioned by the link, regarding Part B.
11/22/2011: Lecture recordings access problem. My Adobe Connect account strangely and unexpectedly expired, so I couldn't log in to access the recording of today's lecture and make it public. Worse, all the other lecture recordings became inaccessible. Hopefully this is just a temporary problem. We are working to resolve it as soon as possible. I hope to have the lectures (including today's lecture ) made available again by Wednesday. Sorry for the inconvenience.
11/21/2011: A new problem set has been assigned. This will be the final problem set for the quarter, and must be turned in on time so that we can hand out solution sheets during reading period. However, it is OK to turn in the extra-credit problems any time before the end of exam period.
11/14/2011: Before Wednesday's lecture, please read my Physics Today article, 'Infrared Radiation and Planetary Temperature,' available in the publications section of my web site (geosci.uchicago.edu/~rtp1) .
11/07/2011: New Problem set posted. I made this a little shorter than I originally planned, since I would like people to get caught up on the work. HOWEVER, it has come to my attention that a certain number of you have started to fall behind on the work. I've been a little generous on setting deadlines, since the main thing for me is for people to learn the material and do the work however long it takes BUT I might find it necessary to become more stringent about deadlines. So please, make every effort to hand this in on time, and get help with Python issues the FIRST DAY OR TWO, without waiting for the night before to find out about you need help.
11/03/2011: Thanksgiving Week Lectures -- For the convenience of those who are traveling to Thanksgiving festivities (including myself), the lecture normally scheduled for the day before Thanksgiving (Wednesday, Nov. 23) will be moved to Tuesday, Nov. 22 at 1:30 . I realize that some of you may not be able to attend at that time, but you can always view the recording of the lecture at your convenience. The lecture on Monday, Nov. 21 will take place as usual.
10/31/2011: I have heard that a few people using Windows are encountering problems with MatPlotLib graphics. The symptom is that graphics windows appear, but you can't use the buttons to save the graphics. It seems the trick I used to make this work on the Mac (with idle) may not work reliably on Windows. If you are having problems, please send me an email to let me know, and let me know the nature of the problem and whether it happens just with idle, or also when doing graphics using the Python interpreter. I will try to get it sorted out for you. Meanwhile, you can try the following workaround. After importing ClimateUtilities, type pl.ioff() . Then after each set of graphs you want to look at and save (i.e. after issuing a bunch of plot(...) commands) type pl.show(). You will then see your plots and be able to save them. But you won't be able to get your command prompt back until you've dealt with all the plots and put them away using the goaway button on the window. Please try it and let me know if it works.
10/28/2011: There was a small bug in ClimateGraphics that put up an error message even if MatPlotLib graphics was successfully imported. Sorry if this confused everybody. You can just ignore the error message, but if you want to get rid of it, I have uploaded a corrected version of ClimateGraphics.py to the web site. If you are not an Ngl user, you actually don't need ClimateGraphics.py (just ClimateGraphicsMPL.py), so you could just delete ClimateGraphics.py from your installation.
10/25/2011; A few graphics tips. Note that if you have installed the Enthought distribution, you already have MatPlotLib for graphics and do not need to mess around with PyNgl. As long as you have downloaded the current version of ClimateUtilities.py, and also ClimateGraphicsMPL.py, the version of plot(...) which uses MatPlotLib will automatically be loaded. To save graphics in MatPlotLib, use the file button on the interactive graphics window (or do a screen capture using Preview on Mac or your favorite capture utility on Windows.). Note that there are some issues with the way the interactive graphics windows interact with the Python interpreter and with idle. I have tried to deal with these, and they work on the Mac, but if anybody is having trouble with MatPlotLib graphics windows please let me know. I'd especially like feedback on whether the plot command in ClimateUtilities is working properly with idle and the python interpreter under Windows. When using idle on the Mac, you need to start up idle with the command idle -n , in order for MatPlotLib graphics to work properly. I don't know how to do the equivalent on Windows, but am hoping that maybe the graphics windows automatically behave properly for idle under Windows. I'd appreciate some feedback on that. (The problem arises due to a technical issue in the way applications process mouse clicks in interactive windows spun off by a program).
10/16/2011: Problem Set 2 and associated assignments have been posted below . (Note corrrection: I meant to assign 1.22, not 1.21 again!) I have posted a video tutorial on where to put the courseware modules and how to tell Python where to find them. This is essential material, and should be viewed before doing the current assignment. I have also posted to the web site a new courseware module, ClimateGraphicsMPL.py, which allows the courseware plot() command to work with MatPlotLib graphics. I have also uploaded a new version of ClimateUtilities.py which uses MatPlotLib if it is present on your system. If you have installed the Enthought python distribution (which should be essentially all of you) you do not need to install PyNgl to do graphics. Enthought gives you everything you need.
The weekly discussion section has been scheduled for Thursdays 12-1:30. This is the time that accomodates the most people (but unfortunately still leaves a lot out). If you need help and can't make it to the weekly session, please contact Dawei. (Web attendees please contact YiPing if you need help)
10/6/2011: The recording of Lecture 2 worked well. I have posted the link to it below under Recordings of Lectures , and will post links to subsequent recordings there. I have also updated the syllabus, and posted the Python reading and practice assignment I gave in Lecture 1.
Course Information
- Synopsis: This class will teach the basic physical principles of thermodynamics and radiative transfer needed to build simple models of the climates of Earth and other planets. Examples will be drawn from Earth's climate evolution over the past four billion years, the near and distant future climate of Earth (including global warming), the climates of Solar System planets, and conjectured climates of the newly discovered extrasolar planets.
- Textbook: The textbook for this course is my book, Principles of Planetary Climate. I will be following this book quite closely (primarily Chapters 1-3). Problems will be taken from the problems and projects in the book. See the PlanetaryClimateBook link for information and additional course resources
- Course resources (software, useful links, datasets) are found at the PlanetaryClimateBook link.
- TA and office hours: Dawei Li (ldw (at) uchicago.edu). There are no regular office hours; if you would like some help from Dawei, please send an email and arrange a time to get together.. Additional support (especially for those taking the course remotely via webcast) by Yiping Ma ( yiping.m (at) gmail.com ).
- About Python: The computational exercises in this course will be carried out using the programming language Python, which is free and can be installed on Mac OS, Linux or Windows. No prior programming experience is assumed, and Python will be taught as part of the course. Indeed, this course serves as an introduction to scientific programming. For information on installing and using Python, click on the Python link at PlanetaryClimateBook
- Labs, problem sessions and Python clinic: Approximately once per week, time and day to be arranged. The primary purpose of these is to help people get used to solving problems using Python. Some of the problem assignments are referred to as "labs," but they can be done on your own computer or over the network whenever it is convenient for you (so long as you meet the due date).
- Problem sets: Approximately once every 10 days (one per three lectures)
- Midterm: None
- Final exam: Take-home
- Prerequisites: Classical mechanics, including energy concepts (kinetic and potential energy, Newton's Joules, Watts and all that). It would be helpful if you have seen some thermodynamics previously, but not strictly necessary. Single-variable calculus, including simple first-order differential equations.
Assignments
- Current Assignment (Assigned 11/21/2011, due 11/30/2011):
- 3.13
- 3.NEW1: The exoplanet Corot 7b orbits a G star with photospheric temperature 5250K and radius 0.82 times the radius of the Sun. It is believed to be a rocky planet, and is likely to be tide-locked to its star. It orbits at a distance of 0.0172 AU (Astronomical Units = mean distance of Earth orbit) from its star. Assuming the planet to have zero albedo, what is the temperature of the substellar point? Noting that the melting point of sand (SiO2) is 1900K, and its boiling point (at Earth sea level) is 2500K, what do you think this planet is like, and what might be in its atmosphere?
- 3.NEW2: You are trying to observe the infrared emission coming from a planet having twice the radius of Earth, located at a distance of 20 light years from your space telescope, which is in Earth orbit. Specifically, you wish to observe the emission in the band ranging from 10 to 11 microns wavelength (you may approximate the Planck function as being constant within this band). The planet is isothermal, and has a radiating surface temperature of 300K. Your telescope is pointed directly at the object, and has an aperture which collects light over an area of 130 square meters (similar to the James Webb Space Telescope). What is the energy flux in the stated band, measured at the location of the telescope? What is the net power (in Watts) collected by the telescope from the object you are observing? How many photons per day do you collect?
- 3.18,3.22,3.23
- 3.24
- Greenhouse effect: 3.31,3.32
- Extra credit problem (mandatory for grad students): 3.29
- Snowball Earth: 3.34
- Extra credit problem (mandatory for grad students):
- 3.NEW3: Consider a tide-locked extrasolar planet in a circular orbit about its star. Suppose that the dayside is isothermal at temperature Td and the night side is isothermal at temperature Tn. The planet is in a transiting orbit as observed from Earth, so an Earth-based observer sees the orbit edge-on. The planet has radius Rp. The star has radius R* and radiates like a blackbody with temperature T*. Find an expression for the fluctuation in infrared emission from the system, as seen from Earth; express your results as a fraction of the stellar luminosity. Look up the characteristics of Gliese 581c, Corot 7b and Kepler 10b and make estimates of this ratio, assuming the planets to have no atmosphere, zero albedo, and a nightside temperature cold enough that the nightside emission is essentially zero. (Note that with these assumptions the dayside will not actually be isothermal, but you may approximate it as being isothermal so as to use the formula you derived in the previous part of the problem).
- Kirchoff's law and emissivity: 3.37
- (Assigned 11/8/2011, due 11/16/2011):
- Suppose all the oxygen were removed from the Earth's atmosphere. What would the surface pressure be? Suppose instead all the oxygen were used to burn coal, with the result that the oxygen is replaced, molecule for molecule, by carbon dioxide. What happens to the surface pressure then?
- Clausius Clapeyron and Hydrogen Oceans on gas giants: Use the ChapterScript satvp_graph.py to make a plot of the liquid-gas phase boundary for H2 (the dominant component of gas giant atmospheres). You'll need to restrict attention to temperatures above the triple point, since the thermodynamics database does not have latent heat of sublimation for solid H2 (if anybody finds that please let me know). Use the constant latent heat approximation (use a log pressure axis). Indicate the critical point for H2 on your graph, and sketch in what you think the true phase boundary looks like, taking into account the variations of latent heat with temperature. Finally, assume that a gas giant planet has a temperature T0 at the 1 bar pressure level. Plot a series of dry adiabats on the graph and discuss the question of whether there is any range of T0 for which the planet has a liquid H2 ocean with a density discontinuity at its surface. (Note: you can find the critical point data for H2 in phys.H2).
- Basic Clausius-Clapeyron: 2.38
- Single-component moist adiabat: 2.46
- Dilute moist adiabat: 2.52 (with the modification that you are free to use the ODE integrator in ClimateUtilities, rather than writing your own)
- Basic blackbody radiation: 3.7,3.10,3.12
- (Assigned 10/26/2011, Due 11/7/2011):
- As an introduction to numerical solutions of ordinary differential equations, do Problem 1.7 . You will need this technique elsewhere in this problem set, and in many future calculations done in the course. As an introduction, read the basic material at the beginning of Chapter 16 of Numerical Recipes (available online for free here ).Most of what you need is in Section 16.1, pages 710 and 711. You don't need to implement your own Runge-Kutta algorithm yourself. After doing the reading, try integrating the equation using the simple (but inaccurate) Euler algorithm. If you are ambitious, learn about and try the midpoint algorithm. Then, learn to use the integrator class in ClimateUtilities , which does the solution using the more accurate Runge-Kutta method. You will find a useful sample script here, showing you how to use the integrator class in ClimateUtilities.
- 2.11,2.12,2.14,2.17,2.19,2.20 (To do the last two of these, you will find it useful to download a PioneerVenus temperature sounding from the dataset collection), 2.23 (Jupiter and Venus part only; you will essentially already have done most of the Venus part in 2.19 and 2.20, except for plotting profiles).
- 2.27,2.28
- 2.31,2.32
- (Assigned 10/17/2011, Due 10/26/2011): View the video tutorial on where to put add-on modules, and read the corresponding section of the Python page (including links explaining about shells and paths). Install the courseware modules from the Courseware page. Read about ClimateUtilities in Section 2.4.1of the Python tutorial found here. (I have not yet completed documentation for phys.py and planets.py, but will do that sometime this week). Then do the following problems:
- [1.2,1.3,1.22,1.26 (oxygen isotope part only),2.3,2.4,2.5,2.6]. Some of these problems require data sets. You do not need to download the complete set of datasets. For now, just download the files you need using your web browser. They are located in the Chapter 1 data section here.
- (Assigned 10/10/2011 . Due 10/17/2011): A few warm-up problems from the textbook. Do problems 1.12,1.13, 1.14,1.17,1.19,1.21 . The last two of these are simple stable isotope problems, which you should be able to do after Wednesday's lecture. The rest of the problems exercise some basic physical and chemical concepts (various forms of energy; calculations involving molecular weight).
- (Assigned 10/3/2011 . Due 10/10/2011): Install Python on your computer if you need to. Read my quick-start Python tutorial found here, Sections 2.1 through 2.2. Try out the basic features of the language. Learn how to use idle to edit, save and run a Python script.
Recordings of Lectures
- Lecture 2
- Lecture 3
- Lecture 4; Sorry, but I forgot to start recording until about a half hour into the lecture. You missed some material on Martian river networks, and on exoplanets with eccentric orbits and the implications of illumination by dim, red stars, but you can pick that up from the relevant sections of Chapter 1. I did manage to record essentially all of my lecture on stable isotope proxies. Note that there is a misprint in the textbook regarding the deuterium concentration in Jupiter and the outer portions of the Sun (should be about 1 in 50,000 molecules , rather than 1 in 1700 as stated. Jupiter is thought to be representative of the primordial composition, and Earth's oceans are very enriched in Deuterium relative to that. Nuclear fusion in stars destroys deuterium, so there should be very little in the deep Sun).
- Video tutorial on where to put modules you want Python to be able to import. You should understand this before downloading the courseware modules.
- Lecture 5
- Lecture 6
- Lecture 7
- Lecture 8
- Lecture 9
- Lecture 10
- Lecture 11 (Finished moist thermodynamics and started blackbody radiation)
- Lecture 12
- Lecture 13
- Lecture 14
- Lecture 15
- Lecture 16
- Part A: Snowball
- Part B: Angular distribution and exoplanet observations Note that in my haste to finish, I left out a small but critical step towards the end, in my derivation of the emission from a disk, as seen by a distant observer. I wrote the flux from the disk as sigma*T^4, but that already incorporates the angular integral, so you get an extra factor of pi if you try to do it this way. The right way is to use the Planck function B. The disk emission is (pi r^2) B where r is the radius of the disk, and the flux seen by the observer is reduced by 1/ro^2 to account for dOmega, where r0 is the distance to the observer. Then, when you integrate pi*B you get sigma T^4 as desired.
- Lecture 17 (Kirchhoff's law. Optically thin atmospheres. Tropopause height. Skin temperature)
- Lecture 18
General News: [NOT YET UPDATED FOR 2011]
The Snowball Earth show on Radio SETI/BBC is now available on the internet here. It includes an interview with yours truly.
The video of my Fermilab colloquium on habitable world physics should be here.
The course server is geoflop.uchicago.edu for people who have not installed the courseware on their own computes. The data directory for all datasets used in the problem sets is /home/rtp1/WorkbookDatasets . If your account has not already been set up with this course in mind, you will probably need to do the following. To allow Python to find the course modules located in /home/rtp1/geo232Modules, execute the command
"setenv PYTHONPATH /home/rtp1/geo232Modules"
from the Unix command prompt on geoflop. Even better, you can put this command in a file called ".login" and it will be executed automatically when you log in. If you want Python to also look in a directory of your own, located in your home directory on geoflop (say it's called "modules", change the command to
"setenv PYTHONPATH modules:/home/rtp1/geo232Modules"
Course Evaluations: Course evaluations are now done electronically, not on paper. Please take the time to fill out a course evaluation here . At the end of the quarter, please login to your cMore account, go to your course schedule, and click on the evaluation prompt. I appreciate the time you put into filling out these evaluations. If you liked the course, they help me attract more students. If there are aspects that didn't work for you, I want to know about them so I can figure out how to improve things
Syllabus
There are 20 lectures. The following is a target for what we hope to cover, but the flight plan is likely to change once the wheels are off the ground.
Lecture 1: What the course is about. Organizational housekeeping. Introduction to Python
Lab sessions 1,2 : Introduction to the Python programming language.
Lectures 2-3: (Chapter 1.1 - 1.6) Planetary energy balance and temperature. Earth history in deep time, with emphasis on the questions we will address in this course. Earth/Mars/Venus and habitable zones. Extrasolar planets.
Lectures 4: (Chapter 1.1 - 1.6) Stable isotope proxies, and survey of Cenozoic climate variations
Lecture 5: Observations of atmospheric structure. Basics of dry atmospheric thermodynamics. Pressure, temperature, density and ideal gas law. Partial pressures and atmospheric composition. Lots of in-class illustrations, many showing how to use Python as a calculator.
Lecture 6: Dry entropy and potential temperature.
Lecture 7: Hydrostatics
Lecture 8: Phase change. Latent heat. Clausius-Clapeyron
Lectures 9,10: The moist adiabat, including an introduction to numerical solution of ordinary differential equations. Application to Earth,Titan and Early Mars
Lecture 11: Electromagnetic radiation basics. Planck's constant and quantization. Working with spectra.
Lecture 12: Blackbody radiation. The Planck function.
Lecture 13: Basic planetary energy balance for planets with an infrared-transparent atmosphere
Lectures 14: How the greenhouse effect works. Concept of the "radiating level" and how it affects surface temperature. A survey of spectra of CO2 and H2O absorption, and the corresponding spectra of outgoing infrared radiation
Lectures 15: Ice-albedo feedback and Snowball Earth
Lecture 16: Partially absorbing atmospheres. Emissivity and Kirchoff's Law
Lecture 17: Radiative equilibrium for optically thin atmospheres. Skin temperature. Basic theory of the stratosphere. Effect of solar absorption on stratospheric temperature
Lectures 18: Water vapor feedback. Presentation of numerical simulations of outgoing infrared radiation vs. T for an atmosphere with CO2 and water vapor.
Lectures 19-20: Introduction to real-gas radiative transfer. Logarithmic behavior of radiative forcing. Calculations involving polynomial fits of OLR to real-gas radiation codes. (Global warming, PETM, Faint Young Sun)
Old Material: