Phänologischer Kalender

phenology
flowering
calendar

#21

Eine tolle Idee die es gilt umzusetzen!
Peter


#22

Implementierungsplan

Wir sollten uns dem Thema nun kurz und intensiv widmen, da die Bienensaison ja schon bald losgeht und es nicht abzusehen ist, dass wir sonst mittelfristig anderweitig dazu kommen werden.

Unser Vorschlag ist es, ein standalone Programm in Python zu entwickeln, das am besten beschrieben werden kann als: “phenodata is a data acquisition and manipulation toolkit for open access phenology data”.

BBCH Code

Im Rahmen von Forschungsarbeiten zur Grundsteinlegung stoßen wir gerade auf den BBCH Code [1] zur Klassifizierung von Wachstumsphasen, siehe auch [2,3].

USA-NPN

Die Infrastruktur des USA National Phenology Network (USA-NPN) [4] ist ebenfalls nicht von schlechten Eltern. Es bietet offene Daten [5] (auch in Form einer API) sowie ein tolles interaktives Visualisierungstool [6] dazu an.

Weitere Phänologienetzwerke

Da wir die Angelegenheit von der Architektur her betrachtet skalierbar machen wollen, kann uns die Sammlung unter “Phenology Networks Around the World” [7] gut weiterhelfen. Dort sind wir auch auf das “Global Phenological Monitoring” Projekt [8] gestoßen, das im Fachgebiet Agrarklimatologie [9] des Departments für Nutzpflanzen- und Tierwissenschaften an der Lebenswissenschaftlichen Fakultät der Humboldt-Universität zu Berlin angesiedelt ist. Hier wird ebenfalls der BBCH Code [1] zur Klassifizierung verwendet [10].

Feedback welcome!

Relevante Pflanzenarten

P.S.: Eine erste konkrete Frage hätte ich an die Imker unter Euch: Welche konkreten Spezies aus [11] wollen wir denn fürs Erste haben? Also welche Pflanzen sind relevant für die Bienen? Es wäre toll, wenn Ihr dazu eine Liste zusammenstellen könntet, schließlich werden Hafer oder Gerste ja vermutlich nicht dabei sein, stimmts? ;]


[1] https://de.wikipedia.org/wiki/BBCH-Code
[2] http://www.agrometeo.ch/sites/default/files/u10/bbch-skala_deutsch.pdf
[3] http://www.reterurale.it/downloads/BBCH_engl_2001.pdf
[4] https://www.usanpn.org/
[5] https://www.usanpn.org/data
[6] https://www.usanpn.org/data/visualizations
[7] https://www.usanpn.org/partner/gapon
[8] http://gpm.hu-berlin.de/
[9] https://www.agrar.hu-berlin.de/de/institut/departments/dntw/agrarmet
[10] http://gpm.hu-berlin.de/gpm/faces/list_phases.xhtml
[11] ftp://ftp-cdc.dwd.de/pub/CDC/observations_germany/phenology/annual_reporters/

Weitere Links:
[A] Phänologische Daten vom DWD
[B] Open weather data
[C] https://weather.hiveeyes.org/
[D] http://www.bienenfreundschaft.de/Phaenologischer-Kalender


#23

Wunschliste relevanter Pflanzenarten

Wir tasten uns gut an die Strukturierung der hier relevanten Details heran. Vielen Dank an @clemens, @peterthiemer, @weef und @wtf für Eure Rückmeldungen zum Thema (folgend Zusammenfassungen aus mails)

Gruppierungen

  • primär, "must have"
    Die wichtigsten Tracht- und Zeigerpflanzen
  • sekundär, "nice to have"
    Tracht und Zeiger, v.a. lokale oder Imkerpraxis-Bedeutung
  • tertiär, "unlikely’
    Möglicher Erkenntnisgewinn nur sehr schwer und nicht ausschließlich durch pheno-DWD-Daten erlangbar - die können wir hier in den Überlegungen weglassen

Pflanzenarten

