Robert S Weigel

and 18 more

Heliophysics data analysis often involves combining diverse science measurements, many of them captured as time series. Although there are now only a few commonly used data file formats, the diversity in mechanisms for automated access to and aggregation of such data holdings can make analysis that requires inter-comparison of data from multiple data providers difficult. The Heliophysics Application Programmer’s Interface (HAPI) is a recently developed standard for accessing distributed time-series data to increase interoperability. The HAPI specification is based on the common elements of existing data services, and it standardizes the two main parts of a data service: the request interface and the response data structures. The interface is based on the REpresentational State Transfer (REST) or RESTful architecture style, and the HAPI specification defines five required REST endpoints. Data are returned via a streaming format that hides file boundaries; the metadata is detailed enough for the content to be scientifically useful, e.g., plotted with appropriate axes layout, units, and labels. Multiple mature HAPI-related open-source projects offer server-side implementation tools and client-side libraries for reading HAPI data in multiple languages (IDL, Java, MATLAB, and Python). Multiple data providers in the US and Europe have added HAPI access alongside their existing interfaces. Based on this experience, data can be served via HAPI with little or no information loss compared to similar existing web interfaces. Finally, HAPI has been recommended as a COSPAR standard for time series data delivery.

Jon Vandegriff

and 12 more

The ability to access time series data with one API would significantly enhance science data interoperability. The Heliophysics Application Programmers Interface (HAPI) is a simple, standardized mechanism for exposing time series data through a service. HAPI is being adopted by data centers within the Planetary and Heliophysics communities, especially for plasma, particle and field datasets. At the recent COSPAR meeting, the Panel on Space Weather passed a resolution encouraging data providers to have at minimum a HAPI server to deliver time series data. The COSPAR is now considering the resolution for full organizational endorsement. HAPI standardizes the two key parts of a data service: the request interface and the result format. The request interface is very simple and captures the common features of many existing data access services. For result formats, the HAPI specification allows several options, all of them streaming. Servers must provide a Comma Separated Value (CSV) result format, but may optionally provide a JSON or binary stream as well. The details of the request and result formats are described in the current version of the specification document, which is available at GitHub: https://github.com/hapi-server/data-specification. Several institutions have recently added HAPI-compliant access. These include the large Heliophysics archive at Goddard’s Coordinated Data Analysis Web (CDAWeb), as well as the Planetary Plasma Interactions node of the Planetary Data System, the Laboratory for Atmospheric and Space Physics at CU Boulder, the University of Iowa, George Mason University, and the Johns Hopkins University Applied Physics Lab. Multiple client options are available for accessing HAPI data from the growing number of servers. Autoplot (Faden, et al, 2010) and SPEDAS (http://spedas.org/wiki) both read HAPI data, and other clients (Java, Python, Matlab, IDL) can be downloaded from the HAPI Github project. The ease with which various providers have adapted existing servers to create a HAPI-compliant capability shows that it does capture a useful way to represent time series data. Because clients for reading HAPI data are also easy to create, we anticipate significant growth and interest in this emerging standard. Faden, et al, Earth Sci Inform (2010) 3:41–49, DOI 10.1007/s12145-010-0049-0