Extended IDL Help

This page was created by the IDL library routine mk_html_help. For more information on this routine, refer to the IDL Online Help Navigator or type:

     ? mk_html_help

at the IDL command line prompt.

Last modified: Tue Jan 4 12:52:37 2011.


List of Routines


Routine Descriptions

BB_RAD_LOSS

[Next Routine] [List of Routines]

 PROJECT:  CHIANTI

 NAME:
	bb_rad_loss

 PURPOSE:

       calculates energy loss rate by line (bound-bound) radiation

 CATEGORY:
	
	synthetic spectra

 CALLING SEQUENCE:

       BB_RAD_LOSS,Temperature,Loss_rate


 INPUTS:

	None:  the user will select various parameters such as the 
              choice of elemental abundances and ionization equilibria

  KEYWORDS:

       Pressure:  pressure in emitting region (cm^-3 K)
                  density=pressure/temperature(K)

       Density:   density (cm^-3), constant for all temperatures
                  if neither density or pressure is set, then a 
                  default constant density of 10^10 cm^-3 is used.

	Sngl_ion:  to calculate the loses spectrum for a single ion

       NOPROT    Switches off inclusion of proton rates.

       RADTEMP   The blackbody radiation field temperature (default 
                 6000 K).

       RPHOT     Distance from the centre of the star in stellar radius 
                 units. I.e., RPHOT=1 corresponds to the star's surface. 
                 (Default is infinity, i.e., no photoexcitation.)

 OUTPUTS:

       Temperature:  array of temperatures (K)
       Loss_rate:  energy loss rate in erg cm^3 s^-1


 PROCEDURE:


  if keyword pressure is set then calculations performed at constant pressure
  if keyword density is set then calculations performed at constant density
  otherwise, density is set to 1.e+10
  
  pressure = density * temperature  (cm^-3 K)


	the user will be asked to select an abundance file. 


 COMMON BLOCKS:

	ELVLC, WGFA, UPSILON, RADIATIVE, PROTON, ELEMENTS, IONREC

 CALLS

       READ_MASTERLIST, 
       SETUP_ELEMENTS, POP_SOLVER, CONVERTNAME, R2W, PROTON_DENS,
       ZION2SPECTROSCOPIC, ZION2FILENAME, SETUP_ION

 EXAMPLE:

       > bb_rad_loss,t,r


 MODIFICATION HISTORY:
 	Written by:	Ken Dere
	January 1999:  version 1, adopted from synthetic.pro
       14-Jul-2000     Peter Young, now calls pop_solver

       Ver.2, 9-Dec-2001, Peter Young
               Modified for v.4 of CHIANTI.

       V.3, 4-Oct-2003, GDZ
                  modified the input to POP_SOLVER, now it is dealt with an
                  input structure. Also shorten the whole procedure, by calling
                  other procedures.

       V.4, 5-Apr-2005, EL
                  modified the input to POP_SOLVER in order to add ion/rec
                  in the calculation of level populations. All the rest
                  is unchanged.

       V 5, 25-May-2005, GDZ 
                  corrected routine header.

       V.6, 12-Jun-2009, Enrico Landi
               Changed the definition of the temperature array for ion fractions
               in the IONREC variable, now taken directly from the output of
               READ_IONEQ.PRO


 VERSION     :   6, 12-Jun-2009, Enrico Landi

(See emiss/bb_rad_loss.pro)


CH_CONFIG_EMISS