Spannend ist der jeweilige Blühbeginn (Pollen- und/oder Nektarlieferant jetzt nicht weiter unterschieden; Unterarten teilweise unterschieden):

  • primär
    Angefangen mit dem wichtigsten: die Hasel (jene Pflanze, der wir in unseren Breiten nach der letzten Eiszeit die dauerhafte Existenz der Dunklen Europäischen Biene verdanken). Dann: Schneeglöckchen, Sal-Weide, Löwenzahn, Süßkirsche, Apfel, Winterraps, Robinie, Sommer Winter-Linde, Heidekraut. - Damit ist das Bienenjahr abgedeckt (bei ‘uns’).

  • sekundär
    Dann gibt es noch einige, die der DWD vermerkt und die für Bienen (teils erhebliche) Trachtbedeutung haben und/oder für die imkerlichen Praxis Zeitpunkte markieren. Diese Angaben zu haben, wäre schön - sie haben aber auch schon wieder teilweise nur regionale/lokale Bedeutung:
    Wildkirschen (DWD: Kornellkirsche, Traubenkirsche), Stachelbeere, Johannisbeeren, Schlehe, Huflattich, Ahorn, Sonnenblume, Birne, Schwarz-Erle, Roßkastanie

  • tertiär bzw. akademisch
    Teilweise sehr wichtige, aber schwer zu fassende, nur lokal bedeutsame oder nur durch andere kombinierte Beobachtungen nutzbare Quellen:

    • Honigtauquellen
      Fichte, Kiefer, Tanne hätte der DWD. Andere infrage kommende Laubbäume ebenfalls (Ahorn, Birke, Birne, Linde, Eiche, Kastanie, Holunder,…).
      Die Lebenszyklen der jeweils nötigen Läuse bedingen jedoch, daß aus der Blüte der genannten allein noch keine Tracht ableitbar ist.

    • Pheno-Kalender als Hilfe bei möglichen Vergiftungen
      Mais, Raps und Sonnenblume. - Wenn gesprüht wird, dann selten im Zusammenhang mit der Blüte, auch ist dann eher der Pollen und seltener der Nektar schlecht, so daß der zeitliche Zusammenhag noch schwieriger zu erkennen wäre.

Andere Wünsche

@clemens wünscht sich weiterhin:

  • Wir sollten uns auf die “annual_reporters” im Zeitabschnitt “recent” beschränken.
  • Ahorn und Roßkastanie würde ich fast schon primär sehen, zumindest in den Städten. Das ist hier die Frühtracht während auf dem Land das Obst dominiert.
  • weitere, noch nicht genannte für Imker interessante Pflanzen aus dem DWD-Angebot:
    Pflaume, Himbeere, Brombeere, Traubenkirsche, Zweigriffliger Weißdorn
  • Meine (erweiterte) 10er-Liste ist:
    Winterraps, Sonnenblume, Mais, Apfel, Birne, Süßkirsche, Sauerkirsche, Himbeere, Brombeere, Hasel, Heidekraut, Löwenzahn, Robinie, Rosskastanie, Sal-Weide, Spitz-Ahorn, Winter-Linde
  • Edel-Kastanie, Kornblume, … gibt es nicht, oder?

@peterthiemer wünscht sich noch die Aufnahme des Schwarzen Holunders (u.U. als botanische Zeigerpflanze).


#24

Danke für Eure exzellenten Rückmeldungen!

Wir konnten die ersten Spatenstiche machen und Ihr könnt nun die Entwicklung begleiten, das Paket gibt es im PyPI:

und den Quellcode auf GitHub:


Setup

pip install phenodata --upgrade

Synopsis

Was bereits funktioniert, ist:

  • Display list of species:

    phenodata list-species --source=dwd
    
  • Display list of phases:

    phenodata list-phases --source=dwd
    
  • Display list of stations:

    phenodata list-stations --source=dwd --dataset=immediate
    phenodata list-stations --source=dwd --dataset=annual

Daten vom DWD verstehen, verarbeiten und darstellen
#25

