SOT Data Analysis Guide

Welcome to the SOT Data Analysis Guide!

The purpose of this guide is to demonstrate the ways in which users can understand the various data products produced by the Solar Optical Telescope on board the Hinode spacecraft. After a brief introduction of Hinode and SOT, the guide contains sections describing:

  • How to browse data

  • What data does SOT produce

  • How to download and read these data, and perform basic processing tasks

The guide is an evolving resource to which material will be added. The online version of the guide will be available at this URL, and a PDF version of the full guide can be generated by clicking on the printer icon in the navigation bar.

If there are questions, issues, or other feedback related to the analysis of SOT data, please send an email to derosa@lmsal.com.

The Hinode/SOT Instrument

Hinode Overview

Hinode is a Japanese mission with significant contributions by team members in the United States, Europe, and United Kingdom. The spacecraft carries three instruments: the Solar Optical Telescope (SOT), the Extreme Ultraviolet Imaging Spectrometer (EIS) and the X-Ray Telescope (XRT). Together, they are designed to provide multi-wavelength data from the photosphere to the upper corona. The 875 kg spacecraft (originally designated Solar-B) was launched in 2006 into a polar, sun-synchronous orbit at ~600 km altitude with an inclination of −98° allowing nine months of continuous observations and a three-month eclipse season per year. Hinode is operated from the Institute of Space and Astronautical Science (ISAS) in Sagamihara, Japan, which is a division of the Japan Aerospace Exploration Agency (JAXA). More details about the Hinode mission are found in Kosugi et al. (2007).

The following table contains links to the top-level Hinode pages at the participating institutions:

InstituteLink
JAXA/ISAS (Japan)https://www.isas.jaxa.jp/home/solar
National Astronomical Observatory of Japanhttps://hinode.nao.ac.jp/en
NASA's Marshall Space Flight Center (USA)https://hinode.msfc.nasa.gov
Mullard Space Science Laboratory (UK)http://solarb.mssl.ucl.ac.uk/SolarB
European Space Agencyhttps://www.esa.int/Science_Exploration/Space_Science/Hinode_Solar-B_overview

The SOT Instrument

SOT optical telescope assembly

SOT is a diffraction-limited Gregorian telescope with a 0.5 m aperture. The SOT instrument package comprises a spectro-polarimeter (SP) and a filtergraph (FG), which each benefit from the image stabilization capabilities of the onboard correlation tracker (CT). Together, this instrumentation enables the evolution of photospheric dynamics to be studied in detail from a space-based environment that is free from blurring caused by turbulence in the Earth's atmosphere. Additional information about SOT is found in Tsuneta et al. (2008).

SOT-SP is a scanning-slit spectrograph that provides polarization spectra useful for inferring the vector (three-component) magnetic field at the solar photosphere. SOT-SP achieves this goal by obtaining line profiles of two magnetically sensitive lines, namely the Fe I 6302 Å doublet, and nearby continuum using a 0.16″×164″ slit as it scans a region of interest. Spectra are exposed and read out continuously 16 times per rotation of the polarization modulator, and the raw spectra are added and subtracted on board in real time to demodulate, generating Stokes IQUV spectral images. Two spectra may be simultaneously taken in orthogonal linear polarizations, and when these are combined in data analysis after downlink, spurious polarization due to any residual image jitter or solar evolution is greatly reduced. The slit is aligned in the north-south direction, and it can map a region of interest by scanning in the east-west direction, up to the full 320″-wide field of view. More details about SOT-SP observing modes are provided in this section.

SOT-FG was an imaging instrument that created images of the solar photosphere and chromosphere in various wavelengths of light, however, due to a camera anomaly in February 2016, SOT-FG no longer operates. The two primary imaging modes of SOT-FG, a broadband filter imager (BFI) and a narrowband filter imager (NFI), sampled different fields of view, passbands, and spectral regimes. The archive of SOT-FG data available for analysis by the scientific community spans almost a decade. More details about the observing modes of SOT-FG are provided in this section.

The BFI produced photometric images with broad spectral resolution in six wavelength bands (CN band, Ca II H line, G band, and three continuum bands) at high spatial resolution (0.0541″ per pixel) and at rapid cadence (less than 5 s was possible, however 10s–20 s was more typical) over a 218″×109″ field of view. Exposure times were typically between 0.03–0.8 s, however, the instrument was capable of longer exposure times when needed. The BFI provided accurate measurements of horizontal flows and temperature in the photosphere, and measurements in the short wavelength bands permitted identification of sites of strong magnetic field.

The NFI provided intensity, Doppler, magnetic, and full Stokes polarimetric imaging at high spatial resolution (0.08″ per pixel) in any of ten spectral lines (including a range of Fe lines having various sensitivities to the Zeeman effect, Mg I b, Na D lines, and Hα) over the full 328″×164″ field of view. These spectral lines span the photosphere to the lower chromosphere, and enabled diagnoses of dynamical behavior of magnetic and velocity fields within the lower atmosphere. The passband of the Lyot filter was approximately 90 mÅ (depending slightly on wavelength) and the wavelength center was tunable to several positions in a spectral line and its nearby continuum. The NFI could be operated in synchronous mode with the polarization modulator of SOT in order to take Stokes IQUV images. The edges of the full field of view were slightly vignetted due to the limited size of the optical elements of the tunable filter. The unvignetted area was 264″ in diameter. Exposure times were typically 0.1s–1.6s, however the instrument was capable of longer exposure times when needed.

A schematic of the light paths within the SOT Optical Telescope Assembly (OTA), CT, NFI, BFI, and SP is shown in the image below, which is adapted from Figure 5 of Tsuneta et al. (2008).

SOT schematic

Browsing and Exporting SOT Data

Browsing and Finding SOT Data

The Heliophysics Knowledgebase Event and Data Search Tool

The Heliophysics Events Knowledgebase (HEK) is a database of both solar events and solar observations, and enables the user to search and find events and features of interest and the associated observations from Hinode and IRIS. The primary reference for the HEK is Hurlburt et al. (2012).

SOT-FG search tab

To find SOT data, the search interface is best used as follows. First take note of the search panel on the left-hand side, which is used to define the search interval and the parameters of the search. The green tabs enable the user to either key off of events and features of interest that have been identified in solar data, data from IRIS, or data from SOT-FG, SOT-SP, or EIS on Hinode.

The "SOT" tab, shown at right, allows the user to filter the search based on various SOT-FG parameters, including which wavelengths are required, the cadence of the images, and the center of the field of view. These fields are all optional, however; fields that are left blank are not used to filter the search. The "Desc." (description) field in the search panel can be used to search for particular features of interest. Including a specific word (e.g., "plage" or "sunspot" or "HOP") in this field will only return entries that contain this field somewhere in the event description.

At the bottom of this panel are checkboxes for indicating whether data from other instruments (IRIS, or SOT-SP, XRT, and EIS on Hinode) with correlated fields of view are required or optional in the search. This functionality allows users to search for overlapping SOT and IRIS datasets, for example.

SOT-SP search tab

Similarly, the "SOTSP" tab, shown at right, allows users to search for scans from SOT-SP. Here the user is presented with a different set of fields corresponding to the parameters of a SOT-SP scan. At the bottom of this panel are checkboxes for indicating whether data from other instruments (IRIS, or SOT-FG, XRT, and EIS on Hinode) with fields of view that overlap the SOT-SP scan area are required or optional.

After performing a search, the results will be displayed in the right-hand panel, and the fields of view of the observations will be drawn in the central image. Clicking on one of the items in the search results will show at the bottom of the webpage some additional details about the sets of data that were found. These details are linked to a summary webpage for each observations from which sample images or movies can be viewed.

Browsing Levels 1 and 2 Data from SOT-SP

The regions scanned by SOT-SP are assembled into maps by the higher-level pipeline (as discussed in more detail in this section). Summaries of these observations, on a month-by-month basis, are available in tabular format either on this webpage (for SOT-SP Level 1 data) or on this webpage (for SOT-SP Level 2 data). Browsing these data can sometimes be more efficient than performing a HEK search as described above, as the thumbnail images enable the user to immediately see whether the scan focuses on an active region, plage, or quiet sun (for example).

Exporting SOT Data

Once the date interval of the desired SOT data is known, there are two basic ways to export SOT data. The first method is to download data files from one of the partner data centers. The table below links to the various data centers and lists data are served. Alternatively, users can export data from within a SSWIDL session, as shown in this section.

Data Provider (and link to search interface)Current Levels Served
DARTS (Sagamihara, Japan)Level 0 only
LMSAL (Palo Alto, CA, USA)all levels
CSAC at HAO (Boulder, CO, USA)SOT-SP Levels 1 and 2
Virtual Solar ObservatoryLevel 0 only
Solar Data Analysis Center (Greenbelt, MD, USA)all levels, except SOT-FG Level 1
Hinode Science Data Centre Europe (Oslo, Norway)Level 0 only

At present, the SOT team is in the process of mirroring the higher-level data products to the data centers listed above. The aim is to enable the user to skip the calibration step (generating Level 1 from Level 0 requires running either fg_prep.pro or sp_prep.pro in IDL), in response to the current efforts throughout the heliophysics community to move away from proprietary software suites (e.g., IDL), as well as to align the data management scheme for SOT-FG with those implemented by more recent missions (e.g., IRIS) where serving Level 1 data to the scientific community is the norm. The option to download the Level 0 data will remain available to users who prefer to perform their own calibrations; both Level 0 and higher levels will be archived.

SOT-SP Data Products

Observing Modes

The scanning slit-spectrograph of SOT-SP has a lot of flexibility in mapping a region of interest on the Sun. The instrument uses a 0.16″×164″ slit to scan a region of interest up to 320″ wide, but the multitude of options include whether to use on-board binning both in the scan direction and along the slit, whether to adjust the area to be scanned, and whether to repeat the scan automatically. The instrument also has the capability to vary the integration time at each slit position.

The most common observing modes are summarized in the following table, which is adapted from Table 3 of Tsuneta et al. (2008):

Observation ModeParameterValue
Normal maps have the highest
spatial resolution, but also use a
slow scan rate and have high
telemetry requirements.
Time per slit position
FOV along slit
Sampling along slit
Polarimetric S/N
Mapping Rate
Full width scan time
4.8 s
164" (1,024 pixels)
0.16"
103
169 s per 5" scanned
approx. 3 hours
Fast maps are binned 2×2 on
board*, and represent a useful
tradeoff between spatial resolution,
scan frequency, and telemetry.
Time per slit position
FOV along slit
Sampling along slit
Polarimetric S/N
Mapping Rate
Full width scan time
3.2 s
164" (512 pixels)
0.32"
103
64 s per 5" scanned
approx. 70 minutes
Dynamics mode uses the
highest spatial resolution but with
a narrow scan width and reduced
height, and continuously rasters
the same (narrow) field of view.
Time per slit position
FOV along slit
Sampling along slit
Polarimetric S/N
Mapping Rate
1.6 s
32" (200 pixels)
0.16"
580
63 s per 5" scanned
Deep maps dwell at each slit
position for a longer integration
time in order to detect the weakest
polarization signals possible
(e.g., weak fields in quiet Sun).
Time per slit position
FOV along slit
Sampling along slit
Polarimetric S/N
Mapping Rate
Full width scan time
up to 12.8 s
164" (1,024 pixels)
0.16"
>103
up to 400 s per 5" scanned
approx. 7 hours