[Previous Routine] [Next Routine] [List of Routines]
 NAME

      CH_CONFIG_EMISS

 PROJECT

      CHIANTI

 EXPLANATION

      Takes the output from emiss_calc and averages emissivities over
      configurations.

      The output emissivities are calculated as 

      SUM ( E_ji * n_j * A_ji / N_e )

      where E_ji is the energy of the transition, n_j is the
      population of the upper emitting level (where SUM(n_j)=1), A_ji
      is the radiative decay rate for the transition, and N_e is the
      electron number density. The sum is performed over all
      transitions emanating from the configuration.

 INPUTS

      ION    The name of the ion in CHIANTI format. E.g., 'fe_13' for
             Fe XIII.

 OPTIONAL INPUTS

      DENS   The density at which the emissivities are calculated.

 KEYWORDS

      NOPLOT If set, then the emissivities are not plotted to the
             screen. 

      JOULES If set, then the emissivities will be written out in
             joules rather than ergs.

 OUTPUTS

      OUTPUT A structure array with n elements where n is the
             number of configurations in the CHIANTI ion model. The
             tags of the structure are:
              .n   The index of the configuration
              .temp The temperatures at which the emissivities are
                    calculated (units: K).
              .dens The density at which the emissivities are
                    calculated (units: cm^-3).
              .emiss The emissivities (units: erg s^-1 cm^-3).

 HISTORY

      Ver. 1, 6-Jan-2009, Peter Young

(See emiss/ch_config_emiss.pro)


EMISS_CALC

