0% found this document useful (0 votes)
125 views7 pages

An Introduction To Eis Data Analysis: A Tutorial

The document provides a tutorial on analyzing observations from the EUV Imaging Spectrometer on Hinode. It discusses reading EIS data from fits files, prepping the data, making quick rasters by summing spectral windows, and correcting for instrumental effects to compute Doppler shifts and velocities. The objective is to help users get started with basic EIS data analysis.

Uploaded by

Merlin Mendoza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
125 views7 pages

An Introduction To Eis Data Analysis: A Tutorial

The document provides a tutorial on analyzing observations from the EUV Imaging Spectrometer on Hinode. It discusses reading EIS data from fits files, prepping the data, making quick rasters by summing spectral windows, and correcting for instrumental effects to compute Doppler shifts and velocities. The objective is to help users get started with basic EIS data analysis.

Uploaded by

Merlin Mendoza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

an introduction to eis data analysis: a tutorial

Harry Warren and the EIS Team


Version 0.2 – May 27, 2007 (Hawaii SPD)
Version 0.3 – July 13, 2007 (NRL)

The real voyage of discovery


consists not in seeking new
landscapes, but in having new
eyes.

Marcel Proust

This is a very brief introduction to the analysis of observations from the EUV Imaging Spectrometer
(EIS) on Hinode. This tutorial was prepared to help people get their feet wet and is not intended to be
a comprehensive discussion of the instrument or the analysis. There is much more complete information
available elsewhere. References and web addresses are given at the end of this document.
The objective of this tutorial is to read the data from an EIS fits file, fit the line profiles, compute Doppler
shifts and non-thermal velocities, and display the results. Most of the routines discussed here are already
available online in the EIS portion of SolarSoft or will be shortly. Some of the routines are still highly
experimental and should be used with caution.

1.1 getting started

One of the more difficult tasks is sorting through all of the available data and finding interesting observations.
The EIS catalog tool is a simple but powerful tool for searching through the available observations. It is
distributed through SSW and invoked by simply typing

IDL> eis_cat

at the IDL prompt. eis_cat will allow you to search the “as-run” database on any combination of parame-
ters, such as observing times, study name, pointing, and target.
Once the data files of interest have been identified there are many archives that can be used to download
the actual files. In the US the primary portal to the data is the Virtual Solar Observatory (VSO). Eventually
it should be possible to download data using eis_cat itself, but this is not fully implemented yet.
The xfiles package is the widget-based, EIS quicklook data browsing tool. xfiles can be used to
investigate the contents of a file and is usually the first stop in looking at the data. For the rest of this
document, however, we will focus on what can be done on the command line so that the process of analyzing
the data can be understood in detail.

1.2 reading the data

For this tutorial we’ve selected an active region observation using the study JTM004. This study covers a
large area and takes long exposures so the line profiles generally have good statistics.
Once the data has been downloaded there are a number of utilities for accessing EIS fits files from the
command line. For example, the routine eis_get_wininfo returns information on the data windows in the
file.

1
2

IDL> file = ’eis_l0_20061212_010720.fits.gz’


IDL> wininfo = eis_get_wininfo(file,/list)
iwin line_id wvl_min wvl_max
0 FE X 184.540 184.29 184.80
1 FE VIII 185.210 184.96 185.47
2 FE XI 188.230 187.97 188.48
3 CA XVII 192.820 192.56 193.07
4 FE XII 195.120 194.85 195.37
5 FE XIII 202.040 201.78 202.30
6 HE II 256.320 256.06 256.58
7 FE XIV 274.200 273.96 274.47
8 FE XV 284.160 283.92 284.43
IDL> help,/str,wininfo
** Structure <266d414>, 5 tags, length=28, data length=24, refs=1:
IWIN INT 0
LINE_ID STRING ’FE X 184.540’
WVL_MIN FLOAT 184.289
WVL_MAX FLOAT 184.801
NL INT 24
Finally, the routine eis_getwindata reads the data for a data window from the fits file and returns it
in a structure. Note that all of the EIS software is actually written in object oriented code. More advanced
programmers are directed to the Oslo web site for information on the objects and methods.
To read the Fe xii 195.12 Å data window use the file name and either the window number (4) or the any
wavelength within the window (e.g., 195).
IDL> d = eis_getwindata(file,195)
IDL> help,/str,d
** Structure <2a98204>, 19 tags, length=24740220, data length=24740214, refs=1:
FILENAME STRING ’eis_l0_20061212_010720.fits.gz’
LINE_ID STRING ’FE XII 195.120’
INT FLOAT Array[24, 503, 256]
ERR FLOAT Array[24, 503, 256]
WVL DOUBLE Array[24]
TIME DOUBLE Array[503]
TIME_CCSDS STRING Array[503]
EXPOSURE_TIME FLOAT Array[503]
SOLAR_X FLOAT Array[503]
SOLAR_Y FLOAT Array[256]
NL LONG 24
NX LONG 503
NY LONG 256
SCALE FLOAT Array[2]
UNITS STRING ’DN’
MISSING INT -100
IWIN LONG 4
HDR STRUCT -> <Anonymous> Array[1]
TIME_STAMP STRING ’Wed May 16 11:18:34 2007’
Most of the tags in this structure should be self explanatory. For example, the tag INT corresponds to the
intensities, ERR is the 1-σ uncertainties in the intensities, WVL corresponds to the wavelengths. Additional
information on the observations is given in the HDR tag, which is the primary header and some addition
information from the binary table extension relevant to this data window. Finally, note that these are the
raw or Level 0 data. To be used in analysis the data need to be processed with eis_prep.
3