Ich stoße gerade noch auf ein anderes Beobachtungsnetzwerk: naturgucker.de wird vom NABU betrieben. Dieses Jahr findet erstmals eine Kooperation mit dem DWD statt. Im Unterschied zu den sonstigen Beobachtungen des DWD, welche dauerhaft von einzeln bestimmten Ehrenamtlichen durchgeführt werden, wird hier jedermensch aufgefordert, Beobachtungen direkt zu melden.

Mit den genauen Gegenständen der Beobachtung sowie der informationstechnischen Bereitstellung der Daten habe ich mich jedoch nicht befasst – dieser Beitrag soll nur als erster Hinweis auf diese Quelle dienen.


#26

naturgucker mit diy-faktor, das finde ich ja toll: da könnte ich also regelmäßig selbst losstapfen in konzentrischen kreisen um meinen bienenstand, meine beobachtungen bei naturgucker.de hochladen und dann - vorausgesetzt, das lässt sich mit radius um einen ort dort rausziehen - genau meine eigenen beobachtungen (plus das was andere im selben radius um meinen standort eingeben) in den graph importieren. wie gesagt, cool fänd ich das: diese kombination von selber beobachten und in die erfassung und darstellung einfließen lassen.


#27

Du kannst dich auch gerne beim DWD melden. Die suchen noch Beobachter https://www.dwd.de/DE/klimaumwelt/klimaueberwachung/phaenologie/daten_deutschland/beobachtersuche/phaenologische_beobachtungen_node.html


#28

aber der DWD sucht doch nur für bestimmte stellen. in der aktuellen liste mit den gesuchen finde ich leider meine postleitzahl (10999) nicht.


#29

phenodata 0.3.0” kann nun endlich Beobachtungen abrufen und rudimentär nach Stations-IDs und Referenzjahren filtern. Hier gschwind ein paar Beispiele:

Beobachtungen abfragen

Observations of hazel and snowdrop from the “annual” dataset and “recent” partition

phenodata observations --source=dwd --dataset=annual --partition=recent --files=Hasel,Schneegloeckchen

Observations of hazel and snowdrop from station ids 164 and 717

phenodata observations --source=dwd --dataset=annual --partition=recent --files=Hasel,Schneegloeckchen --stations=164,717

All observations from station ids 164 and 717, reduced to years 2016 and 2017

phenodata observations --source=dwd --dataset=annual --partition=recent --stations=164,717 --years=2016,2017

Ausgabeformat festlegen

Weiterhin ist es nun möglich, aus einem der Ausgabeformate “tabulate”, “json” sowie “csv” auszuwählen, hier der entsprechende Auszug aus “phenodata --help”:

Data formatting options:
  --format=<format>         

Output data in designated format. Choose one of “tabulate”, “json” or “csv”.
With “tabulate”, it is also possible to specify the table format,
see https://bitbucket.org/astanin/python-tabulate. e.g. “tabulate:presto”.
[default: tabulate:psql]

Fazit

Aufgrund mancher Anomalien in den Daten läuft bestimmt noch nicht alles rund, vor allem bei anderen Kombinationen der Parameter, wir testen das ja auch nur “auf unserer Insel”. Wenn Ihr also neugierig seid, damit bereits ein wenig Datenarchäologie zu betreiben, freuen wir uns über Eure Rückmeldungen.


#30

pipe is also a nice option, tables generated using the --format=tabular:pipe option can be copied 1:1 in this forum and are rendered nicely:

pipe follows the conventions of PHP Markdown Extra extension. It corresponds to pipe_tables in Pandoc.


#31

Cool, thanks!


#32

Vorhersagen

phenodata 0.4.0” berechnet nun auch Vorhersagen auf Basis von Mittelwerten beliebig gefilterter Observationsereignisse.

Berechnung des Eintrittsdatums

Zur Berechnung des voraussichtlichen Eintrittsdatums eines Ereignisses wird der Tag des Jahres aus der “Jultag” Spalte verwendet. Zuerst werden die Observationsereignisse nach (Stations ID, Spezies ID und Phasen ID) gruppiert, dann wird der Mittelwert aller “Jultag” Werte pro Gruppe gebildet. Haut das hin?

