Planck's blackbody function,,
is very useful when dealing with atmospheric radiation. In this lab,
you will become familiar with this function and its properties.
Download the following Matlab functions
to your directory by clicking the middle mouse button on the links below
and choosing "Save Link As...".
wv = 0.1:0.01:200;
and
T = [300 1000 6000];
Note that wv and T must be 1-by-n vectors for planck_wv.m to work correctly. Then create a matrix containing the Planck curves, using
Bwv = planck_wv(T,wv);
Plot your results using the following Matlab commands:
loglog(wv,Bwv)
axis([.1 200 0.01 1e8])
xlabel('Wavelength (micrometers)');
ylabel('Radiance (W m-2 um-1 str-1)')
title('Planck curves in Figure 1.3')
B) Planck function maxima. Determine the maximum wavelength of each of these curves using the following Matlab code:
for i = 1:3
wv_max(i) = wv( find(Bwv(i,:) == max(Bwv(i,:)) ) );
end
[The "find" command in Matlab is very useful. It determines the indices of Bwv that satisfy the condition Bwv(i,:) equals max(Bwv(i,:)). Since wv and B are the same length, the results of the 'find' command can be used to index into the vector, wv.]
Plot 1/T versus wv_max using
plot(1./T,wv_max,'*',1./T,wv_max,'-')
Put appropriate x- and y-axes labels, plus a title, on the graph.
Determine the slope and intercept of a line connecting the three points. What is significant about the slope? What law does your plot represent?
C) Planck curves and maxima - wavenumber. Now create a wavenumber vector and a corresponding radiance vector using the following commands
wn = 1:1:20000;
Bwn = planck_wn(T,wn);
Use the figure command to create a new figure window so that you do not plot over your last figure. Plot wavenumber versus radiance (Bwn) choosing the appropriate type of x and y axes, linear or log; Matlab gives you four choices of plot commands, plot, semilogx, semilogy, and loglog. Also, choose appropriate axes limits. Place x and y axes labels on this figure as well as a title.
Determine and record the maximum wavenumbers of Bwn using
a "for loop"
similar to that in part B above. Show the Matlab
commands that produce the maximum wavenumbers. Convert these wavenumbers
to wavelengths in micrometers and record these numbers. Do they agree
or disagree with the maximum wavelengths you determined in part B?
D) Integrating the Planck function. Integrate the Planck function at 300 K using the trapz command in Matlab.
Flux_wv = pi*trapz(wv,Bwv(1,:))
Flux_wn = pi*trapz(wn,Bwn(1,:))/1000
[trapz(x,y) computes the integral of Y with respect to X using the Trapezoidal Method. You may remember this method from calculus.
Also, pi is a pre-defined constant in Matlab and is equal to 3.14159... The use of this constant in the flux equations above will be apparent after the next few lectures.]
Compare and record the values of Flux_wv and Flux_wn. These numbers have units of Watts per square meter; explain what these units mean physically and how they differ from radiance units. How do these fluxes compare to what you expect from the total radiant flux emitted by a blackbody at 300 K? What radiation law describes this flux?
E) Normalized Planck functions. Finally, create two new vectors, which are the normalized radiances of blackbodies at 6000 K and 300 K.
nBwv_6000 = Bwv(3,:)./max(Bwv(3,:));
nBwv_300 = Bwv(1,:)./max(Bwv(1,:));
Plot these variables as a function of wavelength (wv) using a semi-log x-axis and a linear y-axis. Remember to always label both axes and place a title on your figures. What is the maximum value of each of these vectors? Explain.
If we assume that the sun and earth emit as a blackbodies
at 6000 K and 300 K respectively, what does this figure suggest about how
we might handle solar versus terrestrial radiation in climate studies?
When we measure infrared radiation emitted by the earth from a satellite,
do we need to concern ourselves with solar radiation?