R.D. Bentley1, S.L. Freeland2
1Mullard Space Science Laboratory, University College London,
Holmbury St. Mary, Dorking, Surrey RH5 6NT, UK
2Lockheed Martin Advanced Technology Center, Dept H1-12, Bldg. 252,
3251 Hanover Street, Palo Alto, CA 94304 USA


SolarSoft is a set of integrated software libraries, data bases, and system utilities which provides a ``common'' programming and data analysis environment for Solar Physics. The SolarSoftWare (SSW) system is built from Yohkoh, SoHO, SDAC and Astronomy libraries and draws upon contributions from many members of those projects. It is primarily an IDL based system, although some instrument teams can and do integrate executables written in other languages.

The Yohkoh analysis software is fully integrated with SolarSoft, as is the analysis software of several of the SoHO instruments. Much of the software developed for TRACE (launched in April 1998) is based on SolarSoft, and the analysis software for future projects such as HESSI, Solar-B, and GOES/SXI will also use it. SolarSoft thus allows datasets from many sources to be analyzed together and other solar projects are strongly encouraged to use it.

Key words: SolarSoft; SSW; analysis software; solar physics; IDL.


The most significant advances in Solar Physics are made when it is possible to combine datasets from a number of different sources. There are many observations made from space, particularly at shorter wavelengths, but in order to realize the full potential of the data from a given instrument it is necessary to combine them with data from other space-based and ground-based observatories.

SolarSoft is a set of integrated software libraries, data bases, and system utilities which provides a ``common'' programming and data analysis environment for Solar Physics. The SolarSoftWare (SSW) system is built from Yohkoh, SoHO, SDAC and Astronomy libraries and draws upon contributions from many members of those projects. It is primarily an IDL based system, although some instrument teams can and do integrate executables written in other languages.

The SSW environment should provide a consistent look and feel at various CoI institutions (Yohkoh, SoHO, etc.) which will facilitate sharing and exchange data and minimize the time taken to ``come up-to-speed'' when a researcher is away from their home institute.


The SSW system originated in the Yohkoh analysis software. When this was being written, it was decided that every effort should be made to ensure that the software was platform independent. At the time, at the Institute for Space and Astronautical Science (ISAS) in Japan, many different computer platforms were in use: DEC VMS, DEC Ultrix, and Sun and RISC workstations running Unix. Within these platforms the format of the filenames and even the ordering of the bytes with files differed. The IDL software package (IDL; Interactive Data Language, written by Research Systems Inc.) provided the necessary environment and platform independence and this was adopted as the language for data analysis. By following a few simple rules it was found that the the code could be made operating system independent. For instance, filenames are never specified with the location of the file included - environment variables, or their equivalent are used to define where the file is to be found within the computer file system. Also, instrument teams are encouraged to prefix software routine filenames with their instrument acronym in order to avoid any collisions in names.

The software tree developed for Yohkoh was highly organized with different branches for each instrument, and a general branch for shared routines; this is illustrated in Figure 1. Within a given instrument, routines are sorted into subdirectories, as deemed appropriate by the instrument team. Several of the Yohkoh instrument teams had been using IDL for their electronic ground support equipment (EGSE) and some software was therefore already available. Also, in the later stages of the Solar Maximum Mission (SMM), the analysis software for several of the instruments had been moved to IDL and this presented a base on which to build.


Figure 1: The layout of the original Yohkoh directory tree. The organization of the software within an instrument branch was determined by the instrument team.

Initially some of the Yohkoh instrument teams used Fortran for some of their analysis software, a hangover from previous missions. They rapidly discovered that in order to support the different platforms and operating systems at ISAS and elsewhere, five or more executables needed to be built for each task, with scripts to select the appropriate executable depending on the workstation in use. Updating a task was a nightmare since each the executable for each operating system needed to be tested. It was therefore decided to translate the Fortran software into IDL and it is this version that is now in use today. There are still a few tasks in Fortran or C, but these are mainly things that have specialized use and only need to be run in a restricted number of sites.

When the preparations for SoHO were underway, it was decided to reorganize the Yohkoh tree, stripping out the truly general, mission-independent routines into separate branch and the SolarSoft tree was born (see Figure 2). Each space-based observatory in the SolarSoft tree has its own branch, and within each of these branches are sub-branches for the instruments of that mission. There is also a branch for any software packages that fall outside these general principles. In the near future, ground-based observatories will be added and it is intended that each observatory would have a sub-branch under either a ``radio'' or ``optical'' branch.


Figure 2: The layout of the SolarSoft directory tree. As in the Yohkoh tree, the software for each instrument is organized into a number of subdirectories which are not shown in this figure for clarity.


