Abstract
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.