Eingabe

Anhand eines Beispiels sieht das folgendermaßen aus:

phenodata forecast \
    --source=dwd --dataset=annual --partition=recent \
    --filename=Hasel,Schneegloeckchen,Apfel,Birne \
    --station-id=12132 \
    --quality-byte=1,2,3 --quality-level=7,10 \
    --format=tabular:pipe

Ausgabe

date Jultag
(12132, 113, 5) 2018-02-19 00:00:00 50
(12132, 127, 5) 2018-02-17 00:00:00 48
(12132, 311, 3) 2018-04-01 00:00:00 91
(12132, 311, 5) 2018-04-23 00:00:00 113
(12132, 311, 6) 2018-04-30 00:00:00 120
(12132, 311, 7) 2018-05-13 00:00:00 133
(12132, 311, 29) 2018-08-17 00:00:00 229
(12132, 311, 32) 2018-10-23 00:00:00 296
(12132, 313, 3) 2018-04-12 00:00:00 102
(12132, 313, 5) 2018-05-03 00:00:00 123
(12132, 313, 6) 2018-05-10 00:00:00 130
(12132, 313, 7) 2018-05-25 00:00:00 145
(12132, 313, 29) 2018-09-28 00:00:00 271
(12132, 313, 32) 2018-11-03 00:00:00 307
(12132, 322, 5) 2018-04-15 00:00:00 105
(12132, 322, 6) 2018-04-26 00:00:00 116
(12132, 322, 7) 2018-05-11 00:00:00 131
(12132, 322, 29) 2018-09-22 00:00:00 265

Legende

In der ersten Indexspalte sind die durch die Gruppierung/Aggregation zusammengefassten ehemaligen Indexspalten Stations ID, Spezies ID und Phasen ID kombiniert enthalten.

Am Beispiel der ersten Aggregation (12132, 113, 5) erkennt man folgende Komponenten:

  • Stations ID: 12132 ist Berlin-Dahlem
    Der Beobachtungsort.

  • Spezies ID: 113 ist die Hasel
    Die beobachtete Pflanze.

  • Phase ID: 5 ist “Blüte Beginn” (BBCH 60)
    Das beobachtete Ereignis, in welche Wachstumsphase die Pflanze eingetreten ist.

Die Zuordnung muss man derzeit noch händisch erforschen:

# List of stations
phenodata list-stations --source=dwd --dataset=immediate

# List of species
phenodata list-species --source=dwd

# List of phases
phenodata list-phases --source=dwd

Implementierung

Die Implementierung findet sich unter:


#33

Verbesserungen der Usability

phenodata 0.5.0” bietet neben anderen Dingen nun eine Option “--humanize”, die Ausgabe wird dadurch für Menschen besser lesbar.

Vorgehensweise

Nach dem Abfragen der Ergebnisse werden sie mit den Metadatentabellen verknüpft, die die Informationen über die Stationen, die Spezies, die Phasen und die Qualitätsmerkmale enthalten. Dies ermöglicht die Darstellung der jeweiligen textuellen Repräsentationen der Informationen in den ID Spalten.

Anschließend wird ein komplett neuer DataFrame erzeugt, um die Reihenfolge der Spalten frei bestimmen zu können, damit wird die Ausgabe auch von der Struktur her besser lesbar.

Spezifische Ereignisse

Eingabe

Forecast of “beginning of flowering” events at station “Berlin-Dahlem”.
Use all species of the “primary group”: “hazel”, “snowdrop”, “goat willow”,
“dandelion”, “cherry”, “apple”, “winter oilseed rape”, “black locust” and “common heather”.
Sort by date, ascending.

phenodata forecast \
    --source=dwd --dataset=annual --partition=recent \
    --filename=Hasel,Schneegloeckchen,Sal-Weide,Loewenzahn,Suesskirsche,Apfel,Winterraps,Robinie,Winter-Linde,Heidekraut \
    --station-id=12132 --phase-id=5 \
    --humanize \
    --sort=Datum \
    --format=tabular:pipe

