SolarSoft is primarily written in the Interactive Data Language
(IDL) which is ideal for manipulating and visualizing image, spectral,
time series and other data types common in solar physics. The extensibility
of IDL and large number of SSW contributors, coupled with SolarSoft automated
upgrade and software exchange utilities stimulates rapid evolution of
analysis capabilities. The SolarSoft system was originally built from
the Yohkoh, SOHO, Solar Data Analysis Center (SDAC), and
the Astronomy IDL software libraries and it draws upon contributions
from many members of those projects. More recent participants in
SolarSoft include TRACE, HESSI, SXI, and many ground-based optical
and radio observatories.
The primary goals of SolarSoft include:
A very small sample of existing library capabilities include:
A schematic of the upper level SolarSoft library and directory hierarchy is illustrated in Figure 1.
The topmost level includes a SITE branch for local configuration files, the GEN branch which contains the SSW general purpose libray and an extensible number of mission level branches. For clarity, only a representative subset of missions are included in the figure. In this context, a mission is a set of one or more related instruments or observatories. Mission branches include single instrument observatories, such as TRACE and HESSI, multi-instrument observatories, such as Yohkoh and SoHO, and groupings of related ground based observatories, such as optical and radio.
This intermediate level of organization by mission facilitates access to shared libraries among the related instruments or observatories. The contents of those libraries are mission dependent but instrument independent. For example, all of the instruments on a multi-instrument orbital observatory desire access to spacecraft ephemeris software and data bases. The gen branches under the mission level provide common, single source software to all of the related instruments (Yohkoh-gen and SoHO-gen for example).
The instrument level branches contain the calibration files and software which are required for detailed or specific instrument data analysis. With the exception of very minimal library and setup file naming conventions, the contents and organization of the branches under the instrument levels is (and must be ) defined by and controlled by the the instrument PI teams.
The master copy of SolarSoft and support utilities is maintained at the Solar Data Analysis Center at GSFC. This is also the master site for the general purpose SSW library. Only a few core SSW members are authorized to update the general library. Since this is automatically distributed to all remote SSW sites, routines must remain backwardly compatible and continued support for older IDL versions must be considered. All additions and modifications are logged, and backup copies of modified modules are maintained by the SSW online utility. Additional protection is provide by the SDAC system facilities, which include multiple levels of automated backup and disk recovery.
Principle Investigator (PI) teams from each participating instrument define and control the master libraries and data bases for the individual instruments. These instrument and mission level master sites are widely distributed, and currently include institutes in Japan, England, France, Switzerland, and many institutes within the United States.
SolarSoft utilities running on the SSW master site at GSFC Mirror from the the various instrument master sites into the SSW master for centralized integration and distribution. Due to the very large number of contributing sites and routines, background utilities (written in SSW) monitor incoming additions and flag potential conflicts within the integrated system. Additional SSW utilities monitor modifications and sizes of software libraries and data bases to generate system files required by the installation and upgrade utilities.
Now that the SolarSoft organization, monitoring, and distribution system is in place, adding new instrument libraries into the infrastructure approaches ``plug and play'' simplicity, assuming that the PI teams are willing to address any conflicts which are flagged by the system. There is an intermediate level of integration available which allows new libraries to take advantage of the conflicts checking and distribution portions of SSW without requiring more rigorous, conflict free standards suggested for fully integrated libraries.
SolarSoft is easily installed through a web-based interface. Although the number of instrument libraries and data bases under SSW is extensive, a primary design goal was to permit remote sites to install any desired subset of SSW while still preserving the integrated function. The SSW installation FORM allows the WWW client to select the desired instrument libraries and generates a customized installation script. When executed on the local machine, the script creates the necessary directories, automatically transfers the required installation files from the designated SSW host, and installs them to produce the local customized SolarSoft tree. Due to the evolutionary philosophy of SolarSoft , frequent periodic upgrades are strongly suggested (daily is typical) and utilities are included in the SSW distribution to automate upgrades of the local SSW system. The installation and upgrade utilities use a programmable SSW host internet address for file transfers to permit use of the SSW ``master'' with the best internet connection to the local site. Following the initial installation and configuration, it is sufficient to add instrument or mission names to a SSW site configuration file to automatically include new branches in the local SSW system. The upgrade process is incremental so that only new or modified software is transferred.
A key requirement and innovative feature of the Yohkoh system was a simple, internet-based installation, upgrade and feedback infrastructure. Since the Yohkoh co-investigator institutes included widely distributed sites in Japan, the UK, and several states in the US, it was important to propagate changes and incorporate contributions quickly enough to avoid divergent libraries at the remote institutes. Installation and upgrade utilities developed prior to Yohkoh launch (and predating the WWW) greatly simplified this task.
Another design goal was platform independence. At the time of Yohkoh design, many different computer platforms were in use at the Institute for Space and Astronautical Science (ISAS) in Japan and at many co-investigator institutes in the UK and USA. Systems designated for Yohkoh analysis included DEC VMS, DEC Ultrix, and Sun and RISC workstations running Unix.
The Interactive Data Language (IDL) software package written by Research Systems Inc. (RSI), Boulder, Colorado was ideal for analysis of the disparate science data sets on Yohkoh, which include images, spectra and time series. The use of IDL also moved the majority of the system dependency burden from Yohkoh programmers to the RSI/IDL programmers. Some of the Yohkoh team members had previously worked at the SDAC on the Solar Maximum Mission (SMM) - several of the SMM instrument teams and SDAC members were using IDL for data analysis and this provided an experience base and the starting seed for a general purpose IDL library.
Initially, some Yohkoh teams tried to maintain portions of the software using heritage Fortran programs. They rapidly discovered that in order to support the different platforms used for Yohkoh analysis, five or more executables needed to be built for each task. Updating and propagating an application to the distributed investigator sites in a timely fashion was nearly impossible, since the multiple executables required verification on each of the architectures. It was therefore decided to translate the bulk of the remaining Fortran software into IDL. There are still a very few tasks written in Fortran or C, but these are primarily applications which have specialized use and only need to be run at a restricted number of sites.
By following a few simple programming rules and extending the language as required with a few key interface routines , the Yohkoh IDL-based system was easily transportable. For example, filenames are never specified with an explicit directory or path - environmental variables, or their equivalent are used to indicate file locations located within the computer file system. The mapping of several key environmentals to the local, hardware specific pathnames is accomplished by simple modification to setup files in the site branch. Relative pathnames are then constructed dynamically by interface routines which use the context of the current operating system. Yohkoh contributors were encouraged to prefix instrument specific routine filenames with their instrument acronym in order to minimize potential collisions in routine names.
Prior to the launch of the Solar and Heliospheric Observatory (SoHO) it was decided to review the Yohkoh utilities, identify all of the truly mission independent routines and place them into a shared library. A prime motivator for this was that quite a few of the the Yohkoh science and programming team were now members of various SoHO instrument or analysis teams and they desired to continue using and extending familiar analysis and programming utilities. A common library was then available for Yohkoh, SoHO and future missions for applications development and analysis and offered future potential for coordinated analysis. A mission level layer was added to the existing Yohkoh instrument level library and path infrastructure and SolarSoft was created.
An extensive set of SolarSoft routines and techniques have evolved which leverage WWW technologies and offer great potential for distributed solar physics analysis. In addition to extensive file converters, movie making tools and html generators written in IDL, SolarSoft also includes an innovative set of utilities for executing SolarSoft applications through any WWW client (browser). This system uses a very simple (about five line) cgi script to pass information from an WWW FORM to an IDL server which is running the SolarSoft environment. An SSW IDL interface function converts the FORM stream directly into an IDL data structure. This infrastructure implies that all data base searching, access, analysis, and display functions which are available within an interactive SolarSoft session are also available through a WWW client. Examples of this server mode SSW application include the remote SolarSoft software and data base installation FORMS, customized Yohkoh/SXT movie maker, the TRACE WWW catalog search and data request system and many others. The HESSI team and Max Millennium Program is using this SSW server technology to provide WWW client access to the ancillary data bases available at the SDAC.
Descriptions of the space based instruments may be found in SOLAR TELESCOPES and INSTRUMENTS: SPACE by O.Kjeldseth-Moe The ground based radio and optical observatories are described in SOLAR TELESCOPES and INSTRUMENTS: GROUND, by von er Luehe.
Other missions which are expected to participate, with the planned launch dates indicated, include:
Software packages by other individuals or groups which provide useful extensions are integrated and distributed with SSW. These SSW packages include:
Samuel L. Freeland, Lockheed-Martin Advanced Technology Center
Robert D. Bentley, Mullard Space Science Laboratory