[Previous Routine] [Next Routine] [List of Routines]

 PROJECT:  CHIANTI

       CHIANTI is an Atomic Database Package for Spectroscopic Diagnostics of
       Astrophysical Plasmas. It is a collaborative project involving the Naval
       Research Laboratory (USA), the University of Florence (Italy), the
       University of Cambridge and the Rutherford Appleton Laboratory (UK). 

 NAME: EMISS_CALC()
       
 PURPOSE:

       To compute the emissivities of all lines of a specified ion over
	given ranges of temperature and density.

 CATEGORY:

       Scientific analysis

 EXPLANATION:

 	This routine calculates:

		hc
       	--  * N_j  * A_ji
      	       lamb

 	where hc = 1.986 * 10^-8 erg AA, lamb is in angstroms, N_j is the 
	fraction of ions in the upper emitting level j, and A_ji is the 
	radiative decay rate for the transition.

	The emissivities are stored in a structure called EMISS that also
	holds the wavelength of the transition, the level numbers i and j 
	and also a 'flag', which is set to -1 if the wavelength is negative.

	The temperature and density ranges can be specified directly using
	the TEMP and DENS keywords. Setting TMAX to the log T_max of the 
	ion, gives emissivities for 3 temperatures: log T_max +- 0.15. 
	If DENS is not set, then it is set to 8 to 12 in 0.5 dex intervals. 
	STDENS allows the start density (of 8) to be changed to some other 
	value; ND allows the number of densities to be varied (default 9); 
	DINT allows the density interval to be varied (default 0.5).

 CALLING SEQUENCE:

       EMISS=EMISS_CALC (IZ, ION, [ TEMP=TEMP, DENS=DENS, RADT=RADT, $
				DIL=DIL, PATH=PATH, /NO_DE, /PROTON, $
				QUIET, PRESSURE=PRESSURE)

 EXAMPLES:

	EMISS=EMISS_CALC(26,13)
	EMISS=EMISS_CALC(26,13,temp=[6.2],dens=findgen(5)+8)
	EMISS=EMISS_CALC(26,13,temp=findgen(11)/100.+5.5,press=10.^15)

 INPUTS:

	IZ	The atomic number of the ion

	ION	The spectroscopic number of the ion (e.g., 12 = XII)

 OPTIONAL INPUTS:

	TEMP	Direct specification of the temperature range (log T)

	DENS	Direct specification of the density range (log Ne)

	RADTEMP	Specify background radiation temperature (default: 6000 K)

	RPHOT   Distance from the centre of the star in stellar radius units.
               I.e., RPHOT=1 corresponds to the star's surface. (Default is
               infinity, i.e., no photoexcitation.)

	PATH	If specified, the routine will look for the atomic data in 
		the PATH directory, rather than in the CHIANTI database

	PRESSURE	If a temperature array is given, and PRESSURE set, 
			then the emissivities will be evaluated at the 
			specified temperatures, but for densities = 
			pressure/temperature. If DENS is set, then it will 
			be ignored. The pressure is assumed to be in units 
			K * cm^-3.

       ABUND_FILE  The name of a CHIANTI abundance file. This is used for 
               calculating the proton to electron ratio. Default is 
               !abund_file.

       IONEQ_FILE  The name of a CHIANTI ion balance file. This is used for 
               calculating the proton to electron ratio and evaluating 
               the T_max of the ion. Default is !ioneq_file.

       SUM_MWL_COEFFS  An array of coefficients of the same length as 
                       the array of temperatures. Electron and proton rate 
                       coefficients will be calculated at each temperature 
                       and then a weighted sum of the coefficients is 
                       performed using SUM_MWL_COEFFS. This allows 
                       non-Maxwellian energy distributions to be 
                       incorporated into the level balance equations.
                       This keyword is not compatible with the PRESSURE
                       keyword.

       RADFUNC         The name of a user-defined function that will generate
                       a radiation spectrum as a function of temperature. 
                       This radiation field will replace the black-body that
                       is assumed when using the RADTEMP keyword in the call
                       to pop_solver.

 KEYWORDS:

	NO_DE	Drops the hc/lambda factor in the computation of the 
		emissivities. Useful for emission measure analyses involving 
		photon fluxes

       NOPROT  If set, then the default setting will be NOT to use 
               proton rates. This can be changed within the routine.

	QUIET	If set, don't list the temperatures and densities at which 
		the emissivities are caculated.

       DIEL   If the dielectronic recombination files exist for the ion, 
               then these are used to derive the emissivities.

       NO_SETUP  If emiss_calc is called from a routine where the ELEMENTS
                 common block has already been set up, then this keyword
                 stops emiss_calc loading up the common block

 OUTPUT:

	The structure that is output has the following tags:

	.ion_name	string; contains ion name, e.g., 'Fe XIII'
	.lambda		float; contains wavelength
	.level1		integer; contains lower level of transition
       .lvl1_desc      string; gives config. and term of lower level
	.level2		integer; contains upper level of transition
       .lvl2_desc      string; gives config. and term of upper level
	.flag		integer; a flag to mark particular transitions
	.em		fltarr(nt,nd); contains emissivities at particular 
			  temperatures and densities.

 PROGRAMMING NOTES:

	Transitions where only theoretical energies are available for at 
	least one of the two levels are assigned negative wavelengths in 
	the .wgfa file. With emiss_calc, the wavelength is set to be 
	positive, but emiss.flag is set to -1 for that transition, so 
	that other routines can keep track of the theoretical wavelengths.

 COMMON BLOCKS:

	ELVLC, WGFA, UPSILON, RADIATIVE, PROTON, ELEMENTS, IONREC

 CALLS:

	SETUP_ION, POP_SOLVER
       ZION2FILENAME, ZION2SPECTROSCOPIC
	READ_PROT, PROTON_DENS

 HISTORY:

	Ver 1, PRY 28-Jun-97
	Ver 2, PRY 26-Jul-97  - corrected problem with size of emiss
	Ver 3, PRY 22-Sep-97  - allowed photo-excitation to be included
	Ver 4, PRY 6-Jul-98   - added PATH
	Ver 5, PRY 5-Sep-98   - added call to choose_ioneq
       Ver 6, PRY 3-Dec-98   - dosen't crash if no params given
	Ver 7, PRY 9-Jan-99   - allowed proton rates to be added through 
				/PROTON keyword.
	Ver 8, PRY 10-Feb-99  - added /QUIET keyword
	Ver 9, PRY 8-Oct-99   - for H-like ions, there's a 2-photon 
				transition with a non-zero A-value that is 
				assigned a zero wavelength (as it does not 
				produce an emission line). This caused 
				problems for dens_plotter, so emiss_calc 
				now removes this transition from the emiss 
				structure.
	Ver 10, PRY 15-Dec-99 -	added deu to the upsilon common block in 
				order to be consistent with the main Chianti 
				routines.
	Ver 11, PRY 8-May-00  - added PRESSURE
       Ver 12, PRY 17-Aug-00 - changed elvlc common block to match new 
                               version of pop_solver
       Ver 13, PRY 10-Oct-00 - now calls setup_ion to read ion data
       Ver 14, PRY 1-Jun-00  - removed call to choose_ioneq; now makes use 
                               of the !ioneq_file system variable.
       Ver 15, PRY 25-Sep-01 - modified for 9-point splines and proton rates
       Ver 16, PRY 9-Dec-01  - completed changes for v.4

       V. 17, 29-May-2002, Giulio Del Zanna (GDZ) 
                   generalized directory concatenation to work for
                   Unix, Windows  and VMS. 
                   Now we only call zion2filename, corrected the call to
                   zion2spectroscopic (dielectronic cases were not handled
                   correctly).

       V.18, 6-Aug-2002, Peter Young
                   Theoretical wavelengths weren't being flagged so this 
                   has now been corrected.

       V.19, 7-Aug-2002, Peter Young
                   Stopped "lines" with zero wavelength being included in 
                   the structure.
                   Changed the use of CHIANTI system variables.

       V.20 14-Aug-2002, GDZ 
                   Modified the use of Version, to make it compatible with the
                   other CHIANTI v.4 routines.

       V.21 10-Sep-2002, Peter Young
                   Allowed a density of 1 cm-3 to be input.

       V.22 7-Aug-2003, Peter Young
                   Added keyword /NO_SETUP

       V.23  4-Oct-2003, GDZ
                  modified the input to POP_SOLVER, now it is dealt with an
                  input structure.

       V.24  5-Mar-2004, Enrico Landi (EL)
                  included ionization and recombination as level population
                  processes

       V.25  6-May-2005, EL
                  corrected a minor incompatibility with IDL 5.6

       V.26  5-Jul-2005, Peter Young
                  added RADFUNC= and SUM_MWL_COEFFS= keywords

       V.27  1-Aug-2005, Peter Young
                  re-ordered code for setup to prevent crash

       V.28  3-Aug-2005,GDZ
                  fixed bug, only define ioneq_ionrec when files are
                  there (it was failing with neutrals)

       V.29 , 7-Dec-07, GDZ changed a for loop to long to allow long
              lists of lines.

       V.30 , 12-Jun-2009, Enrico Landi
               Changed the definition of the temperature array for ion fractions
               in the IONREC variable, now taken directly from the output of
               READ_IONEQ.PRO

 VERSION     :   30 12-Jun-2009