The purpose of SolarSoft is to provide a base on which to build. Almost every mission needs to be able to plot variables against time, to examine and compare image data, or fit spectra. It should not be necessary to rewrite such software for each new mission. A significant number of existing, well proven routines have been gathered into the general branch of the tree and these are being enhanced to provide an ever more substantial starting point.

Although there are many, we can summarize the principal aims of SolarSoft\ as being to:

 Promote the use of standards that will facilitate coordinated data analysis. Through use of suggested standards, many powerful routines are immediately available for the analysis of new data sets.
 Provide a hardware and site independent analysis system. Fundamental shared software is written in a largely hardware-independent and site-configuration independent form. The SSW setup utilities support local configuration files that tailor the user's environment.
 Provide a large reusable software library. The software library is the core collection of useful routines gathered from many mission. See below for more information.
 Provide easy access to supporting ancillary data bases. Access to supporting data sets from ground-based and satellite-based solar observatories are provided in consistent formats to facilitate coordinated analysis.
 Provide integrated access to other IDL packages. When IDL libraries that provide a useful extension to SSW capabilities are identified, if possible they are integrated into the SSW system.

3.1  The Reusable Software Library

The reusable software library represents an evolutionary system dating back to SMM. It has developed through Yohkoh and SOHO, and now incorporates routines related to TRACE and other solar observatories. Amongst the many common tasks already included are ``solar physics'', file I/O, system, IDL structure manipulation, data display, etc.. Spacecraft and instrument specific routines are dealt with in the other, separate branches.

A very small sample of existing library capabilities are:

 Time series analysis, time conversions, time series plotting
 Spectral fitting
 Image and Image cube manipulation and display (including movies)
 Solar image data routines (limb fitting, grid overlay, coordinate transformations, co-alignment...)
 File I/O (generic binary, ascii, FITS...)
 IDL data manipulation (structure, string, array, mathematics...)
 WWW related (html conversion, file conversions, FORM handling)


Already, analysis software from the instruments of many missions has been integrated into SolarSoft, although the degree of integration is not yet consistent for all branches. The missions currently included in the tree, together with the integrated instruments, are:

TRACE: Trace
GOES: Soft X-ray Monitor
Spartan: Spartan

The following are some of the future missions that will probably be included:

GOES: Soft X-ray Imager (2000)
HESSI: Hessi (2000)
Solar-B: SOT, XRT, EIS (2004)

Software packages produced by individuals or groups are also included in a separate branch. These include: Chianti, an atomic physics package; ANA, a data analysis package; and VDEM, an analysis package looking at velocity structure.

It is hoped that additional software that will be of use to ground-based observatories can be incorporated into the tree during 1998. This work has already started for the radio observatories and software from the radio telescope at Zurich (ETHZ) has been ``included'' to check for collisions in filenames. Examination of this software has shown that in order to fully incorporate the radio observatories, additions will need to be made to the standard time plotting routines that are provided (UTPLOT). These are needed in order to allow intensity maps to be plotted against time. This form of display is standard for radio observations, but not for the instruments so far included. Once the new routines are available, the inclusion of other radio observatories will be considerably simplified.


Information about SolarSoft can be found on the World Wide Web in a number of pages under the URL ``http://www.lmsal.com/solarsoft/''.

SolarSoft can be installed through a web page which creates a script that is mailed to the user. It is not necessary to install the whole tree, and only those parts that are required should be requested. On execution the script will create directories, and copy and unpack tar files containing the requested software branches. The tar files needed for the installation are held at GSFC, and are also available at the UK Yohkoh Data Archive Centre (YDAC).

The master copy of SolarSoft is maintained at the Goddard Space Flight Center (GSFC). Software and necessary data files from different instrument groups around the world are are mirrored into the SSW tree at GSFC for general distribution. Users of SolarSoft can then mirror those parts of the tree they have installed using software provided in the tree.


SolarSoft represents a major step forward in the development of analysis software for Solar Physics. It gives everyone the chance to build on what is already available without having to rewrite standard routines. The means to add to the tree are defined, and the facilities to distribute it are in place and are already used by many teams around the world. Other solar projects are strongly encouraged to use SolarSoft and add to its already significant capabilities.


SolarSoft is the result of many peoples efforts. In particular we would like to note the work of members of the Yohkoh and SoHO teams worldwide, the Solar Data Analysis Center (SDAC) at Goddard Space Flight Center, and the Yohkoh Data Archive Centre (YDAC), at the Mullard Space Science Laboratory. The names are many, but the key players include Dominic Zarro, Richard Schwartz, Liyun Wang, Bill Thompson and Joe Gurman at GSFC, and Mons Morrison at Lockheed-Martin in Palo Alto.

File translated from TEX by TTH, version 1.92.
On 10 May 2000, 18:40.