SWAP data are stored in FITS files, each with a keyword header containing all the information about the image. All lines in the header contain a keyword and its value, and a short comment concerning the keyword definition.
There are two levels of SWAP FITS files: Level Zero (LV0) and level 1 (LV1).
A SWAP LV0 FITS file contains all information that is required to analyze any particular image (contains image data in digital numbers (DN)), but at the same time to restrict this information to that subset which is stable over time and will not require reprocessing when a new understanding of the instrument performance becomes available.
A SWAP LV1 FITS file is to be a handy, easy-to-use format for the scientific user, thereby shielding the user from the instrumental peculiarities which are not relevant for solar physics research. In other words, this type of FITS file contains an image that is corrected for all known instrumental defects, with the image data in exposure-normalized units (DN/s/pixel). Therefore, it is the reference science product and does not require the user to use any proprietary software.
LV0 and LV1 FITS keyword structure
SIMPLE = T / SWAP data will always be SIMPLE FITS format
BITPIX = 16 / Number of bits per data pixel (’-’ means float values)
NAXIS = 2 / Number of axes
NAXIS1 = 1024 / Length of data axis 1
NAXIS2 = 1024 / Length of data axis 2
EXTEND = F / F = no extensions T = extension(s)
SIMPLE is a logical (either F or T) keyword specifying whether the file conforms to basic FITS standards; SWAP data will always be SIMPLE = T. BITPIX states the number of bits per pixel and can take values 8, 16, 32, …, so although SWAP data will be 11 or 12 bits/pixel, BITPIX must be set to 16 (could be -32 in case of level 1 data which are still in float format). The next 3 keywords indicate the number of axes and number of pixels along each of those axes. All SWAP images will have two axes and most images will be 1024x1024 pixels.
If EXTEND = T, then one or more extensions (e.g. a cosmic-ray pixel map (when it exists)) are included in the FITS file. If EXTEND = F, there are no extensions.
FILENAME = ‘swap_lv0_20100501_000217.fits’ / FITS filename
FILE_TMR = ’swap_00254518859444_117ffb14.fits’ / SWTMR filename
FILE_RAW = ’BINSWAP201005010002310000054889PROCESSED’ / raw telemetry filename
FILE_TAR = ’BINSWAP_1132_SVA1_2010.05.01T02.29.20.tar’ / raw telemetry package
FILE_RAW reveals the name of the raw binary file from which the FITS file has been created. The FITS file name is specified by FILENAME , which has the format “swap_lv0_YYYYMMDD_HHMMSS.fts”, with the date/time info as in DATE-OBS below.
DATE = ’2010-05-01T03:21:42.44’ / UTC time of FITS file creation
DATE-OBS = ’2010-05-01T00:02:17.398’ / UTC time of observation
DATE-OBS denotes both the date and time corresponding to the start of the image exposure. DATE refers to the time of FITS file creation and will often differ from DATE-OBS due to telemetry delays, level of processing …
LEVEL = 0 / data processing level: 0=raw, 1=science
CREATOR = ‘SWEDG’ / FITS creation software
ORIGIN = ‘ROB-SIDC’ / Royal Observatory of Belgium
TELESCOP = ‘PROBA2’ / satellite name
INSTRUME = ‘SWAP’ / instrument name
OBJECT = ‘Sun EUV’ / object observed
FILTER = ‘Al’ / Aluminum filter
DETECTOR = ’CMOS 1Kx1K’ / HAS CMOS detector 1024x1024 pixels
WAVELNTH = 174 / [Angstrom] bandpass peak response
CREATOR contains the version of the software which produced the current FITS file. LEVEL specifies the data processing level (0 for raw data, 1 for science data). Following convention, TELESCOP and INSTRUME denote, respectively, the names of the mission (PROBA2) and observing instrument (SWAP) while OBJECT and WAVELNTH describe the target of observation and observation wavelength (here, the full Sun observed in an extreme-ultraviolet passband around 17.4nm). Note that for historical reasons, the wavelength is given in Angstroms rather than nanometers. The instrument’s FILTER and DETECTOR are also described.
OBS_MODE = ‘Sun Centered’ / sun_cen, fix_off, var_off, cme_track, calib
CAP_MODE = ‘CDS’ / (DS, CDS) capture mode
EXPTIME = 10 / [s] commanded exposure time
The OBS_MODE keyword will contain the content of the “Image Mode” metadata parameter, which can have one of the following values: “Sun Centered”, “Fixed Off Pointing”, “Variable Off Pointing”, “CME tracking”. If the image was commanded using a so-called ’table acquisition’ (i.e. each of a set of consecutive images has slightly different settings, or pointing), the value “Variable Off Pointing” is given. The image can however still show the Sun in the centre.
Two distinct detector capture modes are possible: non-destructive readout and destructive readout; thus CAP_MODE will be either CDS or DS, indicating whether correlated double sampling is used (nominal, i.e. non-destructive readout), or rather double sampling.
The integration time is given by EXPTIME and since SWAP does not have a shutter, this should be very accurate.
BSCALE = 1.0 / ratio of physical to array value at 0 offset
BZERO = 0.0 / physical value for the array value 0
BUNIT = ‘DN’ / unit of physical value
DATAMIN = 10. / minimum valid physical value
DATAMAX = 3588. / maximum valid physical value
SWAVINT = 11.0037 / [DN/s] average intensity in calibrated image
To avoid storing LV1 images as large floating-point numbers, a multiplicative factor BSCALE and an additive factor BZERO will be calculated, to enable each array value to be represented as an integer (Nx,y). The true value of each pixel would then be Nx,y*BSCALE+BZERO. For LV0 images, BSCALE and BZERO will be 1.000 and 0.000.
BUNIT is the unit of the data: “DN” for LV0 image, “DN/s/pixel” for LV1 images. It is understood that in both cases these are counts per pixel.
DATAMIN and DATAMAX refer to the minimum and maximum data values within the file. The values given here are based on the full dynamic range of a 12-bit image. Note that for a future dataset of calibrated images, both the maximum and minimum values will still be integers rather than floating point, and will need to be used in conjunction with BSCALE and BZERO .
SWAVINT is the average intensity in calibrated image (LEVEL1 only).
FIRSTROW = 1 / first read-out detector row
LAST_ROW = 1024 / last read-out detector row
FIRSTCOL = 1 / first read-out detector column
LAST_COL = 1024 / last read-out detector column
REBIN = ’off ’ / on-board rebin (2x2 pixel average)
These keywords summarize the properties of the image relative to the detector and electronics. The first and last pixel indices read out in the X and Y directions are given in FIRSTROW[COL],LAST_ROW[COL] ; for most SWAP images, these will be 1 and 1024 along both axes.
Some images will be re-binned onboard and the rebin mode is given in REBIN ; OFF means no re-binning, ON means re-binning [2x2 pixel average]. In general, images that are rebinned onboard are resampled back up to 1024x1024 on the ground. So the REBIN specifies whether the image has been resampled from 512x512 back up to full size or not.
The parameters below are the positional parameters of the spacecraft in various coordinate systems. The World Coordinate System (WCS) keywords have been used to make SWAP data as compatible as possible with other missions and data analysis frameworks (e.g. STEREO-SECCHI, SDO, VSO, SolarMonitor, SolarSoft).
WCSNAME = ’Helioprojective-cartesian’ / level < 1: aligned with ecliptic North
CTYPE1 = ’HPLN-TAN’ / WCS axis X
CTYPE2 = ’HPLT-TAN’ / WCS axis Y
CUNIT1 = ’arcsec ’ / WCS axis X units
CUNIT2 = ’arcsec ’ / WCS axis Y units
CD1_1 = 0. / WCS coordinate description matrix
CD1_2 = 3.16226783968713 / WCS coordinate description matrix
CD2_1 = -3.17123287671252 / WCS coordinate description matrix
CD2_2 = 0. / WCS coordinate description matrix
CDELT1 = 3.17123287671252 / [arcsec] average pixel scale along axis 1
CDELT2 = 3.16226783968713 / [arcsec] average pixel scale along axis 2
CRVAL1 = 0. / [arcsec] level < 1: unknown
CRVAL2 = 0. / [arcsec] level < 1: unknown
CRPIX1 = 512.5 / [pixel] reference point axis 1
CRPIX2 = 512.5 / [pixel] reference point axis 2
LONPOLE = 180. / [deg] native longitude of the celestial pole
CROTA1 = 270. / [deg] axis 1 to WCS rotation angle
CROTA2 = 270. / [deg] axis 2 to WCS rotation angle
SWXCEN = 538.820 / [pixel] axis 1 location of solar center in lv0
SWYCEN = 529.480 / [pixel] axis 2 location of solar center in lv0
DTPLAR1 = 332.000 / [s] predicted time to prev large angle rotation
DTPLAR2 = 2000.00 / [s] predicted time to next large angle rotation
This group of keywords describes the relationship between the detector and target. WCSNAME describes the coordinate system in which the coordinates of the solar image are given: ’Helioprojective-Cartesian’ (see Thompson, W.T., A&A 449, 791-803 (2006)). CTYPE1 describe the nature of the images - the projection of the solar disk. ’HPLN’ is the Helioprojective westward angle, ’HPLT’ is the Helioprojective northward angle. The units (arcsec) are given in CUNIT1 . CRPIX1 give the pixel indices of the reference point - the Sun’s center - and CRVAL1 give the value of this point in the units defined by CUNIT1 (only known in level 1 data).
The plate scale of the SWAP detector is given by CDELT1 , while the rotation of the axes (in this case, two) about the direction normal to the image plane is given in CROTA1 . Since the two image axes are perpendicular, only CROTA1 is strictly needed, but CROTA2 is retained here for consistency. Note that since PROBA2 is in LEO (low Earth orbit) and has the star trackers on one side of the spacecraft, it must perform a full 360 degree roll per orbit. This will be done via a series of large angle rotations, rather than continuously rolling, and the value will be given in CROTA1 for each image.
In general, the pointing information in level 0 images refers to ecliptic North. In the example above, ecliptic North is pointing towards the left and CROTA1 = 270 is the angle (in degrees) that specifies the rotation needed to correct for the spacecraft roll and bring ecliptic North vertically up in the SWAP image. Level1 images on the other hand are always aligned with Solar North and rotated with Solar North up.
SWXCEN and SWYCEN is the center of the Sun in level 0 data, in FITS image pixel coordinates. These keywords are only available in level 1 data.
DTPLAR1 is the predicted time to when conditions may happen for an large angle rotation, previous to the time specified in DATE-OBS . DTPLAR2 is the predicted time to when conditions may happen for an large angle rotation, after the time specified in DATE-OBS . These two keywords are needed to check if an image was affected by motions, blurring, jitter, due to LAR. They count only for level 0 data, as for level 1 they are already taken into account.
RSUN_ARC = 952.565823288377 / [arcsec] photospheric solar radius
SOLAR_EP = 5.92376011723103 / [deg] s/c ecliptic North to solar North angle
HGLT_OBS = -4.18794601814401 / [deg] s/c heliographic latitude
HGLN_OBS = 0.00131206248030214 / [deg] s/c heliographic longitude
DSUN_OBS = 150707994180.746 / [m] s/c distance from Sun
HEEX_OBS = 150707994015.506 / [m] s/c Heliocentric Earth Ecliptic X
HEEY_OBS = 4059466.73665196 / [m] s/c Heliocentric Earth Ecliptic Y
HEEZ_OBS = 5772938.06008995 / [m] s/c Heliocentric Earth Ecliptic Z
GSEX_OBS = 632918.814814495 / [m] s/c Geocentric Solar Ecliptic X
GSEY_OBS = -4059466.73664814 / [m] s/c Geocentric Solar Ecliptic Y
GSEZ_OBS = 5772938.06009963 / [m] s/c Geocentric Solar Ecliptic Z
LOS_ALT = 1000000. / [m] s/c LOS altitude (1000000=no atmosphere)
TRAPPROT = 0.00000 / [ct/cm^2/s] AP-8 MAX > 10MeV @ 725km model
TRAPELEC = 0.00000 / [ct/cm^2/s] AE-8 MAX > 1MeV @ 725km model
GEOD_ALT = 715181.780575385 / [m] s/c WGS84 altitude
GEOD_LAT = 36.8498881219034 / [deg] s/c sub-point geodetic latitude
GEOD_LON = 83.8975305819936 / [deg] s/c sub-point longitude
P2_X0 = / [deg] s/c yaw
P2_Y0 = / [deg] s/c pitch
P2_ROLL = / [deg] s/c roll
RSUN_ARC and HGLT_OBS denote the photospheric radius and B0 angle for a given DATE-OBS as viewed from the spacecraft. DSUN_OBS is the distance between Sun and observer; note that it, like all distances, is given in meters, since FITS uses MKS units strictly. These solar ephemeris values are computed by the FITS generation software, based upon observation date and time. SOLAR_EP is the angle (in degrees) that specifies the rotation needed to bring Solar North vertically up in the SWAP image when the spacecraft roll is zero. This roll is already applied in level 1 images.
TRAPPROT and TRAPELEC are omni-directional fluxes of trapped particles (protons and electrons, respectively) with energies higher than the specified ones, at an altitude of 725 km. The values are taken from AP-8 MAX and AE-8 MAX models, coming from SPace ENVironment Information System (SPENVIS) which is a WWW based interactive tool providing space engineers and scientists with information on the space environment and its likely effects on space systems.
The X-, Y- and Z- components of the spacecraft’s position in Heliocentric-Earth-Ecliptic (HEE) and Geocentric-Solar-Ecliptic (GSE) coordinates are also given. Positional data in a variety of coordinate systems/formats are routinely calculated per image using the PPT tool. These data will be stored both as SPICE kernels and in a database at the science center, and may be made available via the science center upon request.
TEMP1DET = 0.469995 / [Celsius] detector temperature (SW HK T CF)
TEMP2DET = 0.390009 / [Celsius] detector temperature (SW HK T CF)
TTEMP1 = ’2010-05-01T00:01:52’ / UTC time of detector temp 1st sample
TTEMP2 = ’2010-05-01T00:02:22’ / UTC time of detector temp 2nd sample
TEMPDARK = 0.402278853031 / [Celsius] temperature used in dark subtraction
In level 0 data, the first 4 keywords are filled by the Ancillary data values of the SWAP detector temperature “SW HK T CF” (CF denotes Cold Finger) before and after DATE-OBS . The times at which these measurements apply are given in TTEMP1 . The level 1 software interpolates those two temperature and adds the result used for dark current subtraction in the keyword TEMPDARK .
IS_PROC = 1 / on-board image processing
TRANTIME = 254518859444 / [OBET] transferring time
SACQTIME = 254518631843 / [OBET] start acquisition time
EACQTIME = 254518859444 / [OBET] end acquisition time
LANG_ROT = 0. / commanded large angle rotation component
PAV_ROT0 = 0. / commanded paving rotation component 0
PAV_ROT1 = 0. / commanded paving rotation component 1
HASSTDBY = 0 / HAS detector standby mode
READRDIV = 0 / read-out rate divider
PGA_OFFS = 59 / PGA offset
PGA_GAIN = 1 / PGA gain
LED_POW = ’off ’ / calibration LED power
LED_SEL = ’a ’ / calibration LED selection
HASBLACK = 4 / HAS detector black level
HASOFFST = 11 / HAS detector offset level
ARTEFX = ’on ’ / (off,on,cosmic rays) on-board artefact removal
RECODING = ’fixed ’ / (off,fixed,adaptive) on-board recoding
RECNUM = 3600 / recoding upper limit
RECBIAS = 10 / recoding lower limit
COMPRESS = ’jpeg ’ / (off,lzw,jpeg) on-board compression algorithm
LZWDECOR = ’off ’ / LZW decorrelation
PN = 254 / on-board priority number
SIZCOMPI = 622672 / size of on-board compressed image
NPRESCR = 0 / # preserved pixels - cosmic rays
NPRESLZW = 0 / # preserved pixels - LZW decorrelation
These keywords contain values that are specified in the commanding of the SWAP instrument.
COMMENT $Id: swap_fits_template 3079 2010-04-23 16:36:59Z bogdan $
CHECKSUM = ’CLE6FIE6CIE6CIE6’ / HDU checksum updated 2010-05-01T03:21:44
DATASUM = ’841998185’ / data unit checksum updated 2010-05-01T02:44:34
HISTORY FITSHEAD2STRUCT run at: Sat May 1 03:28:28 2010
HISTORY p2sw_hdrchk VERSION: 0.90 Computed detector temp.: 0.40227885 Celsius
HISTORY p2sw_pmcdiv VERSION: 0.90 Reverted wrt swap_pmc_20100308_164500.fits
HISTORY p2sw_pixrep VERSION: 0.90 Replaced wrt swap_satcds_20100113_152800.fits
HISTORY p2sw_drksub VERSION: 0.90 Subtracted modeled dark with coefficients in
HISTORY p2sw_drksub VERSION: 0.90 swap_dark_coefs_20100323_142000.save using
HISTORY p2sw_drksub VERSION: 0.90 T=273.55 K, dt=10.0000 s
HISTORY p2sw_pmcrep VERSION: 0.90 Reverted wrt swap_pmc_20100308_164500.fits
HISTORY p2sw_ffcorr VERSION: 0.90 Flat-field: swap_flatcds_20100308_164500.fits
HISTORY p2sw_despike VERSION: 0.90 Despiked at the 6.0-sigma level (10520 pix)
HISTORY p2sw_imgcor VERSION: 0.90 Image rotated to solar North up
HISTORY p2sw_imgcor VERSION: 0.90 Image scaled to square pixels
HISTORY p2sw_imgcor VERSION: 0.90 Image centred on solar disk centre
HISTORY p2sw_expnorm VERSION: 0.90 Exposure time normalized data (DN/s/pixel)
This information is related to checksums of the current data and the history of processes that have run on the SWAP image. SWTMR stands for SWAP Telemetry Reformatter, the software that unpacks and reformats the raw data packets. SWEDG is the SWAP Engineering Data Generator which generates level 0 FITS files. More information on the level 1 calibration steps (performed by the SWAP Base Science Data Generator) can be found here.