1 <% #include "html.h" %>
3 <% /* Global functions */ %>
4 <% void print_header(void) { %>
5 Content-Type: text/html; charset=UTF-8
9 <% void print_nav(const page_t *page, const page_t *cur) { %>
10 <% const char *class = page == cur ? " class=\"cur\"" : ""; %>
11 <a href="<%= page->link %>"<%= class %>><%= page->name %></a>
14 <% void print_screen(char *name) { %>
15 <a href="screens/<%= name %>.png">
16 <img src="screens/<%= name %>_s.jpg" alt="<%= name %>" class="screen" />
20 <% void print_page(const page_t *page) { %>
21 <?xml version="1.0" encoding="UTF-8"?>
22 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
23 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
25 <title>AWeather<% if (page->name) printf(" - %s", page->name); %></title>
26 <link rel="shortcut icon" href="images/aweather.ico" />
27 <link href="data/global.css" rel="stylesheet" type="text/css" />
28 <script type="text/javascript" src="data/global.js"></script>
29 <meta http-equiv="X-UA-Compatible" content="IE=9" />
30 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
31 <meta name="keywords" content="weather, radar, nexrad, level-ii, virtual globe, grits, rsl" />
32 <% if (page->desc) { %>
33 <meta name="description" content="<%= page->desc %>" />
35 <meta name="google-site-verification" content="-SZkTpNRWHrpESTGNZ8Pshnz4zKbwfKv54NoavUKK_Y" />
36 <meta name="msvalidate.01" content="CB7C94BBCD12714FDFF3D22415B1888A" />
40 <a href="."><img class="logo" src="images/logo.png" alt="AWeather" /></a>
41 <h1 class="title"><a href=".">AWeather</a></h1>
43 <% for (int i = 0; header[i].link; i++) print_nav(&header[i], page); %>
44 <span class="sep"></span>
45 <% for (int i = 0; other[i].link; i++) print_nav(&other[i], page); %>
50 <p class="msg">This site is currently under construction</p>
51 <p class="msg" style="font-size:8pt; font-weight:normal;">
52 If I had an animated GIF of a guy with a shovel, I would put it here</p>
55 <div style="clear:both;"></div>
58 Copyright © 2011-2012 Andy Spencer
59 <% for (int i = 0; footer[i].link; i++) { %>
60 | <% print_nav(&footer[i], page); %>
67 <% /* Normal Pages */ %>
68 <% void print_about(void) { %>
70 AWeather is a free/open source application which has been
71 designed to integrate and visualize high-quality meteorological
72 data using an interactive Virtual Globe interface suitable for
73 a wide range of users including weather enthusiasts, academics,
76 It is designed to provide more information than is typically
77 available from weather widgets and simple desktop applications.
78 At the same time, it strives to be simpler and easier to use
79 than existing meteorological software packages such as GEMPAK
82 Currently AWeather only displays data provided by the United
83 States National Weather Service.
91 <li>High quality data sources<ul>
92 <li>Level-II archives</li>
93 <li>Conus NEXRAD imagery</li>
94 <li>Volume display of dBZ iso surfaces</li>
95 <li>Storm based and county based<br/>
96 warning/watch/advisory displays</li>
98 <li>Virtual Globe base rendering<ul>
99 <li>Including terrain, satellite, and map imagery</li>
101 <li>GPS tracking using GPSd (Linux only)</li>
102 <li>Real-time and offline mode</li>
103 <li>Auto-updating</li>
104 <li>Fullscreen mode</li>
110 <li>Additional data sources<ul>
111 <li>Surface data (temp., humidity, etc)</li>
113 <li>Derived NEXRAD data<ul>
114 <li>Storm relative motion</li>
115 <li>Compost reflective</li>
118 <li>Vertical cross sections</li>
119 <li>Spotter network intergration</li>
124 <div style="clear:both;"></div>
126 <p>AWeather is free software licensed under the terms of the
127 <a href="http://www.gnu.org/licenses/gpl.html">GNU GPL</a>.
128 As such, it can be used by any individuals or organizations
129 without any license fees or royalties.</p>
132 <% void print_news(void) { %>
133 <!-- It's not really spring anymore :/ -->
134 <!-- <p class="quote">Now that it's spring again, progress on AWeather is continuing.</p> -->
139 <li>The Rose-Hulman Linux Users Group website
140 has been unavailable for some time so we have
141 moved on to a new and hopefully more stable server.
142 A mirror of the old RHLUG website is available at
143 <a href="http://rhlug.pileus.org/wiki/Main_Page">http://rhlug.pileus.org/</a></li>
144 <li>Due to the move, some of the site
145 infrastructure such as bug tracer and the
146 development wiki are unavailable
147 <li>These issues should be resolved shortly</li>
149 New Mailing list!<ul>
150 <li>There is now an official mailing list for AWeather and other pileus.org projects as well:<br />
151 <a href="<%= MAIL_LIST %>"><%= MAIL_LIST %></a></li>
152 <li>An astoundingly empty archive is also available:<br />
153 <a href="<%= MAIL_ARCH %>"><%= MAIL_ARCH %></a></li>
159 AWeather 0.7 released: <ul>
160 <li>Added a GPS plugin using
161 <a href="http://www.catb.org/gpsd/">GPSd</a><ul>
162 <li>Written by Adam Boggs and based on the
163 <a href="http://www.aircrafter.org/boggs/stormchasing/BrainStorm/">BrainStorm</a>
164 storm chasing tool</li>
165 <li>Linux only, or maybe Mac or Windows
166 if you're very very brave</li>
168 <li>Detailed (but opaque) maps in the map plugin</li>
169 <li>Automaticlaly save window size and position</li>
170 <li>Add toggle buttons for county-based and storm-based alerts</li>
171 <li>Miscellaneous bug fixes, including some long-standing rendering artifacts</li>
177 AWeather 0.6.3 released: <ul>
178 <li>Added support for Mac OS X</li>
179 <li>Added an much improved <a href="manual">User Guide</a>,
180 written by Jason Holmes</li>
181 <li>Miscellaneous bug fixes</li>
183 <span style="font-size: smaller; font-style: italic;">
184 (p.s. AWeather 0.6.2 doesn't exist, you never
185 heard of it, and neither have I)</span>
190 AWeather 0.6.1 released: <ul>
191 <li>Added a Radar menu to quickly jump to a NEXRAD/WSR-88D site</li>
192 <li>Fixed a bunch of 64-bit bugs</li>
198 AWeather 0.6 released: <ul>
199 <li>Added "Alerts" plugin using the
200 <a href="http://alerts.weather.gov/">NWS CAP</a> feed</li>
201 <li>Updated GTK+ libraries for Windows</li>
202 <li>Behind the scenes, mouse support in Grits
203 has been much improved</li>
205 This release was a little bit faster than previous releases.
206 Hopefully additional improvements to the alerts plugin
207 can be made incrementally during the 0.x.x releases.
212 AWeather 0.5.2 released: <ul>
213 <li>Added new desktop icons</li>
214 <li>Miscellaneous bug fixes</li>
216 Improved organization of the <a href="<%= WIKI_INDEX %>">Wiki</a>
221 AWeather 0.5.1 released: <ul>
222 <li>Bugfix release</li>
223 <li>Updated sat/map/elev to provide better data</li>
224 <li>First release with <a href="<%= DEBIAN_HOME %>">Debian</a>,
225 and <a href="<%= UBUNTU_HOME %>">Ubuntu</a> packages</li>
229 <p class="note">See also: <a href="oldnews">Older news</a>,
230 <a href="<%= GW_AWEATHER %>">gitweb</a></p>
233 <% void print_oldnews(void) { %>
234 < <a href="news">News</a>
238 AWeather 0.5 released: <ul>
239 <li>Support for volume rendering (isosurfaces)</li>
240 <li>Automatic updating</li>
241 <li>Fullscreen mode</li>
242 <li>Dropped GtkGLExt</li>
245 <li>Added additional radars</li>
246 <li>Fixed lots of bugs</li>
247 <li>General code cleanup</li>
248 <li>Available from <a href="files/">files</a> directory
249 and <a href="<%= GW_RSL %>">git</a></li>
251 <b>Update:</b> AWeather 0.5 is also compatible with the
252 newly released RSL v1.41
256 <dd>Started work on this new website. Lots of progress in AWeather as well:<ul>
257 <li>Merged support for isosurfaces to the main branch (Finally!)</li>
258 <li>Added an option to automatically refresh after a timeout</li>
259 <li>New fullscreen mode</li>
263 <dd>AWeather 0.4.1:<ul>
264 <li>Win32 fixes and improved debug support</li>
265 <li>Fix bug with daylight savings time</li>
266 <li>Function to clear old cache entries</li>
270 <dd>AWeather 0.4:<ul>
271 <li>Conus radar images</li>
272 <li>Multiple radars support</li>
273 <li>Gentoo, Ubuntu, MS Windows and source packages are available</li>
277 <dd>AWeather 0.3.0 released, based on libgis but still rather
281 <dd>AWeather 0.2.3 (maintenance release).<br/>
282 Added a Application menu entry and a few build/runtime fixes.</dd>
285 <dd>The source repository has been migrated to Git. A lot of
286 progress is being made on libgis, which is now able to display
287 a virtual globe using data from NASA servers.</dd>
291 <% void print_manual(void) { %>
292 <div class="asciidoc">
293 <% print_file("manual.inc"); %>
297 <% void print_screenshots(void) { %>
299 AWeather provides a consistent user interface that allows the
300 user to zoom in from a high level view of the entire Earth down
301 to regional and mesoscale views.
306 <% print_screen("synop"); %>
307 High level view using Grits
310 <% print_screen("region"); %>
311 Regional view over the midwest
314 <% print_screen("meso"); %>
315 Mesoscale view of a tornadic system
318 <% print_screen("iso"); %>
319 Close up showing a 52.5 dBZ isosurface
322 <% print_screen("alert"); %>
323 Current severe weather alerts for the CONUS
328 <% void print_download(void) { %>
329 <h2>Stable releases</h2>
331 While AWeather won't be considered stable until version 1.0,
332 these are as close to stable as you can get until then
335 <li class="linux"><dl class="inline">
338 <a href="files/aweather-<%= VERSION %>.tar.gz">aweather-<%= VERSION %>.tar.gz</a>,
339 <a href="../grits/files/grits-<%= VERSION_GRITS %>.tar.gz">grits-<%= VERSION_GRITS %>.tar.gz</a>,
340 <a href="files/rsl-1.40.tar.gz">rsl-1.40.tar.gz</a>
343 <dt class="shown">Binaries</dt>
344 <dd class="shown"><a href="javascript:show()">Show..</a></dd>
346 <dt class="hidden">Gentoo</dt>
347 <dd class="hidden"><span class="code">emerge sci-geosciences/aweather</span>
348 from the <a href="<%= GENTOO_HOME %>">Sunrise</a> overlay</dd>
350 <dt class="hidden">Debian</dt>
351 <dd class="hidden"><span class="code">apt-get install aweather</span>
352 from <a href="<%= DEBIAN_HOME %>">Debian</a> sid</dd>
354 <dt class="hidden">Ubuntu</dt>
355 <dd class="hidden"><span class="code">apt-get install aweather</span>
356 from <a href="<%= UBUNTU_HOME %>">Ubuntu</a> Oneiric,
357 or the <a href="<%= UBUNTU_PPA %>">AWeather PPA</a></dd>
359 <dt class="hidden">Slackware</dt>
360 <dd class="hidden">Included in <a href="<%= SLACKY_HOME %>">Slacky</a> 13.37</dd>
362 <dt class="hidden">Arch</dt>
363 <dd class="hidden">Available from the <a href="<%= ARCH_HOME %>">Arch User Repository</a></dd>
365 <dt class="hidden">Mandriva</dt>
366 <dd class="hidden">Available from Mandriva 2011</dd>
368 <li class="windows"><dl class="inline">
370 <dd><a href="files/aweather-<%= VERSION_WIN %>-gtk.exe">aweather-<%= VERSION_WIN %>-gtk.exe</a>
371 (Use this unless you know what you're doing)</dd>
374 <dd><a href="files/aweather-<%= VERSION_WIN %>.exe">aweather-<%= VERSION_WIN %>.exe</a></dd>
376 <li class="macos" style="padding-top: .8em; padding-bottom: .8em"><dl class="inline">
378 <dd><a href="files/aweather-<%= VERSION_MAC %>.dmg">aweather-<%= VERSION_MAC %>.dmg</a>
379 (Requires 10.6 or newer)</dd>
383 <h2>Unstable releases</h2>
384 <p class="note">Pre-releases, betas, and other hazardous software</p>
385 <div style="margin-left: 30px;">
386 <p>Check out the <a href="files">files</a> directory for any potential updates</p>
387 <p>Pre-releases are labeled with a -p0 and are mainly built for testing the Windows and Mac packages</p>
390 <h2>Development code</h2>
392 Development code is available from Git
394 <a href="<%= GW_AWEATHER %>">AWeather</a>,
395 <a href="<%= GW_GRITS %>">Grits</a>,
396 <a href="<%= GW_RSL %>">RSL</a>)
398 <div style="margin-left: 30px;">
399 <div class="code">git clone <%= GIT_AWEATHER %></div>
400 <div class="code">git clone <%= GIT_GRITS %></div>
401 <div class="code">git clone <%= GIT_RSL %></div>
403 <p class="note left" style="margin-top: 1.5em;">
404 Repositories for packaging and this website
406 <a href="<%= GW_PKG %>">Packaging</a>,
407 <a href="<%= GW_WEB %>">Website</a>)
409 <div style="margin-left: 30px;">
410 <div class="code">git clone <%= GIT_PKG %></div>
411 <div class="code">git clone <%= GIT_WEB %></div>
415 <% void print_development(void) { %>
416 <!-- Open source mumbo jumbo.. -->
418 <p class="note" style="clear: both;">
419 The AWeather <a href="<%= WIKI_INDEX %>">development wiki</a>
420 is the main resource for development material.
423 <h2>Bug report and feature requests</h2>
424 <div style="margin-left: 30px;">
425 <p><a href="<%= BUG_LIST %>">List of current issues</a></p>
426 <p><a href="<%= BUG_NEW %>">Add a new issue</a></p>
429 <h2>How to contribute?</h2>
431 <li>Locate or host Meteorological and Geospatial data feeds</li>
432 <li>Maintain a Mac OS, Windows, or Linux installer</li>
433 <li>Test AWeather and submit bug reports</li>
434 <li>Make better logo!</li>
437 <h2>Architecture Overview</h2>
439 <li>Built on top of GObject and GTK+</li>
440 <li>Uses the <a href="grits">Grits</a> "Virtual Globe" library<ul>
441 <li>Handles most of the graphics work using OpenGL for rendering</li>
442 <li>Provides some other generic functionality, such as data access</li>
443 <li>Also provides the plugins API used by AWeather</li>
445 <li>AWeather itself is a front-end for Grits along with a
446 bundle of weather related plugins</li>
449 <h2>Building AWeather</h2>
450 <p class="note">See the <a href="<%= WIKI_INSTALL %>">install</a>
451 wiki page for more details</p>
453 <li>AWeather has direct dependencies on Grits, RSL, among other things</li>
454 <li>Currently building and running AWeather requires the
455 exact same version of Grits to be installed<br />
456 (This may change in the near future as the software stabilizes)</li>
457 <li>The <a href="download">Downloads</a> page has information
458 on accessing the AWeather source code repositories</li>
462 <% void print_grits(void) { %>
464 Grits is a Virtual Globe library developed along side AWeather,
465 but desigend to be usable by other program as well.
467 It is differentiated from other Virtual Globes such as Google
468 Earth, NASA World Wind, and KDE Marble in that it is developed
469 primairily as a library that is used by other programs, such as
470 AWeather, rather than providing it's own user interface.
475 <% print_screen("grits"); %>
476 Grits without any plugins
480 <% print_screen("plugins"); %>
481 Satellite and Environment plugins
484 <% print_screen("terrain"); %>
485 Elevation plugin showing a mountain
490 <% void print_rsl(void) { %>
491 <h2>Radar Software Library</h2>
492 AWeather has at times needed a custom version of the
493 <a href="<%= RSL_WEB %>">TRMM Radar Software Library</a>
494 for accessing Level-II radar files. However, most of the changes have
495 since been incorporated into RSL Version 1.41, which can also be used
496 with AWeather. Some remaining changes exist though and are mostly
497 related to code organization and compiler warnings.
501 <h3>NASA/TRMM version</h3>
503 <li><a href="<%= RSL_WEB %>">TRMM RSL Website</a></li>
504 <li><a href="<%= RSL_FTP RSL_TAR %>"><%= RSL_TAR %></a></li>
508 <h3>AWeather's version</h3>
510 <li><a href="files/rsl-1.40.tar.gz">rsl-1.40.tar.gz</a></li>
511 <li><a href="<%= GW_RSL %>">Gitweb</a></li>
512 <li><div class="code">git clone <%= GIT_RSL %></div></li>
517 <% /* Footer Pages */ %>
518 <% void print_contact(void) { %>
520 <p class="note">Questions? Comments? Trouble compiling AWeather?</p>
521 <dl class="inline small">
522 <dt>Bugs</dt> <dd><a href="<%= BUG_LIST %>">Issue Tracker</a> (sign in to add a new issue)</dd>
523 <dt>Email</dt><dd><a href="mailto:andy753421@gmail.com">Andy Spencer</a></dd>
524 <dt>IRC</dt> <dd>#rhlug@irc.freenode.net</dd>
528 <% /* Special Pages */ %>
529 <% void print_index(void) { %>
531 AWeather is a free real-time weather data viewer designed for weather enthusiasts.
532 AWeather is not a weather widget/dockapp that displays a pre-computed forecast.
533 It is designed to be an easy to use program that integrates a
534 variety of meteorological data in simple unified interface;
535 see the <a href="about">about</a> page for more details.
538 <div style="float: left">
539 <h2 style="margin-top: 0;">Features:</h2>
540 <ul style="float: left;">
541 <li>Detailed Level-II NEXRAD radar<ul>
542 <li>3D volume rendering</li>
543 <li>Dual-pole support</li>
545 <li>Online and offline modes<ul>
546 <li>Data caching</li>
547 <li>Automatic updating</li>
549 <li>Warning/Watch/Advisory display</li>
550 <li>GPS tracking and logging</li>
551 <li>Surface and map overlays</li>
552 <li>Terrain rendering</li>
555 <div style="float: left; margin-left: 20px;">
556 <% print_screen("stormbased"); %>
557 <div style="text-align: center; margin-right: 25px;">
558 AWeather showing storm based warnings<br />
559 on top of Level-II radar imagery
562 <a href="download" class="download" style="float: right;">
563 <span>AWeather</span>
564 <span>Download Version <%= VERSION %></span>
565 <img src="images/dl-arrow.png" alt="Download" />
567 <p style="text-align: center;"><%= VERSION_DESC %></p>
570 <% void print_notfound(void) { %>
571 <h1>Error 404 - Page Not found!</h1>
573 <p>This page does not exist!
574 <p>If Andy screwed up, feel free to <a href="contact">tell him</a>,
575 otherwise, go away</p>
578 <% void print_sitemap(const page_t **pages) { %>
579 <?xml version='1.0' encoding='UTF-8'?>
580 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
581 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
582 xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
583 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
584 <% for (int i = 0; pages[i]; i++) { %>
585 <% for (int j = 0; pages[i][j].link; j++) { %>
586 <% if (pages[i][j].prio >= 0) { %>
588 <loc><%% "%s%s", PREFIX, pages[i][j].link %></loc>
589 <priority><%% "%3.1f", pages[i][j].prio %></priority>