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 Manual
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.

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.