*In fast-map mode, the Stokes profiles both at neighboring pairs of slit positions and at pairs of neighboring pixels along the slit are summed on board the spacecraft, hence "binned 2×2".

Data Processing Levels

Processing of SOT-SP data involves several steps. The following list outlines each processing level and links to the appropriate section:

  • SOT-SP Level 0 data (described below) are the uncalibrated polarization spectra from each scan after having been reformatted from the raw bitstream.

  • SOT-SP Level 1 data comprise the calibrated polarization spectra.

  • SOT-SP Level 2 data are vector (three-component) magnetograms and a set of related variables, resulting from using the Level 1 data as input to a Milne-Eddington spectropolarimetric inversion scheme.

  • SOT-SP Level 2.1 data result from resolving the 180° ambiguity in the azimuthal magnetic field that is present in the inverted Level 2 data.

SOT team members at the High Altitude Observatory (HAO) in Boulder, CO oversee a data-processing pipeline that transforms the uncalibrated Level 0 spectra into higher-level data for use by the broader community. SOT-SP data are available from multiple providers, however some providers may not serve all data levels. This section lists which providers serve those data, along with suggestions as to how to browse the archive.

Level 0 (Uncalibrated SOT-SP Data)

SOT-SP Level 0 data are the uncalibrated polarization spectra taken by the spectrograph, after having been reformatted from the raw bitstream. These data are available in self-describing FITS files, and similarly to SOT-FG, the SOT-SP Level 0 filenames have the format <DataCode>YYYYMMDD HHMMSS.S.fits. For SOT-SP <DataCode> is always SP4D, and the remainder of the filename is the timestamp at which the spectra were taken.

Each SOT-SP Level 0 file contains a four-dimensional array (hence "SP4D" in the filename), with the array dimensions corresponding to the dispersion direction, the distance along the slit, the side of the CCD, and the Stokes variable. A list of keywords may be found in this appendix.

Level 1 (Calibrated SOT-SP Data)

Overview

SOT-SP Level 1 calibrated polarization spectra are produced from the Level 0 FITS files by applying the sp_prep.pro routine (written in IDL, publicly available through SolarSoft), which applies the set of calibration algorithms that are described in detail in Lites & Ichimoto (2013). The source code for sp_prep.pro can be found at this link.

As listed in the introduction to Lites & Ichimoto (2013), the calibration process involves the following tasks:

  • accounting for the digital wrap-around of the Stokes \(I\) profiles and restoration of the spectra for on-board bit-shifting,
  • applying the dark- and flat-field corrections,
  • removal of instrumentally induced polarization,
  • rectification of spectra so that the dispersion is along a pixel row,
  • aligning the spectra vertically between the two beams of the dual-beam polarimeter,
  • merging of the two polarization beams from the dual-beam polarimeter,
  • correcting the spectral-line curvature, the thermal drift of the spectrum in the wavelength direction, and orbital Doppler shift,
  • rotation of the polarization frame of reference to the standard frame (\(+Q\) along solar East–West),
  • reversal of the spectrum direction so that increasing spectral pixel corresponds to the direction toward longer wavelengths,
  • compensation for residual crosstalk between \(I\) and \(Q\), \(U\), and \(V\),
  • shifting the spectrum along pixel columns to correct for thermal flexure of the instrument in that direction,
  • correction for the slowly varying intensity response of the instrument (vignetting of the image plane) in the slit-scan direction, and
  • conversion of the data back to the same format as the unprocessed data (integers, possibly bit-shifted).

Quick analyses of the Level 1 SOT-SP data are also used to produce estimates of some of the Level 2 (inverted) data products, including estimates of the longitudinal and transverse field, Doppler velocity, continuum intensity, and several other parameters. These so-called "quick-look" data are discussed further in Section 3.2.13 of Lites & Ichimoto (2013). Estimates of the following physical quantities are available, as listed in Table 2 of that paper:

  • empirical location of 6301.5 Å line center [pixels]
  • longitudinal apparent flux density [Mx cm−2]
  • transverse apparent flux density [Mx cm−2]
  • continuum intensity [DN]
  • wavelength of minimum intensity of 6301.5 Å and 6302.5 Å [pixels]
  • solar north-south disk position, north of disk center [pixels]
  • orbital Doppler shift, from header [pixels]
  • cosine of heliocentric angle \(\mu\)
  • smoothed empirical spectral drift correction [pixels]
  • smoothed predicted spectral drift correction [pixels]
  • smoothed empirical thermal drift along slit [pixels]
  • Universal Time from start of operation [minutes]
  • \( I/I_c \) integrated over lines
  • \( \sqrt{Q^2+U^2}/I_c \) integrated over continuum wavelengths
  • \( \sqrt{Q^2+U^2}/I_c \) integrated over lines
  • measure of fractional linear polarization
  • \( Q/I_c \)integrated over lines
  • \( \sqrt{Q^2+U^2+V^2}/I_c \) (total polarization fraction) integrated over lines
  • \( U/I_c \)integrated over lines
  • signed mean \( V/I_c \) integrated over lines
  • solar east-west disk position, west of disk center [pixels]
  • estimate for field azimuth, counterclockwise from solar west [radians]
  • scattered light profile [DN]
  • solar Carrington latitude [heliographic degrees]
  • solar Carrington longitude [Stonyhurst degrees]
  • estimate of the thermal drift along the slit [pixels]
  • estimate of the thermal spectral drift [pixels]
  • Universal Time from start of day [hr]
  • Stokes \(V\) zero-crossing wavelength, 6301.5 Å and 6302.5 Å [pixels]
  • empirical thermal drift along slit [pixels]

Level 1 File Format

Level 1 SOT-SP data are available as groups of FITS files that are organized by each commanded scan program. The individual FITS files have the same format as the corresponding Level 0 FITS files, with pertinent details regarding the calibration process added to the list of keywords in the FITS header.

Level 1 "Quick-Look" File Format

The quick-look data are found as tags in the stks structure after running the sotsp_stks2struct.pro function. These quantities were generated from the Level 1 SOT-SP data using the stksimages_sbsp.pro routine, and are listed in the table below. In the "Array Size" column in the table, \(nx\) is the number of slit positions, \(ny\) is the number of pixels in the \(y\) direction along the slit, and \(n\lambda\) is the number of wavelength indices in each spectrum. Units of each quantity are given in square brackets.

TagArray DimensionsDescription
AVCTR\(nx\)empirical location of 6301.5 Å line center [pixels]
BLAPP(\(nx\),\(ny\))longitudinal apparent flux density [Mx cm−2]
BTAPP(\(nx\),\(ny\))transverse apparent flux density [Mx cm−2]
CONTI(\(nx\),\(ny\))continuum intensity [data units]
CTRLINE(\(nx\),\(ny\),2)pixel index of minimum intensity for 6301.5 Å and 6302.5 Å lines
DCLNTN(\(nx\),\(ny\))solar declination [arcsec north of disk center]
DOPCV\(nx\)orbital Doppler shift DOP_CVR [pixels]
FITAV\(nx\)smoothed empirical spectral drift correction [pixels]
FITSP\(nx\)smoothed predicted spectral drift correction [pixels]
FITWW\(nx\)smoothed empirical thermal drift along slit [pixels]
FTIME\(nx\)time from start of operation [min]
MUVAL(\(nx\),\(ny\))cosine of heliocentric angle \(\mu\)
PII(\(nx\),\(ny\))Stokes \(I\) integrated over the spectral lines relative to the continuum
PLL(\(nx\),\(ny\))\(\sqrt{Q^2+U^2}\) integrated over the spectral lines relative to the continuum
POLNET(\(nx\),\(ny\))a measure of linear polarization (preferred-frame Stokes \(Q\) signal relative to the continuum)
PQ(\(nx\),\(ny\))Stokes \(Q\) integrated over the spectral lines, relative to the continuum
PLC(\(nx\),\(ny\))\(\sqrt{Q^2+U^2}\) integrated over the continuum relative to the continuum
PTOT(\(nx\),\(ny\))\(\sqrt{Q^2+U^2+V^2}\) integrated over spectral lines, relative to the continuum
PU(\(nx\),\(ny\))Stokes \(U\) integrated over spectral lines, relative to the continuum
PV(\(nx\),\(ny\))Stokes \(V\) integrated over spectral lines, relative to the continuum
RGTASN(\(nx\),\(ny\))solar right ascension [arcsec west of disk center]
RUFAZ(\(nx\),\(ny\))rough guess for field azimuth angle (i.e., when linear polarization signals rotated to this angle, the signals are in the preferred frame), counterclockwise from solar west [radians]
SCATLP\(n\lambda\)scattered light profile
SLAT(\(nx\),\(ny\))solar latitude [heliographic degrees]
SLONG(\(nx\),\(ny\))solar longitude [Stonyhurst degrees]
SLTDR\(nx\)Ichimoto prediction, thermal drift along slit [pixels]
SPCDR\(nx\)Ichimoto/Kubo prediction, thermal spectral drift [pixels]
UTIMED(\(nx\),\(ny\))universal time from start of day [fractional hours]
VCS(\(nx\),\(ny\),2)pixel index of Stokes \(V\) zero-crossing for 6301.5 Å and 6302.5 Å lines (note: problematic for anomalous line profiles)
WDELW\(nx\)empirical thermal drift along slit [pixels]

Level 2 (Inverted SOT-SP Data)

SOT-SP Level 2 data are the output of a spectral-line inversion scheme. The Milne-Eddington gRid Linear Inversion Network (MERLIN) is a Milne-Eddington inversion code that is based on the least-squares fitting of the observed Stokes profiles using the Levenberg-Marquardt algorithm. MERLIN can use one or multiple spectral lines to retrieve the magnetic field vector, the line-of-sight velocity, the source function, the Doppler broadening as well as the contribution of macroturbulence and the stray-light factor. The MERLIN source code is publicly available from the Community Spectro-polarimetric Analysis Center (CSAC) at HAO. Some additional information on compiling and running MERLIN can be found in the section below.

Each Level 2 dataset is stored in a FITS file containing 42 extensions, one per inversion parameter or ancillary data product:

ExtensionQuantity
1Magnetic field strength
2Magnetic field inclination angle, in [0°, 180°]
3Magnetic field azimuth angle, in [0°, 180°]
4Doppler shift of 6301.5 Å line
5Doppler shift of 6302.5 Å line
6Doppler width
7Line strength
8Damping parameter
9Source function
10Source function gradient
11Macroturbulence
12Stray light fraction
13Stray light shift
14Magnetic field strength error
15Magnetic field inclination error
16Magnetic field azimuth error
17Doppler shift error of 6301.5 Å line
18Doppler shift error of 6302.5 Å line
19Doppler width error
20Line strength error
21Damping parameter error
22Source function error
23Source function gradient error
24Macroturbulence error
25Stray light fraction error
26Stray light shift error
27\( \chi^2 \) for Stokes \( I \)
28\( \chi^2 \) for Stokes \( Q \)
29\( \chi^2 \) for Stokes \( U \)
30\( \chi^2 \) for Stokes \( V \)
31Total \( \chi^2 \)
32Continuum intensity
33Original continuum intensity
34Polarization degree
35Magnitude of Stokes \( V \)
36Final status of inversion
37Number of iterations
38\( x \) coordinate (at each slit position)
39\( y \) coordinate (at each slit position)
40Observation time (at each slit position)
41Mechanical slit position
42Scattered light profile

