Week 1. Spherical harmonics.
1. Find the expressions for real spherical harmonics in one of the standard reference books.
2. Write a small program to calculate a few of the lowest-degree (perhaps 0-3) spherical harmonics. Evaluate the harmonics 30c; 31c,s; 32c,s; and 33c,s at the North Pole and at some arbitrary location. What is special with the Pole position?
3. What is the normalization of your spherical-harmonic function? That is, if you square the value and integrate it over the unit sphere, what is the value of the integral?
This can be solved analytically, but it is useful to be able to do this problem numerically. Divide the surface of the Earth into latitude-longitude tiles, for example 1x1 degree or 5x5 degree. What is the area of such a tile on a unit-radius sphere? Evaluate the spherical harmonic in the center of the tile, square the value, multiply by the area of the tile, and sum over the sphere. Typically this comes out to be 1 or 4*pi.
4. Test whether your expressions for spherical harmonics are orthogonal on the sphere.
This can be done in the same way as the numerical integration for the normalization, except for each tile, you evaluate the product of two different spherical harmonics, e.g. 30s and 22c.
5. The power spectrum of a function on a sphere can be defined by the power in each degree of its spherical-harmonic expansion. What does the power spectrum of a delta-like spike look like? (This problem might be easiest to solve by placing the spike at one of the poles -- why?)
6. Calculate the power spectrum of the ocean-continent function. Which spherical-harmonic degrees dominate? (Alternatively, you can calculate the power spectrum of the Earth's topography.)
The following program evaluates whether a geographical point lies on a continent or an ocean. It is quite crude (5x5 degrees). A return value of 0.0 means continent, 1.0 means ocean.
/home/chaos/ekstrom/binf95x/evaluate_ocfun
The following program evaluates the value of a specific spherical harmonic degree and order at a specified latitude and longitude. I'm not sure about the normalization!
/home/chaos/ekstrom/binf95x/evaluate_ylm
The Fortran source code for these programs is in /home/chaos/ekstrom/NSW/W6949 and the library routines used are in these subdirectories: /home/chaos/ekstrom/NSW/LIBSRC/* .