The HSG instrument is a configurable spectrograph operating at the Dunn Solar Telescope. The HSG system is mutually exclusive with the SPINOR instrument, using the same cameras, grating, and slit stepping system. The spectral windows, cadence, step size, and field size are all configurable, and the daily observations with this instrument typically use a set of semi-standard scripts for a semi-standard set of cameras. Usually, three spectral cameras are operated along with a slit-jaw camera.
The following tables describe the most common HSG setup. As the instrument can be reconfigured upon PI request, this is not a stable configuration, and every part of the system, including the grating used, can be changed.
Lines/mm | Blaze Angle | Incident Angle | Collimator f.l. | Camera f.l. |
---|---|---|---|---|
308.57 | 52.0 | 57 | 3040mm | 1700mm |
Camera | Chip Size | Central Wavelength [Å] | Spectral Line | Approximate Dispersion [mÅ] | Order | Diff. Res. [mÅ] |
---|---|---|---|---|---|---|
Sarnoff 1 | 1024x512 | 5876 or 5893 | He I or Na I | 38 | 9 | 10 |
Sarnoff 2 | 1024x512 | 8542 | Ca II | 53 | 6 | 23 |
Flir 1 or SI 805 | 1024x1024 | 6302 | Fe I | 21 | 8 | 12.8 |
PCO 1 | 2048x2048 | 6563 | H I | 12 | 8 | 13 |
The HSG instrument outputs level-0 files in FITS format. Each file corresponds to a single rastering scan of the region. Each FITS file has a filename of the form "YYMMDD.HHMMSS.0.cccXX.a-icc.TYPE.fits" where YYMMDD is the date and HHMMSS is the DST local time of the series start. cccXX refers to the Camera Control Computer used to process the observation. The a-icc (or c-hrt) tag refers to the system used in acquisition. a-icc uses a lower-level script, c-hrt uses the GUI from the SPINOR system.
Each file contains a header information extension, and some number of data extensions. The information extension has no data, just a header.
Key | Value (Ex.) | Comment |
---|---|---|
DATE | YYYY-MM-DDTHH:MM:SS.mmm | File creation date and time (UTC) |
ORIGIN | NSO/SP | The NSO no longer operated this instrument, header was never updated. |
INSTRUME | cccXX | Camera Control Computer |
TELESCOP | DST | |
OBSERVER | DST Observers | |
CAMERA | Sarnoff #2, 1024x512, 12-bit | Camer name, chip size, pixel depth |
CHIPSIZX/Y | XXX/YYY | Size of Chip in X/Y |
DATE-BGN | YYYY-MM-DDTHH:MM:SS.mmm | Start time for first image data |
NIMAGES/NEXTENS | NNN | Number of images/extensions per file. Typically the same. |
OBSACCT | '/path/' | Directory base for the observing scripts |
OBSEXEC | SCRIPTNAME!A | Name of executed script. The "!" code is the termination mode. |
COMMENT | See Below |
The COMMENT keywords in the information extension contain the entire script executed by the DST Instrument Control Computer. This is not particularly useful for DST end users, however, the script does contain the slit step width in arcsec. This is extracted for the new HSG Python calibration scripts.
Key | Value (Ex.) | Comment |
---|---|---|
DATE-OBS | YYYY-MM-DDTHH:MM:SS.mmm | Extension observation start time |
DELTA_T | mmmm | Time in ms elapsed between this and previous frame |
EXPTIME | 1.0000000E+01 | Exposure time in ms |
MIN/MAX/AVG_PIX | XXX | Pixel minimum, maximum, and average values |
FRATE | mmmm | Frame rate between exposures (ms) |
SUMS | XXX | Summed exposures per image. Typically 0 |
ROIORIGX/Y | XXX | Typically, the beam will not fill the chip, and the camera will be windowed. This is the start x/y value of the window |
ROISIZEX/Y | XXX | Size of chip window in X/Y |
FS_ENB | 0/1 | Frame selection enabled (1) or disabled (0). Typically 0. |
BIN_ENB | 0/1 | Binning enabled (1) or disabled (0). Typically 0 |
DST_INFO | 0/1 | Whether system has common DST keywords available. Should always be 1 |
DST_TIME | YYYY-MM-DDTHH:MM:SS.FFF | NOT the current time, most recent time the DST master clock was updated |
DST_AZ | 1.234E+01 | Turret steering mirror system azimuth (deg) |
DST_EL | 1.234E+00 | Turret steering mirror system elevation (deg). NOTE: Do NOT use these for pointing information. Approximate only |
DST_TBL | 1.234E+02 | Angle of DST observing room table (deg). Not directly linked to Solar-North |
DST_GDRAN | 1.33E+01 | A guider angle of 13.3 degrees corresponds to a North/South orientation of the FIRS slit. Why 13.3? It was changed from 0 in the 80s to accomodate an instrument that is no longer around |
DST_XGDR | 1.234E+02 | Guider head position in arcsec. NOT the same as Solar-X/Y |
DST_YGDR | 1.234E+01 | |
DST_SLAT | 1.234E+00 | Stonyhurst Latitude (deg). Accurate to a few arcsec |
DST_SLNG | 1.234E+00 | Stonyhurst Longitude (deg). |
DST_HPA | 1.234E+01 | Heliocentric position angle (degrees) |
DST_GPA | 1.234E+02 | Geocentric position angle (degrees) |
DST_RV | 5.396E-01 | Heliocentric radius vector |
DST_PEE | 1.234E+01 | Solar P Angle (degrees, unfortunate keyword) |
DST_BEE0 | 1.234E+00 | Solar B0 angle (degrees) |
DST_ELL0 | 1.234E+02 | Solar L0 Angle (degrees) |
DST_SDIM | 1.234E+03 | Solar diameter (arcsec) |
DST_SEE | 1.234E-01 | Seykora scintillation monitor value (arcsec) |
DST_SAZ | 1.234E+02 | Solar azimuth (degrees) |
DST_SEL | 1.234E+02 | Solar Elevation (degrees) |
Integration of the HSG Level-1 pipeline into the SSOSoft platform is ongoing, but should be done soom (TM). Until January 2024, the pipeline was an IDL-based solution using gain table creation routines from FIRS. This code output its final product in IDL .sav format, readable with scipy.io.readsav. These files are manually cropped, and corrected for dark, solar gain, and lamp gain (if available). No further processing has been done on these files.
The new hsgPy module for SSOSoft performs the additional steps of wavelength calibration, optional fringe and prefilter corrections, slit-position deswek, velocity determination from user-defined spectral lines, and packages the reduced rasters into multi-extension FITS files. The hsgPy pipeline is currently reliant on an unfortunate number of widgets, as well as a configuration file. The widgets are currently necessary due to the configurable nature of the instrument, and the ever-present beam wobble at the DST. The beam wobble means that the narrow spectral lines used for gain table calculation may not be in the same location day-to-day, and the frequent reconfiguration of the 5800Å channel also changes the precise spectral range. At present, user intervention is required at up to three points in daily calibrations:
Solar gain is determined using the same basic method used by the IDL solutions, and is still in use at DKIST today, whereby mean profiles are determined for various positions along the slit, then shifted in subwindows to match the observed spectrum. These shifted profiles are then divided out to form a flat field absent of spectral lines. This procedure does, however, have a significant drawback in that static fringes, particularly in the wavelength direction, are detrended along with the spectral lines. Lamp flats mitigate, but do not erase this issue. However, if theh major fringe component is time-invariant (as in the case of HSG and FIRS), the leftover fringes can be characterized using the flat field images, where the spectral lines are at their narrowest, with no significant flows. Fourier filtered flat fields can be used as fringe templates with only the minor extra step of rigidly aligning the flat profile to the science profile in wavelength space. This provides good corrections to 6302, 5876, and FIRS He I data. 8542 and 5893 with their much more prominent line profiles still require some work, but should be possible with an additional cut in Fourier amplitudes. The most recent HSG calibration pipeline can be found here.
Velocity maps (and spectral deskew) are formed from offsets determined by the Fourier phase method. Central reversals and strong velocity flows can cause the velocity determination to become inaccurate. A bisector velocity determination method is currently in the works.
The Level-1 FITS file product was designed to be similar to the FIRS product, with the entire raster stored in each file. The Level-1.5 product contains the following extensions:
FITS Index | Extension Name (EXTNAME) | Number of dimensions | Description |
---|---|---|---|
0 | SPECTRAL-DATA | 3 | Contains the reduced spectral data, of shape (ny, nx, nlambda) |
0+N | VMAP-N | 3 | One extension per user-defined spectral line used to measure velocity. These extensions have shape (ny, nx), and the reference wavelength is given in the header. "N" here is the number of selected lines. |
1+N | METADATA | 8 | FITS Table with observational metadata, including the wavelength array. Note that there may be different shapes to the contained arrays, which are padded with zeros to the longest array. |
The following are examples of the FITS header objects associated with HSG Level-1.5 files. Headers for the velocity map extensions are similar to the spectral headers, but there are exclusive keywords. These are denoted by the "Which" column below: "V"elocity, "S"pectral, or "B"oth
Key | Which | Value (Ex.) | Comments |
---|---|---|---|
DATE | B | YYYY-MM-DDTHH:MM:SS | Time of file creation |
ORIGIN | B | NMSU/SSOC | Institute that wrote the file |
TELESCOP | B | DST | |
INSTRUME | B | HSG | |
CAMERA | B | CAMERA_NAME | Typically contains central wavelength |
DATA_LEV | B | 1/1.5 | 1 if not velocity info, 1.5 otherwise |
STARTOBS | B | YYYY-MM-DDTHH:MM:SS.mmm | Start time of raster |
ENDOBS | B | YYYY-MM-DDTHH:MM:SS.mmm | End time of raster |
EXPTIME | B | 12.3 | Exposure time per slit position in ms |
BTYPE | B | Intensity/Velocity | Depends on extension |
BUNIT | B | Corrected DN or km/s | Again, depending on extension |
X/YCEN | B | 123.456 | Center of raster at observing start |
FOVX/Y | B | 123.45 | Field of View in X/Y |
ROT | B | 1.23 | Rotation relative to solar-north |
D_SUN | B | 1948.0962 | Diameter of solar disk, arcsec |
CDELT1/2 | B | 0.12 | Spatial sampling in Y/X |
CDELT3 | S | 0.012 | Spectral sampling (Ext 0 only) |
CTYPE1/2 | B | HPLN/T-TAN | Coordinate system |
CTYPE3 | S | WAVE | Third axis coordinate |
CUNIT1/2 | B | arcsec | Unit for coordinate system |
CUNIT3 | S | Angstrom | Wavelength Unit |
CRVAL1/2 | B | 123.456 | Reference Coordinate Value |
CRVAL3 | S | 1234.567 | Spectral reference coordinate value |
CRPIX1/2 | B | 123.5 | Reference Pixel number |
CRPIX3 | S | 1 | Reference wavelength pixel |
CROTAN | B | 0.123 | Rotation angle relative to Solar-north |
HAIRLN1/2 | B | 123.5 | Pixel number of automatically-detected hairlines |
PRSTEP1-5 | B | CORRECTION-NAME | Summary of calibrations performed |
REFWVL | V | 1234.567 | Reference wavelength for velocity determination |
METHOD | V | Fourier Phase/Bisector | Method used in velocity determination. Currently only Fourier Phase is available |
Some additional metadata is stored in the last FITS extension, with the "METADATA" EXTNAME. These data are stored in a FITS table. The stored values are:
Note that every table column has the same shape (number of slit positions), except for the wavelength array. As such, either the Wavelength array or every other array will be zero-padded at the end so each column has the same length.