Compiling and Running MERLIN

As mentioned above, the MERLIN source code is publicly available from the Community Spectro-polarimetric Analysis Center (CSAC) at HAO, and is distributed under GPLv3.

After downloading, uncompressing, and expanding and the archive file, you should have a directory structure as follows, according to the INSTALL file:

merlin
|--> client
|--> lib
|  |--> fico
|  |--> tinyxml
|  |--> initialization
|--> m4
|--> helpers

The INSTALL file indicates that MERLIN also requires the following libraries to be compiled and installed:

As mentioned in the INSTALL file, there is a configure script that will set up the compilation environment. One may need to set the CPPFLAGS and LDFLAGS environment variables to point to directories containing the include directories and library directories.

Once the configure script exits without any errors, the user can run make. If the compilation process successfully completes, a merlin executable will appear in the client directory. Running merlin without any arguments should show the help output:

MERLIN: -h -v -x [XML_INPUT_FILE_NAME] -d [DEBUG LEVEL] -p
where
-d [DEBUG LEVEL]: set program to debug mode. This flag is optional.Debug level can be 1 or .2
-x [XML_INPUT_FILE_NAME]: provides the name of an XML file with the instructions about the inversion.
-v: show program version in standard output and exits. This flag is optional.
-p: Dump both, the observed and the fitted profiles. This flag is optional.
-h: writes this help and exits.
Consult the manual for complete documentation.

If there is an error regarding dynanmically linked libraries, then one may need to set the LD_LIBRARY_PATH environment variable.

To use MERLIN to perform an inversion, one needs an input XML file and a corresponding FITS file containing the input spectrum. In this SOT-SP-specific example, we can use as input the first spectrum in a scan from June 5, 2015, SP3D20150605_122327.9C.fits, which can be downloaded from this link. The corresponding XML file, SP3D20150605_122327.9C.fits.xml, may be downloaded from this link. After updating the directories specified by the <INPUT> and <OUTPUT> keywords in the XML file, the inversion can be performed by specifying the name of the XML file via the -x switch:

merlin -x SP3D20150605_122327.9C.fits.xml

After a short wait, an output NetCDF file named SP3D20150605_122327.9C.fits.nc should appear.

Level 2.1 (Disambiguated SOT-SP Data)

Producing the SOT-SP Level 2.1 data involves resolving the 180° ambiguity that is present in the image-plane azimuthal angle in the inverted Level 2 data. This azimuthal direction ambiguity is inherent in the polarization signal, and hence is a feature of all inferences of the vector magnetic field by inverting Zeeman-effect polarization spectra.

The SOT-SP Level 2.1 data files also include the three components of the magnetic field vector after being transformed from the components described by the image plane coordinate system (described by the line-of-sight magnetic field \( B_{LOS} \), plane-of-sky azimuthal angle, and the inclination angle to the line-of-sight) into helioprojective components governed by Stonyhurst heliographic (longitude, latitude, radius) coordinates. Note, however, that while the components of the resulting \( B \) vector have been transformed, these transformed components are gridded on the original image-plane coordinate system.

The ME0 Algorithm

The disambiguation of the azimuthal magnetic field direction is computed using the ME0 code (Leka et al. 2009), which is based on the Minimum Energy algorithm by Metcalf (1994). This is the same algorithm that is operating in the SDO/HMI pipeline (Hoeksema et al. 2014). The ME0 code is publicly available.

The ME0 algorithm seeks to globally (across the field of view) minimize the "energy" \( \sum (|\nabla\cdot B| + \lambda |J_z|) \) that consists of two components: the divergence term involving \(\nabla\cdot B\), which provides a physical constraint, and a term involving the vertical current density \(J_z\), which provides a local smoothness constraint. The weighting factor \( \lambda\) determines the relative importance of the two components, and here is set to unity by default. All calculations are performed on the heliographic components although the ambiguity is in the image-plane azimuth. The vertical component of the divergence is estimated using a potential-field extrapolation.

ME0 uses simulated annealing to minimize the equation above. As such, the ME0 algorithm has several adjustable parameters that govern the "cooling schedule", i.e., the details of the optimization implementation. To create the SOT-SP Level 2.1 data files, the algorithm was run with the following attributes (recorded in AMB* header keywords, listed below, with their values):

  • AMBTFCT0: Input factor to scale initial temperature [2.0];
  • AMBTFCTR: Input factor that governs the magnitude of the steps taken to reduce temperature as the system cools (closer to 1.0 indicates slower cooling) [0.99];
  • AMBNEQ: Number of reconfigurations performed at each temperature setting [100].

These settings result in considerably "slower" cooling (i.e., more computationally intensive but also more likely to find an optimal solution) than is used by the HMI pipeline, but because there are considerably fewer pixels in the SOT-SP scans than in HMI full-disk data, this approach is feasible.

The behavior of the disambiguation algorithm is governed by and recorded in the following additional FITS header keywords:

  • AMBGFLG: Geometry flag [2: spherical geometry].
  • AMBNPAD: Size of buffer (number of pixels to add to each side of the field of view), used to avoid ringing with Fourier transforms [200].
  • AMBSEED: Input random number seed [1].
  • AMBLMBDA: Weighting between divergence and vertical current density [1.0]
  • AMBNAP: The apodizing-window width, in pixels, for computing the potential field [10.0]
  • AMBNT[X,Y]: The tile size in \(x\) and \(y\) for computing the potential field (used in estimating vertical derivatives), pixels [10.0, 10.0]

The ME0 algorithm also supports the following keywords govern the threshold in the transverse field \(B_\perp\) below which annealing should stop and the potential-field acute-angle solution should be invoked. For SOT-SP Level 2.1 data, such screening is not invoked (i.e., all pixels are annealed), but the keywords are listed here for completeness:

  • AMBPFLG: Flag set when the potential-field acute-angle method is used to disambiguate pixels with \(B_\perp <\) AMBBTHR [0.0]
  • AMBATHR: Minimum transverse field strength for annealing [0.0]
  • AMBBTHR: Field strength below which to use acute angle [0.0]
  • AMBNEROD: Number of pixels by which to erode map above the threshold [1]
  • AMBNGROW: Pixels by which to dilate (grow) the eroded map [1]

An evaluation metric of the the final solution is also included in the header. The AMBERAT keyword is the ratio of the final value to the initial value of the energy expression being minimized, \( \sum(\mid\nabla\cdot B\mid + \lambda \mid J_z \mid) \). Lower values of this energy are more optimal, however the exact number depends on the particulars of the scan. Unless scans are otherwise identical, these values should not be compared between scans. Nevertheless, a general rule of thumb is that values above approximately 0.5 may indicate that the result is suspect.

The optimization stopping condition includes two components: the fraction of pixels for which all flips of the azimuth are accepted, and the decrease in the energy from a baseline energy at which this occurs. The energy of the first iteration is used as this baseline energy.

The parameter set for the optimization process detailed above was chosen by examining the degree of variation in the solution as a function of field strength, according to the governing optimization parameters AMBNEQ and AMBLMDA. Cooling schedules each with 10 random number seeds (AMBSEED) were tested, and, as expected, it was found that slower cooling achieves a better answer, based on two factors: the variation in final energies between seeds decreased, and the value of \(B_\perp\) above which 99% of pixels agree consistently between seeds also decreased. Testing the various options requires its own optimization scheme for complete parameter-space exploration, however the significant variation in the characteristics of each scan makes achieving a perfect cooling schedule for all data impractical.

Level 2.1 Data File Format

Each Level 2.1 dataset is stored in a FITS file containing 4 extensions:

ExtensionQuantity
1Disambiguated magnetic field azimuth angle, in [−180°, 180°]
2Stonyhurst heliographic latitude component (positive northward)
3Stonyhurst heliographic longitude component (positive westward)
4Stonyhurst heliographic radial component (positive opposite gravity)

As mentioned above, the heliographic components are gridded on the (original) image-plane coordinate system. Additionally, the magnetic fill fraction and magnetic field have been multiplied together for these field-component outputs.

Known Issues with the Level 2.1 Data

The disambiguation algorithm makes assumptions about the nature of the input data. When the input data do not conform to these assumptions, this may lead to some questionable results. There are specific situations that can contribute to questionable results:

  • Patches of \(B_\perp\) that apparently alternate sign from pixel to pixel ("checkerboarding") may appear when ME0 cannot reach a solution (see the bottom of Figure 15 in Hoeksema et al. 2014). There are various reasons for this effect (which a slower cooling schedule may mitigate), however we find that it often occurs in regions where MERLIN could not fit the Level 1 data well.
  • Random-looking solutions in weak-\(B_\perp\) areas may occur. Because all SOT-SP pixels are annealed (recall that AMBATHR and AMBBTHR are both set to 0.0), flipping their azimuth angle by 180° does not significantly change the resulting energy. There lack of information in these pixels prohibits ME0 from coming to a solution.

  • The reprojection of \(B\) from image-plane components to heliographic components relies on accurate pointing information in the SOT-SP headers. This pointing information is sometimes significantly off, especially for scans near the limb. Such errors can, for example erroneously place most of a scan off the solar limb, and negatively impact the annealing and the reprojection for heliographic components, or both. Disambiguated scans near the solar limb should be treated with care.

  • Instances where SOT's correlation tracker resets in the middle of a scan will introduce significant discontinuities in the inferred field strength and angles that negatively impact the spatial derivatives required for ME0. Generally, while the disambiguation results in the immediate vicinity of these resets will be negatively impacted, the rest of the scan (and disambiguation results) should have little impact.

Finally, users should be aware that the 180° ambiguity is inherent in the image-plane components. Flipping the image-plane azimuth by 180° does not correspond to a 180° change in the heliographic components. Depending on the relative strengths of the \( B_{LOS} \) and \(B_\perp\) components, the viewing angle and other geometric factors, there can either be a significant or a minimal change in the resulting heliographic components.

SOT-FG Data Products

BFI and NFI

As stated earlier, SOT-FG was an imaging instrument that created images of the solar photosphere and chromosphere in various wavelengths of light, however, due to a camera anomaly in February 2016, SOT-FG no longer operates. The two primary imaging modes of SOT-FG, a broadband filter imager (BFI) and a narrowband filter imager (NFI), sampled different fields of view, passbands, and spectral regimes.

The BFI on SOT-FG consisted of six interference filters mounted in a user-controlled filter wheel. The filters have bandpasses of between 3 Å and 8 Å and produce high-resolution, low-exposure-time filtergrams. The capabilities of the BFI are summarized in the following tables, which are adapted from Table 2 of Tsuneta et al. (2008).

BFI Observation Parameters
Field of view218"×109"
CCD detector size4,096×2,048 pixels (shared with NFI)
Spatial samplingas high as 0.0541" per pixel
Typical exposure timeas short as 0.03–0.8 s, but longer if desired
On-board summing options1×1, 2×2, or 4×4
Readout time3.4 s, 1.7 s, or 0.9 s, depending on summing
(faster for partial-frame readouts)
Reconfigure time<2.5 s (e.g., to change filters)

BFI WavelengthBandpassScience Purpose
3883.5 Å (CN band)7 Åmagnetic elements
3968.5 Å (Ca II H)3 Åchromospheric structure
4305.0 Å (CH band / G band)8 Åmagnetic elements
4504.5 Å (blue continuum)4 Åirradiance/temperature
5550.5 Å (green continuum)4 Åirradiance/temperature
6684.0 Å (red continuum)4 Åirradiance/temperature