Ausgabe

Datum Spezies Phase Station
2018-02-17 common snowdrop beginning of flowering Berlin-Dahlem, Berlin
2018-02-19 common hazel beginning of flowering Berlin-Dahlem, Berlin
2018-03-30 goat willow beginning of flowering Berlin-Dahlem, Berlin
2018-04-07 dandelion beginning of flowering Berlin-Dahlem, Berlin
2018-04-15 cherry (late ripeness) beginning of flowering Berlin-Dahlem, Berlin
2018-04-21 winter oilseed rape beginning of flowering Berlin-Dahlem, Berlin
2018-04-23 apple (early ripeness) beginning of flowering Berlin-Dahlem, Berlin
2018-05-03 apple (late ripeness) beginning of flowering Berlin-Dahlem, Berlin
2018-05-24 black locust beginning of flowering Berlin-Dahlem, Berlin
2018-08-20 common heather beginning of flowering Berlin-Dahlem, Berlin

Sequenz aller Ereignisse pro Spezies

Eingabe

Forecast of all events at station “Berlin-Dahlem”.
Use all species of the “primary group” (dito).
Sort by species and date, ascending.

phenodata forecast \
    --source=dwd --dataset=annual --partition=recent \
    --filename=Hasel,Schneegloeckchen,Sal-Weide,Loewenzahn,Suesskirsche,Apfel,Winterraps,Robinie,Winter-Linde,Heidekraut \
    --station-id=12132 \
    --humanize --language=german \
    --sort=Spezies,Datum \
    --format=tabular:pipe

Ausgabe

Datum Spezies Phase Station
2018-04-01 Apfel, frühe Reife Austrieb Beginn Berlin-Dahlem, Berlin
2018-04-23 Apfel, frühe Reife Blüte Beginn Berlin-Dahlem, Berlin
2018-04-30 Apfel, frühe Reife Vollblüte Berlin-Dahlem, Berlin
2018-05-13 Apfel, frühe Reife Blüte Ende Berlin-Dahlem, Berlin
2018-08-17 Apfel, frühe Reife Pflückreife Beginn Berlin-Dahlem, Berlin
2018-10-23 Apfel, frühe Reife herbstlicher Blattfall Berlin-Dahlem, Berlin
2018-04-12 Apfel, späte Reife Austrieb Beginn Berlin-Dahlem, Berlin
2018-05-03 Apfel, späte Reife Blüte Beginn Berlin-Dahlem, Berlin
2018-05-10 Apfel, späte Reife Vollblüte Berlin-Dahlem, Berlin
2018-05-25 Apfel, späte Reife Blüte Ende Berlin-Dahlem, Berlin
2018-09-28 Apfel, späte Reife Pflückreife Beginn Berlin-Dahlem, Berlin
2018-11-03 Apfel, späte Reife herbstlicher Blattfall Berlin-Dahlem, Berlin
2018-02-19 Hasel Blüte Beginn Berlin-Dahlem, Berlin
2018-08-20 Heidekraut Blüte Beginn Berlin-Dahlem, Berlin
2018-04-07 Löwenzahn Blüte Beginn Berlin-Dahlem, Berlin
2018-05-24 Robinie Blüte Beginn Berlin-Dahlem, Berlin
2018-03-30 Sal-Weide Blüte Beginn Berlin-Dahlem, Berlin
2018-02-17 Schneeglöckchen Blüte Beginn Berlin-Dahlem, Berlin
2018-04-15 Süßkirsche, späte Reife Blüte Beginn Berlin-Dahlem, Berlin
2018-04-24 Süßkirsche, späte Reife Vollblüte Berlin-Dahlem, Berlin
2018-05-06 Süßkirsche, späte Reife Blüte Ende Berlin-Dahlem, Berlin
2018-06-21 Süßkirsche, späte Reife Pflückreife Beginn Berlin-Dahlem, Berlin
2018-10-09 Süßkirsche, späte Reife herbstliche Blattverfärbung Berlin-Dahlem, Berlin
2018-03-28 Winterraps Längenwachstum Beginn Berlin-Dahlem, Berlin
2018-04-06 Winterraps Knospenbildung Beginn Berlin-Dahlem, Berlin
2018-04-21 Winterraps Blüte Beginn Berlin-Dahlem, Berlin
2018-07-08 Winterraps Vollreife Beginn Berlin-Dahlem, Berlin
2018-08-11 Winterraps Ernte Berlin-Dahlem, Berlin
2018-08-31 Winterraps Bestellung Beginn Berlin-Dahlem, Berlin
2018-09-10 Winterraps Auflaufen Beginn Berlin-Dahlem, Berlin
2018-09-30 Winterraps Rosettenbildung Beginn Berlin-Dahlem, Berlin

