# Starlink Project

The Starlink Project, referred to by users as Starlink and by developers as simply The Project, was a UK astronomical computing project which supplied general-purpose data reduction software. Until the late 1990s, it also supplied computing hardware and system administration personnel to UK astronomical institutes. In the former respect, it was analogous to the US IRAF project.
The project was formally started in 1980, though the funding had been agreed, and some work begun, a year earlier. It was closed down when its funding was withdrawn by the Particle Physics and Astronomy Research Council in 2005. In 2006, the Joint Astronomy Centre released its own updated version of Starlink and took over maintenance; the task was passed again in mid-2015 to the East Asian Observatory. The latest version was released on 2018 July 19.
Part of the software is relicensed under the GNU GPL while some of it remain under the original custom licence.

## History

From its beginning, the project aimed to cope with the ever-increasing data volumes which astronomers had to handle. A 1982 paper exclaimed that astronomers were returning from observing runs (a week or so of observations at a remote telescope) with more than 10 Gigabits of data on tape; at the end of its life the project was rolling out libraries to handle data of more than 4 Gigabytes per single image.
The project provided centrally-purchased (and thus discounted) hardware, professional system administrators, and the developers to write astronomical data-reduction applications for the UK astronomy community and beyond. At its peak size in the late 1980s and early 1990s, the project had a presence at around 30 sites, located at most of the UK universities with an astronomy department, plus facilities at the Joint Astronomy Centre, the home of UKIRT and the James Clerk Maxwell Telescope in Hawaii. The number of active developers fluctuated between five and more than a dozen.
By 1982, the project had a staff of 17, serving about 400 users at six sites, using seven VAXen (six VAX-11/780s and one VAX-11/750, representing a total of about 6.5 GB of disk space). They were networked from the outset, first with DECNET and later with X.25.
Between 1992 and 1995 the project switched to UNIX (and switched the networking to TCP/IP), supporting Digital UNIX on Alpha-based systems, and Solaris on systems from Sun Microsystems. By the late 1990s it was additionally supporting Linux, and by 2005 it was supporting Red Hat Linux, Solaris, and Tru64 UNIX. It was about this time that the project open-sourced its software (using the GNU General Public License; it had previously had an "academic use only" licence), and reworked its build system so that the software could be built on a much broader range of POSIX-like systems, including OS X and Cygwin.
Though it was not explicitly funded to do so, the project was an early participant in the Virtual Observatory movement, and contributed to the IVOA. One of its VO applications was TOPCAT, development of which continues, with AstroGrid funding.

## Applications, libraries, and other facilities

The project produced a number of applications and libraries, including:

### GAIA

    The main GUI application, which acts as a general astronomical image viewer, as well as a front end to many of the other applications.

### ORAC-DR

    The ORAC-DR data reduction system, developed at JAC Hawai'i, is a data processing pipeline for incoming data. It is in use for online data reduction at UKIRT and JCMT for a variety of instruments. This is not a Starlink application as such, but it is tightly integrated with the Starlink suite, and by default uses Starlink software as its application engines. See the ORAC-DR home page for further details.

### KAPPA

    A suite of general-purpose data-analysis and visualisation tools, usable both from the command-line and graphically. It provides general-purpose applications that have wide applicability, concentrating on image processing, data visualisation, and manipulating NDF components. It integrates with other Starlink packages. In a wider context, KAPPA offers facilities not in IRAF, for instance handling of data errors, quality masking, a graphics database, availability from the shell, as well as more n-dimensional applications, widespread use of data axes, and a different style. It integrates with instrument packages developed at UK observatories. With the automatic data conversion and the availability of KAPPA and other Starlink packages from within the IRAF command language, it's possible to pick the best of the relevant tools from both systems to get the job done.

### CCDPACK

    A package of programs for reducing CCD-like data. They allow you to debias, remove dark current, pre-flash, flatfield, register, resample, normalize and combine your data.

### AST

    A flexible and powerful library for handling World Coordinate Systems, partly based on the SLALIB library. If you are writing software for astronomy and need to use celestial coordinates (e.g. RA and Dec), spectral coordinates (e.g. wavelength, frequency, etc.), or other coordinate system information, then this library should be of interest. It provides solutions for most of the problems you will meet and allows you to write robust and flexible software. It is able to read and write WCS information in a variety of formats, including FITS-WCS. It has Fortran, C and Python bindings.

### SLALIB

    A library of routines intended to make accurate and reliable positional-astronomy applications easier to write. Most SLALIB routines are concerned with astronomical position and time, but a number have wider trigonometrical, numerical or general applications. As well as this GPL version, there is also a commercial version of SLALIB available from its original author.

### HDS

    A Hierarchical Data System—is a portable, flexible system for storing and retrieving data, and takes over from a computer's filing system at the level of an individual file. A conventional file effectively contains a 1-dimensional sequence of data elements, whereas an HDS file can contain a more complex structure. It predates the Hierarchical Data Format by several years.

### NDF

    NDF is the project's principal data format. Built upon HDS the N-dimensional Data Format—is for storing bulk data in the form of n-dimensional arrays of numbers: mostly spectra, images, and cubes. It supports concepts such as quality, data errors, world coordinate systems, and Metadata. It is also extensible to handle user-defined information.

### ADAM

    The ADAM environment was a standardised software environment developed initially by the Royal Greenwich Observatory, and then adopted and developed by Starlink between 1985 and 1990. It was initially designed as a telescope control system, installed at the Anglo-Australian Telescope at Siding Spring Observatory, the William Herschel Telescope at the Isaac Newton Group of Telescopes on La Palma, and at the James Clerk Maxwell Telescope on Mauna Kea (where it is still working in legacy systems), but its role expanded to cover graphics, data access, interprocess communication, and the full range of functionality required to support a diverse range of interoperable applications. Although it is no longer seriously used for telescope control, other layers of it live on in the current versions of the Starlink applications and libraries.
The project also produced a number of cookbooks on various astronomical topics.
By the end, the project's code base consisted of around 100 components, totalling around 2,100,000 source lines of code written by the project or curated by it, in various languages including Fortran, C, C++, Java, Perl and Tcl/Tk, plus another 700,000 lines of customised third-party code.

## Obtaining the software

At present, though funding for the project has ceased, the software is still available, either as pre-built distributions, or from a Git repository. The Astrophysics Source Code Library maintains an entry on Starlink.
The Joint Astronomy Centre took over the maintenance of the Starlink codebase (with support from STFC), and made the following releases:
* Keoe (Vega) on 2006 September 7
* Hokulei (Capella) in Spring 2007 March 1
* Puana (Procyon) on 2007 August 22
* Humu (Altair) on 2008 February 8.
* Lehuakona (Antares) on 2008 November 12.
* Nanahope (Pollux) on 2009 July 27.
* Hawaiki (Deneb) on 2010 January 20.
* Namaka (Lambda Scorpii) on 2011 February 8.
* Kapuahi (Aldebaran) on 2012 September 17.
* Hikianalia (Spica) on 2013 April 15.
* 2014A on 2014 July 24.
The East Asian Observatory has now taken over co-ordination and maintenance of Starlink software, and it has made the following releases:
* 2015A on 2015 April 6.
* 2015B on 2015 December 17.
* 2016A on 2016 November 15.
* 2017A on 2017 August 10.
* 2018A on 2018 July 19.
* 2021A on 2021 December 27.
* 2023A on 2021 December 20.