Weekly Exercises:

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/* .