weather.git
9 years agoCorrelation set update
Jeremy Stanley [Mon, 10 Nov 2014 22:15:35 +0000 (22:15 +0000)]
Correlation set update

* overrides.conf: Latest source data corrections from
script-assisted research.

These remaining files are generated data. Normally they're not
something I feel good about committing into version control, but in
this case it allows for logging and tracking deltas in the data over
time...

* airports: Removed 527 airports corresponding to nonexistent
stations.

* stations: Removed 176 stations with no recent conditions, added
196.

* zones: Removed 5 zones with no recent forecasts.

* places, zctas: Based on latest Census Bureau data corrections,
updated with new correlations.

* overrides.log: Record of correlation set build.

* slist, zlist: State of active stations and weather zones at the
time of generation.

9 years agoSupport more recent data sources
Jeremy Stanley [Thu, 30 Oct 2014 00:23:01 +0000 (00:23 +0000)]
Support more recent data sources

Add support for 2014 Census Bureau data and the newer version of the
NWS COOP stations file.

10 years agoDocument correlation set rebuilding process
Jeremy Stanley [Thu, 13 Feb 2014 01:54:21 +0000 (01:54 +0000)]
Document correlation set rebuilding process

* INSTALL: Add a new section documenting the way in which newer
correlation data sets can be rebuilt and substituted for officially
distributed copies.

10 years agoCorrelation set update
Jeremy Stanley [Thu, 13 Feb 2014 00:54:05 +0000 (00:54 +0000)]
Correlation set update

* overrides.conf: Latest source data corrections from
script-assisted research.

These remaining files are generated data. Normally they're not
something I feel good about committing into version control, but in
this case it allows for logging and tracking deltas in the data over
time...

* airports: Removed 42 airports corresponding to nonexistent
stations, added 8.

* stations: Removed 303 stations with no recent conditions, added
403.

* zones: Removed 15 zones with no recent forecasts, added 13.

* places, zctas: Based on latest Census Bureau data corrections,
updated with new correlations.

* overrides.log: Record of correlation set build.

* slist, zlist: State of active stations and weather zones at the
time of generation.

10 years agoCorrelation building fixes
Jeremy Stanley [Thu, 13 Feb 2014 00:48:25 +0000 (00:48 +0000)]
Correlation building fixes

* weather.py(correlate): Note the updated URL to Census Bureau data
in file comments, and make the County-Public Forecast Zones
Correlation File parsing more robust against errors in the file
formatting.

11 years agoAdd a .gitignore file.
Jeremy Stanley [Fri, 19 Oct 2012 22:28:35 +0000 (22:28 +0000)]
Add a .gitignore file.

* .gitignore: This is merely for convenience, so that trashfiles from
testing or datafile rebuilds don't make it into the repository.

11 years agoUpdate data files for rounding adjustment.
Jeremy Stanley [Fri, 21 Sep 2012 01:19:43 +0000 (01:19 +0000)]
Update data files for rounding adjustment.

* airports, places, stations, zctas, zones: Regenerated from the same
base dataset used in 2.0, but this time with weather.py's updated
correlate function which rounds radian floats to 7 decimal places. No
nodes were added or removed, and the only changes were to take their
coordinate and distance values from sub-nanometer 10^-16 precision to
sub-meter 10^-7, which is still generally at least an order of magnitude
smaller than the base data precision anyway. This should almost entirely
solve any rounding error fuzz in subsequent data file updates.

11 years agoNormalize data override configuration.
Jeremy Stanley [Wed, 19 Sep 2012 01:33:09 +0000 (01:33 +0000)]
Normalize data override configuration.

* overrides.conf: The data override configuration is now grouped and
alphabetized, so that it can have future updates more easily integrated.
No entries are added or removed in this change.

11 years agoRework data override configuration comments.
Jeremy Stanley [Wed, 19 Sep 2012 01:04:34 +0000 (01:04 +0000)]
Rework data override configuration comments.

* overrides.conf: The data override configuration got very large and
unwieldy. In an effort to be able to normalize the content
programmatically, code comments have been replaced by comment
configuration options for each section.