The NFI provides intensity, Dopplergram, magnetogram, and full Stokes polarimetric imaging at high spatial resolution in any one of 10 spectral lines. The NFI consists of a tunable Lyot filter with selectable bandpasses in six key solar spectral regions, which are determined by wide-band interference filters preceding the Lyot filter. The bandpass of the Lyot filter is narrow enough for taking magnetogram and Dopplergram measurements in a number of the available spectral lines. Additionally, the NFI can be operated synchronously with the polarization modulator of SOT in order to take Stokes \(I\), \(Q\), \(U\), and \(V\) images.

The edges of the NFI field of view are slightly vignetted due to the limited size of the optical elements of the tunable filter residing in a telecentric beam. The unvignetted area is 264" in diameter. The capabilities of the NFI are summarized in the following tables, which are adapted from Table 2 of Tsuneta et al. (2008).

NFI Observation Parameters
Field of view328"×164" (unvignetted 264"×164")
CCD detector size4,096×2,048 pixels (shared with BFI)
Spatial samplingas high as 0.08" per pixel
Spectral resolution90 mÅ at 6300 Å
Typical exposure timeas short as 0.1–1.6 s, but longer if desired
On-board summing options1×1, 2×2, or 4×4
Readout time3.4 s, 1.7 s, or 0.9 s, depending on summing
(faster for partial-frame readouts)
Reconfigure timeapproximately 5 s (e.g., to tune the Lyot filter)

NFI WavebandTunable RangeLine(s) of InterestScience Purpose
5172 Å8 ÅMg I b (5172.7 Å, \(g_{eff}\)=1.75)chromospheric
Dopplergrams
and magnetograms
5250 Å8 ÅFe I (5247.1 Å, \(g_{eff}\)=2.00)
Fe I (5250.2 Å, \(g_{eff}\)=3.00)
Fe I (5250.6 Å, \(g_{eff}\)=1.50)
photospheric
magnetograms
5576 Å8 ÅFe I (5576.1 Å, \(g_{eff}\)=0.00)photospheric
Dopplergrams
5896 Å8 ÅNa I D (5896 Å, \(g_{eff}\)=1.33)photospheric and
chromospheric
fields
6302 Å8 ÅFe I (6301.5 Å, \(g_{eff}\)=1.67)
Fe I (6302.5 Å \(g_{eff}\)=2.50)
Ti I (6303.8 Å, \(g_{eff}\)=0.92)
photospheric
magnetograms,
umbral
magnetograms
6563 Å8 ÅH \(\alpha\) (6562.8 Å)chromospheric
structure

NFI Observing Modes

The NFI instrument produced line-of-sight velocity maps ("Dopplergrams") in any of the spectral lines shown above. The primary photospheric Dopplergram line was the Fe I line at 5576 Å which has a Landé factor of 0, and is therefore not broadened by magnetic fields. Chromospheric Dopplergrams were made using the Mg I 5173 Å or the Na I 5896 Å lines. Dopplergrams were made by taking the ratio of the difference of blue and red wing intensities divided by their sum. The intensities may either be simple filtergrams, or Stokes \(I\) from \(IV\) observations. Component images were processed on-board in the smart memories or downlinked for later analysis. The field of view was limited to the central 1,024×2,048 pixels when on-board processing was used at full pixel resolution. The estimated 1σ noise level of NFI Dopplergrams produced in this way is 30 m s−1 for a Dopplergram formed with 0.16" pixels (2×2 summing) with a 0.8 s exposure time.

The primary magnetogram products from the NFI were longitudinal flux density magnetograms, also known as "Stokes \(V/I\)" magnetograms. The Stokes \(I\) and \(V\) component images were created by integrating exposures over specific rotation phases of the polarization modulator in the light path and demodulating them by arithmetic in the "smart memory" buffers of the instrument RAM. Due to limitations of the smart memory sizes, the full field of view can be used for magnetograms only when 2×2 or 4×4 summing is employed. At full pixel resolution, the field of view is limited to the central 1,024×2,048 pixels, covering a field of approximately 82"×164".

The Fe I 6302.5 Å and Na I 5896 Å spectral lines are most commonly used for photospheric magnetograms. The noise of a typical NFI magnetogram created using only one line position is approximately 103 Mx per pixel. Comparison of NFI Stokes \(V/I\) magnetograms with the full vector field maps created by the SOT-SP can be used to more precisely calibrate the NFI magnetograms in terms of magnetic flux density per pixel.

In addition to the Stokes \(V/I\) magnetograms discussed above, the NFI is capable of imaging in full Stokes vector mode. In this mode, the NFI exposures are synchronized with the rotating polarization modulator to create Stokes \(I\), \(Q\), \(U\), and \(V\) images in a rapid sequence in the on-board smart memories. The Stokes \(I\), \(Q\), \(U\), and \(V\) provide more information about the full magnetic field vector.

There are two methods of obtaining Stokes vector images from the NFI:

  • In shuttered mode, the NFI shutter is synchronized to the polarization modulator and gives precise 0.1 s exposures in all quadrant-phases of the rotation. The allowed frame sizes and pixel summing are the same as for the longitudinal magnetograms. A full complement of Stokes images takes about 20 s to capture in this mode.

  • In shutterless mode, the NFI shutter is left open and one of four focal plane masks is inserted in order to reduce the FOV down to a narrow vertical strip centered on the CCD chip. The CCD is then read out in synchrony with the polarization modulator, accumulating charge in the central strip and then shifting it under the focal mask. The smart memories add or subtract the strip images as they are received from the CCD to create the component Stokes images. The cadence of these observations ranges from 1.6 s to 12.8 s, and the sensitivity can be very high because of the long integration time. While the field of view is limited in this mode, the field of view can be increased at the expense of time resolution by reading out different strips on the CCD and combining them afterwards. The table below lists the shutterless mode observation parameters:

    NFI Shutterless Mode ObservablesPixel Size (Summing)CCD Read AreaField of View
    0.1 s exposures of
    simultaneous \(I\), \(Q\), \(U\), and \(V\)
    0.08" (1×1)
    0.16" (2×2)
    0.32" (4×4)
    64×2,048
    120×2,048
    320×2,048
    5.2"×164"
    12.8"×164"
    25.6"×164"
    0.2 s exposures of
    \(I\), \(U\), and \(V\),
    or \(I\) and \(Q\), or \(I\) and \(V\)
    0.08" (1×1)
    0.16" (2×2)
    0.32" (4×4)
    192×2,048
    384×2,048
    768×2,048
    15.4"×164"
    30.7"×164"
    61.4"×164"
    0.4 s exposures of \(I\) and \(V\)0.08" (1×1)
    0.16" (2×2)
    0.32" (4×4)
    400×2,048
    800×2,048
    1,600×2,048
    32.0"×164"
    64.0"×164"
    128.0"×164"

Blemishes in NFI Filtergrams

Unfortunately, images from the NFI contain blemishes that degrade or obscure the image over portions of the field of view. These artifacts were caused by air bubbles in the index-matching fluid inside the tunable filter that distorted and moved when the filter was tuned. For this reason, NFI observing was usually limited to one spectral line at one or a small number of wavelengths for extended periods of time.

Software changes made since launch provided some control over the location of the bubbles. Targets were usually placed in blemish-free regions of the CCD. Tuning schemes were developed that permitted tuning to different positions in a line profile without disturbing the bubbles. These procedures enabled collection of the various observations listed above.

Flat-field correction of NFI images remains a challenge, however magnetograms and Dopplergrams are usually self-correcting since they are made from ratios of intensity differences. The Na D line at 5896 Å was the default line for longitudinal magnetic and Doppler observations, due to its higher light level and more robust prefilter.

Data Processing Levels

Images from SOT-FG are available as either Level 0 (uncalibrated) or Level 1 (calibrated) formats for the time when SOT-FG was in operation from October 2006 to February 2016. Both levels are available to the user community via the methods described in this section. The following list outlines each processing level and links to the appropriate section:

  • SOT-FG Level 0 data are the uncalibrated image files reconstructed from the packets of data downlinked from the spacecraft.

  • SOT-FG Level 1 data comprise the calibrated image files. This section provides more details on the SOT-FG calibration procedure.

Each SOT-FG data file is in the FITS format and contains a two- or three-dimensional image. A list of FITS keywords associated with SOT files may be found in this appendix.

Level 0 (Uncalibrated SOT-FG Data)

SOT-FG Observing Modes, GenIDs, and ObsIDs

SOT-FG data are contained in self-describing FITS files. The filenames have the format <Mode>YYYYMMDD_HHMMSS.S.fits, where <Mode> is a string that identifies the FG observing mode. The remainder of the filename is the timestamp at which the image(s) were taken. The processing level is identified by the DATA_LEV keyword in the FITS header.

Files associated with simple filtergrams, or on-board processed Dopplergram or magnetogram data, typically contain single images (i.e., two dimensional arrays), whereas files associated with multiple Stokes parameters contain multiple image (i.e., three-dimensional arrays).

The table below lists all SOT observing modes that are found in the files in the SOT-FG archive. (Please note that there are several files in the SOT-FG archive containing images taken prior to the opening of the SOT door on 2006 October 25. The images taken in the few days after the door opened did not have the image stabilization system engaged.)

The "GenID", "ObsID", and "String Description" columns of the table represent the values of the GEN_ID, OBS_ID, and OBS_TYPE keywords found in the FITS headers of files in the SOT-FG archive, and together identify the particulars of the observing mode. (ObsIDs that were never used in flight do not appear in the table.) Most GenIDs are associated with multiple ObsIDs. Additionally, modes FGDG and FGMG are associated with multiple GenIDs. GenIDs with an asterisk appear in very few files, and are referenced in the list of notes following the table.

ModeGenIDObsID(s)String DescriptionDescription
FG11, 22, 24, 26, 71FG (simple)basic filtergram
FGIV22, 40, 41, 42, 61, 62, 63, 64, 65, 66, 67FG shuttered I and VStokes \(IV\) images
FGIQUV33, 57, 59, 60, 68, 69, 70, 76, 77FG shuttered StokesStokes \(IQUV\) images
FGMG44, 83, 85FG MG4 V/Imagnetogram (Stokes \(V/I\) image), summed 4×4
FGMG5*5FG MG4 V and IStokes \(I\) and Dopplergram images, summed 4×4
FGMG681, 82, 84FG MG2 V/Imagnetogram (Stokes \(V/I\) image), summed 2×2
FGMG773FG MG2 V and IStokes \(I\) and Dopplergram images, summed 2×2
FGMG888, 89FG MG1 V/Imagnetogram (Stokes \(V/I\) image)
FGDG978, 79, 80FG DG4 velDopplergram image, summed 4×4
FGDG10*10FG DG4 2vDopplergram image, summed 4×4
FGDG11*11FG DG2Dopplergram image, summed 2×2
FGFOCUS1212FG focus scanone filtergram of a set of filtergrams, each having different focus settings
FGIVDG1886, 87FG shuttered IV+DGStokes \(IV\) and Dopplergram images
FGSIV3232, 44FG shutterless I and VStokes \(IV\) images
FGSIQUV3333, 43, 54FG shutterless StokesStokes \(IQUV\) images
FGSIQ34*34FG shutterless I and QStokes \(IQ\) images
FGSIUV36*36FG shutterless IUVStokes \(IUV\) images
FGSIV2003838, 55FG shutterless I and V with 0.2s intervalsshutterless Stokes \(IV\) images
FGSIV1003939, 56FG shutterless I and V with 0.1s intervalsshutterless Stokes \(IV\) images

