Get SDO data with SSW/IDL

SDO data @ SIDC

Prerequisites

To access and work with SDO data within IDL, you need Solar Soft to be installed.

The following instruments must be installed and set in you SSW_INSTR variable : vso, aia, hmi and ontology.

See the Solar Soft documentation if you don't know how.

How To

Downloading SDO data with IDL and the VSO is a 2 steps process:

  1. Search data with the procedure vso_search
  2. Download the data on your hard drive with the procedure vso_get

Because the SDO data is compressed, to read it you need to use the procedure read_sdo

There is several IDL procedures to process and visualise AIA data:

Available SDO data through VSO

See JSOC for information about SDO data series

The most common ones are

Instrument Series VSO_SEARCH parameters
AIA aia.lev1 inst='aia'
HMI hmi.Ic_45s inst='hmi', physobs='intensity'
HMI hmi.M_45s inst='hmi', physobs='los_magnetic_field'
HMI hmi.V_45s inst='hmi', physobs='los_velocity'

Examples

Search & download AIA data

; Search AIA 171 Angstrom data for the 6th december 2010 with a cadence of 3600 seconds (1 hour)
results = VSO_SEARCH('6-dec-2010', '7-dec-2010', inst='aia', wave='171', sample=3600)

; Sort the results by date and print the date
results = results(SORT(cat.time.start))
print, results.time.start

; Download the first two
status = VSO_GET(results[0:2], pixels=4096, filenames=files, /rice,  /use_network)

; The local filenames will be in the files variable
print, files

Read AIA image & plot it

; Read the image and header of the AIA fits file located at files[0] (see above)
; Because SDO files are rice compressed you need to use the specialised read_sdo procedure for this
READ_SDO, files[0], header, image

; Improve the contrast with aia_intscale and plot the resulting image
image = AIA_INTSCALE(image, exptime=header.EXPTIME, wavelnth=header.WAVELNTH, bytescale=1)
plot_image, image

; Load AIA standard colour table and plot the image using it
AIA_LCT, rr, gg, bb, wavelnth=header.WAVELNTH, /load
plot_image, image

; Save the image to PNG
png_file = header.T_OBS + ".png"
WRITE_PNG, png_file, image

Run AIA prep

; Prep the AIA fits file located at files[0] (see above) and save it to directory outdir
AIA_PREP, files[0], [0], /do_write_fits, outdir='.', /verbose

; Prep the AIA fits file located at files[0] (see above) and save the resulting image to prepped_image
AIA_PREP, files[0], [0], prepped_header, prepped_image

Search & download HMI data

; Search HMI magnetogram data for the 6th december 2010 with a cadence of 3600 seconds (1 hour)
results = VSO_SEARCH('6-dec-2010', '7-dec-2010', inst='hmi', physobs='los_magnetic_field', sample=3600)

; Download the first two
status = VSO_GET(results[0:2], pixels=4096, filenames=files, /rice,  /use_network)

; Search HMI continuum data for the 6th december 2010 with a cadence of 3600 seconds (1 hour)
results = VSO_SEARCH('6-dec-2010', '7-dec-2010', inst='hmi', physobs='intensity', sample=3600)