SolarSoftSolarSoft

Introduction

The SolarSoft system (SSW) is a set of integrated software libraries, databases, and system utilities which provide a common programming and data analysis environment for solar physics. The SolarSoft environment provides a consistent look and feel at widely distributed co-investigator institutions to facilitate data exchange and to stimulate coordinated analysis. Commonalities and overlap in solar data and analysis goals are exploited to permit application of fundamental utilities to the data from many different solar instruments. The use of common libraries, utilities, techniques and interfaces minimizes the learning curve for investigators who are analyzing new solar data sets, correlating results from multiple experiments or performing research away from their home institution.


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.

Principal Goals of SolarSoft

The primary goals of SolarSoft include:

· Provide a large reusable software library. The shared, general purpose SSW library provides a large and growing collection of observatory and instrument independent software. This permits instrument Principle Investigator (PI) teams to concentrate software efforts on detailed analysis and calibration issues rather than reinventing general use development and analysis software.

· Promote an evolutionary environment Feedback and contributions from the many SSW institutes and users are strongly encouraged. Utilities to simplify remote SSW upgrades and accept user contribution are designed to make the system evolutionary instead of stagnant and divergent.

· Promote the use of standards that will facilitate coordinated data analysis. Through use of a minimal set of suggested standards, many powerful applications are immediately available for the analysis of new data sets.

· Provide easy access to supporting ancillary data bases. Access to supporting data sets from ground-based and satellite-based solar observatories are provided with consistent interfaces to facilitate coordinated analysis.

· Provide a file-format independent analysis environment. To accommodate the largest number of solar data sets, file I/O is isolated and analysis applications are designed to operate on objects which are independent of file type.

· Provide a hardware and site independent analysis system. Fundamental shared software is written in a hardware-independent and site-configuration independent form. The SSW setup utilities support local configuration files to tailor the site and user's environment.

· Permit simplified and customized installation and environment definition Due to the large number of contributing instruments and libraries, integrated function should be preserved when any desired subset of libraries is included in a local installation or individual analysis session.

· Maximize Principle Investigator team control of instrument level software Within the integrated system and analysis environment, allow PI teams full control of the instrument specific analysis software and provide system utilities and suggested guidelines to faciliate integration.

· Provide integrated access to other IDL packages. When IDL libraries that provide a useful extension to SSW capabilities are identified, they are integrated into the SSW system.

The Reusable Software Library

The reusable software library is the heart of the SolarSoft system. Routines in this library are instrument and mission independent, and available to all users for analysis and application development. This library represents an evolutionary sytem, dating back to SMM analysis at the Solar Data Analysis Center at Goddard Spaceflight Center (GSFC). It has since evolved through the Yohkoh and SoHO missions, and now includes contributions from TRACE, HESSI, and from many other solar instrument PI team members.

A very small sample of existing library capabilities include:

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

SolarSoft system overview

Library and Path Organization

A schematic of the upper level SolarSoft library and directory hierarchy is illustrated in Figure 1.

SSW_Tree.gif

Figure 1: SolarSoft directory tree structure. The software libraries for each instrument are organized into a number of functional subdirectories which are not shown.

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.

Mastering, Integration, and Verification

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.

Remote Installation and Upgrades

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.

The History of SolarSoft

The overall organization and philosophy of the SSW system structure draws heavily from the Yohkoh data analysis system. Even though Yohkoh observatory included four very different science instruments, it was obvious that there were a large subset of common analysis goals and that the use of some common definitions would permit use of fundamental cross instrument software. For example, all four instrument teams required access to Yohkoh ephemeris and supporting ancillary data bases - those commonly desired software functions should be written once, not rewritten four times. The analysis of data from each Yohkoh instrument is greatly enhanced by crucial context provided by the other instruments. A minimal set of parameters, such as observation time, were defined in common formats to simplify cross instrument access and facilitate coordinated analysis.

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.

Selection of IDL

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.

From Yohkoh to SolarSoft 

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.

Recent Trends - SolarSoft and the World Wide Web

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.

Instruments Supported by SolarSoft

By 1999, analysis capabilities for a large number of instruments from many different solar missions were fully integrated into SSW, including:

Yohkoh: BCS, HXT, SXT, WBS
SoHO: MDI, EIT, CDS, SUMER, LASCO
TRACE: TRACE
CGRO: BATSE
GOES: Soft X-ray Monitor
Spartan: Spartan
SMM: XRP, HXIS, HXRBS, CP UVSP, GRS
Radio: ETHZ, Nancay, Nobeyama
Optical: SOON, La Palma

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:

HESSI: Hessi (2000)
GOES: Soft X-ray Imagers M,N,O (2000-2005)
Solar-B: SOT, XRT, EIS (2004)

Software packages by other individuals or groups which provide useful extensions are integrated and distributed with SSW. These SSW packages include:

Chianti: UV and EUV diagnostics; K.Dere
ANA: public domain data analysis; R.Shine
Stereo: dynamic stereoscopy; M. Aschwand
Ztools: vector and solar tools; C. DeForrest
SPEX: spectral analysis; R.Schwartz

Acknowledgments

The success and evolution of SolarSoft depends upon contributions from its many users and SSW instrument team members. Special thanks are due to members of the Yohkoh and SoHO co-investigator institutes, the Solar Data Analysis Center at GSFC, and the Yohkoh Data Archive Centre (YDAC), at the Mullard Space Science Laboratory. A portion of the work for design and administration of SolarSoft is supported under NASA contracts NAS8-40108, NAS5-32966, and NAS5-38099.

Bibliography

References

Freeland, S., http://www.lmsal.com/solarsoft/ SolarSoft description and links to SSW installation, analysis concepts, standards, and other related documents (World Wide Web)

Svestka, Z., Uchida, Y., ed. 1991, The Yohkoh (Solar-A) Mission, (Dordrecht:Kluwer)

Fleck, B., Domingo, V., Poland, A., ed. 1995, The SOHO Mission, (Dordrecht:Kluwer)

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

Author's Credit Line

Samuel L. Freeland, Lockheed-Martin Advanced Technology Center

Robert D. Bentley, Mullard Space Science Laboratory


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