IDL/SSW Analysis Software for SWAP and LYRA Peter Gallagher Trinity College Dublin peter.gallagher@tcd.ie ISSI 20 June 2006
SWAP Image Objects Create a SWAP image object Load the latest image IDL> swap = obj_new( ’swap’ ) Load the latest image IDL> swap -> latest IDL> swap -> plot IDL> swap -> plot, /grid Get roll IDL> print, swap -> get( /roll ) IDL> rswap = swap -> rotate( 45 ) IDL> rswap -> plot ISSI 20 June 2006
SWAP Image Objects Listing SWAP files IDL> file = SWAP -> list( '1-mar-03 13:00’ ) ;-- find nearest file IDL> help, file FILE STRING = 'SWAP_20030301_125948042.FTS’ IDL> files = SWAP -> list( '1-mar-03', '2-mar-03’ ) ;-- list files for range of times IDL> help, files FILES STRING = Array[987] IDL> help, files[0] STRING = 'SWAP_20030301_000006719.FTS’ IDL> swap -> copy, files[ 0 ] ;-- download first file IDL> swap -> copy, files[ 0:9 ] ;-- download first 10 files IDL> swap -> read, files[ 0 ] ;-- read downloaded file ISSI 20 June 2006
SWAP Image Objects Differentially rotate Extract raw image data IDL> dswap = swap -> drotate( 5, /days ) IDL> dswap -> plot Extract raw image data IDL> image = swap -> getdata( /image ) IDL> help, image INT = Array[1024, 1024] ISSI 20 June 2006
SWAP Image Objects Plot small FOV and compare with SOHO/CDS data IDL> swap -> plot, fov =5, center = [ -1000, 100 ] IDL> cds -> plot, /over IDL> eit -> plot, /interlace ISSI 20 June 2006
SWAP Image Objects Extract image map IDL> map = swap -> getdata( /map ) IDL> help, /stucture, map ** Structure <40e0fb08>, 13 tags, length=2097256, refs=2: DATA INT Array[1024, 1024] XC FLOAT -8.15294 YC FLOAT 21.0663 DX FLOAT 2.63500 DY FLOAT 2.63500 TIME STRING ' 9-Mar-2004 07:24:58.402' ID STRING ' ProbaII SWAP 171’ ROLL_ANGLE FLOAT 0.00000 ROLL_CENTER FLOAT Array[2] DUR FLOAT 12.5970 XUNITS STRING 'arcsecs' YUNITS STRING 'arcsecs' IDL> plot_map, map ISSI 20 June 2006
LYRA Lightcurve Objects Creating a LYRA Object IDL> lyra = obj_new( ‘lyra’ ) Plotting LYRA Object IDL> lyra -> plot IDL> lyra -> plotman IDL> lyra -> plot, '1-jun-04' IDL> lyra -> plot, ‘1-june-04 05:40’, ‘3-jun-04 07:33’ LYRA Channel Selection IDL> lyra -> plot, ‘1-jun-04’, /lyman_alpha IDL> lyra -> plot, ‘1-jun-04’, /herzberg ;-- 200-220 nm IDL> lyra -> plot, ‘1-jun-04’, /aluminium ;-- He II (30.4 nm) IDL> lyra -> plot, ‘1-jun-04’, /zirconium ;-- “hot” channel IDL> lyra -> plot, '1-jun-04', '5-jun-04’, /lyman ;-- plot four days of Lyman Alpha ISSI 20 June 2006
LYRA Lightcurve Objects LYRA Cadence Selection? IDL> lyra -> plot, ‘1-jun-04’, /lyman, cadence = ‘10’ ;-- 10Hz IDL> lyra -> plot, ‘1-jun-04’, /lyman, cadence = ‘1’ ;-- 1Hz How to retrieve a LYRA lightcurve IDL> data = lyra -> getdata( /lyman ) ;-- only retrieve Lyman Alpha IDL> help, data FLOAT = Array[1000] IDL> data = lyra -> getdata() ;-- retrieve all channels FLOAT = Array[1000, 4] IDL> data = lyra -> getdata( /lyman, cadence = ‘0.1’ ) ;-- retrieve Lyman 1Hz FLOAT = Array[100] ISSI 20 June 2006
LYRA Lightcurve Objects How to retrieve a LYRA lightcurve (cont) IDL> herz = a -> getdata( /herzberg ) IDL> times = a -> getdata( /times ) ;-- extract time array IDL> utbase = a -> get( /utbase ) ;-- extract UTBASE IDL> utplot, times, high, utbase ;-- no objects! Working with LYRA structure IDL> struct = a -> getdata( /structure ) ;-- extract LYRA structure IDL> help, struct, /structure ** Structure <70774e0>, 15 tags, length=3936, data length=3928, refs=1: UTBASE STRING '22-Mar-2002 18:00:00.000' ; utbase time TARRAY LONG Array[61] ; time array in seconds relative to utbase DATA FLOAT Array[61, 2] ; 2 channels of LYRA data in W/m^2 ETC, ETC. ISSI 20 June 2006
LYRA Lightcurve Objects How to save LYRA/SWAP data in an IDL save file IDL> lyra -> savefile, filename = ’lyra.sav' ; saves all properties of LYRA object IDL> restore, ’lyra.sav' ;-- Restore saved data IDL> swap -> savefile, filename = ‘swap.sav’ IDL> restore, ‘lyra.sav’ ISSI 20 June 2006
Integration into SolarSoft Distributed in Proba-II branch of SolarSoft (SSW) www.lmsal.com/solarsoft $SSW/proba_ii/lyra $SSW/proba_ii/swap Easy to maintain and distribute. Calibration files can be uploaded to $SSWDB and distributed as soon as they’re available. ISSI 20 June 2006
Near-Realtime Processing Integrate SWAP and LYRA into SolarMonitor.org. Tbyte archive at NASA Goddard Space Flight Center (another in Dublin). Provide near-realtime 17.5 nm SWAP full-disk and partial-frame images. Analogous to EIT or SWAP. Provide LYRA lightcurves in format similar to GOES/XRS or RHESSI. ISSI 20 June 2006
SWAP/LYRA Database Specification Must have logical and therefore searchable format: yyyymmdd/swap/swap_0171_yyyymmdd_hhmmss.fts yyyymmdd/lyra/lyra_fltr_yymmdd_hhmmss.fts Must be accessible via http http://www.solarmonitor.org/probaii/swap/yyyymm/dd/ http://www.solarmonitor.org/probaii/lyra/yyyymm/dd/ ISSI 20 June 2006
References “Programming IDL Objects” http://orpheus.nascom.nasa.gov/~zarro/idl/objects/objects.html “IDL Map Software for Analyzing Solar Images” http://orpheus.nascom.nasa.gov/~zarro/idl/maps.html “IDL Sockets Users Guide” http://orpheus.nascom.nasa.gov/~zarro/idl/sockets/sockets.html “GOES IDL Users Guide” http://orpheus.nascom.nasa.gov/~zarro/idl/goes/goes.html “GOES/SWAP IDL Users Guide” http://orpheus.nascom.nasa.gov/~zarro/idl/SWAP/SWAP.html ISSI 20 June 2006