Notes regarding the above table:

  • The SOT-FG data archive contains only two files having mode FGMG with GenID=5. These images were taken before the SOT door had opened.

  • The SOT-FG data archive contains only one file having mode FGDG with GenID=10. This image was taken before the SOT door had opened.

  • The SOT-FG data archive contains only two files having mode FGDG with GenID=11. These images were taken on 2008 March 3 as part of a test.

  • The SOT-FG data archive contains only 12 files having mode FGSIQ with GenID=34. These images were taken on 2008 May 3 as part of a test.

  • The SOT-FG data archive contains only 12 files having mode FGSIUV with GenID=36. These images were taken on 2008 May 3 as part of a test.

Level 1 (Calibrated SOT-FG Data)

Creating Level 1 SOT-FG data requires applying standard calibration algorithms to each Level 0 FITS file. Such calibrations are performed using the fg_prep.pro routine distributed via SolarSoft. The source code for fg_prep.pro can be found at this link.

In creating the Level 1 FITS header, fg_prep.pro will insert lines into the HISTORY fields that detail the specific calibration steps that were taken. As indicated below, several SolarSoft databases ("SSWDB's") are used.

The calibration process involves the following steps:

  • The fg_prep.pro routine first identifies whether the input file contains a BFI or NFI simple filtergram image, or an NFI Dopplergram, magnetogram, or Stokes polarimetric image.

  • Next, camera readout issues (e.g. missing rows at center) are corrected by calling fg_shift_pix.pro.

  • Next, dark current and dark pedestal are subtracted by calling fg_dark_sub.pro, which employs the dark-frame database stored in $SSWDB/hinode/sot/darks.

  • Next, flat-fielding is applied by calling fg_flatfield.pro, unless the image is an NFI Dopplergram or a magnetogram. The flat-field database available via $SSWDB/hinode/sot/flats is used.

  • Next, bad pixels due to radiation-belt or cosmic-ray spikes or streaks are corrected by calling fg_bad_pix.pro.

  • Next, the pointing keywords in the FITS headers are updated using sot_fix_pointing.pro. These updates are based on a post-observation alignment database available via $SSWDB/hinode/gen/sot_corr_db_corrected, which incorporates pointing information from the spacecraft's ultra-fine sun sensor combined with periodic alignment observations taken by the three Hinode instruments, and cross correlations between SOT-FG (Ca II H, G band, and magnetogram images) and SDO (AIA 1700 Å, HMI continuum, and HMI magnetogram images, respectively).

  • Lastly, the roll-angle and plate-scale keywords in the FITS headers are updated using sot_fix_roll_scale.pro. These updates are based on mission-averaged corrections and are the same for all images.

Notes

  • SOT-FG Level 1 files use the same filename convention as the Level 0 data files. Refer to this section for an explanation of the file-naming convention. The processing level is identified by the DATA_LEV keyword in the FITS header.

  • In some instances, SOT-FG Level 1 data are unchanged from their associated Level 0 files. For example, a Level 0 Na I D magnetogram image having no camera readout issues and no bad pixels will only have its header keywords updated, and there will be no change to the data itself.

SSWIDL Examples

What is SSWIDL?

Many Hinode/SOT data retrieval, calibration and analysis routines are written in Harris Geospatial Solutions' Interactive Data Language (IDL), and available via an installation of the SolarSoftWare (SSW) system, or "SolarSoft" for short. SolarSoft is a software distribution system used throughout solar physics research, and is comprised of publicly-available integrated software libraries, databases, and system utilities that provide a coordinated data analysis environment for solar physics research. It is largely hardware-, language- and site-independent, with mirroring capabilities to keep installations at various sites consistent. Below, setting up a new SSW installation and upgrating an existing installation are discussed, whereas tasks specific to SOT-FG and SOT-SP are discussed in the following sections.

Doing a Clean Install of SSW

To do a clean install of SSW, follow these steps:

  • Navigate to the main SSW installation webpage. This is the webpage containing instructions for installing SSW on different operating systems.

  • Next, click on the "SSW INSTALLATION FORM" link. The installation form allows the user to select the top-level path in which the software will reside, along with which packages are to be downloaded. For SOT-related software, select the SOT checkbox. If you think that you will be using the SSW interface to the Virtual Solar Observatory (see this section), then the VSO package should also be selected.

  • After completing the installation form, click on the "Generate Installation Script" button near the bottom of the page. The website will then give you an indication of how much disk space your SSW installation will occupy, and provide you with a link to your personalized installation script or batch file.

  • Next, save the installation script or batch file to disk by right-clicking on the link underneath the installation table. Run the script or batch file on your machine. On Windows systems, the batch file will be contained in an archive, which needs to be unzipped. Running the script or batch file will cause the SSW packages to be downloaded.

At this point, SSW and its constituent packages will (should) have been downloaded to your system. On Unix and Unix-like systems, a few more steps are required for IDL to have access to this software, as described on the SSW setup webpage. First, it is necessary to define the SSW environment variable so that it points to the top-level path of the SSW tree:

setenv SSW [whatever you specified on the form]

SSW also needs to know which packages are available. This is achieved by defining the SSW_INSTR environment variable so that it includes the packages that were downloaded:

setenv SSW_INSTR "sot vso [etc.]"

Then, after sourcing the setup file,

source $SSW/gen/setup/setup.ssw [/loud]

one simply types sswidl (an alias that was defined in the setup file) at the Unix prompt to start up IDL. IDL combined with the SolarSoft libraries and databases is frequently referred to as "SSWIDL".

TECHNICAL NOTE: The setenv commands above apply only to the C shell (csh) or related shells. If using Bourne or bash, then the proper syntax for setting an environment variable is export VARIABLE=value.

TECHNICAL NOTE: After the setup file setup.ssw is sourced, an alias named setssw will be defined that allows users to load specific libraries and instrument packages. This feature is useful when the SSW startup process is found to be undesireably lengthy, a situation often caused by a large number of packages being loaded when SSWIDL is starting up. In these situations, users can reduce the startup time by loading a smaller number of packages. For example, if one only needs the AIA and Chianti packages, then entering setssw aia chianti will cause SSWIDL to only load those two packages upon startup until either setssw is invoked again or the SSW_INSTR environment variable is changed.

Updating Packages for an Existing SSWIDL Installation

If you already have an existing SSWIDL installation and you simply want to add a new package or update an existing package, then at an IDL> prompt issue a command of the form

ssw_upgrade,/spawn,/loud,/package1 [,/package2] [,/...]

For example, adding or updating the SOT package is achieved by entering the following (note that some systems also require the /passive_ftp flag):

ssw_upgrade,/spawn,/loud,/sot [,/passive_ftp]

After adding new packages, be sure to add these to the list of instruments in the SSW_INSTR environment variable. More information regarding SSW upgrades is available on the SSW upgrade webpage.

Some SSW packages are dependent on others (as listed here), and these should be handled automatically during installation and upgrading.

The basic mechanism for accessing SOT data through SSW is through the SOT catalog, a database structure that is composed of a select information for each data product produced by the instrument. Specifically, the SOT catalog contains a subset of SOT FITS header keywords (such as field of view, filter positions, and image type) for each Level 0 file in the catalog. The main SSW routine for reading and searching the catalog is called sot_cat.pro and is described in more detail in the examples below.

The SOT catalog is stored in an ancillary SSW library referred to as the SSW database or "SSWDB". This database needs to be on your local machine in order to access the SOT catalog in an SSW session. If there is already a local copy of the SSWDB, then you can add the relevant SOT data by running

sswdb_upgrade, ‘hinode/sot’, /spawn, /loud

at the IDL> prompt.

Installing or Updating SOT-Related Catalogs and Databases

Various SOT-related catalogs and databases are stored in ancillary SSW libraries referred to as SSW databases or "SSWDBs". These databases need to be local in order to access the SOT catalog in an SSW session, and to perform other tasks such as running some calibration routines. Installing or updating the SSWDBs for SOT is achieved by running

sswdb_upgrade,'hinode/sot',/spawn,/loud

at the IDL> prompt. Because the SOT data catalog is constantly being updated as new data is added to the database, you may need to upgrade your local copy of the catalog via the ssw_upgrade.pro routine frequently. The first install of the SOT SSWDB will take some time to fully download because it includes dark-removal and flat-field calibration images that occupy several tens of gigabytes. More information on installing and upgrading SSW libraries can be found at this link.

SOT-SP Examples

Each SOT-SP Level 1 and 2 dataset is categorized by ScanID, which takes the form of a string representing the date and time of the beginning of the scan. The examples that follow assume that the ScanID of the particular SOT-SP scan of interest is known. For more information on how to find SOT-SP datasets of interest and identify their ScanIDs, please refer to this section.

Downloading and Reading Level 1 Data Files

TECHNICAL NOTE: The examples in this section may rely on the user having a valid SSWIDL installation (as shown in this section) with the most recent SOT software tree installed (as shown in this section).

Each SOT-SP Level 1 dataset is categorized by a ScanID, which takes the form of a string representing the date and time of the beginning of the scan. Once the ScanID of a SOT-SP scan is known, the sotsp_getdata.pro routine can be used to download the Level 1 files, i.e., the calibrated polarization spectra. The source code for sotsp_getdata.pro can be found at this link.

As an example, after first defining the ScanID in a variable

scanid='20140316_002851'  ;  164"x123" fast map of AR12002

the SSWIDL commands in the following code block show how to determine the URLs of the files containins the spectra of a scan of AR12002:

sotsp_getdata,scanid,level=1,urls=urls,/no_get  ;  URLs for the level 1 spectra

On output, the variable specified via the urls keyword will contain a list of URLs corresponding to the Level 1 spectra for this scan. The /no_get keyword skips the download step.

IDL> print,urls
http://www.lmsal.com/solarsoft/hinode/level1hao/2014/03/16/SP3D/20140316_002851/SP3D20140316_002851.8C.fits
http://www.lmsal.com/solarsoft/hinode/level1hao/2014/03/16/SP3D/20140316_002851/SP3D20140316_002855.8C.fits
http://www.lmsal.com/solarsoft/hinode/level1hao/2014/03/16/SP3D/20140316_002851/SP3D20140316_002859.6C.fits
http://www.lmsal.com/solarsoft/hinode/level1hao/2014/03/16/SP3D/20140316_002851/SP3D20140316_002903.4C.fits
http://www.lmsal.com/solarsoft/hinode/level1hao/2014/03/16/SP3D/20140316_002851/SP3D20140316_002907.2C.fits
[...]

To actually download the spectra for this scan, simply remove the /no_get switch, as shown in the code block following this paragraph. In general, because of the data volume, the sotsp_getdata.pro routine will take some time to complete. For this particular ScanID, sotsp_getdata.pro will create a 20140316_002851 directory into which 180 MB of data (506 files of the form SP3D20140316_??????.??.fits) will be downloaded. The date and time at which each spectrum was observed is embedded in the filename.

