AOS 575:  Climatological Analysis


Class Information

Lecture Notes

Homework

Other Lecture Material

     MATLAB Demos



Class Information


Instructor:
Dan Vimont
1123 AO&SS Building
Phone:  263-3420
email:  dvimont@wisc.edu

Course Website:
http://www.aos.wisc.edu/~dvimont/aos575

Meeting Time and Location:
Class meets MWF at 9:55-10:45 a.m., in AO&SS 811
Office Hours:
By appointment

Course Syllabus:  (PDF)
Course Schedule:  (PDF)
Paper Discussions:  (PDF)

Final Project Description:  (PDF)

Lecture Notes

We will be using lecture notes provided courtesy of Profs. Dennis Hartmann and John M. Wallace (Department of Atmospheric Sciences, Unversity of Washington).  All chapters are in PDF format.

Chapter 1:  Review of Basic Statistics
Bivariate Normal Distribution Notes
T-test notes
Chapter 2:  Composite Analysis
Chapter 3:  Linear Regression
Chapter 4:  Multivariate Analysis
Chapter 6:  Time Series Analysis
Chapter 6a:  Time series analysis, Part 1
Chapter 6b:  Time series analysis, Part 2
Chapter 6c:  Cross-spectral analysis
Chapter 6d:  Other spectral techniques (SST, Multi-Taper, Maximum Entropy, etc.)

Homework

Chance, 2000:
Due:  1/25/2008
Read Chance, 2000, and answer the questions posted here

Chance, 2000 may be found here

Homework 1:  Due 2/13/2008
Homework 1:  PDF version
Sample MATLAB scripts
madison_temperature.txt
madison_precip.txt

Paper 1:  Discussion / Due 2/8/2008

Paper Reading #1 Handout:  PDF version
Brier and Bradley, 1964
Reed and Recker, 1971

Homework 2:  Due 2/27/2008
Homework 3:  PDF version
Table with Problem 1 data:  HW2_prob1_data.txt
Sample MATLAB Script:  composite_ENSO.m
     (Note:  you'll need cti.djf... and tsfc.NA.19... below for this routine)
cti.djf.1950.2005.mat
hgt.500mb.NA.1950.2005.mat
tsfc.NA.1950.2005.mat
amm.data.mat
Other routines that you may find useful:
wysiwyg.m
corr.m
worldlo.mat
worldlo.m

Paper 2:  Discussion Friday 2/29/2008
PDF version of assignment
Lindzen et al., 2001
Hartmann and Michelsen, 2002

Homework 3:  Due 3/12/2008
Homework 3:  PDF version
regression_example.m
co2.maunaloa.1959.2005.txt
hw3_prob2_data.mat
CTI_regmaps.m
THE FOLLOWING TWO FILES ARE BIG!  Right click on them, and download them to an appropriate directory.
CTI_monthly_data.mat
CTI_winter_data.mat

Paper 3:  Discussion Friday 3/7/2008
PDF version of assignment
Quadrelli and Wallace, 2004
Hare and Mantua, 2000


Homework 4:  Due 4/9/2008
Homework 4:  PDF version
hw4_example1.m
nhem_slp_1979-2006.mat
eof_routine.m
cosweight.m
hw4_prob3_dat.mat

Sample code for setting up a map axis to plot a polar-stereographic plot:
plot_polar_stereo.m

Paper 4:  Discussion Friday 4/4/2008
PDF version of assignment
Chiang and Vimont, 2004
Deser and Timlin, 1997


Homework 5:  Due 4/23/2008
Homework 5:  PDF version
olr1_pentad_data.mat
olr2_pentad_data.mat
spectral_analysis.m

Paper 5:  Discussion Friday 4/18/2008 (3 pm)
PDF version of assignment

Other Lecture Materials

MATLAB Demos

I also have a lot of matlab functions, including my matlab libraries, here:
http://www.aos.wisc.edu/~dvimont/matlab

EOF Analysis
eof_routine.m
cosweight.m
Suppose you want to perform EOF analysis on tropical Pacific SST from the NCEP reanalysis.  Here's a quick way to do that, assuming you've downloaded my matlab libraries, above:

lims = [120 285 -30 30];
tim = get_time(1948,2002,1948);
[sst, lat, lon] = getnc2('skt.mon.mean.nc', 'skt', lims, 1, tim);
land = getnc2('land.sfc.gauss.nc', 'land', lims, 1, 1);
sst = remove_anncyc(sst);
sst = cosweight(sst, lat);
[lam, lds, pcs, per] = eof_routine(sst(:,land==0));

%  Get a scaled map of the leading EOF
eof1 = repmat(NaN, [length(lat) length(lon)]);
eof1(land == 0) = lds(:,1)*sqrt(lam(1));
eof1 = uncosweight(eof1, lat);

chi2example.m
1.  A demo for using the Chi2 distribution to determine confidence limits on variance
2.  Shows how to construct an AR1 time series, compute its power spectrum, and compare the spectrum to a theoretical AR1 power spectrum with confidence limits derived from the chi2 distribution.


Example1_16_Feb.m:
This example demonstrates univariate and multivariate linear regression in MATLAB.  Regression is used to predict summer ozone concentrations along the Gulf Coast from meteorological variables.  More information about this data set can be found from "Case Studies in Environmental Statistics", from the Geophysical Statistics Project, through NCAR.  This example should provide enough information to solve problem 1 on HW2.
This routine uses:  Regression_example.mat

Example2_16_Feb.m:
This example demonstrates how to generate regression maps of SST or 500mb height onto the CTI.  This requires accounts on the 14th floor computer to access the data.  This example demonstrates how you might solve Problem 2 from HW2 (2005)

HW2_prob3_code.m:
This example demonstrates how you would go about solving problem 3 on HW2 (2005).

eof_example.m:
This example demonstrates EOF/PC analysis on a simple matrix.  This calculates the EOF's in two ways:  by eigenanalysis of the covariance matrix, and by singular value decomposition of the data matrix.

define_pdo.m:
This is the code used to calculate the PDO time series in Homework 3.  Note that it uses a bunch of routines from my MATLAB libraries, at:
     http://www.aos.wisc.edu/~dvimont/matlab

define_aleutianlow.m:
This is the code used to calculate the Aleutian Low time series in Homework 3.  Note that it uses a bunch of routines from my MATLAB libraries, at:
     http://www.aos.wisc.edu/~dvimont/matlab

weekly_extremes.m:
This routine generates an AR(1) time series, then calculates extreme values in that time series relative to the rest of the week.

These two routines can be used in Homework 4:

autocorr.m
partial_autocorr.m

spectral_analysis.m:
Fun with spectral analysis, including generating AR1 and AR2 null hypotheses.  There's also a routine for calculating alph1 and alph2 for the AR2 null hypothesis.  Hey, check out the similarity between calculating alph1 and alph2 herein, and "partial_autocorr.m", above.  You can do this using either.

filter_nr.m:
Non-recursive filtering routine.

freq_stuff.m:
This routine calculates the frequency response function for a couple of filters.  Also, the IRF, etc...

tutorial.m:
This is the companion to the tutorial handed out in class.

EOF analysis example scripts:  EOF analysis applied to the following image:


First, download the image to your ~/matlab/Data directory.  Then, download the following scripts to an appropriate directory:
eof_pics.m
plot_island_demo.m
subplot2.m
global_axes.m
figure_tall.m

The EOF analysis example is in 'eof_pics.m', and the plotting routine is in 'plot_island_demo.m'.  The other routines are used in the plotting routines.

Here are some other routines that might be useful:
wysiwyg.m
worldlo.m
worldlo.mat
corr.m