FE X 184.540 FE VIII 185.210 FE XI 188.230

CA XVII 192.820 FE XII 195.120 FE XIII 202.040

HE II 256.320 FE XIV 274.200 FE XV 284.160

Figure 1.1: Quick rasters formed from summing over each spectral window. These observations began on 12
December 2006 01:07 UT. In the absence of a strong flare the Ca xvii window is a combination of Fe x and
O v. The field of view is 512 × 256 .

1.3 prepping the data

The routine eis_prep removes the pedestal and dark current, removes electron spikes and hot pixels, and
calibrates the data. The simplest and most common use of eis_prep is
IDL> file = ’eis_l0_20061212_010720.fits.gz’
IDL> eis_prep,file,/save,/default,/quiet
IDL> $ls -lh *.fits.gz
-rw-r--r-- 1 hpw 7670 55M May 16 10:35 eis_er_20061212_010720.fits.gz
-rw-r--r-- 1 hpw 7670 28M May 16 11:17 eis_l0_20061212_010720.fits.gz
-rw-r--r-- 1 hpw 7670 52M May 16 10:35 eis_l1_20061212_010720.fits.gz
The SAVE keyword indicates that the processed Level 1 files are to be saved in the current directory. Both
a Level 1 data file and an associated error file are saved. The keyword DEFAULT indicates that the default
procedures for dark current subtraction and absolute calibration are to be used. If you want to make the
selections interactively leave this keyword out. Finally, note that the despiking performs a median filtering
on the data. This is for cosmetic purposes. The uncertainty associated with filtered data is set to -100 so
that these pixels can be identified in the fitting.

1.4 a quick set of rasters

To begin the analysis we’ll construct a set of quick look rasters by summing over each spectral window. The
routine plot_summary illustrates how to use eis_getwindata to do this. The simplest way to calculate and
plot a raster is
IDL> d = eis_getwindata(file,195)
IDL> plot_image,total(d.int,1)
The data window can be specified as the window number or as a wavelength within the window.
4

10
Wavelength Shift (mÅ)

−10

−20

−30

−40
02:00 03:00 04:00 05:00
Start Time (12−Dec−06 01:07:20)

Figure 1.2: Column-averaged line shift as a function of time. This plot shows the variation in the centroid
due to thermal fluctuations.

The results for all of the windows is shown in Figure 1.1. Since these are integrations over the spectral
windows there is contamination in many of the windows. There is Si xi emission in the He ii window, for
example. The black stripe in the Fe xi 188.23 Å window results from a piece of dust on the CCD.

1.5 wavelength corrections

There are two instrumental effects that complicate the calculation of Doppler velocities: “slit tilt” and
“thermal drift.” The slit tilt results from a small misalignment between the CCD and the slit. This causes
the spectra to lie at an angle to the CCD column. The thermal drifts in the instrument during an orbit lead
to quasi-periodic variations in the line centroid position. This is illustrated in Figure 1.2.
The routine eis_wave_corr attempts to correct for both of these effects. The amount of slit tilt has
been estimated by averaging the velocities along each row from a large raster of the quiet Sun. The thermal
variations for each observation are estimated by assuming that the line centroids in each column (computed
with moments) average to the rest wavelength. This routine can be called using
IDL> eis_wave_corr,file
A file with the wavelength corrections is saved to the current directory. Note that this routine is highly
experimental!