sotsp_getdata,scanid,level=1,urls=urls  ;  downloads the level 1 spectra
flist=file_search(scanid+'/SP3D*.fits')  ;  gets names of all level 1 files

If successful, the flist variable will contain the list of local SOT-SP Level 1 data files for this scan.

IDL> print,flist
20140316_002851/SP3D20140316_002851.8C.fits
20140316_002851/SP3D20140316_002855.8C.fits
20140316_002851/SP3D20140316_002859.6C.fits
20140316_002851/SP3D20140316_002903.4C.fits
20140316_002851/SP3D20140316_002907.2C.fits
[...]

Using the mreadfits/pro procedure to read in the whole list of scans as follows,

mreadfits,flist,index,data

one will end up with the calibrated Stokes \(I\), \(Q\), \(U\), and \(V\) spectra for all 506 files in a single 112×384×2,024-element array.

IDL> help,index,data
INDEX           STRUCT    = ->  Array[2024]
DATA            INT       = Array[112, 384, 2024]

SOT Level 1 image of
AR12002 (Stokes I)

In the data array, the first dimension correspons to wavelength, the second dimension corresponds to the \(y\) position along the slit, and the third dimension contains the four Stokes variables for each of the 506 slit positions (4×506=2,024).

The following code block will display an image of Stokes \(I\) near the line center at 6301.5 Å. After first determining the index nearest to 6301.5 Å in wavelength space, an image of Stokes \(I\) is extracted from the 112×384×2,024-element array and transposed so that the \(x\) direction is indexed first in the image. The final command plots the image shown at right.

nwave=(size(data,/dim))[0]  ;  number of wavelength points in the spectra
wavelength=index[0].crval1+index[0].cdelt1*(findgen(nwave)-index[0].crpix1+1)
minval=min(abs(wavelength-6301.5),minpix)  ;  line center wavelength index
imlinecent=transpose(reform(data(minpix,*,0:-1:4)))  ;  line center image
tv,bytscl(imlinecent)

Downloading and Reading Quick-Look Level 1 Assembled Scan Quantities

TECHNICAL NOTE: The examples in this section may rely on the user having a valid SSWIDL installation (as shown in this section) with the most recent SOT software tree installed (as shown in this section).

From the calibrated Level 1 SOT-SP spectra, estimates (rough estimates, in some instances) of quantities such as the line-of-sight and transverse field, Doppler and intensity maps, polarization levels, field azimuth, etc. can be made (see §3.2.13 of Lites & Ichimoto 2013). These estimates are no substitute for performing a proper spectropolarimetric inversion, as has been done to generate the Level 2 SOT-SP data, but they may be useful in some cases.

As an example, after first defining the ScanID in a variable

scanid='20140316_002851'  ;  164"x123" fast map of AR12002

we can use the commands in the following code block to download the Quick-Look Level 1 quantities for the same ScanID as in this section:

stks=sotsp_stks2struct(scanid) 

Some of these quick-look quantities are visible on this webpage, however many more (see this section) are found as tags in the stks structure after running the code block above.

Downloading and Reading SOT-SP Level 2 and Level 2.1 Data

TECHNICAL NOTE: The examples in this section may rely on the user having a valid SSWIDL installation (as shown in this section) with the most recent SOT software tree installed (as shown in this section).

Each SOT-SP Level 2 dataset is categorized by the same ScanID that is used for the corresponding calibrated Level 1 data, and which takes the form of a string representing the date and time of the beginning of the scan. Once the ScanID of a SOT-SP scan is known, the sotsp_getdata.pro routine can be used to download the Level 2 data file containing the set of inverted physical quantities for the scan. Additionally, if the dataset has been disambiguated, sotsp_getdata.pro will automatically retrieve the Level 2.1 data file as well. The source code for sotsp_getdata.pro can be found at this link.

Once the Level 2 data have been downloaded, they are read into SSW-style index/data arrays using read_sotsp.pro. The source code for read_sotsp.pro can be found at this link.

Single-Scan Example

As an example, after first defining the ScanID in a variable

scanid='20140316_002851'  ;  164"x123" fast map of AR12002

the SSWIDL commands in the following code block show how to download and read in a scan of AR12002:

sotsp_getdata,scanid,level=2  ;  downloads both level 2 and 2.1 data files
flist=file_search(scanid+'/'+scanid+'.fits')  ;  gets name of level 2 fits file
read_sotsp,flist(0),index,data,scan_info=scan_info,/xycoord
tv,bytscl(data(*,*,0),min=0,max=2e3)

SOT Level 2 scan of AR12002
(field strength)

For this particular ScanID, sotsp_getdata.pro will create a 20140316_002851 directory into which two files named 20140316_002851.fits (the Level 2 data file) and 20140316_002851_L2.1.fits (the Level 2.1 data file) will be downloaded. The read_sotsp.pro routine will then read these files and, on output, return the header information and data in the index and data variables, respectively.

The index variable will be a 42-element array of structures containing the keyword-value pairs for most of the physical quantities from the Level 2 and Level 2.1 processing. The data variable will be a 506×384×42-element array, where each of the 42 planes in the array corresponds to one of the physical quantities of interest. These physical quantities are identified by name in the ftype tag in the index structure array. The final command in the code block above plots an image of the magnetic field strength scaled to 2,000 G, as shown in the image above. Additional images of the physical quantities for this particular ScanID for can be viewed here.

Repeating-Scan Example

Some SOT-SP scans are the result of programs that repeatedly scan a particular area. For these repeating-scan cases, the Level 2 data are in the form of "film strips", i.e., the data will be in a flattened, two-dimensional format. After defining the ScanID in a variable

scanid='20131018_100537'  ;  15.4"x82" repeating maps of quiet Sun

an example of this effect is seen in the following scan of a quiet-Sun region:

sotsp_getdata,scanid,level=2
flist=file_search(scanid+'/'+scanid+'.fits')  ;  gets name of level 2 fits file
read_sotsp,flist(0),index,data,scan_info=scan_info,/xycoord
tv,bytscl(data(*,*,33),min=-1,max=1)

SOT Level 2 scan of quiet
Sun (Stokes V)

The code above will download and read in a repeating scan of a quiet-Sun region, and display an image of Stokes \(V\) (seen at right), where it is evident that the area is scanned multiple times. There are seven full scans, and the beginnings of an eighth scan that was interrupted when the instrument was commanded to stop. Creating a three-dimensional array of physical quantities from the flattened two-dimensional array is one of the functions of the sotsp_rasterize.pro routine, which is discussed in this section. Additional images of the physical quantities for this particular ScanID for can be viewed here.

General Notes about read_sotsp.pro

  • Generally, the index and data arrays will contain as many quantities as are available in the Level 2 and 2.1 data files, assuming the input ScanID is valid. Typically, scans that have not been disambiguated will contain information for 38 physical quantities from the Level 2 processing (as seen in the table found here); otherwise the four additional quantities (as seen in the table found here) will be included as well.

  • If a variable is provided via the scan_info keyword in the call to read_sotsp.pro, on output the resulting structure will contain three tags. The slitpos and times tags will contain the slit position number and observation time for each slit position. The scattpro tag contains the scattered light profile used during the processing.

  • If the /xycoord switch is not set in the call to read_sotsp.pro, then the output index and data variables will not include the \(x\) and \(y\) coordinate arrays.

How to Use sotsp_rasterize.pro

TECHNICAL NOTE: The examples in this section may rely on the user having a valid SSWIDL installation (as shown in this section) with the most recent SOT software tree installed (as shown in this section).

The sotsp_rasterize.pro program performs a couple of useful functions. First, the routine will identify duplicate and/or missing scan columns from either a single or repeating a SOT-SP Level 2 scan, and second, in the case of a repeating scan, the routine will indicate how a three-dimensional array of physical quantities can be created from the flattened two-dimensional Level 2 data array provided by read_sotsp.pro. Each function is discussed in turn below. The source code for sotsp_rasterize.pro can be found at this link.

How to Identify Missing Scan Columns in SOT-SP Level 2 Data

When data from particular slit positions are unable to be processed, they are removed from the processing pipeline that generates the Level 2 data products, resulting in Level 2 data files that contain only valid slit positions. As a consequence, images of the Level 2 physical quantities may appear to have discontinuous jumps due to the absence of those particular scan columns that were unable to be processed. Additionally, there may be duplicate (redundant) scan columns.

To determine which slit positions are valid and where they are located in the scan sequence, the sotsp_rasterize.pro routine can be used. This routine takes as input the scan_info structure read in from the read_sotsp.pro routine and returns an array that can be used to index the corresponding data array. Using the single-scan example from the previous section, sotsp_rasterize.pro can be utilized as follows:

scanid='20140316_002851'  ;  164"x123" fast map of AR12002
sotsp_getdata,scanid,level=2  ;  downloads both level 2 and 2.1 data files
flist=file_search(scanid+'/'+scanid+'.fits')  ;  gets name of level 2 fits file
read_sotsp,flist[0],index,data,scan_info=scan_info,/xycoord
tv,bytscl(data[*,*,0],min=0,max=2e3)
slitmap=sotsp_rasterize(scan_info)

On output, the slitmap array contains a mapping from the valid slit positions to the columns in the image arrays read in by read_sotsp.pro. To reform the data arrays, one can then do:

slitmap_dims=n_elements(slitmap)
new_dims=size(data,/dim)
new_dims[0]=slitmap_dims  ;  sets the correct size of the new data array
data_new=make_array(dim=new_dims,type=size(data,/type))
for ii=0,slitmap_dims[0]-1 do if slitmap[ii] ge 0 then data_new[ii,*,*]=data[slitmap[ii],*,*]
tv,bytscl(data_new[*,*,0],min=0,max=2e3)

SOT Level 2 scan of
AR12002 (field strength)

At this stage, all 512 slit positions of the scan will now be represented in the data_new variable, in comparison with the 506 slit positions in the original data array. The sotsp_rasterize.pro routine works by analyzing the set of slit positions that were present in the original data array and inferring the locations of the six slit positions for which data are missing. (The commanded program run by SOT-SP originally called for 512 slit positions.) As a result of the missing slit positions being present in the data_new array, each of the images in the data_new array will now have a constant spatial scale across the scan. The missing scan columns contain zeroes. In the accompanying image, one of the scan columns with missing data is about halfway across the scan and goes through the sunspot; the others are in the quieter-Sun region to the west of the active region.

How to Reconstruct the Raster from a SOT-SP Repeating Scan

As shown in the previous section, the Level 2 data files for SOT-SP repeating scans are in the form of flattened "film strips". In this example, the sotsp_rasterize.pro routine is used to infer the structure of the raster and place each individual scan in a three-dimensional array. As before, this routine takes as input the scan_info structure read in from the read_sotsp.pro routine and returns an array that can be used to index the corresponding data array. Using the repeating-scan example from the previous section, sotsp_rasterize.pro can be utilized as follows:

scanid='20131018_100537'  ;  15.4"x82" repeating maps of quiet Sun
sotsp_getdata,scanid,level=2
flist=file_search(scanid+'/'+scanid+'.fits')  ;  gets name of level 2 fits file
read_sotsp,flist[0],index,data,scan_info=scan_info,/xycoord
slitmap=sotsp_rasterize(scan_info)

On output, the slitmap array contains a mapping from the valid slit positions to the columns in the image arrays read in by read_sotsp.pro. Unlike the single-scan example above, however, slitmap will be a two-dimensional array. To reform the data arrays, one can then do:

slitmap_dims=size(slitmap,/dim)
data_dims=size(data,/dim)
new_dims=[slitmap_dims[0],data_dims[1],slitmap_dims[1],data_dims[2]]  ;  [x,y,t,var]
data_new=make_array(dim=new_dims,type=size(data,/type))
for jj=0,slitmap_dims[1]-1 do for ii=0,slitmap_dims[0]-1 do $  ;  loop over all rows/columns
  if slitmap[ii,jj] ge 0 then data_new[ii,*,jj,*]=data[slitmap[ii,jj],*,*]

At this stage, the data_new array will have 96×512×8×38 elements, where the dimensions represent (in order) the number of slit positions in the raster, the number of pixels along the slit, the number of repeats, and the number of available variables. In the process of reconstructing the raster, sotsp_rasterize.pro determined the locations of the slit positions with missing data, which are zeroed-out in the data_new array. Many of these are in the final scan, which was interrupted before it got very far. The following will open a widget that displays a short movie (all eight frames of it!) of Stokes \(V\) from this repeating scan:

xinteranimate,set=new_dims[0:2],/showload
for ii=0,slitmap_dims[1]-1 do xinteranimate,frame=ii,image=bytscl(data_new[*,*,ii,33],min=-1,max=1)
xinteranimate,/keep_pixmaps  ;  plays the animation in a widget

SOT-FG Examples

TECHNICAL NOTE: The examples in this section may rely on the user having a valid SSWIDL installation (as shown in this section) with the most recent SOT software tree installed (as shown in this section). Additionally, to access the most recent SOT catalog, users will need to have the most recent version installed (as shown in this section).

How to Identify SOT-FG Level 0 and Level 1 Data

In this example, we will identify a set of magnetogram (Stokes \(V/I\) images) for AR11158.

The first step is to find all relevant observations for the time interval of interest. We make use of the SSW routines sot_cat.pro and sot_umodes.pro to access the data catalog and identify all unique observational modes that were executed during a particular time interval:

time0 = '2011-02-15T00:00:00'
time1 = '2011-02-15T12:00:00' 
sot_cat,time0,time1,/level1,cat,files,/url
modes = sot_umodes(cat, mcount=mcount, info=info)

The sot_cat.pro routine returns two variables: cat, which is the SOT catalog structure for the time range indicated, and files, which are the URLs of all SOT files found in the local database for the time range given. If the /level0 switch is set, then the URLs will correspond to the Level 0 data files, whereas if /level1 is set then the URLs will be for Level 1 data.

