A number of Interactive Data Language (IDL) procedures are also provided as part of the CHIANTI database. These include routines to read the various CHIANTI database files, calculate levels populations, line intensities, and temperature dependent and density dependent line intensity ratios. Most of our efforts have gone into developing the database and the IDL routines that exist have been written to meet readily apparent needs. We will continue work on IDL procedures but we expect that end-users will probably want to develop their own IDL (or Fortran or C) programs to meet their own specific interests. All the IDL routines have been documented with extensive headers and examples. Here is a description of all the CHIANTI IDL routines . By typing the name of a procedure, while in IDL, it's correct calling sequence is returned.
To date, CHIANTI has been run mainly on Sun and Dec Unix workstations. It's directory structure is not presently consistent with the naming conventions for VMS.
We have also rename some of the utility procedures ('ch_...') so that they don't conflict with IDL procedures distributed with the Solar Soft-Tree.
RUNNING CHIANTI IDL PROCEDURES
First, it is necessary to tell IDL where the CHIANTI IDL procedures are. If the IDL_PATH environment variable is already set (check your .login or .cshrc file) then simply add ":/data1/chianti/pro" to the path. If it is not set then you should enter IDL and type "$setenv" where the current IDL_PATH should be shown (e.g., /usr/local/rsi/idl_4/lib). You should then put the following line in your .login file:
setenv IDL_PATH /usr/local/rsi/idl_4/lib:/data1/chianti/pro
The location of the CHIANTI database is specified by putting the following lines into your idl_startup file:
defsysv,'!xuvtop','/data1/chianti' defsysv,'!ioneq_file','arnaud_rothenflug.ioneq'
If this file does not exist then it should be created and the following line added to the .login file:
setenv IDL_STARTUP ~/idl_startup
After following these steps it will be possible to run the CHIANTI routines from any directory. (Note that the changes to the .login file mean that you should do a "source ~/.login" before running IDL.)
Example 1: Looking at density sensitive ratios
The routine density_ratios.pro plots the variation of
line intensities with electron density, allowing density diagnostics
to be studied.
As an example, we can look for density sensitive
line ratios of O V in the 1000 to 1500 Å
wavelength region for densities between 108 and 1013 cm-3:
idl> density_ratios,'o_5',1000.,1500.,8.,13.,den,rat,desc
two windows will open and plot the relative intensities of a few O V
lines. To choose the ratio of 1371.294 to 1218.393 Å line,
select first the 1371.294 Å line, and click on 'Continue'.
Another widget will appear to select the denominator.
Select the 1218.393 Å line and then click on
'Continue'. This will chose the ratio of 1371.294 to 1218.393 which will
be plotted in a new window. Values of the density and intensity ratio will
be put into the variables den and rat and desc will contain a descriptive
string.
idl> print, desc O V 1371.294/1218.393
Example 2: Looking at temperature sensitive ratios
To calculate temperature sensitive line ratios of C IV for
lines between 100 and 1600 Å for temperatures between 104 and 106 K:
idl> temperature_ratios,'c_4',100.,1600.,4.,6.,temp,rat,desc
As with density_ratios, a widget will appear that will allow you to select
the numerator. Select the 384.173 and 384.189 Å lines as these will typically
be blended in most spectrographs. Then click on 'Continue'. Select the
1550.772 Å line
for the denominator and then click on 'Continue'. The ratio of (384.173
+ 384.189 Å) to the 1550.772 Å line
as a function of temperature will be plotted and
stored in the variables rat and temp, respectively.
>print, desc C IV 384.173/1550.772
Example 3: Looking at level populations.
To plot the populations of the first 4 levels of Si III
as a function of density at a temperature of 3 x 104
K:
idl> plot_populations,'si_3',3.e+4,4
Example 4: Calculate contribution functions.
To calculate the contribution function (erg cm-2 s-1
str-1 cm5) vs. temperature at a specified
abundance, ionization equilibrium and pressure or density for the Fe
XXIV line at 255.1Å:
idl> gofnt,'fe_24',250.,260.,temperature,g,desc
Example 5: Calculating the continuum intensity.
Procedures for calculating the continuum due to free-free (bremsstrahlung) and free-bound (radiative recombination) are now included. Their names are 'FREEFREE' and 'FREEBOUND', respectively. A procedure ('RAD_LOSS') calculates the total radiative loss rate as a function of temperature for specified set of abundances and/or ionization equilibria.
To calculate the free-free continuum intensity per unit
emission measure (10-40 erg cm-2 s-1
str-1 Å-1 cm5) at a temperature
of 1.e+6 K,for wavelengths at 1 Å intervals between 1 and 50Å:
idl> freefree,1.e+6,findgen(50)+1.,ff
Example 6: Calculating line intensities.
The routine synthetic can be used to calculate CHIANTI line intensities:
idl> synthetic, 100., 200., 1., 1.e+15, wvl, spectrum, list_wvl, list_identIn the example, a synthetic spectrum is created, with a resolution of 1 Å between 100 and 200 Å for a specified set of abundances and differential emission measure at a constant pressure of 1.e+15 (Ne T cm-3 K). windows will pop up so that you can select the abundance file, the ionization equilibrium (one choice) and the differential emission measure. A spectrum convolved with a Gaussian with a fwhm of 1 Å will then be stored in the variables wvl and spectrum which can be plotted out.
idl>synthetic_plot, wvl, spectrum, list_wvl, list_ident, 2.by clicking the left mouse button, a list of predicted lines within 2 Å of the selected wavelength will be printed out along with their predicted intensity. Clicking the right mouse button will exit the procedure.
idl> latex_wvl_dem,100.,200.,1.e+15,mini=1.
windows will pop up so that you can select the abundance file, the ionization
equilibrium (one choice) and the differential emission measure. This will
create a file linelist.tex in the user's home directory. Only lines with an
intensity greater than 1. (mini) are included in the file.
Descriptions of the various IDL routines and the various options that are available are given in the document header of each IDL procedure. Please read them carefully.
One thing that you may have noticed is that CHIANTI can be slow. This is largely because some of the ions, such as in the boron isoelectronic sequence, contain over 100 energy levels. Solving the levels populations in these cases can be time consuming. We expect to soon have an option to truncate the solution to a specific subset of levels. For the moment, a viable option to speed the calculations is to eliminate some of the ions in the calculations, something that can be done in various ways.
New software is being developed, and will soon be available.
Please send us comments or suggestions for improvements.
Return to the CHIANTI Home Page at DAMTP