From 41ccb72cda660bc976ff28fd67622c0a65b0a297 Mon Sep 17 00:00:00 2001 From: Tom Keffer Date: Sun, 4 Nov 2012 17:12:55 +0000 Subject: [PATCH] Version 2.0.0 release --- MANIFEST | 1 + bin/weeplot/utilities.py | 32 ++++++++++++++++++++++++++++++-- bin/weewx/VantagePro.py | 14 ++++++++------ bin/weewx/__init__.py | 2 +- docs/CHANGES.txt | 5 +++-- docs/customizing.htm | 23 ++++++++++++++++++++++- docs/upgrading.htm | 26 +++++++++++++++----------- docs/yearhilow.png | Bin 0 -> 7286 bytes setup.py | 9 --------- skins/Standard/index.html.tmpl | 2 +- skins/Standard/skin.conf | 13 ++++++++++++- skins/Standard/weewx.css | 19 +++++++++++++++---- skins/Standard/year.html.tmpl | 1 + weewx.conf | 4 ++-- 14 files changed, 111 insertions(+), 40 deletions(-) create mode 100644 docs/yearhilow.png diff --git a/MANIFEST b/MANIFEST index bacc9d16..3da8209c 100644 --- a/MANIFEST +++ b/MANIFEST @@ -57,6 +57,7 @@ docs/upgrading.htm docs/usersguide.htm docs/weekgustoverlay.png docs/weewx_docs.css +docs/yearhilow.png skins/Ftp/skin.conf skins/Standard/favicon.ico skins/Standard/index.html.tmpl diff --git a/bin/weeplot/utilities.py b/bin/weeplot/utilities.py index d592c0dd..7cdf9d75 100644 --- a/bin/weeplot/utilities.py +++ b/bin/weeplot/utilities.py @@ -42,6 +42,12 @@ def scale(fmn, fmx, prescale = (None, None, None), nsteps = 10): (-2.0, 14.0, 2.0) >>> print scale(-12.1, -5.3) (-13.0, -5.0, 1.0) + >>> print scale(10.0, 10.0) + (10.0, 10.1, 0.01) + >>> print "(%.4f, %.4f, %.5f)" % scale(10.0, 10.001) + (10.0000, 10.0010, 0.00010) + >>> print scale(10.0, 10.0+1e-8) + (10.0, 10.1, 0.01) >>> print scale(0.0, 0.05, (None, None, .1), 10) (0.0, 1.0, 0.1) >>> print scale(0.0, 0.21, (None, None, .02)) @@ -62,7 +68,7 @@ def scale(fmn, fmx, prescale = (None, None, None), nsteps = 10): if fmx < fmn : raise weeplot.ViolatedPrecondition, "scale() called with max value less than min value" - if fmx == fmn : + if _rel_approx_equal(fmn, fmx) : if fmn == 0.0 : fmx = 1.0 else : @@ -217,7 +223,8 @@ class ScaledDraw(object): lri = imagebox[1] lls = scaledbox[0] urs = scaledbox[1] - + if urs[1] == lls[1]: + pass self.xscale = float(lri[0] - uli[0]) / float(urs[0] - lls[0]) self.yscale = -float(lri[1] - uli[1]) / float(urs[1] - lls[1]) self.xoffset = int(lri[0] - urs[0] * self.xscale + 0.5) @@ -411,6 +418,27 @@ def get_font_handle(fontpath, *args): return font +def _rel_approx_equal(x, y, rel=1e-7): + """Relative test for equality. + + Example + >>> _rel_approx_equal(1.23456, 1.23457) + False + >>> _rel_approx_equal(1.2345678, 1.2345679) + True + >>> _rel_approx_equal(0.0, 0.0) + True + >>> _rel_approx_equal(0.0, 0.1) + False + >>> _rel_approx_equal(0.0, 1e-9) + False + >>> _rel_approx_equal(1.0, 1.0+1e-9) + True + >>> _rel_approx_equal(1e8, 1e8+1e-3) + True + """ + return abs(x-y) <= rel*max(abs(x), abs(y)) + if __name__ == "__main__": import doctest diff --git a/bin/weewx/VantagePro.py b/bin/weewx/VantagePro.py index d88ad394..d38ce067 100644 --- a/bin/weewx/VantagePro.py +++ b/bin/weewx/VantagePro.py @@ -367,6 +367,7 @@ class Vantage(weewx.abstractstation.AbstractStation): self.max_tries = int(vp_dict.get('max_tries' , 4)) self.save_monthRain = None + self.max_dst_jump = 7200 # Get an appropriate port, depending on the connection type: self.port = Vantage._port_factory(vp_dict) @@ -512,7 +513,8 @@ class Vantage(weewx.abstractstation.AbstractStation): _record = self.translateArchivePacket(_packet) # Check to see if the time stamps are declining, which would # signal that we are done. - if _record['dateTime'] is None or _record['dateTime'] <= _last_good_ts : + if _record['dateTime'] is None or _record['dateTime'] <= _last_good_ts - self.max_dst_jump: + print "Stop.", weeutil.weeutil.timestamp_to_string(_record['dateTime']), weeutil.weeutil.timestamp_to_string(_last_good_ts) # The time stamp is declining. We're done. syslog.syslog(syslog.LOG_DEBUG, "VantagePro: DMPAFT complete: page timestamp %s less than final timestamp %s"\ % (weeutil.weeutil.timestamp_to_string(_record['dateTime']), @@ -1050,17 +1052,17 @@ def _archive_datetime(packet) : datestamp = packet['date_stamp'] timestamp = packet['time_stamp'] - # Unforunately, there is no way of determining whether the time in the - # archive packet is DST or not. Assume it is the same as local time. - local_tt = time.localtime() - # Decode the Davis time, constructing a time-tuple from it: + # Construct a time tuple from Davis time. Unfortunately, as timestamps come + # off the Vantage logger, there is no way of telling whether or not DST is + # in effect. So, have the operating system guess by using a '-1' in the last + # position of the time tuple. It's the best we can do... time_tuple = ((0xfe00 & datestamp) >> 9, # year (0x01e0 & datestamp) >> 5, # month (0x001f & datestamp), # day timestamp // 100, # hour timestamp % 100, # minute 0, # second - 0, 0, local_tt.tm_isdst) + 0, 0, -1) # have OS guess DST # Convert to epoch time: try: ts = int(time.mktime(time_tuple)) diff --git a/bin/weewx/__init__.py b/bin/weewx/__init__.py index ecc4b0ca..aedd3cf3 100644 --- a/bin/weewx/__init__.py +++ b/bin/weewx/__init__.py @@ -12,7 +12,7 @@ """ import time -__version__="2.0.0b18" +__version__="2.0.0" # Holds the program launch time in unix epoch seconds: # Useful for calculating 'uptime.' diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt index 35cc8220..77d9b6b9 100644 --- a/docs/CHANGES.txt +++ b/docs/CHANGES.txt @@ -4,7 +4,7 @@ CHANGE HISTORY For complete documentation, see http://www.weewx.com/docs -2.0.0 XX/YY/12 +2.0.0 11/04/12 A big release with lots of changes. The two most important are the support of additional weather hardware, and the support of the MySQL database. @@ -37,7 +37,8 @@ along the way. See the Customizing Guide. You can now use "mmHg" as a unit of pressure. -Added new almanac information such as first and last quarter moons. +Added new almanac information, such as first and last quarter moons, and civil +twilight. Changed the engine architecture so it is more event driven. It now uses callbacks, making it easier to add new event types. diff --git a/docs/customizing.htm b/docs/customizing.htm index b92e8956..24c89236 100644 --- a/docs/customizing.htm +++ b/docs/customizing.htm @@ -1602,7 +1602,28 @@ outTemp = Outside Temperature