1.6 fitting the line profiles

Now that data has been processed we can fit the line profiles. For simplicity we’ll consider a line that can
be reasonably well represented by a single Gaussian. We’ll use the standard routine MPFITPEAK, which is
included in SSW to do the fitting. The routine fit_line in the tutorial directory illustrates how to proceed.
The routine essentially looks like this
d = eis_getwindata(file)
fit_param = fltarr(4,d.nx,d.ny)
fit_error = fltarr(4,d.nx,d.ny)

for ii=0,d.nx-1 do begin


for jj=0,d.ny-1 do begin

x = d.wvl - wvl_corr[ii,jj]
y = d.int[*,ii,jj]
5

;; negative numbers in the error array are used to indicate


;; missing or median filtered data. mpfitpeak recognizes "0" as a
;; data value not to be used.
e = d.err[*,ii,jj]>0

;; simple gaussian
yfit = mpfitpeak(x,y,a,error=e,perror=perror,/positive)
fit_param[*,ii,jj] = a
fit_error[*,ii,jj] = perror
endfor
endfor
The array wvl_corr was calculated using eis_wave_corr. There are over 100,000 line profiles in each data
window so the fitting can take a long time!

1.7 computing velocities

For this exercise we’ll adopt a rest wavelength 195.12 Å and calculate the Doppler shift in the usual way
λ − λ0
v=c .
λ0
The rest wavelength is not well known so the absolute velocities are not well constrained.
The observed line profile has contributions from the instrument, thermal broadening, and a non-thermal
component the
(FWHMobs )2 = (FWHMinstr )2 + (FWHMT )2 + (FWHMN T )2
The thermal width is
λ2 2kTi
(FWHMT )2 = 4 ln 2
c2 Mi
The routine eis_width2velocity can be used to do these calculations and determine the nonthermal ve-
locity. The thermal velocity is based on the peak temperature of formation in the ionization balance.
IDL> instr = 2.5*0.0223 ;; instrumental FWHM of 2.5 pixels
IDL> v_nt = eis_width2velocity(’Fe’,’XII’,195.12,0.070,instr=instr)
IDL> print,v_nt
33.5275
This is in km s−1 . Check the header for more options to eis_width2velocity. Note that this Fe line is
actually a blend of two transitions from this ion and the line appears to be somewhat wider than some of
the other lines.

1.8 doppler shifts and non-thermal velocities

The results from the Doppler shift and non-thermal velocity calculations are shown in Figure 1.3 and 1.4.
These figures are made using the tutorial routines fit_line_disp and fit_line_hist. The Doppler shift
and non-thermal velocity color tables used for SUMER have been adopted here. The routine eis_colors
will set the color table. For example,
IDL> eis_colors,/velocity
IDL> image = bytscl(velocity,-20,20,top=254)
IDL> plot_image,image,/noscale
Note that the top color in the color table is black for plotting the axes.
The distribution of line shifts and widths are shown in Figure 1.4.
6

Intensity Doppler Shift

Continuum Nonthermal Velocity

Figure 1.3: The results from fitting the line profiles. The line intensity, Doppler velocity, non-thermal
velocity, and background intensity are shown.

3.0•104 1.5•104
2.5•104
2.0•104 1.0•104
1.5•104
1.0•104 5.0•103
3
5.0•10
0 0
20 40 60 80 100 0 20 40 60
Observed Line Width (FWHM mÅ) Non−Thermal Velocity (km/s)

1.5•104 1.2•104
1.0•104
1.0•104 8.0•103
6.0•103
5.0•103 4.0•103
2.0•103
0 0
195.10 195.11 195.12 195.13 −20 −10 0 10 20
Line Centroid (Å) Doppler Shift (km/s)

Figure 1.4: Histograms of line width and line shift for the Fe xii 195 Å line.
7

1.9 web sites and links

The main web site at MSSL (Google MSSL hinode)

http://msslxr.mssl.ucl.ac.uk:8080/SolarB/

The Oslo data analysis guide

http://www.astro.uio.no/solarB/software/eis_userguide/index.html

The EIS instrument paper

http://msslxr.mssl.ucl.ac.uk:8080/SolarB/docs/EIS_Inst_Paper_SOLA293_Final.pdf
The Virtual Solar Observatory

http://umbra.nascom.nasa.gov/vso/

Local web page

http://hinode.nrl.navy.mil

You might also like