(See emiss/emiss_calc.pro)


EMISS_SELECT

[Previous Routine] [Next Routine] [List of Routines]
 PROJECT:  CHIANTI

       CHIANTI is an atomic database package for the calculation of
       astrophysical emission line spectra.  It is a collaborative project
       involving Ken Dere (Naval Research Laboratory, Washington DC), 
       Brunella Monsignori-Fossi and Enrico Landi (Arcetri Observatory, 
       Florence), and Helen Mason and Peter Young (DAMTP, Cambridge Univ.).

 NAME

	EMISS_SELECT()
       
 PURPOSE

	Allows emissivity arrays within EMISS structures to be selected 
	via a widget.

 CATEGORY:

       Atomic data analysis

 CALLING SEQUENCE

	em=emiss_select(emiss,index,sel_ind=sel_ind)

 EXAMPLES

	emiss=emiss_calc(26,13)       ; calculate emiss for FeXIII
	em=emiss_select(emiss)
	em=emiss_select(emiss,indgen(10))
	em=emiss_select(emiss,wra=[200,300],sel_ind=sel_ind)

 INPUTS

	EMISS	A structure that is output by the routine EMISS_CALC

 OPTIONAL INPUTS

	INDEX	A list of indices that allow a sub-set of wavelengths to 
		be displayed in the widget. If not specified, then 
		complete list of wavelengths is shown.

	WRANGE	Only show wavelengths lying in the specified wavelength 
		range, e.g., wrange=[200,300]

	SEL_IND	Contains the emiss index/indices of the selected 
		wavelengths.

       GROUP   If emiss_select is being called from another widget-based 
               routine, then one needs to set GROUP to the widget ID of 
               the top-level widget.

 OUTPUTS

	An array that contains the emissivities. If two or more lines were 
	selected, then the arrays are added together.

 CALLS


 HISTORY

	Ver.1, PRY 1-Sep-97.
	Ver.2, PRY 23-Feb-99,  added WRANGE keyword
       Ver.3, PRY 13-Sep-00,  changed format of wavelengths in the 
                  widget list
       Ver.4, PRY 20-Nov-00,  removed call to xselect_s - the widget 
                  is now created internally.
       Ver.5, PRY 27-Dec-00,  changed switch to tst1 for IDL v5.4
       Ver.6, PRY 6-Aug-02, added transition information to the widget, 
                  and tidied up some of the code.
       
       V.7, 15-Aug-2002 Giulio Del Zanna (GDZ) 

             Replaced the entire  widget with a call to ch_xmenu_sel.
             This works fine with very long lists of lines, while previously
             the widget was very slow and sometimes would hang.
    
 VERSION     :  7, 15-Aug-2002

