Coordinate System
Introduction
The GIPSY coordinate system is implemented in terms of a collection of
mostly FITS-compatible GDS descriptor items. For each axis in a set
there exists such a collection of descriptors.
The following keywords are used (i is the number of the axis):
- NAXISi
- the number of pixels along the axis
- CTYPEi
- the name of the axis.
The axis name is uniquely related to the physical coordinates of the
pixels along the axis. This name consists of several parts,
separated by hyphens. The first part denotes the real axis name:
the physical coordinate system.
The second part is the type of projection (meaning that
there are more ways to go from grid position to physical coordinates).
At the moment only projections for spatial axes (like RA and DEC) and
spectral axes (FREQ) are defined.
- CRPIXi
- the location of the reference pixel on the axis in file coordinates.
The grid position of the reference pixel is always zero.
For this position the physical coordinate is precisely defined in
CRVALi, and therefore we call this position the projection centre.
- CRVALi
- holds the physical coordinate at the reference pixel location in
some units. The units are defined in the non-standard FITS
descriptor CUNITi.
- CUNITi
- holds the units of the physical coordinate at the reference pixel
location, i.e. the units of CRVALi.
When this descriptor item is not defined, the standard FITS units will
be assumed.
- CDELTi
- holds the pixel separation in units specified in CUNITi along
the axis. Note that CDELTi may be negative.
- CROTAi
- holds the rotation angle in degrees of the
actual axis from the stated coordinate type in CTYPEi. This
descriptor makes only sense for spatial axes. In GIPSY it is assumed
that the spatial latitude axis carries the rotation information.
The descriptors above are called the primary axis descriptors, and they
relate grid positions to physical coordinates as defined in CTYPEi.
The GIPSY coordinate system also recognizes secondary axis descriptors,
which relate grid positions to a different type of physical units. At
the moment a secondary axis is only used for the FREQ primary axis to
relate frequencies to velocities. Secondary descriptors are similar to
primary axis descriptor, except that they all start with D instead of
C.
Accessing coordinate information
In order to read coordinate information from a set, the programmer has the
choice between reading the descriptor items directly using one of the GDS
read routines, or, in the case of items NAXISi, CTYPEi
and CRPIXi, calling one of the special routines
GDSC_SIZE,
GDSC_NAME or
GDSC_ORIGIN.
When writing, the items NAXISi, CTYPEi and CRPIXi
may never be modified using GDS write routines.
This may only be done using the routine
GDS_EXTEND.
This is because this information is referenced so frequently that it
has to be maintained separately for efficiency reasons.
Coordinate Types
GIPSY supports the following coordinate types:
- Equatorial sky coordinates: RA, DEC
- Galactic sky coordinates: GLON, GLAT
- Ecliptic sky coordinates: ELON, ELAT
- Supergalactic sky coordinates: SLON, SLAT
- Spectral frequency coordinates, equidistant in frequency: FREQ
- Spectral velocity coordinates, equidistant in velocity: VELO
Sky Coordinates
There following five sky systems are implemented:
- Equatorial (1950.0)
- Galactic
- Ecliptic (1950.0)
- Supergalactic
- Equatorial (2000.0)
Function SKYCO can be used to
transform from one sky system to another.
For sky systems the rotation angle of the sky plane with
respect to the axes is stored in CROTAn, where n is the number
of the latitude axis. The epoch of the coordinate system in stored in the FITS
descriptor EPOCH.
There following projection systems are implemented:
- Aitoff Equal Area projection, AIT
- Equivalent Cylindrical projection, CYL
- Flat projection, FLT
- Gnomonic projection, TAN
- Orthographic projection, SIN
- Rectangular projection, ARC
- Transversal projection, GLS
- North Celestial Pole projection, NCP
- Stereographic projection, STG
- Mercator projection, MER
The projection of sky coordinates onto grids is done with function
PROCO;
transformation of equatorial coordinates from one epoch to another are
done with subroutine EPOCO.
Spectral Coordinates
Spectral coordinates have axis names FREQ or VELO.
The transformation from frequency to velocity is not straightforward, since
the frequencies are usually the observed frequencies. For this reason a
secondary axis is introduced in GIPSY. This axis holds the velocity at
the reference pixel in descriptor DRVALi. The velocity of a certain
grid position g along the FREQ axis can now be obtained with the
following formulae:
V(radio) = DRVALi - g.CDELTi.c / f0
V(optical) = DRVALi + (1 / (CRVALi + g.CDELTi) -
1 / CRVALi).f0.c
Where c is the speed of light and f0 the rest frequency of the spectral line.
GIPSY uses for the grid separation in velocity the following:
DDELTi(radio) = -CDELTi.c / f0
DDELTi(optical) ~= -CDELTi. c/f0 . (f0)^2/(CRVALi)^2
The rest frequency is stored in descriptor FREQ0 in units of Hz.
The different velocity systems are encoded in the following
way:
VELSYS CTYPEi Meaning
------ --------- -----------------------------
1 FREQ-OHEL Optical definition w.r.t. SUN
1 FREQ-OLSR Optical definition w.r.t. LSR
2 FREQ-RHEL Radio definition, w.r.t. SUN
2 FREQ-RLSR Radio definition, w.r.t. LSR
The function VELPRO does the
velocity - grid transformations.
Other Coordinates
Other coordinate axes, with their CTYPE's, are listed in the table below:
- Inverse Wavelength, INVLAM
- Wavelength, LAMBDA
- Logarithmic Wavelength, LOGLAM
- Parameter axis, PARAM
- Polarisation, POLN
- Time, TIME
For these axes there are no special routines available yet, so
conversion from grid g to physical coordinate p goes in the
standard FITS way:
p = CRVALi + g . CDELTi
g = p - CRVALi / CDELTi
General Coordinate Transformations
The routine which does the general coordinate transformations is called
COTRANS. This routine converts grids into
the physical coordinates as stated by the CTYPE's and vice versa. The
function AXUNIT returns the units of the
physical values input/output to/by COTRANS.
For determining the axis type, the function
AXTYPE can be used.
Note that natural units are usually S.I. units.
In GIPSY the routines involved in coordinate transformations use these
units! In case other units are stated in CUNITi or BUNITi the
conversion factor can be obtained with function
FACTOR.
Hidden Axes
Documentation not yet available.