-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
289 lines (261 loc) · 13.2 KB
/
index.html
File metadata and controls
289 lines (261 loc) · 13.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
<!DOCTYPE html>
<html lang="en">
<head>
<title>HAPI - Heliophysics Data API</title>
<meta name="keywords" content="HAPI Heliophysics API">
<meta name="description"
content="HAPI Server; https://github.com/hapi-server">
<meta name="keywords"
content="time series, space weather, space physics, NASA, KNMI, ESA, AMDA, CDAWeb, Cluster Active Archive, INTERMAGNET, LISIRD, SuperMAG, SSCWeb, SWARM, Space Weather, ViRES">
<link rel="icon" href="https://hapi-server.org/HAPI-favicon.svg" sizes="any" type="image/svg+xml">
<link rel="preconnect" href="//fonts.googleapis.com">
<link rel="preconnect" href="//fonts.gstatic.com" crossorigin>
<link href="//fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap" rel="stylesheet">
<style media="screen">
:root {
--hapi-dark-blue: rgb(34, 67, 113);
--hapi-light-blue: rgb(86, 121, 198);
}
body {
font-size: 1em;
height: 100vh;
font-family: "Lora";
font-weight: 400;
font-style: normal;
font-variation-settings: "wdth" 100;
}
a {
color: black;
}
ul ul {
padding-inline-start: 1em;
}
figure {
margin: 2em;
padding: 1em;
box-shadow: 0 2px 16px var(--hapi-light-blue);
}
figcaption {
text-align: left;
margin-bottom: 1em;
font-size: 1.5em;
}
img.hapi-stack-demo {
width: 70%;
height: auto;
border-radius: 0.5em;
box-shadow: 0 2px 8px var(--hapi-light-blue);
}
.markdown-body h1 {
color: var(--hapi-dark-blue);
text-align: center;
font-size: 2em;
padding-bottom:0.3em;
border-bottom: 2px solid var(--hapi-dark-blue)
}
.markdown-body h2 {
color: var(--hapi-dark-blue);
padding-left: 0.5em;
padding-bottom: 0.3em;
font-size: 1.5em;
border-bottom: 1px solid var(--hapi-dark-blue)
}
.markdown-body h3 {
color: var(--hapi-dark-blue);
font-size: 1.25em;
}
.container-lg {
border: 2px solid white;
border-radius: 1em;
background-color: white
}
.row {
display: flex;
}
.column {
padding: 1em;
flex: 50%;
}
.full {
flex: 100%;
}
/* Main content */
.main {
margin-top: 0px; /* Add a top margin to avoid content overlay */
padding-left: 10px;
}
.navbar {
background: white;
border-radius: 1em;
display: flex;
align-items: center;
flex-wrap: wrap;
padding: 0.5em 1em;
max-width: 800px;
margin: 1em auto;
box-shadow: 0 2px 8px var(--hapi-light-blue)
}
.navbar-logo {
height: 40px;
width: auto;
margin-right: 1em;
}
.navbar-links {
display: flex;
align-items: center;
gap: 0.5em;
}
.navbar-links a {
color: black;
text-decoration: none;
padding: 0.5em 0.8em;
border-radius: 0.5em;
font-weight: 500;
transition: background 0.2s, color 0.2s;
display: flex;
align-items: center;
}
.navbar-links a:hover {
background: #fff;
}
.navbar-toggle {
display: none;
flex-direction: column;
cursor: pointer;
margin-left: 1em;
}
.navbar-toggle span {
height: 3px;
width: 28px;
background: #f2f2f2;
margin: 4px 0;
border-radius: 2px;
display: block;
}
/* Responsive */
@media (max-width: 700px) {
.navbar {
flex-wrap: wrap;
padding: 0.5em;
}
.navbar-links {
flex-direction: column;
width: 100%;
display: none;
background: #5679c6;
margin-top: 0.5em;
border-radius: 0.5em;
}
.navbar-links.active {
display: flex;
}
.navbar-toggle {
display: flex;
}
}
</style>
</head>
<body>
<div class="container-lg markdown-body">
<div class="navbar">
<img src="logos/HAPI-large.png" alt="logo" class="navbar-logo">
<div class="navbar-links">
<a href="https://github.com/hapi-server/data-specification">Specification</a>
<a href="http://hapi-server.org/servers/">Get Data</a>
<a href="#data">For Data Providers</a>
<a href="#dev">For Developers</a>
<a href="https://www.youtube.com/watch?v=dBV2yxoHkDU">
<img src="assets/imgs/youtube-svgrepo-com.svg" alt="YouTube demo" style="height: 1.3em; vertical-align: middle;">
</a>
<a href="https://github.com/hapi-server">
<img src="assets/imgs/github-mark.svg" alt="HAPI GitHub Organization Page" style="height: 1.3em; vertical-align: middle;">
</a>
</div>
</div>
<div class="main">
<div class="row">
<div class="column">
<h1>About HAPI</h1>
<p>The Heliophysics Data Application Programmer's Interface (HAPI) specification is a time series download and streaming format specification. It was originally developed for Heliophysics data, but the specification applies to any time series served from an API. A 1-page summary is given in <a href="/docs/HAPI_OnePager_v4.pdf">HAPIOnePager.pdf</a>. A more detailed overview is given in the JGR article <a href="/docs/Weigel_2021_HAPI-An_API_Standard_for_Accessing_Heliophysics_Time_Series_Data.pdf">Weigel et al., 2021</a> and the presentation by Vandegriff et al. (<a href="/docs/HAPI_overview.pdf">pdf</a> | <a href="https://youtu.be/EIMIyXfpbxI">YouTube video</a>).</p>
<p>The HAPI specification was <a href="/docs/2021_COSPAR.pdf">recommended by COSPAR</a> in 2018 as the common data access API for space science and space weather data.</p>
<p>When data is available from a HAPI server, there is no need to download data files and write custom file reader programs. Using a HAPI client library, data can be loaded into an array using a single command using HAPI <a href="https://github.com/hapi-server/client-idl">IDL</a>, <a href="https://github.com/hapi-server/client-javascript">Javascript</a>, <a href="https://github.com/hapi-server/client-julia">Julia</a>, <a href="https://github.com/hapi-server/client-matlab">MATLAB</a>, and <a href="https://github.com/hapi-server/client-python">Python</a> clients. Data from HAPI servers is also accessible to users of <a href="http://autoplot.org/">Autoplot</a>, <a href="https://github.com/spedas/pyspedas">PySPEDAS</a>, <a href="https://spaceweather.knmi.nl/viewer/">KNMI Timeline Viewer</a>, and <a href="http://spedas.org/wiki/index.php?title=Heliophysics_Application_Programmer%E2%80%99s_Interface">IDL SPEDAS</a>. Sample scripts and containing instructions for accessing data using the above-listed clients may be found by selecting a server, dataset, and time range at the web interface <a href="http://hapi-server.org/servers/">http://hapi-server.org/servers/</a>.</p>
<p>A list of HAPI-compliant data servers is available at <a href="http://hapi-server.org/servers/">http://hapi-server.org/servers/</a>.</p>
<p>The <a href="https://github.com/hapi-server?type=all&language=&sort=name">hapi-server GitHub project</a> contains a collection of repositories for HAPI-related software and documentation, including client and server libraries and code for verifying and testing a HAPI server.</p>
<h2>For Scientists</h2>
<ul>
<li> Get Data: Use the interface at <a href="http://hapi-server.org/servers/">http://hapi-server.org/servers/</a> to download data from your browser, generate ~10-line wget/curl/IDL/Javascript/Julia/MATLAB/Python scripts to download data, or create preview plots.</li>
<li>Demo: A demonstration of using five different clients to access data from a HAPI server is shown in a <a href="https://www.youtube.com/watch?v=dBV2yxoHkDU">YouTube video</a>.</li>
<li>Client Software:
Data from any <a href="http://hapi-server.org/servers/">HAPI-compliant server</a> can be easily accessed using IDL, Javascript, Java, Julia, MATLAB, and Python. The repositories for HAPI libraries in these languages are available <a href="https://github.com/hapi-server?q=client-">at GitHub</a>.
</li>
<li>List of Servers: A list of HAPI-compliant data servers is available at <a href="">http://hapi-server.org/servers/</a>.
</li>
</ul>
<h2 id="dev">For Developers</h2>
<ul>
<li>All the HAPI specification and many server and client tools are available from its <a href="https://github.com/hapi-server/">GitHub project page</a>. Software includes clients, servers, and a server verifier/validator.</li>
<li><a href="https://github.com/hapi-server/presentations">HAPI Presentations</a></li>
<li>Email lists:
<ul>
<li><a href="https://groups.io/g/hapi-news">Announcements</a> about HAPI-related software</li>
<li><a href="https://groups.io/g/hapi-dev">Discussion</a> of the specification and telecon announcements</li>
<li><a href="https://groups.io/g/hapi-help/">Help</a> on HAPI-related issues</li>
</ul>
</li>
</ul>
<h2 id="data">For Data Providers</h2>
<ul>
<li>The HAPI specification describes a minimum set of capabilities needed for a server to allow access to the time series data values within one or more data collections.
<ul>
<li>Current version (3.3.1): <a href="https://github.com/hapi-server/data-specification/raw/master/hapi-3.3.1/HAPI-data-access-spec-3.3.1.pdf">PDF</a> | <a href="https://github.com/hapi-server/data-specification/blob/master/hapi-3.3.1/HAPI-data-access-spec-3.3.1.md">HTML</a></li>
<li><a href="https://github.com/hapi-server/data-specification/blob/master/hapi-dev/HAPI-data-access-spec-dev.md">Draft 3.4 version</a></li>
</ul>
</li>
<li>Server Software:
<ul>
<li>Prior to writing server-side software, we suggest trying <a href="https://github.com/hapi-server/server-nodejs">the generic stand-alone HAPI server</a>. If you can generate at least a <a href="https://github.com/hapi-server/data-specification/blob/master/hapi-3.3.1/HAPI-data-access-spec-3.3.1.md#374-response-formats">HAPI ASCII stream</a> of your datasets with a command line program, you can use this server to get a HAPI-compliant server running on your site quickly.</li>
<li>User-contributed source code for servers in various languages is available at <a href="https://github.com/hapi-server?q=server-">at GitHub</a>. This contributed code is typically not up-to-date or generalized, but it may be useful for getting started.</li>
<li>See the <a href="https://github.com/hapi-server/server-ui">server-ui</a> repository for a basic server entry/overview page template for a HAPI server. Code is also available for a web interface for generating URLs to download data, plotting data from a HAPI server, and generating scripts that read and plot the selected parameter (the code used by <a href="http://hapi-server.org/servers/">http://hapi-server.org/servers/</a>).</li>
<li>Server developers can test their server for HAPI-compliance using <a href="http://hapi-server.org/verify">the HAPI server verification service</a>.</li>
</ul>
</li>
<li>Server Developers: If you have developed a HAPI server and it is ready for production and would like to make it automatically visible to existing software in the HAPI ecosystem, see <a href="https://github.com/hapi-server/servers">https://github.com/hapi-server/servers</a></li>
</ul>
</div>
<div class="column">
<h2>Gallery of Tools using HAPI data</h2>
<!--TODO: Rotate images as in https://codepen.io/paulobrien/pen/YzzqgVJ-->
<div style="max-height: 100%; overflow: auto; display: inline-block;">
<figure>
<figcaption>
<a href="https://spaceweather.knmi.nl/viewer/">KNMI Timeline Viewer</a> showing data from four HAPI-enabled data providers.
</figcaption>
<img
src="assets/imgs/knmi-stack-demo-fs8.png"
style="display: block; max-width: 100%; height: auto;"
alt="HAPI Stack Demo" />
</figure>
<figure>
<figcaption>
<a href="https://autoplot.org/">Autoplot</a> client showing data from four HAPI-enabled data providers.
</figcaption>
<img
src="assets/imgs/autoplot-stack-demo.svg"
style="display: block; max-width: 100%; height: auto;"
alt="HAPI Stack Demo" />
</figure>
<figure>
<figcaption>
<a href="https://juliaspacephysics.github.io/HAPIClient.jl/dev/usage/">Julia Client</a> example.
</figcaption>
<img
src="assets/imgs/julia-fs8.png"
style="display: block; max-width: 100%; height: auto;"
alt="HAPI Stack Demo" />
</figure>
</div>
</div>
</div>
</div>
</body>
</html>