#34

Weitere Verbesserungen

Mit “phenodata 0.6.0” ist es nun möglich

  • Beobachtungen und Vorhersagen komfortabel per Volltextsuche nach beliebigen Textinhalten zu filtern welche aus den Metadaten kommen (Stationen, Spezies, Phasen und Qualitätsmerkmale). Unter Humanized search examples gibt es ein paar Beispiele.
  • vorkonfigurierte Listen von Pflanzenarten aus mehreren festgelegten Sätzen auszuwählen, gemäß unserer Wunschliste für relevante Pflanzenarten. Siehe auch presets.json.

Volltextsuche in Beobachtungsdaten

Eingabe

Observations near Munich for species “hazel” or “snowdrop” in 2018. Sort by date, output in Markdown format.

phenodata observations \
    --source=dwd --dataset=annual --partition=recent \
    --station=münchen \
    --species=hazel,snowdrop \
    --year=2018 \
    --humanize --sort=Datum \
    --format=tabular:pipe

Ausgabe

Jahr Datum Spezies Phase Station QS-Level QS-Byte
2018 2018-01-09 common hazel beginning of flowering München-Pasing, Bayern Load time checks Feldwert nicht beanstandet
2018 2018-01-19 common snowdrop beginning of flowering Haar, Bayern Load time checks Feldwert nicht beanstandet
2018 2018-01-26 common snowdrop beginning of flowering Siegertsbrunn, Bayern Load time checks Feldwert nicht beanstandet
2018 2018-01-27 common snowdrop beginning of flowering München-Pasing, Bayern Load time checks Feldwert nicht beanstandet
2018 2018-02-03 common hazel beginning of flowering Siegertsbrunn, Bayern Load time checks Feldwert nicht beanstandet
2018 2018-02-16 common hazel beginning of flowering Haar, Bayern Load time checks Feldwert nicht beanstandet

Vorhersagen mit presets für die Auswahl der Pflanzenarten

Die Wunschlisten für relevante Pflanzenarten sind nun ebenfalls implementiert. Sie wurden, wie von Euch vorgeschlagen, in entsprechende Kategorien einsortiert und einstweilen direkt in der presets.json abgelegt.

Ansteuern/benutzen kann man sie über den neuen Parameter

--species-preset=mellifera-de-primary

Eingabe

Forecast based on “beginning of flowering” events of 2015-2017 in Rostock for the list of predefined species labelled as “mellifera-de-primary”. Sort by date, output in Markdown format.

Remark: The presets are currently stored in presets.json and can be amended and expanded anytime. We are looking forward to your contributions!

phenodata forecast \
    --source=dwd --dataset=annual --partition=recent \
    --station=rostock \
    --phase="beginning of flowering" \
    --year=2015,2016,2017 \
    --humanize --language=german \
    --sort=Datum \
    --species-preset=mellifera-de-primary \
    --format=tabular:pipe

Ausgabe

