Skip to end of banner
Go to start of banner

Reading DKIST Data with IDL

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

This document explains how to use IDL to read DKIST data. It also provides a standalone version of the IDL codes, extracted from SolarSoft suite to read DKIST data. It provides the new code READ_DKIST.PRO, which will work with both ViSP and VBI data.

Any questions should be sent to Alisdair Davey.


Standalone IDL Code to Read DKIST Data

Note this version of the IDL code are designed to be run standalone only. If you have SSW installed and you have run the SSW startup, then the codes here will likely not work. A version of READ_DKIST.PRO to run under SSW is in the process of being created.

IDL gzipped tarball attached to this document. Extract the archive (gunzip and tar -xvf) and it will create a set of IDL files needed to read DKIST data under the directory dkist_idl. e.g.

# alisdair% gunzip dkist_idl_latest.tar.gz 
# alisdair% tar xvf dkist_idl_latest.tar 
x dkist_idl/
x dkist_idl/strn.pro
x dkist_idl/chk_dir.pro
x dkist_idl/sxpar.pro
x dkist_idl/strspecial.pro
x dkist_idl/ut_diff.pro
x dkist_idl/valid_num.pro
x dkist_idl/fxpar.pro
etc ... 
[ALISDAIRs-MacBook-Pro:~] alisdair% ls -ld dkist_idl
drwxr-xr-x  184 alisdair  staff  5888 Apr 17 15:46 dkist_idl

To begin, download the the gzipped tar file attached to this document or from here. Gunzip the file and then run tar xvf on the dkist_idl.tar tarball. This will place all files in a dkist_idl directory. Follow the directions below to run the code from this directory. For ease of use, you may want to add the path to the files in you .idl_startup file.

# defsysv,'!path',expand_path('+/Users/alisdair/DKIST/IDL/StandAlone/dkist_idl')+':'+!path

To make this work you will need to first set one environment variable:

In csh/tcsh 

# setenv SSW_ONTOLOGY PATH_TO_DKIST_IDL_DIRECTORY
e.g.
# setenv SSW_ONTOLOGY /Users/alisdair/DKIST/dkist_idl

or in bash

# export SSW_ONTOLOGY="PATH_TO_DKIST_IDL_DIRECTORY"
e.g.
# export SSW_ONTOLOGY="/Users/alisdair/DKIST/dkist_idl"

Then for ViSP data

# idl
IDL> file = 'VISP_2022_07_09T19_32_33_519_00630205_I_AGNPG_L1.fits'
IDL> read_dkist, file, index, data, /uncomp_delete                
VISP_2022_07_09T19_32_33_519_00630205_I_AGNPG_L1.fits
 ---------------------------------------------------------------------
| Uncompressing to> /var/folders/jr/8cm_h72d0y3857d9hhgbrvrr0000gn/T/ |
 ---------------------------------------------------------------------
VISP_2022_07_09T19_32_33_519_00630205_I_AGNPG_L1.fits -> /var/folders/jr/8cm_h72d0y3857d9hhgbrvrr0000gn/T/VISP_2022_07_09T19_32_33_519_00630205_I_AGNPG_L1_uncomp.fits 
 -------------------------------------------
| Removing uncompressed versions on request |
 -------------------------------------------
IDL>
IDL> help, index, data
INDEX           STRUCT    = -> <Anonymous> Array[1]
DATA            DOUBLE    = Array[2556, 977]
IDL> help, index, /str
** Structure <6a071e08>, 262 tags, length=6128, data length=6036, refs=1:
   SIMPLE          INT              1
   BITPIX          LONG               -64
   NAXIS           LONG                 3
   NAXIS1          LONG              2556
   NAXIS2          LONG               977
   NAXIS3          LONG                 1
   EXTEND          INT              1
   ZQUANTIZ        STRING    'NO_DITHER'
   BUNIT           STRING    'ct'
   DATE            STRING    '2023-03-10T05:51:03.592'
   DATE_D$BEG      STRING    '2022-07-09T19:32:33.519'
   DATE_D$END      STRING    '2022-07-09T19:32:33.851'
   TELAPSE         DOUBLE          0.33200006
   DATE_D$AVG      STRING    '2022-07-09T19:32:33.685000'
   ORIGIN          STRING    'National Solar Observatory'
   TELESCOP        STRING    'Daniel K. Inouye Solar Telescope'
   OBSRVTRY        STRING    'Haleakala High Altitude Observatory Si'...
   NETWORK         STRING    'NSF-DKIST'
   INSTRUME        STRING    'VISP'
   OBJECT          STRING    'unknown'
                   < Press Spacebar to continue, ? for help >  

etc...

You are strongly recommended to use the /UNCOMP_DELETE flag when reading DKIST data.  

Similarly, for VBI data

IDL> read_dkist, file, index, data, /use_shared_lib, /uncomp_delete
VBI_2022_06_03T20_02_53_753_00430500_I_ADQVB_L1.fits
 --------------------------------------------------------------
| reading VBI_2022_06_03T20_02_53_753_00430500_I_ADQVB_L1.fits |
 --------------------------------------------------------------
% Compiled module: FITSIO_READ_IMAGE.

 etc.

To make READ_DKIST working with the VBI data you will need to specify the /USE_SHARED_LIB option.

 

READ_DKIST is based upon READ_SDO with SDO specific features removed. Additional tidying up to make the code more DKIST instrument specific is ongoing.

Reading DKIST Data in SolarSoft

A version of READ_DKIST.PRO to run under SSW is being created. Note that if you have SolarSoft already installed, the READ_SDO.PRO code should be able to read in DKIST data albeit not cleanly.


  • No labels