Add a celestial coordinate conversion to an SlaMap
When an SlaMap is first created (using AST_SLAMAP), it simply performs a unit (null) Mapping. By using AST_SLAADD (repeatedly if necessary), one or more coordinate conversion steps may then be added, which the SlaMap will perform in sequence. This allows multi-step conversions between a variety of celestial coordinate systems to be assembled out of the building blocks provided by SLALIB.
Normally, if an SlaMap’
s Invert attribute is zero (the default), then its forward transformation
is performed by carrying out each of the individual coordinate conversions specified by
AST_SLAADD in the order given (i.e. with the most recently added conversion applied
last).
This order is reversed if the SlaMap’
s Invert attribute is non-zero (or if the inverse
transformation is requested by any other means) and each individual coordinate conversion
is also replaced by its own inverse. This process inverts the overall effect of the SlaMap.
In this case, the first conversion to be applied would be the inverse of the one most
recently added.
"
SLALIB Conversions"
section for details of those available. "
SLALIB Conversions"
section). This array is ignored if
no arguments are needed. All coordinate values processed by an SlaMap are in radians. The first coordinate is the celestial longitude and the second coordinate is the celestial latitude.
When assembling a multi-stage conversion, it can sometimes be difficult to determine the most economical conversion path. For example, converting to the standard FK5 coordinate system as an intermediate stage is often sensible in formulating the problem, but may introduce unnecessary extra conversion steps. A solution to this is to include all the steps which are (logically) necessary, but then to use AST_SIMPLIFY to simplify the resulting SlaMap. The simplification process will eliminate any steps which turn out not to be needed.
This routine does not check to ensure that the sequence of coordinate conversions added to an SlaMap is physically meaningful.
"
ADDET"
(EQ): Add E-terms of aberration.
"
SUBET"
(EQ): Subtract E-terms of aberration.
"
PREBN"
(BEP0,BEP1): Apply Bessel-Newcomb pre-IAU 1976 (FK4) precession model.
"
PREC"
(EP0,EP1): Apply IAU 1975 (FK5) precession model.
"
FK45Z"
(BEPOCH): Convert FK4 to FK5 (no proper motion or parallax).
"
FK54Z"
(BEPOCH): Convert FK5 to FK4 (no proper motion or parallax).
"
AMP"
(DATE,EQ): Convert geocentric apparent to mean place.
"
MAP"
(EQ,DATE): Convert mean place to geocentric apparent.
"
ECLEQ"
(DATE): Convert ecliptic coordinates to FK5 J2000.0 equatorial.
"
EQECL"
(DATE): Convert equatorial FK5 J2000.0 to ecliptic coordinates.
"
GALEQ"
: Convert galactic coordinates to FK5 J2000.0 equatorial.
"
EQGAL"
: Convert FK5 J2000.0 equatorial to galactic coordinates.
"
HFK5Z"
(JEPOCH): Convert ICRS coordinates to FK5 J2000.0 equatorial.
"
FK5HZ"
(JEPOCH): Convert FK5 J2000.0 equatorial coordinates to ICRS.
"
GALSUP"
: Convert galactic to supergalactic coordinates.
"
SUPGAL"
: Convert supergalactic coordinates to galactic.
"
J2000H"
: Convert dynamical J2000.0 to ICRS.
"
HJ2000"
: Convert ICRS to dynamical J2000.0.
"
R2H"
(LAST): Convert RA to Hour Angle.
"
H2R"
(LAST): Convert Hour Angle to RA.
For example, to use the "
ADDET"
conversion, which takes a single argument EQ, you should consult
the documentation for the SLALIB routine SLA_ADDET. This describes the conversion in detail and
shows that EQ is the Besselian epoch of the mean equator and equinox. This value should then be
supplied to AST_SLAADD in ARGS(1).
In addition the following strings may be supplied for more complex conversions which do not
correspond to any one single SLALIB routine (DIURAB is the magnitude of the diurnal aberration
vector in units of "
day/(2.PI)"
, DATE is the Modified Julian Date of the observation, and
(OBSX,OBSY,OBZ) are the Heliocentric-Aries-Ecliptic cartesian coordinates, in metres, of the
observer):
"
HPCEQ"
(DATE,OBSX,OBSY,OBSZ): Convert Helioprojective-Cartesian coordinates to J2000.0
equatorial.
"
EQHPC"
(DATE,OBSX,OBSY,OBSZ): Convert J2000.0 equatorial coordinates to
Helioprojective-Cartesian.
"
HPREQ"
(DATE,OBSX,OBSY,OBSZ): Convert Helioprojective-Radial coordinates to J2000.0
equatorial.
"
EQHPR"
(DATE,OBSX,OBSY,OBSZ): Convert J2000.0 equatorial coordinates to Helioprojective-Radial.
"
HEEQ"
(DATE): Convert helio-ecliptic coordinates to J2000.0 equatorial.
"
EQHE"
(DATE): Convert J2000.0 equatorial coordinates to helio-ecliptic.
"
H2E"
(LAT,DIRUAB): Convert horizon coordinates to equatorial.
"
E2H"
(LAT,DIURAB): Convert equatorial coordinates to horizon.
Note, the "
H2E"
and "
E2H"
conversions convert between topocentric horizon coordinates
(azimuth,elevation), and apparent local equatorial coordinates (hour angle,declination). Thus, the
effects of diurnal aberration are taken into account in the conversions but the effects of atmospheric
refraction are not.