Документ взят из кэша поисковой машины. Адрес оригинального документа : http://hea-www.harvard.edu/PINTofALE/doc/RD_LIST.howto
Дата изменения: Tue Feb 6 01:19:33 2001
Дата индексирования: Tue Oct 2 00:54:57 2012
Кодировка:

Поисковые слова: п п п п п п п п п п п п п п п п п п п п п п п п п п
READING IN CUSTOM LINE LISTS (JJD-JanMMI)
======================================================================

; Playing with line lists, using RD_LINE(), RD_LIST() and CAT_LN():
; Quick Example
;
; The function RD_LIST() can read in an ascii line list and from this
; can retrieve the appropriate emissivity data from any of the supported
; databases in the same way that RD_LINE() does. RD_LIST() was designed so
; that the user can make up a "custom" line list that cannot easily be
; done with RD_LINE().
;
; If one simply wants to read in all lines from a
; given element, or set of elements or ions, and from a single database,
; this is trivial using RD_LINE() by specifying the desired species in the
; ATOM string, eg,
; in_atom=['He', 'c 5', 'N V', 's_8']
; to illustrate the flexibility of specification.
;
; Now, if one is only interested in relatively few lines, and
; would like to use different database sources for different lines,
; RD_LIST() can be used.

; First generate a RD_LIST() understandable line list, either using
; CAT_LN() (or "by hand"; see the RD_LIST.PRO documentation for the
; straightforward format) and the lines already read in by RD_LINE().
; Let's look at 13-14 AA:

i13_14=where(rd_line_linstr.wvl gt 13. and rd_line_linstr.wvl le 14)
cat_ln_linstr=cat_ln(rd_line_linstr,pick=i13_14,flst='chianti13_14',/comm)

; now switch databases and read the SPEX DB for 13-14 AA; remember to
; save the CHIANTI structure already read in by RD_LINE, because the
; standard rd_line_linstr will get over-written unless changed in the
; .par file.

rd_line_linstrch=rd_line_linstr
!LDBDIR = '$SPEX'
!WMIN=13. & !WMAX=14.
@rd_line.par

; print them all out

cat_ln_linstr=cat_ln(rd_line_linstr,flst='spex13_14',/comm)

; Change ascii line list how one likes, eg, swap SPEX Ne VIII lines for
; CHIANTI's more extensive list and re-read SPEX, with CHIANTI Ne VIII
; unix_prompt$ grep -v 'Ne VIII' spex13_14 > temp1
; unix_prompt$ grep 'Ne VIII' chianti13_14 > temp2
; unix_prompt$ cat temp1 temp2 > mix13_14

rd_list_linstr=rd_list('./mix13_14')

; Note that this example is just to illustrate the ease with which the
; input line list can be "mixed and matched". The resulting
; RD_LIST_LINSTR in this particular example could also have been
; generated by selecting out Ne VIII structure elements from the CHIANTI
; structure using the IDL WHERE command into a new structure, doing the
; inverse operation on the SPEX structure, then using CAT_LN:
;
; linstrAB=cat_ln(linstrA,linstrB)