The GBT SDFITS Project
Current version: sdfits version 1.10 (2007/11/14)
See also the current Release Notes.
Benefits of SDFITS
The single-dish FITS convention (SDFITS) was chosen for three reasons. First, the format is recognized by many astronomers at various institutions. Second, because the format was identified as a result of discussions extending over a several year period, we were able to leverage the contributions of astronomers internal and external to NRAO on this data format, rather than starting from scratch. Third, we have experts on the subject within NRAO who were able to guide the development process.
There are many benefits from being able to generate SDFITS files from GBT data:
- Support More Users. Users no longer have to write their own filler to use the package for data analysis systems not supported by NRAO.
- Program Checkouts. User are more readily able to examine the validity of their program on the GBT by examining the SDFITS file output. This could grow into an even more helpful capability in the future.
- Basis for Collaboration. Since other observatories such as Arecibo employ similar formats, we will be able to collaborate with them on improvements in the future.
- Familiarity. Users may already be familiar with SDFITS, which will reduce the learning curve for understanding data coming off the GBT.
- Upgradability. The facilities for joining the multiple engineering FITS files into one astronomically meaningful data set are now all grouped in one location and thus we are better positioned to adopt emerging standards.
sdfits is not available for download and installation outside of Green Bank.
Only 3 backends are supported by sdfits: Spectrometer, SpectralProcessor, and DCR.
Use of any mode except raw is discouraged (e.g. cal and avg). These discouraged modes use calibration algorithms that are not well maintained. User's should instead rely on GBTIDL or their own calibration algorithms and work directly with the raw output from sdfits. These options may be improved in the future, possibly using GBTIDL methods for the calibration and averaging steps.
Documentation on the specific meaning of each column and how each value is constructed from the raw FITS file is missing. This will be improved soon. In the meantime, direct all questions about the details of sdfits to either BobGarwood or PaulMarganian.
Beam-switched observing - a technique rarely used these days with the GBT - is not supported by sdfits.
The labeling of polarization and feed (beam) number for Ka data is incorrect except for the SIG=T rows.
Multi-beam observations are somewhat supported by sdfits. That is, beam offsets are provided, but sdfits does not use them to generate beam positions. Rather, the end-user must use the provided beam offsets to calculate beam positions manually (see the GBT Antenna Control Unit FITS File Specification for details).
The frequency values associated with LSFS scans are not correct except for the first integration.
The IF numbering associated with each unique frequency (and used by GBTIDL) is not always the same as that used in GFM.
The sdfits program is well suited for continuum observing. For multi-beam mapping, there is the caveat that mapping would be hindered by the need to manually calculate beam positions. And, as with the spectral line case, beam-switched continuum observing is not supported by sdfits.
The sdfits program does not correctly handle pulsar data even when it comes an otherwise supported backend.
Processing SDFITS Data
GBTIDL
GBTIDL reads and writes SDFITS files.
CLASS
The preprocessing components validated for use to produce SDFITS files are also being used to generate a GBT to CLASS converter.
From DanaBalser: The FITS keyword CRVAL1 contains the observed frequency for reference pixel CRPIX1 with an increment of CDELT1. The SDFITS file conforms to the FITS standard where pixels correspond to the center of the channel; although the choice of CRPIX1 is completely arbitrary. For example, a CRPIX1 = 2049.00 means that the CRVAL1 in that case corresponds to the frequency at the mid-point of channel 2049.
Currently, Hanning smoothing is not applied to all data from the Spectrometer.
The sdfits convention requires that there be a frequency-like axis. The sdfits tool always writes a frequency axis as the first axis of the DATA coordinate system. This axis is described by CTYPE1, = CRVAL1=, CDELT1, and CRPIX1 values in the FITS binary tables produced by sdfits (other sdfits convention writers may put that axis in a different order and that axis may be a velocity axis, see the references for more information). This section describes how to construct the frequency and corresponding velocity axis using the information provided by sdfits.
FITS pixels are always numbered from 1. The frequency at pixel (channel) i is
f(i) = CRVAL1 + (i - CRPIX1) * CDELT1
This gives the frequency in the reference frame implied by the last 4 characters of the CTYPE1 value. Currently, sdfits always uses a CTYPE1 value of "FREQ-OBS" which means that this is the topocentric frequency.
The VELDEF column describes a velocity definition (first 4 characters) and a reference frame (second 4 characters). The reference frame is the frame that was doppler tracked for that row. If the reference frame is the same as that implied by CTYPE1 the doppler tracking was off for that data.
The VFRAME column contains the true (fully relativistic) velocity (in m/s) of the reference frame given in VELDEF with respect to the observer. For sdfits output, where the CTYPE1 frame is the observer's frame, shifting the observed frequencies to the doppler tracked reference frame is a simple doppler shift using the VFRAME value.
f'(i) = f(i) * sqrt((c+VFRAME)/(c-VFRAME))
where c is the speed of light in m/s.
The sdfits output also contains an RVSYS column. This is the true, relativistic, velocity of the source (in m/s) relative to the observer. So, to get the frequencies in a frame at rest with respect to the source, use RVSYS in the previous equation.
Velocities at each channel can then be calculated according to the specific velocity definition desired.
v_radio/c = 1 - f'/f_rest
v_optical/c = f_rest/f' - 1
v_true/c = (1 - (f/f_rest)^2) / (1 + (f/f_rest)^2)
Where the rest frequency, f_rest comes from the RESTFREQ column.
The true, relativistic, source velocity relative to the doppler tracked frame can be recovered from RVSYS and VFRAME.
v_source = (RVSYS - VFRAME) / (1 - RVSYS*VFRAME / c^2)
And the source velocity in the two velocity definitions is:
v_radio/c = 1 - sqrt((c-v_source)/(c+v_source))
v_optical/c = sqrt((c+vsource)/(c-v_source)) - 1
All sdfits release notes can be found in the list of official release notes.
These links are here for historical reasons so that the sdfits development team can locate them. They are not intended for end users.
View Redesign Efforts, '05
View Online Sdfits Filler Performance
View Online Sdfits Filler Test Results
Online Sdfits Design
|
Revision r1.31 - 10 Apr 2008 - 19:54 GMT - BobGarwood
|
Content copyright © 1999-2007 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
|
| |