The Emissivity of O VII and O VIII
Finding the transitions
- Go to the AtomDB WebGuide at http://www.atomdb.org/Webguide/webguide.php.
- Move to the part of the page to "List strong lines in
wavelength region at a specific temperature:" and find the lines
at "wavelength" 0.6 keV with a width of 0.1 keV at an electron
temperature of 0.2 keV. Hit the button for "Get Strong Lines".
- You should get a display of "Searching for lines between 0.500
and 0.700 keV at Te 0.200 keV".
- The default listing shows the lines sorted by decreasing
wavelength. Click on "Relative Intensity" twice to sort the list
by decreasing relative intensity.
- Record all of the lines with relative intensity of at least
3%. For each line, record the ion, the energy in keV (mislabeled
as "Wavelength"), the upper and lower levels. Click on the line
to get details about the transition and record the electron
configuration of the upper and lower levels.
- Make a table to include in your report of the transitions and
the information about the transitions. Sort the lines by
increasing energy.
- Repeat the process above with electron temperatures of 0.1 keV
and 0.3 keV to see if there are any additional lines of
interest. If so, add them to your table.
- HaloSat will have an energy resolution of around 80 eV (FWHM)
in this band. Therefore groups of transitions separated in
energy by less than about 40 eV will appear as unresolved lines
in the measured energy spectra. Go through your table of lines
and figure out which transitions should be grouped together into
a single observed line, but keep lines from different ions
separate even if they are close in energy. Record this.
Reading the emissivity data
- Make a directory called atomdb.
- Download the equilibrium line and continuum emissivity data
from the AtomDB page at http://www.atomdb.org/download.php.
You want a file with a name like atomdb_v3.0.3.tar.bz2.
- Extract the file apec_line.fits to a location of your choice.
Remember the location.
- Note that if you have LHEASOFT, you already have
apec_line.fits on your computer, so you do not need to download
the AtomDB again. However, you do need to figure out where
apec_line.fits resides on your computer.
- Look through the Python program emissivity.py.
The first part imports pyfits, matplotlib, and some functions
needed from numpy. The second part is a routine called
get_emissivity, which reads data from apec_line.fits. This is a
slightly edited version of a routine with the same name from
pyatomdb. You can skim through the routine down to the return
statement at its end.
- The next part of the code sets up some variables and calls
get_emissivity.
- Edit the code so that the variable linefile is set to point at
your copy of apec_line.fits.
- The variables elem, ion, upper, and lower set the element,
ion, and upper and lower levels of the transition. The code is
set for a particular transition of O VII.
- The last part of the code plots the emissivity for this
specific transition as a function of temperature. It uses log
scales and has nice axes labels, a plot title, and a legend. The
axes labeled could be improved by figuring out how to do
superscripts.
- Run the program. You should get a plot of emissivity versus
temperature.
- If you get errors complaining about filename, you probably got
the path to your file incorrect or maybe you don't have pyfits
installed.
Finding the emissivity for the
observed lines
- The goal of this part is to generate and plot emissivity
curves for the lines that we observe in the data. As you found
in the first part of the exercise, each observed line is a sum
of several transitions. We need to add together the emissivity
of each transition contributing tothe observed line to find the
total emissivity for that observed line.
- You should use the groupings that you found above and write
Python code that retrieves the emissivity for each transition
and adds together all of the transitions in each group.
- Note that the emissivity data may be tabulated at different kT
values for each transition. Be careful that you do not add
emissivites from different temperatures for different
transitions. The get_emissivity routine has a parameter kT. If
kT=[-1] then it returns emissivities at the temperatures in the
data file. If kT is set to a numpy array, then it will
interpolate the emissivity data for the temperature values in
the input array. Thus, you may wish to generate your own
array of temperatures and use it as input to get_emissivity in
order that all of your emissivities cover the same set of
temperature values.
- Plot the emissivity versus temperature for each group of
transitions. You should have groups for O VIII (654 eV), O VII
(569 eV), and O VII (666 eV) where the energy is the approximate
energy centroid of the line. You may wish to also consider
other groups of transitions leading to other observed lines.
- Plot the ratio of O VIII (654 eV) to O VII (569 eV) versus
temperature.
- For each group, calculate the expected line centroid by
finding the average of the transition energies weighted by their
relative intensities. Plot the centroid versus temperature
for O VII (569 eV) and O VIII (654 eV).
- In your report, discuss any resulting thoughts that you have
regarding this work.