My bad...
In the modified date2ts() function, the except line has a syntax error (I
pulled the code snippet from the wrong forecast.py file, sorry). It should
read:
except ValueError:
not
except ValueError, e:
Mike/AJ9X
On Friday, October 9, 2020 at 12:24:39 PM UTC-4 Michael Bruski wrote:
> Okay all. Here is a working solution to the problem I encountered trying
> to
> exploit Area Forecast Matrices for generating a forecast_table in WeeWX.
>
> Background. If you live in an area served by a moderately sized or larger
> airport, the NWS most likely generates a Point Forecast Matrix (PFM) that
> fairly accurately predicts your future weather up to 7 days out. If, on
> the other hand, you live in a rural/agri-business area like I do, where the
> PFMs are only published for airports more than an hours drive away you
> probably want to make use of an Area Forecast Matrix (AFM) for your
> immediate
> area. The actual data content of the PFM and AFM are identical with the
> exception of a few lines of header information. In the PFM, this is lines
> two and three of the report which provide the Description (airport name)
> and
> Location information (lat/lon/elev). In the AFM, line two provides a zone
> or
> county name and line three(/four/five?) lists cities or towns within the
> zone/county that are covered by the report.
>
> A problem existed with finding the DTG in some (not all) of the AFMs. Here
> I'll present a solution to this issue that is rather trivial. I won't bore
> you with the logic of the solution. I assume you already have installed
> the
> forecast extension. You will need v3.4.0b10 if you are running WeeWX v4.
> Make sure it is producing a forecast panel in WeeWX using any valid
> PFM/FOID
> combination. Before proceeding, you will want to download the AFM dataset
> from your local NWS forecast office and make a note of the location ID
> (LID)
> for your immediate area.
>
> The code for this extension is installed in /usr/share/weewx/user/. The
> filename is forecast.py. You need to edit this file using your favorite
> editor (mine happens to be nedit):
>
> shell prompt> cd /usr/share/weewx/user/
> shell prompt> sudo cp -p forecast.py forecast.py-dist
> shell prompt> sudo nedit forecast.py
>
> Somewhere around line 1900 is a function named 'date2ts'. You will need to
> replace or modify that function so that it looks like this when you are
> done:
>
> def date2ts(tstr):
> """Convert NWS date string to timestamp in seconds.
> sample format: 418 PM EDT SAT MAY 11 2013
> """
>
> parts = tstr.split(' ')
> s = '%s %s %s %s %s' % (parts[0], parts[1], parts[4], parts[5],
> parts[6])
> try:
> time_struct = time.strptime(s, "%I%M %p %b %d %Y")
> except ValueError, err:
> logerr('%s: %s is not a valid DTG' % (NWS_KEY, s))
> return None
> ts = time.mktime(time_struct)
> return int(ts)
>
>
> With the above changes made save your file. Next you need to modify your
> existing options for the forecast extension in /etc/weewx/weewx.conf.
>
>
> [Forecast]
> ⁞
> [[NWS]]
> lid = 'Your location ID'
> foid = 'Forecast Office ID'
> url =
> http://forecast.weather.gov/product.php?site=NWS&product=AFM&format=txt&issuedby='Forecast
>
> Office ID'
> interval = 3600
>
> Note that I opt to capture an update every hour vice the default of 3 hour
> so
> don't include the interval parameter if you're happy with the default.
> Save
> your file when the changes are complete. Now simply run the following
> commands:
>
>
> shell prompt> sudo /etc/init.d/weewx stop
> shell prompt> sudo rm /var/lib/weewx/forecast.sdb
> shell prompt> sudo /etc/init.d/weewx start
> shell prompt> sudo tail -n 100 -f /var/log/syslog
>
> Check the output from syslog to see that it picked up your changes and that
> the forecast thread is running (no python error messages). At this point,
> you will need to wait for the next report cycle to see that the AFM dataset
> is downloaded and that forecast records are written to the database. This
> typically happens 2 to 3 minutes after the beginning of the report cycle on
> my RPi4. The forecast panel in WeeWX will not propagate until the
> following
> report cycle completes (about 5 minutes after the forecast records are
> written).
>
> That's all there is to it. With this change you can exploit either PFM or
> AFM
> products from the NWS.
>
> Mike/AJ9X
>
>
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/0ea0559a-e216-410a-8a5d-1dd9267511e1n%40googlegroups.com.