Datum Spezies Phase Station
2018-02-18 Hasel Blüte Beginn Rostock-Lütten Klein, Mecklenburg-Vorpommern
2018-02-21 Schneeglöckchen Blüte Beginn Rostock-Lütten Klein, Mecklenburg-Vorpommern
2018-03-20 Sal-Weide Blüte Beginn Rostock-Lütten Klein, Mecklenburg-Vorpommern
2018-04-01 Löwenzahn Blüte Beginn Rostock-Lütten Klein, Mecklenburg-Vorpommern
2018-04-18 Süßkirsche, frühe Reife Blüte Beginn Rostock-Lütten Klein, Mecklenburg-Vorpommern
2018-04-27 Winterraps Blüte Beginn Rostock-Lütten Klein, Mecklenburg-Vorpommern
2018-05-03 Apfel, frühe Reife Blüte Beginn Rostock-Lütten Klein, Mecklenburg-Vorpommern
2018-06-07 Robinie Blüte Beginn Rostock-Lütten Klein, Mecklenburg-Vorpommern

#35

Volltextsuche nach Qualitätsmerkmalen

Es ist nun genauso möglich, bei datenarchäologischen Reisen komfortabel nach extravaganten Dingen im Volltext zu suchen. Zum Abschluß noch ein kleines Beispiel.

Eingabe

Investigate some “flowering” observations near Munich which have seen corrections in the last year.

phenodata observations \
    --source=dwd --dataset=annual --partition=recent \
    --station=münchen \
    --phase=flowering \
    --quality=korrigiert \
    --year=2017 \
    --humanize --sort=Datum \
    --format=tabular:pipe

Ausgabe

Jahr Datum Spezies Phase Station QS-Level QS-Byte
2017 2017-04-30 midland hawthorn beginning of flowering Haar, Bayern ROUTKLI validated and corrected Feldwert korrigiert
2017 2017-07-16 common wormwood beginning of flowering München-Feldmoching, Bayern ROUTKLI validated and corrected Feldwert korrigiert
2017 2017-07-31 common wormwood beginning of flowering Haar, Bayern ROUTKLI validated and corrected Feldwert korrigiert

– Have fun!


#36

Dürfen wir dazu aufrufen, das “phenodata” Programm in der aktuellsten Version ordentlich durchzutesten und uns Rückmeldungen oder weitere Wünsche zu übermitteln?

Danke!


Mit dem ersten Schwung wären wir soweit durch:


#37

cool. ich mach mich wochenende dran ans testen.
das ist erstmal unabhängig von hiveeyes-grafana, richtig?
ah, ich erinnere mich gerade, die einbindung von wetterdaten läuft ja parallel und ist dann vielleicht recht einfach auch auf die phäno-daten zu übertragen. ich freu mich jedenfalls auf beides.


#38

Danke!

Richtig, wir haben erstmal die Hausaufgaben gemacht, deswegen ist “phenodata” ein komplett standalone Tool geworden. Wir haben natürlich auf der Agenda, die Ereignisse auch ins Grafana einzubinden, aber der Teufel steckt wie immer im Detail und neben der initialen Grafana Lernkurve will das Ganze auch gut durchdacht sein.

Dito! ;]


#39

Zuerst einmal vielen Dank - wieder einmal - für die tolle Arbeit, @Andreas! Win10 hat ja nun auch einen guten Liunux-Support und man kann mit “bash” in der Eingabeaufforderung ganz schön Ubuntu nutzen.

Dort habe ich alles recht einfach schon vor ein paar Tagen installieren können, auch das update von phenodata 0.3.0 auf die letzte lief problemlos.

Werden Die DWD-Daten eigentlich immer live vom DWD-Server gezogen oder sind die irgenwo gecachet? Wie gesagft gibt es die DWD-Daten auch schon geografisch als “Grid-Daten” aufbereitet. Da müssen wir einmal schauen, ob wir und die nächste Station dann selbst suchen oder ob es Vorteile hat die Grid-Daten zu nutzen, da die z.B. schon berücksichtigen, dass zwischen meinem Standort und der nächsten Station ein Höhenzug liegt, der Unterschied könnte aber auch Erbsenzählerei sein. Ich werde mir auf jeden Fall noch die verschiedenen Datenquellen genauer ansehen, die aktuellen vs. “historic” und die Jahresmelder vs. Sofortmelder.

