3 More-specialised Facilities
3-1 SLALIB SUN/67.17
Positional Astronomy and Time
SLALIB (the name just stands for “Subprogram Library A”) contains a large
number of routines mainly concerned with positional astronomy and time.
Some also have wider trigonometrical, numerical or general significance, while
others are essentially miscellaneous. Its facilities include: string decoding;
sexagesimal conversions; handling of angles, vectors and rotation matrices;
calendar and timescale calculations; precession, nutation and proper-motion
calculations; celestial coordinate conversions and astrometric transformations.
3-2 NCAR NCAR
Graphics Utilities SUN/88.4
NCAR is a large and sophisticated set of high-level plotting routines developed
at the National Centre for Atmospheric Research at Boulder, Colorado. It
can do more things than most other plotting packages and is reasonably
straightforward to use. The “NCAR Manual” is a large document in the
Miscellaneous User Documents (MUD) series, available from Starlink site
managers. SUN/88 provides a concise summary of the NCAR facilities and
describes the Starlink release of this system.
3-3 SNX SUN/90.8
Starlink Extensions to NCAR
Since NCAR uses GKS, calls to its routines may be interspersed with calls to
other GKS-based graphics libraries. To do this effectively, however, it is usually
necessary to know about such things as the NCAR coordinate system, or to
arrange for an NCAR plot to appear within a specified region of the display
surface. The SNX routines provide a bridge between NCAR and SGS which
allows this type of interaction.
3-4 AGI SUN/48.5
Applications Graphics Interface
AGI is a Graphics Database system which allows graphics applications
to record information about the plots they produce so that subsequent
applications can make use of it. For example, information about the coordinate
system of a graph might be recorded so that a subsequent application
could use a cursor to read off positions. AGI allows a considerable amount
of information to be stored, ranging from simple comments to non-linear
coordinate transformations and references to HDS objects. It also allows
graphics devices to be divided into separate “pictures” so that multiple plots
may appear, each with their own graphics information. AGI has special
interfaces for ease of use with the PGPLOT, SGS and IDI graphics libraries.
3-5 PSX SUN/121.1
POSIX Interface Routines
POSIX is an IEEE standard defining an interface to a “virtual operating
system” which applications may use to interact with their host machine in
a portable manner. For example, POSIX could be used to determine the
current “user-name” in a manner which does not vary between machines.
Unfortunately, the POSIX standard currently only provides for calls from
programs written in C (the Fortran interface definition is not yet complete),
so the PSX library provides a solution by making some of the more useful
POSIX functions available in Fortran-callable form. It provides an ADAM-style
interface to POSIX, including inherited status checking and error reporting.
3-6 REF SUN/31.4
References to HDS Objects
It is sometimes useful to use HDS to store pointers to other HDS objects.
For instance, the Applications Graphics Interface, AGI, depends on this ability
in order to associate HDS data objects with graphical displays (see SUN/48),
without having to make a separate copy of the data object. The REF library is
provided to facilitate this data-object “referencing” process and the subsequent
accessing of objects which have been referenced in this way.
3-7 TRANSFORM SUN/61.2
Coordinate Transformation Facility
A specialised facility which allows mappings (or coordinate transformations)
to be formulated and stored as HDS objects. These transformations may later
be recovered and evaluated. This facility is used by the Applications Graphics
Interface, AGI, to implement world-to-data coordinate transformations (see
SUN/48). TRANSFORM also incorporates a facility for parsing and evaluating
Fortran-like arithmetic expressions, a feature which can sometimes be used to
good effect in applications software.
3-8 HELP SUN/124.6
Help Text Retrieval System
A subroutine library designed for implementing interactive hierarchical help
systems. It is modelled on the VAX/VMS help system but has a number of
additional features, including the ability for “help files” to refer to other help
files. This library will mainly be of interest to those writing ADAM system
software, but this does not preclude its use in applications which wish to
handle their own help information explicitly.