X-Git-Url: https://wylark.com/src/infoex-autowx.git/blobdiff_plain/d0aebe468057e65aefaa233512832e8cfe73b0b3..1a7b8881a19bde0c1c391e1454a3bb0ed1a924f3:/README.md?ds=inline diff --git a/README.md b/README.md index bebbdcb..93fdea2 100644 --- a/README.md +++ b/README.md @@ -82,8 +82,11 @@ options. `token = # MesoWest API token -- only applies when type is mesowest #` `station_id = # the NRCS/MesoWest identifier for a particular station #` `desired_data = # a comma-delimited list of fields you're interested in #` -`units = # either english or metric -- only applies when type is mesowest #` +`units = # either english, metric, or american #` +`tz = # any entry from the Olson tz database e.g. America/Denver #` `path = # the filesystem path to the Python program -- only applies when type is python #` +`wind_mode = # normal or average -- only applies when type is mesowest #` +`hn24 = # true or false -- only applies when type is mesowest #` `[infoex]` `host = # InfoEx FTP host address #` @@ -192,6 +195,40 @@ indicates that I'd like to import "Temperature" and "Precipitation accumulated" from the MesoWest station at Santiam Pass, OR, into InfoEx, and that I want that data in imperial units. +Three- versus 24-hour ranges +---------------------------- + +By default, this program will fetch three hours of data from the +provider. This way, if the most recent record has any missing data, it +can examine the two hours prior, using whatever data it can find. + +There are two features which will cause the program to expand the time +range of fetched data from three to 24 hours. Please be aware of this +expansion as it may cause a rise in data/API usage. + +**NOTE: Only MesoWest stations have the benefit of wind averaging and + HN24 calculation at this time, because generally NRCS SNOTEL + stations do not provide wind data. HN24 support for NRCS SNOTEL + is planned. + +### Wind mode +If you go to submit a Wx observation in InfoEx at e.g. 05:05, and have +so configured InfoEx, it will take the wind speed, wind gust speed, and +wind direction, from that hour and auto-fill it for the observation. + +Some operations may find it more important to know the averages for +those values over the prior 24 hour period. Setting `wind_mode` to +`average` will enable that. + +### HN24 +As most stations do not provide HN24 on their own, this program provides +a configuration option for calculating this. Simply add `hn24 = true` to +the configuration file. + +*NOTE: This is its own configuration option, rather than a new value for + desired_data, because it's not technically provided by MesoWest + or NRCS SNOTEL.* + Custom weather station support ------------------------------ @@ -206,6 +243,46 @@ or a remote web page which requires some custom parsing. Please see the program located at examples/custom-wx.example.py for a complete description of what's required. +A note on time zones +-------------------- + +This program is aware of time zones via the pytz library. The way in +which NRCS and MesoWest deal with time zones differs as follows: + +NRCS expects the request to come in the appropriate time zone, and the +data retrieved will be in the same time zone (no transformation +required before sending to InfoEx). + +MesoWest expects the request to come in UTC, and the data retrieved will +be in the same time zone (transformation from UTC to the desired time +zone is required before sending to InfoEx). + +As long as you specify the correct timezone in your configuration file, +all will be handled correctly. The list of time zones comes from the +Olson tz database. See that for more information. + +If you specify an invalid time zone, the program will exit and inform +you of such. + +Lastly, InfoEx itself is timezone aware. If you notice that the data +which makes it into your operation is inaccurate, start your +investigation with time zone-related issues and move on only once you've +ruled this out as a cause of the inaccuracy. + +Unit conversions +---------------- + +Desired units may be specified in the configuration file. + +For MesoWest, the desired unit will be passed along in the API request +and the conversion will take place through the MesoWest/Synoptic API. + +For NRCS, this program will do the conversion manually, as NRCS does not +permit specifying the desired unit. + +There is an "American" units mode in which precip data is converted to +metric, and wind data is converted to imperial units. + A note on supported measurements -------------------------------- @@ -254,17 +331,62 @@ windSpeedNum windDirectionNum windGustSpeedNum -Future plans ------------- - -- Implement unit conversion for NRCS stations - Version history --------------- +- 3.4.0 (Mar 2022) + + Implement HN24 for NRCS SNOTEL stations, and implement "American" + units mode. + +- 3.3.1 (Jan 2022) + + Fix bug in which HN24 values under certain circumstances could be + inaccurate. + +- 3.3.0 (Nov 2021) + + Implement wind averaging and auto-calculation of HN24. These are + opt-in via two new configuration options. + +- 3.2.4 (Mar 2021) + + Fix a small bug that allowed MesoWest HS values to flow through in + millimeters when metric was the specified unit. MesoWest metric HS + values are now correctly in centimeters. + +- 3.2.3 (Feb 2021) + + Fix a small bug that allowed a TypeError to be raised with some + regularity. + +- 3.2.2 (Feb 2021) + + Various small fixes. + + - Round precipitation accumulation values to 2 decimal places. + - Catch requests' ConnectionException. + - Improve logging output when using stdout. + +- 3.2.1 (Feb 2021) + + Fix config validation bug with units and custom Python program. + +- 3.2.0 (Feb 2021) + + Implement NRCS unit conversion. + +- 3.1.1 (Feb 2021) + + Fix relative humidity rounding. + +- 3.1.0 (Jan 2021) + + Implement time zone support. + - 3.0.2 (Jan 2021) - Use UTCC time when asking MesoWest for data. + Use UTC time when asking MesoWest for data. - 3.0.1 (Jan 2021)