Die Vorhersage müssen wir uns genau anschauen, ich finde es kritisch, wenn wir Daten die aktuell reinkommen als “Prognose” verwenden. Wenn das direkt neben dem eigenen Stand ist mag das klappen, wenn das in Franke ist und ich auf der Schwäbschen Alb, dann nicht. Der Mittelwert der letzten Jahre vom gleichen Standort geht sicher. Wenn die Meldungen aber erst reinkommen muss man checken ob die schon halbwegs vollständig sind. Der DWE gibt dann immer an von wie viel Prozent der Melder Daten schon vorliegen.


#40

bei mir gehts nicht ganz so reibungslos mit der installation.
aber im venv36 krieg ich wenigstens die versionsnummer korrekt angezeigt…
liegts an mir?

(.venv27)mois@weidenteich ~ $ phenodata --version
Traceback (most recent call last):
  File "/home/mois/.venv27/bin/phenodata", line 5, in <module>
from pkg_resources import load_entry_point
  File "/home/mois/.venv27/local/lib/python2.7/site-packages/pkg_resources.py", line 2716, in <module>
working_set.require(__requires__)
  File "/home/mois/.venv27/local/lib/python2.7/site-packages/pkg_resources.py", line 685, in require
needed = self.resolve(parse_requirements(requirements))
  File "/home/mois/.venv27/local/lib/python2.7/site-packages/pkg_resources.py", line 588, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: backports.functools-lru-cache>=1.2.1
(.venv27)mois@weidenteich ~ $ deactivate
mois@weidenteich ~ $ source .venv36/bin/activate
(.venv36)mois@weidenteich ~ $ phenodata --version
phenodata 0.6.4
(.venv36)mois@weidenteich ~ $ phenodata
Usage:
  phenodata info
  phenodata list-species --source=dwd [--format=csv]
  phenodata list-phases --source=dwd [--format=csv]
  phenodata list-stations --source=dwd --dataset=immediate [--all] [--format=csv]
  phenodata nearest-station --source=dwd --dataset=immediate --latitude=52.520007 --longitude=13.404954 [--format=csv]
  phenodata nearest-stations --source=dwd --dataset=immediate [--all] --latitude=52.520007 --longitude=13.404954 [--limit=10] [--format=csv]
  phenodata list-quality-levels --source=dwd [--format=csv]
  phenodata list-quality-bytes --source=dwd [--format=csv]
  phenodata list-filenames --source=dwd --dataset=immediate --partition=recent [--filename=Hasel,Schneegloeckchen] [--year=2017]
  phenodata list-urls --source=dwd --dataset=immediate --partition=recent [--filename=Hasel,Schneegloeckchen] [--year=2017]
  phenodata (observations|forecast) --source=dwd --dataset=immediate --partition=recent [--filename=Hasel,Schneegloeckchen] [--station-id=164,717] [--species-id=113,127] [--phase-id=5] [--quality-level=10] [--quality-byte=1,2,3] [--station=berlin,brandenburg] [--species=hazel,snowdrop] [--species-preset=mellifera-primary] [--phase=flowering] [--quality=ROUTKLI] [--year=2017] [--humanize] [--show-ids] [--language=german] [--long-station] [--sort=Datum] [--format=csv]
  phenodata drop-cache --source=dwd
  phenodata --version
  phenodata (-h | --help)
(.venv36)mois@weidenteich ~ $ phenodata info
Traceback (most recent call last):
  File "/home/mois/.venv36/bin/phenodata", line 9, in <module>
load_entry_point('phenodata==0.6.4', 'console_scripts', 'phenodata')()
  File "/home/mois/.venv36/lib/python3.4/site-packages/phenodata/command.py", line 82, in run
options = normalize_options(options, encoding='utf-8')
  File "/home/mois/.venv36/lib/python3.4/site-packages/phenodata/util.py", line 32, in normalize_options
value = value.decode(encoding)
AttributeError: 'str' object has no attribute 'decode'
(.venv36)mois@weidenteich ~ $