(See emiss/emiss_select.pro)


GOFNT

[Previous Routine] [Next Routine] [List of Routines]

 PROJECT:  CHIANTI

       CHIANTI is an Atomic Database Package for Spectroscopic Diagnostics of
       Astrophysical Plasmas. It is a collaborative project involving the Naval
       Research Laboratory (USA), the University of Florence (Italy), the
       University of Cambridge and the Rutherford Appleton Laboratory (UK). 


 NAME:
	GOFNT

 PURPOSE:

	calculate G(n,T) function (line intensity per unit emission measure)
       
 PROCEDURE:

	Must specify line to form numerator and denominator
       Multiple lines can be selected and summed
       This can now be done interactively or not.

 CALLING SEQUENCE: 

	GOFNT,Ion,Wmin,Wmax,Temperature,G,Desc,density=


 INPUTS:

       Ion:   the CHIANTI style name of the ion, i.e., 'c_5' for C V

       Wmin:  minimum of wavelength wavelength range of interest in Angstroms

       Wmax:  maximum of wavelength wavelength range of interest

 OPTIONAL INPUTS:

       Many - see the keywords below.

 OUTPUTS:

	Temperature:  an array of temperatures 

       G:  Intensity  per unit emission measure N_e*N_H*dh [cm^-5].
           The resulting units are therefore erg cm^+3 s^-1 sr-1

           C(T)= 1/(4*!pi)* A_ji*(N_j(X^+m)/N(X^+m))*(N(X^+m)/N(X))*(N(X)/N(H))/N_e

            unless  /NOABUND is set, in which case 
           C(T)= 1/(4*!pi)* A_ji*(N_j(X^+m)/N(X^+m))*(N(X^+m)/N(X))/N_e

           G(T)=(hc/lambda_ij)*C(T) 
           G(T)= C(T)   if /PHOTONS is set

       Desc:  a short string description of the selected line


 OPTIONAL OUTPUTS:

	Postscript file withthe plot of G(T).

       Ascii file with the values of G(T). 
        
       VALUE      The array of G(T) values corresponding to logt0.


 KEYWORD PARAMETERS:


	PRESSURE:  specifies the pressure in units of NeT (cm^-3 K).  G is then
                  calculated at that constant pressure 
		
	DENSITY:  specifies the electron density in units of cm^-3.  G is then 
                 calculated at that value of the electron density.  If neither the 
                 density or pressure keywords are specified, a constant
                  density of 1.e+10 cm^-3 is assumed

       PHOTONS:  sets output in photons/s

       RPHOT   Distance from the centre of the star in stellar radius units.
               I.e., RPHOT=1 corresponds to the star's surface. (Default is
               infinity, i.e., no photoexcitation.)

       RADTEMP The blackbody radiation field temperature (default 6000 K).

       OUTFILE:  the (optional) name of the output ascii file where a 
                   listing of the line ratio intensity as a function of 
                   temperature is saved.

       PSFILE:  the (optional) name of the output postscript file 
                  where a plot of the chosen G(T) is saved.

       NOABUND: If set, the G(T)'s are not multiplied by the abundance 
                factor.

       NOPROT   If set, then proton rates are not included.


	ABUND_NAME:  Name of the abundance file to use.  If not passed, then
		     the user is prompted for it.

	IONEQ_NAME:  Name of the ionization equilization name to use.  If not
		     passed, then the user is prompted for it.

       ALL          If set, all lines are calculated, including
                    the 'unobserved' ones. 

       LOWER_LEVELS
       UPPER_LEVELS
                    Arrays with the indices of the lower and upper levels
                    pertaining to the transitions you want to get. 
                    If more than one couple is given, the G(T) of the 
                    lines are summed.
                    Obviously, the given indices must correspond to transitions
                    that are present in the database.

       ARCSECS  
                 If set, units are photons (ergs) cm^+3 s^-1 arcsecs^-2

       VERBOSE

       LOGT0       An array of log T values for which the G(T) are wanted.
       VALUE       The array of G(T) values corresponding to logt0.
 
                   If logt0 is defined, and within the limits of the 
                   temperatures for which G(T) NE 0, the array VALUE
                   is returned with a simple spline interpolation.

 CALLS:

       CH_SYNTHETIC, CH_XMENU_SEL

 COMMON BLOCKS: None

 RESTRICTIONS:

 SIDE EFFECTS:

 EXAMPLE:

      IDL> gofnt,'o_5',1000.,1500.,temp,goft,desc,density=1.e+16


 CATEGORY:

	spectral diagnostics


 MODIFICATION HISTORY:

 	Written by:	Ken Dere
	October 4, 1996:     Version 1
       14-Jul-2000     Peter Young, now calls pop_solver

       26-Oct-2000 GDZ, added keyword NOABUND to not multiply for the abundence
       factor. Corrected header for a wrong description.

	Version 4, 21-Dec-2000, William Thompson, GSFC
		Modified for better cross-platform graphics capability

  
       Version 5, 8-Nov-01, Giulio Del Zanna (GDZ). 

       Rewritten as a wrapper routine using the new procedures.
           Corrected a few inconsistencies in the plots.

       Version 6, 18-Nov-01, Peter Young
           Added /noprot, rphot and radtemp keywords.

       Version 7, 11-Dec-01, Peter Young
           Changed call to ch_strpad to strpad.

       V. 8, GDZ, 28-Apr-02 Added abund_name,ioneq_name keywords.
       v. 9  21-May-2002, GDZ
             generalized directory concatenation to work for
             Unix, Windows  and VMS. 

       V.10, 15-Aug-02, GDZ 
              Major revision:
              -Removed the call to ch_xselect_s, that did not work for long lists.
              -Added a '*' in the line lists, to identify 'unobserved' lines.
              -Replaced the commands to create PS file, to make it
               cross-platform compatible.
              -Added a large number of cosmetics, mainly lables to the axes and
               titles.
              -Added keyword ALL. If set, all lines are calculated, including
              the 'unobserved' ones. 
              -Added the CHIANTI version number in the outputs.

       V. 11, 19-Sep-02, GDZ
              Clarified output units.

       V.12, 25-Jun-03, GDZ, 
              Added many new keywords. Now is possible to use the routine 
              with background jobs, in not-interactive mode.
              Rounded the wavelengths. 

       V.13, 24-Sept-2003, GDZ 
              Corrected a bug when logt0 is not defined.

       V.14, 3-Nov-03  GDZ
             Modified format e8.2 to e9.2 for Windows compatibility.

       V.15, 22-Aug-2008, Peter Young
             Corrected code where temperature range is reduced based
             on zero G(T) values.

 VERSION     :   15, 22-Aug-2008 