TIP: If the URLs still point to the Level 0 files in spite of /level1 having been set (likely because the SOT SSWDB hasn't been updated), then one can simply replace the level0 string in the URLs with level1, e.g.: idl files=str_replace(files,'level0','level1')

For the date/time period specified above, a total of 1,193 SOT Level 1 files are found in the catalog. This includes FG, SP, correlation tracker reference frames, and other images not necessarily of interest to our example. In order to winnow this down to the particular observation type, the sot_umodes.pro function is used to identify all unique observation modes that were observed during the time interval. Printing the output of this function yields the following:

IDL> print,modes
       FG MG4 V/I      TF Na I 5896     1408      704
      FG (simple)       G band 4305     1728     1024
      FG (simple)      Ca II H line     1024     1024
      FG (simple)      Ca II H line     1728     1024
      FG (simple)     red cont 6684     1024     1024
      FG (simple)    blue cont 4504     1024     1024
      FG (simple)   green cont 5550     1024     1024
      FG (simple)  TF H I 6563 base      704      704
 SP IQUV 4D array             6302A      112      384

Each line in the output table contains the observation type, the wavelength of each observation type, and the dimensions of the images. The mcount keyword, on output, will list the number of catalog entries corresponding to each line in the table. Each line has unique attributes, and these can be used for downselection.

To select only those images that are Stokes \(V/I\) magnetograms, one calls sot_cat.pro again, this time using the search_array keyword. This keyword returns only those records that match the specified keyword-value pairs. For example

sot_cat,time0,time1,/level1,cat,files,/url,search_array=['wave=TF*Na*I*5896']

will return the URLs for the 131 Stokes \(V/I\) magnetograms found in the specified time interval (during which there is approximately one magnetogram every five minutes).

Downloading these files can be achieved either using a utility such as wget or curl, or by accessing any of the data portals listed in this section.

Additional Resources

SOT Online Portals

SOT Data Repositories

  • DARTS serves SOT Level 0 (hosted by JAXA/ISAS in Japan)
  • VSO serves SOT Level 0 (hosted by NASA/GSFC in the US)
  • SDAC serves SOT Level 0 and SOT-SP Levels 1 and 2 (hosted by NASA/GSFC in the US)
  • Hinode Science Data Centre Europe serves SOT Level 0 (hosted by the University of Oslo in Norway)
  • LMSAL data portal serves SOT Levels 0, 1, and 2, and contains thumbnail galleries and SSW instructions (hosted by LMSAL in the US)
  • CSAC serves SOT-SP Levels 1 and 2 (hosted by NCAR/HAO in the US)

SOT Instrument Papers

Acknowledging Hinode

When Hinode data are used for publication, please acknowledge the Hinode mission using either the following brief statement

Hinode is a Japanese mission developed and launched by JAXA/ISAS, with NAOJ as domestic partner and NASA and STFC (UK) as international partners. It is operated by these agencies in co-operation with ESA and NSC (Norway).

or the more detailed version

Hinode is a Japanese mission developed and launched by JAXA/ISAS, collaborating with NAOJ as a domestic partner, NASA and STFC (UK) as international partners. Scientific operation of the Hinode mission is conducted by the Hinode science team organized at JAXA/ISAS. This team mainly consists of scientists from institutes in the partner countries. Support for the post-launch operation is provided by JAXA and NAOJ (Japan), STFC (UK), NASA (USA), ESA, and NSC (Norway).

Appendix: FITS Keywords

This Appendix contains tables of FITS keywords:

  • FITS keywords common to both SOT-SP and SOT-FG can be found here.

  • FITS keywords specific to SOT-SP can be found here.

  • FITS keywords specific to SOT-FG can be found here.

General SOT FITS Keywords

The following table lists the keywords found in the FITS headers for both Level 0 SOT-SP and SOT-FG data files:

KeywordTypeDescription
DATEStrDate that a particular file was reformatted or created [UTC] (e.g. 2006-12-02T13:10:11.100)
DATE_RF0StrIndicates when the Level-0 reformatting was done [UTC] (e.g. 2006-12-02T13:10:11.100)
TELESCOPStrName of the satellite (e.g., HINODE)
INSTRUMEStrName of the instrument used to acquire the data: SOT-SP is indicated by SOT/SP, SOTFG NFI by SOT/NB, SOT-FG BFI by SOT/WB, and the SOT correlation tracker is indicated by SOT/CT
MDP_CLKIntTI (spacecraft) clock delivered by MDP at the exposure start [in units of 1/512 sec]
ORIGINStrIndicates where the Level 0 reformatted file was created (e.g., JAXA/ISAS, SIRIUS)
ORIG_RF0StrIndicates where the Level 0 reformatted file was created (e.g., JAXA/ISAS, SIRIUS)
DATA_LEVIntProcessing level of the data (equal to 0 for Level 0 data)
VER_RF0StrVersion number of the reformatting program used to create the Level 0 data
PROG_VERIntID of program (decimal, not hex)
SEQN_VERIntID of sequence (decimal, not hex)
PARM_VERIntID of parameter (decimal, not hex)
PROG_NOIntProgram slot number
SUBR_NOIntSubroutine number in program
SEQN_NOIntSequence slot number
MAIN_CNTIntRepeat count of the main program
MAIN_RPTIntRepeat number of the main routine (1255 for repeat count, and 0 means infinite repeat)
MAIN_POSIntCurrent position in the main routine
SUBR_CNTIntCurrent repeat count of the subroutine
SUBR_RPTIntRepeat number of the subroutine
SUBR_POSIntCurrent position in the subroutine
SEQN_CNTIntCurrent repeat count of the sequence
SEQN_RPTIntRepeat number of the sequence
SEQN_POSIntCurrent position in the sequence
OBSTITLEStrTitle of the observation
TARGETStrDescription of the target region
SCI_OBJStrScientific objective of the observation
SCI_OBSStrScientific objective of the observation
OBS_DECStrDescription of the observation
JOIN_SBStrIndicates the HINODE instruments involved in the observation (S: SOT, X: XRT, E: EIS)
OBS_NUMIntHINODE observation number
JOP_IDIntJoint observations between HINODE and other instruments will be sequentially numbered
NOAA_NUMIntThe NOAA Active Region number for AR observations
OBSERVERStrName of the Chief Observer
PLANNERStrName of the Chief Planner
TOHBANSStrNames of the Real-Time Tohbans
DATATYPEStrIndicates whether data is science or for engineering test (either SCI or ENG)
FLFLGStrIndicates observations triggered by the flare flag (either FLR or NON)
FILEORIGStrIndicates which sci files were used at creation (e.g., 2007_0904_063717.sci)
MDPCTREFIntTI (spacecraft) clock delivered by MDP at the nearest CT reference [in units of 1/512 sec]
CTREFIntFPP CT clock at the nearest CT reference [in units of 1/584 sec]
CTRATEFltFPP CT clock speed [Hz] (e.g., 584.0)
TIMEERRFltTime error between TI clock and CT clock [sec]
OBT_TIMEIntStart time of the exposure in TI spacecraft clock [in units of 1/512 sec]
OBT_ENDIntEnd time of the exposure in TI spacecraft clock [in units of 1/512 sec]
DATE_OBSStrDate and time of the start time of the expsosure [UTC] (e.g., 2007-08-27T05:59:45.785)
TIME-OBSStrStart time of the exposure [UTC] (e.g., 05:59:45.785).
CTIMEStrDate and time at the start time of the expsosure in the calendar format [UTC] (e.g., Mon Aug 27 05:59:45 2007).
DATE_ENDStrDate and time of the end time of the exposure [UTC] (e.g., 2007-08-27T05:59:45.830).
SAAStrIndicates whether the satellite is in the South Atlantic Anomoly at the time of observation (either IN or OUT)
HLZStrIndicates whether the satellite is in the High Latitude Zone of auroral precipitation at the time of observation (either IN or OUT)
SC_ATTXFltHeliocentric coordinate (X) of AOCS pointing [arcsec]
SC_ATTYFltHeliocentric coordinate (Y) of AOCS pointing [arcsec]
SAT_ROTFltDifference between Solar North and the Y-axis of the satellite [degrees]
INST_ROTFltDifference between the Y-axis of the satellite and the images [degrees]
CROTA1FltDifference between Solar North and the Y-axis of the image, equal to SAT_ROT+INST_ROT [degrees]
CROTA2FltDifference between Solar North and the X-axis of the image, equal to SAT_ROT+INST_ROT [degrees]
TR_MODEStrAOCS tracking curve in use (TR1, TR2, TR3, or TR4) or FIX if no tracking curve was in use
PCK_SN0IntSerial number of the first packet of the image
PCK_SN1IntSerial number of the last packet of the image
NUM_PCKSIntNumber of image packets used to construct the FITS file
MACROIDIntSequential number of the macro-command delivered by MDP
WAVEStrBrief description of observed ion and/or wavelength (e.g., G band 4305 for SOT-FG or 6302A for SOT-SP)
OBS_TYPEStrString idenitifying the type of observation (e.g., FG (simple) for SOT-FG or SP IQUV 4D array for SOT-SP)
BITCOMP1IntBit-compression parameter for unsigned data: 0 indicates none, 1 indicates 16U->12, 2 indicates 14U->12, and 6 indicates 12U low
IMGCOMP1IntImage-compression parameter for unsigned data: 0 indicates none, 3 indicates 12-bit DPCM, and 7 indicates 12-bit JPEG
QTABLE1IntQ-table number (approximately the compression ratio ×100) for unsigned data: 0=98, 1=90, 2=75, 3=50, 4=95, 5=92, 6=85, and 7=65
BITCOMP2IntBit-compression parameter for signed data: 0 indicates none, 3 indicates 16S->12, 4 indicates 14.5S->12, and 5 indicates 13S->12
IMGCOMP2IntImage-compression parameter for signed data: 0 indicates none, 3 indicates 12-bit DPCM, and 7 indicates 12-bit JPEG
QTABLE2IntQ-table number (approximately the compression ratio ×100) for signed data: 0=98, 1=90, 2=75, 3=50, 4=95, 5=92, 6=85, and 7=65
ROISTARTIntCamera read-out parameter of ROI start
ROISTOPIntCamera read-out parameter of ROI stop
CAMGAINIntNumerical ID of Camera gain (03)
CAMDACAIntNumerical ID of DAC offset A (015)
CAMDACBIntNumerical ID of DAC offset B (015)
CAMPSUMIntCamera parallel summing (X-direction) (either 1, 2, or 4)
CAMSSUMIntCamera serial summing (Y-direction) (either 1, 2, or 4)
CAMAMPIntNumerical ID of camera amplifier (0 or 1)
CAMSCLKIntNumerical ID of camera serial clock direction (0 or 1)
CTSERVOIntCT servo status: 0=off and 1=on
CTMESTATIntCTM-E status bit field
CTMEXIntCTM tip-tilt mirror X-tilt (CTM 2nd word) [0.0005″]
CTMEYIntCTM tip-tilt mirror Y-tilt (CTM 3rd word) [0.0005″]
CTMODEIntCorrelation tracker mode bit field
WEDGEIntPosition of CT wedge filter [scan steps]
FOCUSIntPosition of FPP focusing lens [focus steps]
T_SPCCDFltTemperature of the SP CCD at the camera head [°C]
T_FGCCDFltTemperature of the FG CCD at the camera head [°C]
T_CTCCDFltTemperature of the CT CCD at the camera head [°C]
T_SPCEBFltTemperature of the SP camera electronics box [°C]
T_FGCEBFltTemperature of the FG camera electronics box [°C]
T_CTCEBFltTemperature of the CT camera electronics box [°C]
PMUDELAYIntPhase offset between the PMU signal and the signal sent to the camera
TIMESYSStrIndicates the time system of the data (e.g., UTC)
EXPTIMEFltExposure time requested by the command [sec]
BITCVER1IntVersion number of the bit compression table
DCHFVER1IntVersion number of the JPEG Huffman-DC table
ACHFVER1IntVersion number of the JPEG Huffman-AC table
QTABVER1IntVersion number of the Q table for JPEG compression
BITCVER2IntVersion number of the bit compression table
DCHFVER2IntVersion number of the JPEG Huffman-DC table
ACHFVER2IntVersion number of the JPEG Huffman-AC table
QTABVER2IntVersion number of the Q table for JPEG compression
BYTECNTIIntTotal number of bytes of the compressed unsigned data [bytes]
PIXCNTIIntTotal number of pixels of the compressed unsigned data [pixels]
BITSPPIFltAverage bits/pixel of the unsigned data [bits/pixel]
BYTECNTQIntTotal number of bytes of the compressed signed data [bytes]
PIXCNTQIntTotal number of pixels of the compressed signed data [pixels]
BITSPPQFltAverage bits/pixel of the signed data [bits/pixel]

SOT-SP FITS Keywords

The following table lists the keywords found in the FITS headers for Level 0 SOT-SP data.

KeywordTypeDescription
CRPIX1FltHorizontal position of the reference pixel in the data, e.g., the center of the CCD [pixels]
CRPIX2FltVertical position of the reference pixel in the data, e.g., the center of the CCD [pixels]
CRVAL1FltThe wavelength of the reference pixel specified by CRPIX1 [Å] (e.g., 6302.0)
CRVAL2FltHeliocentric coordinates (Y) of the reference pixel along the slit specified by CRPIX2 [arcsec]
CDELT1FltPixel scale in the dispersion (X) direction [Å/pixel]
CDELT2FltPixel scale in the slit (Y) direction [arcsec/pixel]
CUNIT1StrUnit of CRVAL1 (e.g., Angstrom)
CUNIT2StrUnit of CRVAL2 (e.g., arcsec)
CTYPE1StrLabel of the first dimension of the data (e.g., Wavelength)
CTYPE2StrLabel of the second dimension of the data (e.g., Solar-Y)
CTYPE3StrLabel of the third dimension of the data (e.g., CCD side)
CTYPE4StrLabel of the fourth dimension of the data (e.g., Stokes component)
XSCALEFltStep size of slit scanning [arcsec]
YSCALEFltPixel scale in the slit (Y) direction [arcsec/pixel]
XCENFltThe heliocentric coordinate (X) at the slit position [arcsec]
YCENFltThe heliocentric coordinate (Y) at the center of the slit [arcsec]
FOVXFltThe width of the field-of-view in the X direction, i.e., the slit width [arcsec]
FOVYFltThe width of the field-of-view in the Y direction [arcsec]
SPMAPCTRFltCenter position of slit scan with respect to scan mechanism center [scan steps]
SPCCDIX0IntIndex of the 1st pixel in the CCD X-direction [pixel]
SPCCDIX1IntIndex of the last pixel in the CCD X-direction [pixel]
SPCCDIY0IntIndex of the 1st pixel in the CCD Y-direction [pixel]
SPCCDIY1IntIndex of the last pixel in the CCD Y-direction [pixel]
NSLITPOSIntNumber of slit positions in an SP map [scan steps]
SLITINDXIntIndex number of slit position in map, ranges from 0 to NSLITPOS−1 [scan steps]
NUM_SIDEIntNumber of the CCD sides in use (1 if only left side, 2 if both left and right sides)
SPNINTIntNumber of integration cycles (between 1 and 16), where each cycle corresponds to 0.8 sec integration (half rotation of PMU)
SP_EXTIDIntSP extraction table ID (ranges between 1 and 15), determines ROI in spatial direction
SCN_STEPIntNumber of scan steps between positions at which data is collected
SCN_SUMIntNumber of slit positions summed before sending data to MDP
SCN_RPTIntNumber of scan repeats, with 0 indicating infinite repeats
SPBSHFTIntScaling (bit-shift) options: 0 indicates no scaling, 1 indicates Stokes I down by a factor of 2, 2 indicates Stokes I and V down by a factor of 2, and 3 indicates Stokes I, Q, U, and V down by a factor of 2
SLITPOSIntPosition of slit with respect to scan mechanism center, software best estimate [scan steps]
SLITENCIntEncoder position of SP scan mechanism, center is 2048 [scan steps]
SPMAPINXIntCumulative number of SP maps completed
DOP_RCVIntDoppler shift compensation provided by MDP [m/s]

SOT-FG FITS Keywords

The following table lists the keywords found in the FITS headers for Level 0 SOT-FG data.

KeywordTypeDescription
CRPIX1FltHorizontal position of the reference pixel in the data, e.g., the center of the CCD (e.g., 1024.5) [pixels]
CRPIX2FltVertical position of the reference pixel in the data, e.g., the center of the CCD (e.g., 512.5) [pixels]
CRVAL1FltHeliocentric coordinates (X) of the reference pixel specified by CRPIX1 [arcsec]
CRVAL2FltHeliocentric coordinates (Y) of the reference pixel specified by CRPIX2 [arcsec]
CDELT1FltPixel scale in the horizontal (X) direction [arcsec/pixel]
CDELT2FltPixel scale in the vertical (Y) direction [arcsec/pixel]
CUNIT1StrUnit of CRVAL1 (e.g., arcsec)
CUNIT2StrUnit of CRVAL2 (e.g., arcsec)
CTYPE1StrLabel of the first dimension of the data (e.g., Solar-X)
CTYPE2StrLabel of the second dimension of the data (e.g., Solar-Y)
XSCALEFltPixel scale in the horizontal (X) direction [arcsec/pixel]
YSCALEFltPixel scale in the vertical (Y) direction [arcsec/pixel]
EXP0FltMeasured exposure duration [sec]
TIMESPANFltTime span to get the image [sec]
OBS_IDIntNumerical identifier that correlates to OBS_TYPE, but note that there is many-to-one correlation between OBS_ID and OBS_TYPE
GEN_IDIntNumerical identifier with a one-to-one correspondence to OBS_TYPE
FRM_IDIntNumerical identifier of frame definition block
WAVEIDIntNumerical identifier of observed wavelength
FGXOFFIntX offset for ROI definition [arcsec]
FGYOFFIntY offset for ROI definition [arcsec]
FGCCDIX0IntIndex of the first pixel in the CCD X-direction (e.g., 0) [pixels]
FGCCDIX1IntIndex of the last pixel in the CCD X-direction (e.g., 4095) [pixels]
FGCCDIY0IntIndex of the first pixel in the CCD Y-direction (e.g., 0) [pixels]
FGCCDIY1IntIndex of the last pixel in the CCD Y-direction (e.g., 2047) [pixels]
XCENFltHeliocentric coordinate (X) at the center of the image [arcsec]
YCENFltHeliocentric coordinate (Y) at the center of the image [arcsec]
FOVXFltWidth of the field-of-view in the X direction [arcsec]
FOVYFltWidth of the field-of-view in the Y direction [arcsec]
FGBINXIntPixels summed in the X direction by the on-board software
FGBINYIntPixels summed in the Y direction by the on-board software
DARKFLAGIntIndicates whether the shutter is open (0) or closed (1)
FGMODEStrIndicates the FG camera mode (either shuttered or shutterless)
FGNINTIntIndicates how many images are integrated
ROILOOPIntIndicates whether the ROI loop is used in the shutterless mode (either 0 or 1)
NROILOOPIntNumber of ROI loops used when in shutterless mode
MASKIntPosition of NFI mask wheel [steps]
WBFWIntPosition of BFI filter wheel [steps]
NBFWIntPosition of NFI filter wheel [steps]
TF1IntPosition of tunable filter motor 1 [steps]
TF2IntPosition of tunable filter motor 2 [steps]
TF3IntPosition of tunable filter motor 3 [steps]
TF4IntPosition of tunable filter motor 4 [steps]
TF5IntPosition of tunable filter motor 5 [steps]
TF6IntPosition of tunable filter motor 6 [steps]
TF7IntPosition of tunable filter motor 7 [steps]
TF8IntPosition of tunable filter motor 8 [steps]
WBEXPIntBFI last requested exposure time [msec]
NBEXPIntNFI last requested exposure time [msec]
WAVEOFFIntOffset from baseline wavelength of observable given in WAVE [mÅ]
ROISTARTIntCamera read-out parameter of ROI start
ROISTOPIntCamera read-out parameter of ROI stop