Daytime temperature with running average

-

Progressive vector plots

+

+ One more example. This one shows daily high and low temperatures for a year:

+

+ [[year_images]]
+
+  ...
+  [[[yearhilow]]]
+    [[[[hi]]]]
+      data_type = outTemp
+      aggregate_type = max
+      label = High
+    [[[[low]]]]
+      date_type = outTemp
+      aggregate_type = min
+      label = Low Temperature

+

+ This results in the plot yearhilow.png:

+ +

+ Daily highs and lows +

+

Progressive vector plots

Weewx can produce progressive vector plots as well as the more conventional x-y plots. To produce these, use plot type 'vector'. You need a vector type to produce this kind of plot. There are two: 'windvec', diff --git a/docs/upgrading.htm b/docs/upgrading.htm index c53b51be..f0df1d01 100644 --- a/docs/upgrading.htm +++ b/docs/upgrading.htm @@ -23,21 +23,25 @@

What follows are directions for upgrading from specific versions.

V1.14 or earlier

Version 2.0 introduces many new features, including a revamped internal -engine. Fortunately, all skins are completely backwards compatible, so you -should not have to change your templates or skin configuration file, -skin.conf.

-

If you have written a custom report generator it should also be backwards -compatible.

-

However, the main configuration file, weewx.conf, -has changed in a way that is not backwards compatible. The setup utility will -install a new, fresh version which you will have to edit by hand.