(See emiss/gofnt.pro)


G_OF_T

[Previous Routine] [Next Routine] [List of Routines]

 PROJECT:  CHIANTI

       CHIANTI is an Atomic Database Package for Spectroscopic Diagnostics of
       Astrophysical Plasmas. It is a collaborative project involving the Naval
       Research Laboratory (USA), the University of Florence (Italy), the
       University of Cambridge and the Rutherford Appleton Laboratory (UK). 


 NAME: G_OF_T()
       
 PURPOSE:

	To compute DE * F(T) * n_j * A_ji / N_e for selected emission lines. 
	Option to also multiply by abundance.

 CATEGORY:

       Atomic data analysis

 EXPLANATION:

	The G-of-T function has a number of different definitions in the 
	literature. In the most basic form it contains only the temperature 
	dependent parts (i.e., 0.83*n_j*A_ji*F(T)/N_e), but often a Delta-E 
	and Ab(X) are added as well. Here, the _default_ form is:

	Delta-E * 0.83 * n_j * A_ji * F(T) / N_e

	By using the NO_DE keyword, the Delta-E can be omitted, while the 
	ABUND keyword allows the abundance to be added.

	The function that is output is tabulated over 4.0 <= logT <= 8.0 
	in 0.1 dex intervals. If you want the function tabulated over 
	smaller intervals, run the ION_INTERP routine afterwards.

 CALLING SEQUENCE:


 EXAMPLES:

	RESULT=G_OF_T(26,13)

	RESULT=G_OF_T(26,13,DENS=7)

	RESULT=G_OF_T(26,13,GOFTFILE='my_gofts.dat')

       RESULT=G_OF_T(26,13,/ABUND)

       RESULT=G_OF_T(26,13,ABUND_FILE=ABUND_FILE, IONEQ_FILE=IONEQ_FILE)

 INPUTS:

	IZ:	The atomic number of the ion (e.g., 26 = Fe)

	ION:	The spectroscopic number of the ion (e.g., 12 = XII)

 OPTIONAL INPUTS:

	DENS:	The logarithm (to base 10) of the density at which the 
		emissivities are calculated (default=10.)

	WRANGE: Wavelength range from which lines are required. If not 
		specified, then the 10 strongest lines are displayed.

	PATH:	If specified, the routine will look for the atomic data in 
		the PATH directory, rather than in the CHIANTI database

	GOFTFILE:	By specifying GOFTFILE as a filename, the G-of-T 
			function can be stored in this file. It is stored 
		in the form a structure (called goft_list) with the following 
		labels:

	  goft_list.label: user-specified string, e.g., 'Si XII  520.7'
	  goft_list.func:	 fltarr(41), the G-of-T function

	If the same GOFTFILE is specified for another ion, then the 
	G-of-T function is added to the existing structure. The GOFTFILE 
	option only works when the ABUND keyword is set. The GOFTFILE is 
	meant to be read by another routine called GOFT_PLOTTER.

	INDEX:	Allows the direct specification of indices within the 
		emiss structure. This allows the g_of_t routine to be 
		run without the menu widget appearing. If the /quiet 
		keyword is also used, then the routine will run "silently".

	RADTEMP	Specify background radiation temperature (default: 6000 K)

	RPHOT   Distance from the centre of the star in stellar radius units.
               I.e., RPHOT=1 corresponds to the star's surface. (Default is
               infinity, i.e., no photoexcitation.)

       IONEQ_FILE  Directly specify the name of the ion balance file 
               (including directory path). If not set, then a widget will 
               pop up allowing you to select a file.

       ABUND_FILE  Directly specify the name of the abundance file 
               (including directory path). One can also use /ABUND_FILE 
               to include the abundances in the G(T) function, but allow 
               the abundance file to be picked through a widget.

 KEYWORDS:

       NOPROT  If set, then the default setting will be NOT to use 
               proton rates. This can be changed within the routine.

	NO_DE:	If set, then the output function will *not* contain the 
		Delta-E. Be careful using this if you are using blends 
		(as Delta-E is different for different wavelengths).

	QUIET	If set, then don't plot the G(T) function or print out 
               information to the screen.

 CALLS:

	EMISS_CALC, READ_IONEQ, READ_ABUND, EMISS_SELECT, CH_GET_FILE

 RESTRICTIONS:


 HISTORY:

	Ver.1, PRY 28-Jul-97.
	Ver.2, PRY 22-Jun-98, added CHOOSE keyword and removed RAY
	Ver.3, PRY 4-Aug-98, cosmetic changes following comments of Giulio 
			Del Zanna
	Ver.4, PRY 5-Sep-98, added call to choose_ioneq
	Ver.5, PRY 23-Sep-98, added GOFTFILE input
	Ver.6, PRY 3-Mar-99, now calls EMISS_SELECT
       Ver.7, PRY 6-Nov-00, removed the /CHOOSE keyword; also changed 
                       PICKFILE call to DIALOG_PICKFILE and removed call 
                       to the CHIANTI routine ADD\_SUBDIR
       Ver.8, PRY 18-Oct-01, adjusted for proton rates, and 
                       photoexcitation.
       Ver.9, PRY 9-Dec-01, completed modifications for v.4 of CHIANTI.

       V.  10, 21-May-2002, Giulio Del Zanna (GDZ) 
                   generalized directory concatenation to work for
                   Unix, Windows  and VMS.
       Ver. 11, 9-Feb-2005, Peter Young
                   changed keyword_set(abund) to keyword_set(abund_file)

 VERSION     :   11, 9-Feb-2005