11 years agoTruncate radian floats in data files.
Jeremy Stanley [Wed, 19 Sep 2012 00:58:31 +0000 (00:58 +0000)]
Truncate radian floats in data files.

* weather.py(correlate): The radian values in data files have a tendency
to vary by the tiniest rounding errors from one Python release to
another. By truncating them to the 7th decimal place, which is still
sub-meter resolution, this problem is minimized and the resulting data
diffs become far less noisy.

11 years agoUpdate sys.path example in INSTALL.
Jeremy Stanley [Wed, 19 Sep 2012 00:42:05 +0000 (00:42 +0000)]
Update sys.path example in INSTALL.

* INSTALL: The example for checking sys.path was syntactically invalid
for Python 3.x, so it has been fixed to work there as well as relatively
modern 2.x (tested with 2.5 since that's the oldest I had on hand).

11 years agoMake sure data files have final newlines.
Jeremy Stanley [Tue, 11 Sep 2012 00:16:18 +0000 (00:16 +0000)]
Make sure data files have final newlines.

* weather.py(correlate): Previously the airports, places, stations,
zctas and zones files lacked trailing newlines, so this trivial patch
adds them before each is closed for writing.

11 years ago2010 Census U.S. Gazetteer file layout changed.
Jeremy Stanley [Mon, 10 Sep 2012 03:28:49 +0000 (03:28 +0000)]
2010 Census U.S. Gazetteer file layout changed.

* weather.py(correlate): The United States Census Bureau altered the
format of their 2010 Gazetteer on August 22, 2012, adding and reordering
a few fields. The previous version of the parser assumed a fixed field
order and ceased to work with the updated data files, so now the order
is inferred from the column headings in the first line of each file
instead.

11 years agoAdd /etc/weather/weatherrc to config search.
Jeremy Stanley [Thu, 30 Aug 2012 11:13:57 +0000 (11:13 +0000)]
Add /etc/weather/weatherrc to config search.

* weather.1(INPUT FILES): Updated the list of potential weatherrc
locations to reflect those mentioned in the INSTALL file, particularly
the addition of /etc/weather/weatherrc in the 2.0 release.

* weather.py(get_config): Adjusted the configuration search locations to
include /etc/weather/weatherrc, since the INSTALL file started
mentioning it in the 2.0 release even though it wasn't actually
implemented as pointed out by Ben Kohler.

11 years agoMake --quiet quieter again.
Jeremy Stanley [Thu, 12 Jul 2012 21:32:13 +0000 (21:32 +0000)]
Make --quiet quieter again.

* weather.py(Selections, guess): The the search cache notification
doesn't belong in terse output, as pointed out by Eric Cooper.

11 years agoImported from archive. 2.0
Jeremy Stanley [Tue, 26 Jun 2012 00:48:37 +0000 (00:48 +0000)]
Imported from archive.

* Release 2.0: Heavy rewrite with too many new features to enumerate
here in the ChangeLog file.

* NEWS: List of important changes since 1.x releases.

* weather, weather.py: Implemented support for Python 3000 as
requested by ptchinster on behalf of Arch Linux, conditions/forecast
searches by latitude/longitude requested by Brandt Daniels, support
for newer NOAA forecasts pointed out by Darryl Mouck and Richard
Dooling, custom URIs requested by Michel Pelzer, international
weather stations requested by Milton Hubsher, and fixed a metric
conversion issue with negative values reported by Jochen Keil,
Michiel Appelman and Stefan Metzlaff. Thanks to everyone for your
input and assistance!

14 years agoImported from archive. 1.5
Jeremy Stanley [Fri, 19 Mar 2010 13:30:22 +0000 (13:30 +0000)]
Imported from archive.

* Release 1.5.

* (all): Updated copyright notices for 2010.

* FAQ, INSTALL, LICENSE, README: Reformatted as ReStructuredText.

* FAQ: Updated to mention alternative sources for NOAA's stations
list, in case the recommended one is unavailable (thanks Celejar!).

* NEWS: Renamed to ChangeLog and refactored into GNU format.

* weather: Added some comment padding between the shebang line and
the copyright, so that distributions wishing to carry patches which
modify the interpreter path don't have to refresh them every year
when the copyright line changes in their context.

* weather, weather.1, weatherrc.5, weather.py: Added experimental
alert, atypes, aurl and zones options to support retrieval,
filtering and formatting of unexpired NWS severe weather advisories.

* weather.1, weatherrc.5: Minor cosmetic fixes to option
descriptions.

* weather.1, weatherrc.5, weather.py: Added imperial and metric
options to filter/convert display units (thanks to Andrew Carter for
this suggestion!).

* weather.py: Fixed a METAR parsing error which would trigger an
IndexError exception if the NWS didn't have a station description on
file (thanks to Celejar for reporting the bug!). Fixed METAR title
line parsing to look for human-readable city and state in the first
line--previous code stopped showing the city name after NWS made
slight format mods. Upped the version to 1.5.

* weatherrc: Additional PIE (Saint Petersburg, FL), PNC (Ponca City,
OK), and PNS (Pensacola, FL) aliases.

15 years agoImported from archive. 1.4
Jeremy Stanley [Sun, 13 Jul 2008 07:49:02 +0000 (07:49 +0000)]
Imported from archive.

* Release 1.4.

* (all): Updated the copyright years for 2008 on some of the files
in the current release and added a copyright statement to any files
previously lacking one.

* LICENSE: Replaced the previous BSD-like license with the one used
by the OpenBSD project (modeled after the Internet Software
Consortium's, a two-clause BSD license removing language made
unnecessary by the Berne convention); this new license is
functionally identical to the old one, just more terse and openly
recognized.

* weather: Clarified function parameters in calls from the wrapper
script to ease future ABI changes in the underlying module.

* weather, weather.py: Some extra comments were added to the source,
indentation style was updated from tab characters to three-space,
and lines longer than 79 columns were refactored or otherwise split.

* weather.1, weather.5, weather.py: Added an flines option to allow
the maximum number of forecast output lines to be shortened. Added
furl and murl options to allow overriding of the default current
conditions and forecast data retrieval URLs. Added a headers option
to allow overriding the default list of header names for current
conditions data filtering. Added a quiet option to suppress the
preamble lines and indentation for both current conditions and
forecast output.

* weather.py: Replaced the hardcoded fallback default METAR station
ID and forecast city/state abbreviation with error messages to
minimize confusion when necessary values are omitted. Adjusted a
couple of hard-coded error message strings to be consistent with the
output format of the option_parser module. Switched from urllib to
urllib2 for retrieving data, providing a simpler means to detect and
report retrieval errors. Upped the version to 1.4.

17 years agoImported from archive. 1.3
Jeremy Stanley [Tue, 25 Jul 2006 23:00:47 +0000 (23:00 +0000)]
Imported from archive.

* Release 1.3.

* FAQ: Update to clarify that specifying an id won't automatically
provide a city and st to get the accompanying forecast.

* weather: Provided a consistent means for relocating weather.py to
a private location; thanks to Mark Tran for pointing out a conflict
with pyweather in ArchLinux (and presumably other distros as well).

* weather.py: Upped the version to 1.3.

17 years agoImported from archive. 1.2
Jeremy Stanley [Fri, 30 Jun 2006 17:42:14 +0000 (17:42 +0000)]
Imported from archive.

* Release 1.2.

* FAQ, README: Updated for inclsuion of weather-util in Debian.

* weather.py: Upped the version to 1.2.

* weatherrc: Added more default aliases PAO and SJC (requested by
Russ Allbery).

18 years agoImported from archive. 1.1
Jeremy Stanley [Tue, 18 Apr 2006 04:33:21 +0000 (04:33 +0000)]
Imported from archive.

* Release 1.1.

* weather: Switched to "#!/usr/bin/env python" instead for
portability.

* weather.1, weather.5, weather.py: Implemented the --omit-forecast
option to cancel --forecast.

* weather.py: Calling with undefined aliases now throws an error and
exits. Aliases, options and default overrides operate more
logically. Upped the version to 1.1.

* weatherrc: Added 214 standard aliases.

18 years agoImported from archive. 1.0
Jeremy Stanley [Sun, 26 Mar 2006 17:08:52 +0000 (17:08 +0000)]
Imported from archive.

* Initial release 1.0.