weewx_forecasting

Mit der Prognoseerweiterung können Sie Prognosen für bis zu 10 Tage in der Zukunft sowie Gezeitenvorhersagen anzeigen. Vorhersagen werden entweder mit der Zambretti-Methode erstellt oder vom US-amerikanischen Nationalen Wetterdienst (NWS), Weather Underground (WU), Open Weathermap, dem britischen Met Office, Aeris Weather, World Weather Online oder Dark Sky heruntergeladen. Gezeitenvorhersagen werden mit XTide generiert.

Die Prognoseerweiterung zeigt Prognosedaten in vielen Formaten an, einschließlich Tabelle, Streifendiagramm, Symbolbalken, kompakte Zusammenfassung und Meteograph.

Die Erweiterung besteht aus Diensten, die Prognosedaten herunterladen / generieren, und einer Suchlistenerweiterung, um Prognosedaten in Vorlagen verfügbar zu machen. Für jeden Prognosetyp gibt es einen Dienst und eine einzelne Suchlistenerweiterung zum Anzeigen von Daten aus jedem Prognosetyp.

Die Erweiterung enthält vorkonfigurierte .inc-Dateien, die in anderen Vorlagen enthalten sein können. Dies bietet eine einfache Möglichkeit, anderen Skins einen Streifen, eine Tabelle oder eine Symbolansicht hinzuzufügen.

Die Prognosen können in vielen verschiedenen Formaten angezeigt werden, unabhängig davon, welcher Prognosedienst die Daten bereitgestellt hat:

Download

wget -O weewx-forecast.zip https://github.com/matthewwall/weewx-forecast/archive/master.zip

Installation

Führen Sie das Erweiterungsinstallationsprogramm aus, um den Prognosedienst und den Beispiel-Skin zu installieren.

sudo wee_extension --install weewx-forecast-x.y.tgz

Beispiel:

2. In weewx.conf, specify required parameters for the forecast services you want to run

[Forecast] [[NWS]] lid = MAZ014 # specify a location identifier foid = BOX # specify a forecast office identifier [[WU]] api_key = XXXXXXXXXXXXXXXX # specify a weather underground api_key [[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

Parameter nicht eingegeben werden, wird nur Zambretti ausgeführt.

Zambretti läuft nur einmal am Tag und nur morgens. Daher müssen Sie möglicherweise bis zum nächsten Tag warten, um eine Zambretti-Ausgabe zu sehen. WU und NWS laufen alle 3-4 Stunden. Gezeitenvorhersagen werden alle paar Wochen erstellt.

Das Installationsprogramm installiert auch einen Skin namens ‚Prognose‘, der veranschaulicht, wie rohe Prognosedaten in einer Vorlage verwendet werden und wie die vorkonfigurierten Anzeigen in anderen Vorlagen verwendet werden.

Überwachen Sie das Protokoll, um zu sehen, was passiert. Das Protokoll sollte zu Beginn Meldungen zu jedem Prognosetyp enthalten. Nach dem ersten Archivierungsintervall sollte jede Prognose heruntergeladen / generiert werden, und die Prognosedaten sollten im Prognose-Skin angezeigt werden.

Sie sollten den Skin ‚Prognose‘ deaktivieren, nachdem Sie überprüft haben, dass die Prognosen funktionieren, und die Beispiele nicht mehr sehen müssen. Dies gilt insbesondere dann, wenn Sie weeWX auf einem Low-End-System ausführen. Der Skin ‚Prognose‘ generiert Seiten, die viele verschiedene Arten der Formatierung von Prognosen veranschaulichen. Auf einem Produktionssystem möchten Sie wahrscheinlich nur ein oder zwei Prognosen, die normalerweise in einen Ihrer normalen Berichte eingebettet sind.

Customization

Es gibt zwei Ansätze zur Verwendung von Prognosedaten in Ihren Vorlagen: (1) Fügen Sie eine vorkonfigurierte forecast _ *. Inc hinzu, und / oder (2) verwenden Sie die $forecast variablen.

Unabhängig davon, ob Sie eine Include- oder die $forecast Variable direkt verwenden, muss die ForecastVariables-Suchlistenerweiterung für den Skin installiert sein.