(See emiss/g_of_t.pro)


RAD_LOSS

[Previous Routine] [List of Routines]

 PROJECT:  CHIANTI

       CHIANTI is an Atomic Database Package for Spectroscopic Diagnostics of
       Astrophysical Plasmas. It is a collaborative project involving the Naval
       Research Laboratory (USA), the University of Florence (Italy), the
       University of Cambridge and the Rutherford Appleton Laboratory (UK). 

 NAME:
	RAD_LOSS

 PURPOSE:

       Calculates energy loss rate by free-free (ff), radiative 
       recombination (fb) and by line (bound-bound) radiation.

 CATEGORY:
	
	synthetic spectra

 CALLING SEQUENCE:

       RAD_LOSS,Temperature,Loss_rate


 INPUTS:

	None:  The user will select an elemental abundance file and a 
              ionization equilibrium file through widgets.

  KEYWORDS:

       Pressure:  pressure in emitting region (cm^-3 K)
                  density=pressure/temperature(K)

       Density:   density (cm^-3), constant for all temperatures
                  if neither density or pressure is set, then a default 
                  constant density of 10^10 cm^-3 is used.

       Psfile:    to create a postscript plot of the radiative loss in 
                  the file specified by the name assigned to 'Psfile'

       Outfile:   name of an ascii file where the radiative loss rate 
                  as a function of temperature is output
                   
	RADTEMP	Specify background radiation temperature (default: 6000 K)

	RPHOT   Distance from the centre of the star in stellar radius units.
               I.e., RPHOT=1 corresponds to the star's surface. (Default is
               infinity, i.e., no photoexcitation.)

       NOPROT  If set, then the default setting will be NOT to use 
               proton rates. This can be changed within the routine.



 OUTPUTS:

       Temperature:  array of temperatures (K)
       Loss_rate:    energy loss rate in erg cm^3 s^-1


 PROCEDURE:


  if keyword pressure is set then calculations performed at constant pressure
  if keyword density is set then calculations performed at constant density
  otherwise, density is set to 1.e+10
  
  pressure = density * temperature  (cm^-3 K)

	the user will be asked to select an abundance file and a 
       ionization balance file.

 EXAMPLE:

       > rad_loss,t,r


 MODIFICATION HISTORY:
 	Written by:	Ken Dere
	January 1999:  version 1, adopted from synthetic.pro
	Version 2, 21-Dec-2000, William Thompson
		Modified for better cross-platform capability.

       Ver.3, 6-Dec-2001, Peter Young
               Added /noprot, radtemp and dilute keywords.
               Removed elvlc, wgfa and upsilon common blocks.
               Removed calls to read_ip and read_masterlist (not needed).

       Ver.4, 8-Jul-2003, Peter Young
               Updated routine header (no changes to code).

       V 5, 25-May-2005, GDZ 
                  corrected routine header.

       Ver.6, 12-Jul-2007, EL
                  corrected the output units in the y-axis of the display

 VERSION     :   6, 12-Jul-2007, EL

(See emiss/rad_loss.pro)