forked from matthewwall/weewx-forecast
-
Notifications
You must be signed in to change notification settings - Fork 12
forecasting extension for weewx
License
chaunceygardiner/weewx-forecast
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is a forecasting extension for the weewx weather system. Copyright 2013-2020 Matthew Wall Distributed under terms of the GPLv3 This package includes the forecasting module, unit tests, and a sample skin. The following forecast sources are supported: US National Weather Service (NWS) the weather underground (WU) open weathermap (OWM) UK Met Office (UKMO) Aeris Weather World Weather Online (WWO) Dark Sky (DS) Zambretti tide predictions using xtide The forecast extension includes a few independent parts: - a forecast engine that downloads and/or generates forecast data - a database schema that is normalized to store data from various sources - a search list extension for using forecast data in reports - a pre-defined forecast_table for inclusion in reports - a pre-defined forecast_strip for inclusion in reports - icons for cloud cover, storms, rainfall, snow, etc. The forecast_table displays forecast data in a table with time going down the page. The forecast_table.inc file is a cheetah template designed to be included in other templates. At the beginning of the file is a list of variables that determine which forecast data will be displayed. The forecast_strip displays forecast data in a compact form with time going from left to right. The forecast_strip.inc file is a cheetah template designed to be included in other templates. At the beginning of the file is a list of variables that determine which forecast data will be displayed. =============================================================================== Pre-requisites If you want NWS forecasts, determine your 3-character forecast office identifier and 6-character location identifier: http://www.nws.noaa.gov/oh/hads/USGS/ If you want WU forecasts, obtain an api_key: http://www.wunderground.com/weather/api/ If you want OWM forecasts, obtain an api_key: http://openweathermap.org/appid If you want UK Met Office forecasts, obtain an api_key: http://metoffice.gov.uk/datapoint If you want Aeris forecasts, obtain a client id and client secret: http://www.aerisweather.com/account If you want WWO forecasts, obtain an api_key: https://developer.worldweatheronline.com/auth/register If you want DS forecasts, obtain an api_key: https://darksky.net/dev/register If you want tide forecasts, install xtides: sudo apt-get install xtide Then determine your location: http://tides.mobilegeographics.com/ Note: current versions of debian (bookworm) do not include xtide. This is perhaps true of other distributions. You'll need to build it yourself and set the 'prog' variable in the xtide section. Example (building xtide) Note: the first two lines change to your home directory and set the mode on your home directory such that the weewx user can find the tide program. cd chmod 755 . wget https://flaterco.com/files/xtide/xtide-2.15.5.tar.xz (decompress and then cd to xtide-2.15.5 directory) sudo apt-get install libpng-dev sudo apt-get install libtcd-dev ./configure --with-x=no make tide Example (setting prog variable to point to where you have built xtide): [Forecast] ... [[XTide]] location = Palo Alto Yacht Harbor, San Francisco Bay, California prog = /home/jkline/software/xtide-2.15.5/tide You'll still need to install xtide-data. Example: apt install xtide-data and you'll need to create an /etc/xtide.conf file to tell xtide where to find the harmonic data you installed with xtide-data. Example: /etc/xtide.conf: /usr/share/xtide (xtide-data installs harmonic data in the /usr/share/xtide directory) =============================================================================== Installation instructions: 1) run the installer: For WeeWX 5: weectl extension install weewx-forecast-3.5.zip For WeeWX 4: wee_extension --install weewx-forecast-3.5.zip 2) modify weewx.conf for your location: [Forecast] [[NWS]] lid = MAZ005 # specify a location identifier foid = BOX # specify a forecast office identifier lid_desc = Framingham-Middlesex MA # (optional) specify a lid description for cases # where the lid is repeated in the forecast file # and the user does not want the first entry for that lid. # Just omit this entry entirely unless you have examined # the forecast file and know the description of the repeated # lid entry that you want to use. [[WU]] api_key = XXXXXXXXXXXXXXXX # specify a weather underground api_key # A location may be specified. If it isn't, your stations lat/long # will be used. # # To specify the location for which to generate a forecast, one can specify # the Geocode (lat, long), IATA Code, ICAO Code, Place ID or Postal Key. # # These options are listed here: # https://docs.google.com/document/d/1_Zte7-SdOjnzBttb1-Y9e0Wgl0_3tah9dSwXUyEA3-c/ # # If none of the following is specified, the station's latititude and longitude # will be used. If more than one is specified, the first will be used according # to the order listed here. # # geocode = "33.74,-84.39" # iataCode = DEN # icaoCode = KDEN # placeid = 327145917e06d09373dd2760425a88622a62d248fd97550eb4883737d8d1173b # postalKey = 81657:US [[OWM]] api_key = XXXXXXXXXXXXXXXX # specify an open weathermap api_key [[UKMO]] api_key = XXXXXXXXXXXXXXXX # specify a UK met office api_key location = 2337 # specify code for UK location [[Aeris]] client_id = XXXXXXXXXXXXXXXX # specify client identifier client_secret = XXXXXXXXXXXXXXXX # specify client secret key [[DS]] api_key = XXXXXXXXXXXXXXXX # specify a dark sky api_key [[XTide]] location = Boston # specify a location 3) restart weewx: sudo /etc/init.d/weewx stop sudo /etc/init.d/weewx start This will result in a skin called forecast with web pages that illustrate how to use the forecasts. See comments in forecast.py for detailed customization options. =============================================================================== Credits: Icons were derived from Adam Whitcroft's climacons.
About
forecasting extension for weewx
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- Python 83.4%
- NASL 12.3%
- HTML 3.1%
- CSS 1.2%