2. Quickstart

This chapter provides a quick guide to let you jump straight into action using IDL. Be sure to read the rest of this guide for a more in-depth view of IRIS data analysis. This chapter assumes the user has a SSW IDL installation with a recent IRIS package. This can be installed by:

IDL> ssw_upgrade, /spawn, /passive, /verb, /iris

To also update the gen folder add , /gen to the IDL command above.

Then, to load the IRIS routines into your path you will need to modify the SSW_INSTR environment variable to include them, on UNIX/Mac systems this can usually be found in your .cshrc or .login file:

setenv SSW_INSTR 'iris hessi xrt aia eit mdi secchi sot eis'

Please note that the IRIS tools work best when using IDL 8.4 or above.


The IRIS SSW routines were updated on March 6, 2020 to make them compatible with the latest upgrades of the IRIS data archive. It is therefore essential to update SSW to its latest version.

2.1. IRIS overview

IRIS is a UV slit-spectrograph that also takes slit-jaw images. It obtains spectra in two FUV bands (1331.56–1358.40 Å, 1390.00–1406.79 Å) and one NUV band (2782.56–2833.89 Å), all exposed simultaneously. In addition, slit-jaw images in the bands of 1330, 1400, 2796, and 2832 Å can also be taken (only one exposure a time). The spatial resolution is 0.33” in the FUV and 0.4” in the NUV. The spectral resolution is 26 mÅ in the FUV and 56 mÅ in the NUV. The slit is 0.33” wide and 175” long. The observatory can operate in a fixed target mode (“sit-and-stare”) or by scanning a region by moving the spacecraft (“rasters”) with various numbers of steps possible (2-400) and different step increments (0.3”, 1”, 2”). There are about 50 basic observing modes, which are encoded in a unique identifier called OBSID.

2.2. Getting the data

IRIS data are available in different degrees of calibration. However, Level 2 represents fully calibrated data and is the recommended data product. The IRIS data search webpage provides a powerful search engine and can be used to download the data and browse quicklook movies and plots. One can also search for and download data inside SSW IDL:

IDL> t0 = '18:50:00 10-nov-2014'
IDL> t1 = '19:00:00 10-nov-2014'
IDL> files = iris_time2files(t0, t1, level=2, drms, /urls, /compressed)

This list of files can then be downloaded to the current directory and unzipped with:

IDL> sock_copy, files, dir='./'
IDL> $gunzip *fits.gz
IDL> $ls *.gz |xargs -n1 tar -xzf

Level 2 data have two types of files: slit-jaw images (“SJI” in filename) or spectral rasters (“raster” in filename). Each SJI file contains all the frames for a given filter for the total duration of an observation. Each raster file contains all the spectra for a given sequence; when an observation consists of multiple raster sequences there is one file per raster. In the special case of sit-and-stare observations, only one raster file exists.

2.3. Reading the data in IDL

The most convenient way to load the data in IDL is to use the object interface:

IDL> myfile=iris_files('*SJI*.fits')
IDL> d = iris_load(myfile[0])
IDL> header = d->gethdr(/struct)
IDL> print, header.DATE_OBS
IDL> data = d->getvar()   ; for a slit-jaw image

Most observations do not expose the full detector. Instead, spectral windows around the lines of interest are used, and those windows are saved in the raster files. When loading spectral data one must select which window to load, and there are helper functions for that:

IDL> my_spec_file=iris_files('/*raster*.fits')
IDL> d = iris_load(my_spec_file[0])
IDL> d->show_lines
Spectral regions(windows)
 0   1335.71   C II 1336
 1   1343.26   1343
 2   1349.43   Fe XII 1349
 3   1355.60   O I 1356
 4   1402.77   Si IV 1403
 5   2832.79   2832
 6   2826.68   2826
 7   2814.51   2814
 8   2796.20   Mg II k 2796
Loaded Slit Jaw images
 0   SJI_1330
 1   SJI_1400
 2   SJI_2796
 3   SJI_2832
IDL> data = d->getvar(8, /load)   ; Gets Mg II window
IDL> help, data
DATA              FLOAT     = Array[313, 387, 8]

Other values such as the wavelength scale and observation times can also be obtained:

IDL> wavelength = d->getlam(8)
IDL> times = d->ti2utc()
IDL> print, times[0]

2.4. Data calibration

The level 2 data are dark subtracted, flat fielded, corrected for geometrical distortion (spectra) and wavelength calibrated.

There is no absolute wavelength calibration. Instead, the positions of known spectral lines are measured to calibrate for wavelength. As of May 2014 the wavelength calibration corrects for the orbital velocity and the thermal drifts of the spectrograph. However, in some cases it may be necessary to apply further corrections. The O I 1355.5977 Å line is the recommended reference for the FUV, and the Ni I 2799.474 Å for the NUV. A full explanation can be found in ITN 20.

The level 2 data are spatially coaligned both within channels and between slit-jaws and spectra. This procedure is automatic and should be checked by verifying the position of fiducial marks (they show up as as dark bands on spectrograms and as bright spots on the slit in slit-jaw images). To coalign IRIS data with SDO we suggest cross-correlating the IRIS 1400 SJI with AIA 1700, and the IRIS 2832 with the HMI continuum. A full explanation can be found in ITN 22.

2.5. Data analysis and visualisation

Several graphical tools are available for quick look and detailed analysis. iris_xfiles is a tool to search for, quickly visualise and calculate several quantities of level 2 data. CRISPEX is a powerful tool for visualising multi-dimensional spectral data (up to 4D: x, y, wavelength, time), and it has been adapted to work with IRIS level 3 files.

IRIS level 3 files are a reorganisation of level 2 raster files. Multiple rasters are combined in a single file (plus a transposed version). They are not distributed, but can be produced by the user, e.g.:

IDL> f = iris_files('./*raster*.fits')   ; get all raster files
IDL> windows = [0, 6]     ; which wavelength windows to include
IDL> iris_make_fits_level3, f, windows, /sp, wdir='my_output_dir'