Die ForecastVariables-Suchlistenerweiterung

Die Prognoseerweiterung enthält eine Suchlistenerweiterung namens ForecastVariables. Hiermit wird eine Variable namens $ Forecast definiert, mit der Sie feinkörnige Prognoseinformationen an einer beliebigen Stelle in eine Vorlage einbetten können. Diese Variable wird häufig in den Prognoseprognose-Dateien _ *. Inc verwendet.

Um die Variable $ prognost in einer Vorlage zu verwenden, muss die Suchlistenerweiterung ForecastVariables im Skin für diese Vorlage aktiviert sein. Um beispielsweise ForecastVariables in der Standard-Skin zu aktivieren, ändern Sie skins/Standard/skin.conf:

[CheetahGenerator] search_list_extensions = user.forecast.ForecastVariables ...

Ein Beispiel finden Sie in der skin.conf in der prognostizierten Skin.

Include a file

Perhaps the easiest way to put forecasts into your pages is to include a file. The forecast extension includes a few .inc files, each of which displays forecast information in a different format. Screen shots of these formats are shown below.

For example, to use the iconic display in a template, simply include the iconic file and its corresponding CSS:

<html> 
  <head>
    <title>forecast</title>
    <link rel='stylesheet' type='text/css' href='forecast_iconic.css'/>
  </head>
  <body>
  #include "forecast_iconic.inc"
  </body>
</html>

Passen Sie optional die Parameter in der skin.conf an (ein Neustart von weewx ist nicht erforderlich):

[Extras]
    [[forecast_iconic_settings]]
        source = WU
        num_days = 7

Oder setzen Sie sie in weewx.conf (Neustart von weewx ist erforderlich):

[StdReport]
    [[forecast]]
        [[[Extras]]]
            [[[[forecast_iconic_settings]]]]
                source = WU
                num_days = 7

Wenn Sie mehr als einmal in eine einzelne Vorlage aufnehmen, möchten Sie wahrscheinlich die Einstellungen vor jedem Einschließen angeben. Auf diese Weise können Sie mehrere Prognosen auf einer Seite erstellen. Dies würde beispielsweise zwei ikonische Vorhersagen auf einer einzigen Seite anzeigen, eine von Weather Underground und eine vom US National Weather Service.

<html>
  <head>
    <title>two forecasts</title>
    <link rel='stylesheet' type='text/css' href='forecast_iconic.css'/>
  </head>
  <body>
#set global $forecast_iconic_settings = dict()
#set global $forecast_iconic_settings['source'] = 'WU'
#set global $forecast_iconic_settings['num_days'] = 10
#include "forecast_iconic.inc"
#set global $forecast_iconic_settings = dict()
#set global $forecast_iconic_settings['source'] = 'NWS'
#set global $forecast_iconic_settings['num_days'] = 7
#include "forecast_iconic.inc"
  </body>
</html>

Optionen für enthaltene Dateien

Jede der enthaltenen Dateien verfügt über Optionen, die die Prognoseanzeige steuern. Beispielsweise kann der Streifen vertikal oder horizontal ausgerichtet sein, oder Sie möchten die Schneevorhersage in Tabellen ausblenden, wenn Sie in einer Region leben, in der es nie schneit.

Dies sind die Optionen für die verschiedenen Include-Dateien (die Dateien, die mit .inc enden, z. B. Forecast_table.inc):

[forecast_table_settings] 
    source = NWS
    num_periods = 72
    show_legend = 1
    show_hourly = 0
    show_day = 1
    show_date = 1
    show_outlook = 1
    show_temp = 1
    show_dewpoint = 0
    show_humidity = 0
    show_wind = 1
    show_tides = 1
    show_sun = 0
    show_moon = 0
    show_pop = 1
    show_precip = 1
    show_obvis = 1

[forecast_strip_settings]
    source = Aeris
    num_periods = 300
    show_temp = 1
    show_temp_min = 1
    show_temp_max = 1
    show_dewpoint = 0
    show_humidity = 0
    show_wind = 1
    show_clouds = 1
    show_pop = 1
    show_snow = 1
    show_precip = 1
    show_sun = 0
    show_moon = 0
    show_moonphase = 0
    show_tides = 0

