|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Reading a raw data (pep) file with the IDL Astronomy User's Library routinesWe start IDL and load the IDL Astronomy User's Library procedures as usual. The raw data consists of primary array header, a binary table extension header, and a number of rows of 6 columns of binary table data. The first thing we might want to do is examine the header, we might then want to look at program IDs or the tube used for a specific scan. Let us say we are interested in the star epsilon Sco (which is star number 385). We down-load the raw data file c385.pep from the archive, and then we can read the extension header using the command fxbopen:
IDL>fxbopen,unit1,"c385.pep",1,header
IDL>openw,15,'header.txt'
IDL>writeu,15,header
IDL>$more header.txt
XTENSION= 'BINTABLE' / Extension type
BITPIX = 8 / Binary data
NAXIS = 2 / Binary table data
NAXIS1 = 124 / Bytes per row
NAXIS2 = 41 / Number of rows
PCOUNT = 13621 / Bytes following last record (i.e. gap+heap)
GCOUNT = 1 / Only one group
TFIELDS = 40 / Number of fields per row
THEAP = 5760 / Offset in bytes from start of data to heap
EXTNAME = 'SCANS ' / Extension header name
TTYPE1 = 'STAR_NUM' / OAO-3 object number
TDISP1 = 'I3 ' / Recommended Fortran-90 display format
TFORM1 = '1I ' / Count and data type
TTYPE2 = 'OBS_NUM ' / Nth observation for this object
TDISP2 = 'I2.0 ' / Recommended Fortran-90 display format
TFORM2 = '1I ' / Count and data type
TTYPE3 = 'REC_NUM ' / Record number
TDISP3 = 'I5.0 ' / Recommended Fortran-90 display format
TFORM3 = '1I ' / Count and data type
TTYPE4 = 'PGM_NAME' / Program name
TDISP4 = 'A4 ' / Recommended Fortran-90 display format
TFORM4 = '4A ' / Count and data type
...
...
...
TFORM29 = '1J ' / Count and data type
TTYPE30 = 'STAND ' / Background status anded
TDISP30 = 'I1.0 ' / Recommended Fortran-90 display format
TFORM30 = '1B ' /
Now lets say we want to read the program names associated with each of the 41 scans for this star, then we would use the fxbread command: IDL> fxbread,unit1,pgmname,4 IDL> print,pgmname EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 EW07 We then see that all of the scans were taken as part of a single program (EW07). Similarly, we can get the tube name for all of these scans by looking at column 14: IDL> fxbread,unit1,tube,14 IDL> print,tube U2 V2 V3 U3 U1 V3 U3 U2 V2 V3 U3 U2 V2 V3 U3 U2 V2 V3 U3 U2 V2 V3 U3 U1 V3 U3 U2 V2 V3 U3 U2 V2 V3 U3 U1 V3 U3 U2 V2 V3 U3 Example provided by jtl |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||