At any rate - I wrote my own program. It run on MS Windows (which means that it should work on almost any computer). Just download HITRAN_Data_Plot.zip and unpack it. It contains one *.exe and two data files. Just run the program - it does not modify the registry or make any changes to your system. (This will not work with Vista.)
The initial display is the CO2 spectra around 15,000 nm (666.67 cm-1).
There are 2 checkboxes (future designs will contain more series) - use these to hide and display the plots. Double click the associated color swatches to change the colors. Sometimes, one series will obscure the other, click the "Transparent plots" checkbox to see where the overlaps are.
There are several ways to present spectra - by wavelength, by wavenumber, by frequency, and by energy. Typically, UV and visible data are presented by wavelength and IR data is presented by wavenumber. Because the HITRAN data is provided as an absorbance at a specific wavenumber, the plots in this application are by wavenumber. A bi-directional calculator is provided to convert between these units.
Wavelength (nm) = 1E7 / Wavenumber (cm-1) |
Molecule | Wavenumber (cm-1) | Wavelength (nm) | |||
---|---|---|---|---|---|
Min | Max | Max | Min | ||
water | 0.072059 | 25,232 | 138,775,170 | 396 | microwave to UV |
CO2 | 442 | 9,648 | 22,624 | 1036 | IR only |
Changing the minimum and maximum values will have no "visible" effect if the graph is currently zoomed. (It does affect the available scroll amount.) If you change the values and nothing appears to happen, just remove the zoom (drag the mouse from the lower-left to upper-right).
Currently, one of the 2 plot buttons must be clicked before some changes are displayed, others are automatic.
There is no way to save any configuration changes you make.
absorption cm-1 / (molecule/cm2) |
The - (molecule/cm2) - is easy to understand. The total absorption of a column of gas is assumed to be based on the total number of molecules in the column. Therefore, the HITRAN spectra are scaled to represent the absorption of a single molecule. To determine the actual absorption in the atmosphere, it is necessary to multiply the value by the number of molecules in the column.
The basic assumption is that the column does not contain enough molecules so that all the photons are absorbed. Once the total number of molecules passes some threshold, the computations fail to give the correct results. (Actually, a different model is necessary.)
A column of air at 14.7 psi contains about 2.149E+25 molecules/cm2 (from the surface to the edge of space, assuming that I have done the math right). The first HITRAN report (1973) says that
1 (cm-atm) at STP = 2.69E+19 molecules/cm2 |
CO2 is about 350 ppmv (parts per million by volume). Water vapor varies from 5 ppmv in the stratosphere, to about 4% (40,000 ppmv) at the surface. [350 ppmv is 0.0350%, therefore, 4% = 40,000 ppmv] For a default, I have set CO2 as 350 ppmv and water vapor as 10,000 ppmv (I assume that this is typical - the references provide many different values). These values can be set on the General tab.
The absorbance plot simply multiplies the HITRAN values by 1E+20 ... it makes the y-axis scale look better. This allows direct comparisons of the water vapor and CO2 spectra. However, in the atmosphere, the relative concentration is also important. The Scale spectra checkbox on the Absorbance tab causes the water vapor spectra to be multiplied by the ratio of the concentrations.
I suggest setting the spectra interval to 500 cm-1 to 2500 cm-1 and toggle the scaling. This should make it obvious that CO2 is a stronger absorber of IR radiation but that the concentration of water vapor means that water vapor absorbs more energy. These plots actually just indicate that that may be true, but it is still necessary to compute the actual energy absorbed to be sure. This is because the fine structure and line widths are obscured by a graph at this resolution.
It should also be stressed that the absorbance plots do not represent the energy absorbed in a specific column length but present "per molecule" and "per molecule times relative concentration" spectra.
The idea is to compute how much energy (or the percent of photons) is absorbed in 10 meters, 100 meters, and so forth. Rather than "plot percent absorbed", I have decided to plot "distance to absorb x%". The plots use 2 different models
Total Absorbed = I ( 1 - (1/2)^{h/k} ) |
where h is the length of the air column (height) and k is the thickness that absorbs one half the total energy.
Total Absorbed = I ( 1 - exp(-h/k) ) = I ( 1 - (1/e)^{h/k} ) |
where h is the length of the air column (height)
and k is the thickness that absorbs 1/e of
the total energy.
The value of k is also called sigma.
Thus, if h is three times larger than k, the ratio is frequently
referred to as 3-sigma ... and so forth.
When
h/k | Percent Absorbed | |
---|---|---|
1 - (1/2)^h/k | 1 - exp(-h/k) | |
1 | 0.5 | 0.632120559 |
2 | 0.75 | 0.864664717 |
3 | 0.875 | 0.950212932 |
4 | 0.9375 | 0.981684361 |
5 | 0.96875 | 0.993262053 |
6 | 0.984375 | 0.997521248 |
7 | 0.9921875 | 0.999088118 |
Thus, using the exponential formula, 6-sigma means that 99.7% of the available energy has been absorbed. Enter h/k into the Multiplier field. (For no particular reason), the field only allows values between 0.1 and 100.
I am still having a problem figuring out how to handle the line widths. As I learn more, I will be adding this to the code.
procedure T_mc_HITRAN.plot_Mean_Path(series: TChartSeries); var i : integer; dp : P_mc_HITRAN_100_Record; mult : real; temp : real; begin series.Clear; series.XValues.Order := loNone; // this must be before the values are set // F_Concentration in ppmv mult := F_Concentration * 2.5294256E+15; // number of molecules in 1 meter mult := Path_Multiplier/(mult * pi * 4) ; for i:= 0 to F_Data.Count - 1 do begin dp := F_Data.Items[i] ; if dp.frequency_per_cm < F_Wavenumber_Min then continue; if dp.frequency_per_cm > F_Wavenumber_Max then continue; temp := mult/dp.Line_Intensity; if temp < F_Min_Mean_Free_Path then temp := F_Min_Mean_Free_Path; if temp > F_Max_Mean_Free_Path then temp := F_Max_Mean_Free_Path; series.AddXY(dp.frequency_per_cm, temp) ; end; end; |
2.5294256E+15 molecules at 1ppmv / m * cm2 = [2.149E+25 molecules/cm2 / (8,496 m) ] * 1e-6 (ppmv) |
C [molecules / (m * cm2)] * H [m] * a [cm-1 / (molecules/cm2)] = y Amount absorbed = 1 - exp(-y) y is the multiplier H is the value plotted, it is the distance required to absorb [1 - exp(-y)] H = y/(C*a) The equation in the program |
At any rate, if the multiplier is set to 6, and the exponential model is selected, the plot shows how far radiation will travel before 99.75% is absorbed. The lower edge of the graph indicates the level where that percent of photons are absorbed. When "Mean Free Path" is selected and the multiplier is set to one, the graph shows how far radiation goes before one half of it is absorbed.
This is the type of data I wanted - I want to know how far radiation goes before it is 100% absorbed. (6-sigma is close enough to 100% for this analysis.) It should be obvious that for many frequencies, 100% of the radiation is absorbed within a few feet of the ground. Likewise, other frequencies require 100 meters, 1,000 meters, and so forth. With this program, you can double the concentration and actually see the effect. (I call that a success.)
To simulate the effect of a 0.1 cm-1 line width, simply multiply the multiplier by 0.1 (a 6-sigma multiplier becomes 0.6). As far as I can tell, any line below 100 meters should be considered fully saturated. Because the program does not consider atmospheric pressure, the thickness of the entire atmosphere is only 8,496 m. Therefore, you should consider 5,000 meters to be the height of the tropopause (not the normal 10,000 meters).
The factor of 4 * pi is a little shaky - the HITRAN data is based on radiation through a column having an area of 1.0 cm2. However, radiation from the surface of the Earth goes in all directions. Since there are 2 * pi steradians in one half a sphere, that is where that part comes from. Using a layered model of the atmosphere produces an average photon path length that is twice the thickness of the layer. That is where the second two comes from. Because the Earth is a sphere, a value of two is too large, but it is close enough until I find a better model. Basically, the effective path from the surface is longer than the thickness and 300 watts from a 1.0 cm2 surface area will not go directly to space, but will spread out through all the atmosphere between the surface and space. As a result, the distance an average photon travels before being absorbed is closer to the ground than expected without accounting for the geometry.
Because the current plot does not use a blackbody energy distribution to determine accurate results, the plots are instructive but not realistic. Looking at the energy absorbed over a narrow band will provide a better comparison than looking at bands that are "far" apart.
An accurate accounting of line widths is also necessary for computing the actual energy absorbed.
As a result, this program will show what is known and how changing the concentrations will affect the atmosphere, but it can not determine how many additional watts are absorbed.
The second will require program modifications. When (if) those are made, a way to set the pressure will be added.
Boundary | Pressure (atm) | Layer Thickness |
---|---|---|
Mesopause | 0.000004 | >10km |
Stratopause | 0.001 | 4 km |
Tropopause | 0.22 | 11 km |
Surface | 1 | na |
In addition, the thickness of these upper layers plays a part in understanding what actually happens. At the surface, the effect of the lower 100 meters is important to weather (and Global Warming). At the stratopause, some (not many) of the CO2 bands are still saturated. (Near 4.2 um) As a result, evaluating absorption "per kilometer" makes more sense than "per meter" used at the surface. Therefore, the concentrations should be multiplied by 1,000 (canceling out the pressure adjustment) before evaluating the results.
(If this stuff was simple, then there would be no arguments over Global Warming and such.)
Please have fun with this and let me know what needs to be fixed.
The intent is to teach, not to disprove Global Warming. (I have already done that.)