-

If you have written a custom service, it will have to be updated to use the -new engine. The overall architecture is very similar, the only change is that +engine. There are two changes that are not backwards compatible:

+ +

All skins should be completely backwards compatible, so you +should not have to change your templates or skin configuration file, +skin.conf.

+

If you have written a custom report generator it should also be backwards +compatible.

V1.13 or earlier

Version 1.14 introduces some new webpages that have been expressly formatted for the smartphone by using jQuery.

diff --git a/docs/yearhilow.png b/docs/yearhilow.png new file mode 100644 index 0000000000000000000000000000000000000000..0776a87a167900f45708cb0449dc3702311a581d GIT binary patch literal 7286 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 MGAfWt>5qZ`2f{%{!T Radar -
Click image for expanded radar loop
+

Click image for expanded radar loop

#end if diff --git a/skins/Standard/skin.conf b/skins/Standard/skin.conf index 19f6759a..6bb69243 100644 --- a/skins/Standard/skin.conf +++ b/skins/Standard/skin.conf @@ -186,7 +186,7 @@ radiation = Radiation rain = Rain rainRate = Rain Rate - rxCheckPercent = Signal Quality + rxCheckPercent = ISS Signal Quality windDir = Wind Direction windGust = Gust Speed windGustDir = Gust Direction @@ -556,6 +556,17 @@ [[[[outTemp]]]] [[[[dewpoint]]]] + # Daily high/lows: + [[[yearhilow]]] + [[[[hi]]]] + data_type = outTemp + aggregate_type = max + label = High + [[[[low]]]] + data_type = outTemp + aggregate_type = min + label = Low Temperature + [[[yearwind]]] [[[[windSpeed]]]] [[[[windGust]]]] diff --git a/skins/Standard/weewx.css b/skins/Standard/weewx.css index b988b6d4..2d7fbed6 100644 --- a/skins/Standard/weewx.css +++ b/skins/Standard/weewx.css @@ -157,22 +157,34 @@ body { } #plots img { - margin: 3px; border: thin solid #3d6c87; + margin: 3px; padding: 3px; } #radar_img { - width: 90%; + width: 100%; display: block; margin-left: auto; margin-right: auto; + margin: 3px; + padding: 3px; } #radar_img img { + margin-left: auto; + margin-right: auto; width: 90%; - padding: 3px; margin: 3px; + padding: 3px; +} + +#radar_img p { + width: 90%; + font-style: italic; + font-size: smaller; + text-align: center; + margin-top: 0; } /* @@ -195,4 +207,3 @@ body { h2, h3, h4, h5, h6 { color: #3d6c87; } - diff --git a/skins/Standard/year.html.tmpl b/skins/Standard/year.html.tmpl index f072125d..f47bf85c 100644 --- a/skins/Standard/year.html.tmpl +++ b/skins/Standard/year.html.tmpl @@ -246,6 +246,7 @@
temperatures heatchill + Yearly high/low rain wind barometer diff --git a/weewx.conf b/weewx.conf index 9d0251ba..fbd14b32 100644 --- a/weewx.conf +++ b/weewx.conf @@ -23,7 +23,7 @@ # # Set to 1 for extra debug info, otherwise comment it out or set to zero. -debug = 1 +debug = 0 # Root directory of the weewx data file hierarchy for this station. WEEWX_ROOT = /home/weewx @@ -32,7 +32,7 @@ WEEWX_ROOT = /home/weewx socket_timeout = 20 # Current version -version = 2.0.0b18 +version = 2.0.0 ############################################################################################