[forecast_iconic_settings]
    source = WU
    orientation = vertical
    num_days = 7 bar_width = 150
    show_date = 0
    show_pop = 0
    show_precip = 1
    show_obvis = 1

[forecast_compact_settings]
    source = WU
    num_days = 4
    show_wind = 1
    show_pop = 1
    show_precip = 1
    show_obvis = 1

Prognosevariablen

Sie können Teile einer Prognose mithilfe der Variablen $ prognost in eine beliebige Vorlage einfügen. Beispielsweise möchten Sie möglicherweise die vorhergesagten hohen und niedrigen Temperaturen neben der aktuellen Temperatur anzeigen oder den vorhergesagten Regen jeden Tag für die nächste Woche anzeigen.

Hier ist ein Beispiel für eine Möglichkeit, die Variable $forecast in einer Vorlage zu verwenden.

Fragen Sie zuerst die Datenbank nach den prognostizierten Ereignissen ab:

#set $periods = $forecast.weather_periods('WU', max_events=6)

Das erste Argument ist die Prognosequelle, z. B. ‚WU‘, ‚WWO‘ oder ‚NWS‘. Geben Sie optional die maximale Anzahl von Ereignissen an, an denen Sie interessiert sind. Wenn nicht angegeben, gibt die Abfrage jedes mögliche Ereignis für die angegebene Quelle zurück.

Jeder Zeitraum enthält Prognosedaten wie Temperatur, Himmelsbedeckung, Niederschlagswahrscheinlichkeit und Sichtbehinderungen. Jede Periode enthält auch einen Zeitstempel und einen Ort.

Dies würde beispielsweise die Zeit, die Temperatur und die Himmelsbedeckung für jeden Zeitraum anzeigen:

#for $period in $periods
$period.event_ts $period.temp $forecast.label('Weather', $period.clouds)<br/>
#end for

Ausführliche Informationen zur Verwendung der $ prognostizierten Variablen finden Sie in den Kommentaren am Anfang von Forecast.py.

Prognosesymbole

Die Prognosen enthalten viele Symbole, die auf jede Skin kopiert werden müssen, die die Prognose verwendet. Wenn Sie beispielsweise die Prognose in den Standard-Skin einbetten möchten, kopieren Sie zuerst die Symbole:

cp -rp skins/forecast/icons skins/Standard

Fügen Sie dann die Symbole in die Liste der Dateien ein, die vom CopyGenerator kopiert werden sollen. Hängen Sie das Verzeichnis icons an den Parameter copy_once in der CopyGenerator-Konfiguration in skins / Standard / skin.conf an:

[CopyGenerator]
    copy_once = ..., icons/*.png

Wenn Sie das Erscheinungsbild einer Prognose ändern möchten, ersetzen Sie die Bilder im Symbolverzeichnis. Beispielsweise möchten Sie möglicherweise farbenfrohe Bilder anstelle des monochromatischen Standardsatzes. Verwenden Sie denselben Dateinamen und achten Sie darauf, alle verschiedenen Bilder einzuschließen.

Forecast_iconic

Die ikonische Vorhersage ist eine vereinfachte Ansicht, bei der die Zeit auf der Seite (vertikal) oder auf der Seite (horizontal) zunimmt.

include ‚Forecast_iconic.inc‘

forecast_compact

The compact forecast shows a few days into the future.

#include "forecast_compact.inc"

prognostizierte_Tabelle

Die Prognosetabelle enthält viele Informationen, wobei die Zeit in der Zukunft zunimmt, wenn Sie die Tabelle durchsehen. Jeder Tag ist eine Zusammenfassung der Prognoseinformationen für diesen Tag und kann erweitert werden, um die Prognoseaufschlüsselung für den Tag anzuzeigen. Für einige Prognosequellen ist dies stündlich, für andere 4 Stunden, für andere eine Mischung. Verwenden Sie die Einstellungen, um anzugeben, welche Spalten angezeigt werden sollen.

#include "forecast_table.inc"