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.
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! ;]
Zuerst einmal vielen Dank - wieder einmal - für die tolle Arbeit, @Andreas! Win10 hat ja nun auch einen guten Linux-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.
Wir (@Andreas und ich) haben uns die Tage einmal bilateral verständigt und überlegt, welche Daten des DWD für einen Imker als Daten für “seine” Standort herangezogen werden können. Es könnte
- die räumlich nächstgelegene Meßstation herangezogen werden oder
- die “Grid-Daten” des DWD.
Die Grid-Daten (Beschreibung: ftp://ftp-cdc.dwd.de/pub/CDC/grids_germany/annual/phenology/BESCHREIBUNG_gridsgermany_annual_phenology_de.pdf), FTP-Zugang zu den Daten: ftp://ftp-cdc.dwd.de/pub/CDC/grids_germany/annual/phenology/) sind geografisch aufbereitete Daten (Auflösung 1 km x 1 km), bei denen die (vermuteten) Werte für einen Bienenstand aus den Werten der umgebenden Messstationen berechnet wird. Das Verfahren beschreibt der DWD so, häutsächlich eine lineare Regresseion bei denen die Parameter geographische Lage (Länge, Breite) und Höhe über NN berücksichtig werden:
Im Dokument steht auch, welche Pflanzen dabei berücksichtigt werden, es kann sein, dass es nicht alle sind, die erhoben werden; weiter werden Qualitätsparameter nicht berücksichtigt - was immer das bedeuten möge. Todo für mich wäre
- Eine Karte der bestehenden Messstationen erstellen, um zu schauen, wie diese regional verteilt sind. Wenn diese sehr weit auseinander sind 100, 200 km macht die nächste Station als Datenquelle für den eigenen Stand wenig(er) Sinn und die Grid-Daten wären bevorzugt. – Falls die Stationen engmaschig und gleich verteilt sind, könnte man auch auf die nächste Station zugreifen.
- Abgleich, ob in dern Grid-Daten z.B. Pflanzen fehlen oder wir die Qualitätsmarker brauchen, die nicht in den Grid-Daten vorhanden sind.
354 davon gab es 2017, Schneeglöckchen-Blüte haben davon 348 gemeldet. In der oberen Karte ist das Ereignisdatum abgetragen, in der unteren der “Jultag”, also das Ereignis als Tag des Jahres (die Legenden der Karten sind überarbeitungswürdig, ich weiß). Der zweifarbige Gradient sind keine Höhenzüge, sondern ist der “Jultag” als gemapter Rasterwert:
Gerade Berlin/Brandenburg hat nicht allzuviele Jahres Sofortmelder, überall woanders gibt es mehr:
Tolle Bilder, wow!
Wurden die Karten aus den o.g. Grid-Daten generiert? Wir kamen bisher noch nicht dazu, darauf einen Blick zu werfen, sollten wir sie ebenfalls per “phenodata
” erschließen?
ja, die sind aus den grid-Daten gebaut; das textuelle overlay ist mittels Deiner phenodata
0.6.4 erzeugt.
Die Grid-Daten [1] sehen ja vogelwild aus, danke ;]. Wenn Du uns auf die Sprünge helfen kannst, wie man die am schlauesten interpretieren kann, sehen wir, was wir tun können. Können wir die Erzeugung der Bilder insgesamt irgendwie automatisieren?
[1] ftp://ftp-cdc.dwd.de/pub/CDC/grids_germany/annual/phenology/SCNB/grids_germany_annual_phenology_SCNB_2017.asc.gz
Auf der Karte schaut es ja so aus, als ob Berlin gar keine Station hat. Welche query hast du denn benutzt? Habe es mal mit
phenodata nearest-stations \
--source=dwd --dataset=annual \
--latitude=52.518611 --longitude=13.40833
versucht. Geo-Koordinaten sind die von Wikipedia für Berlin, ungefähr Rotes Rathaus und da bekommt man u.a.
12132 Berlin-Dahlem
12130 Berlin-Marienfelde
12135 Berlin-Frohnau
13961 Berlin-Zehlendorf
15556 Berlin-Köpenick
15208 Berlin-Rahnsdorf
das: phenodata list-stations --source=dwd --dataset=annual --station=berlin
funktioniert übrigens nicht (--station=berlin
wird nicht honoriert). Und phenodata list-stations --source=dwd --dataset=annual --sort=Stationsname
auch nicht (hier ist das Problem --sort=Stationsname
)
diesen hier - ermittelt mir alle, die in 2017 für Objekt 127 (Schneeglöckchen) das Ereignis 5 (Blühbeginn) gemeldet haben:
$ phenodata observations --source=dwd --dataset=immediate --filename=Schneegloeckchen --partition=recent --year=2017
2018-03-21 22:10:37,954 [phenodata.dwd.pheno ] INFO : Scanning for files
2018-03-21 22:10:37,955 [phenodata.ftp ] INFO : The cache directory is /home/msw/.cache/phenodata/dwd-ftp
2018-03-21 22:10:37,960 [phenodata.dwd.pheno ] INFO : Starting data acquisition with 1 files
100%|█████████████████████████████████████████████| 1/1 [00:00<00:00, 47.94it/s]
2018-03-21 22:10:37,982 [phenodata.dwd.pheno ] INFO : Entering flux compensator: Filter and transform data
+---------------+----------------+--------------------+-------------+------------+------------------+---------------------+----------+
| Stations_id | Referenzjahr | Qualitaetsniveau | Objekt_id | Phase_id | Eintrittsdatum | Eintrittsdatum_QB | Jultag |
|---------------+----------------+--------------------+-------------+------------+------------------+---------------------+----------|
| 140 | 2017 | 1 | 127 | 5 | 2017-02-25 | 1 | 56 |
| 164 | 2017 | 1 | 127 | 5 | 2017-02-26 | 1 | 57 |
| 183 | 2017 | 1 | 127 | 5 | 2017-02-16 | 1 | 47 |
| 198 | 2017 | 1 | 127 | 5 | 2017-02-27 | 1 | 58 |
| 596 | 2017 | 1 | 127 | 5 | 2017-02-17 | 1 | 48 |
| 662 | 2017 | 1 | 127 | 5 | 2017-02-19 | 1 | 50 |
| 853 | 2017 | 1 | 127 | 5 | 2017-02-27 | 1 | 58 |
| 1412 | 2017 | 1 | 127 | 5 | 2017-02-23 | 1 | 54 |
[...]
Also
$ phenodata observations --source=dwd --dataset=immediate --filename=Schneegloeckchen --partition=recent --year=2017 --format=csv | wc -l -
[...]
349-
minus eine csv-header-Zeile macht 348 Meldungen , wie in den Grafiken oben auch.
Die Gesamtzahl der Stationen oben stammt aus (das entstandene file ist dann im GIS gelandet):
phenodata list-stations --source=dwd --dataset=immediate --format=csv >pheno-station-full.csv
Für dieses Jahr sieht das beim DWD so aus, die bislang letzte Meldung stammt vom 11.März 2018
(Achtung: Farbgradient bedeutet hier Höhenzüge, kein gemapter Blühbeginn wie oben!) - was die Anzahl und Position der Melder angeht, kann ich insofern Deine Beobachtung, @clemens, nicht bestätigen:
na, mit ner GIS; in diesem Fall QGIS 2.18.17 .
nimm mal statt immediate
- das sind die Sofortmelder - die “normalen” Jahresmelder! -dataset=annual
# phenodata observations --source=dwd --dataset=annual --filename=Schneegloeckchen --partition=recent --year=2017 --humanize --format=csv --language=German
oder gleich auf Berlin einschränken:
# phenodata observations --source=dwd --dataset=annual --filename=Schneegloeckchen --partition=recent --year=2017 --humanize --language=German --station=berlin --format=markdown
Jahr | Datum | Spezies | Phase | Station | QS-Level | QS-Byte |
---|---|---|---|---|---|---|
2017 | 2017-02-25 | Schneeglöckchen | Blüte Beginn | Berlin-Marienfelde, Berlin | ROUTKLI geprüft und korrigiert | Feldwert nicht beanstandet |
2017 | 2017-02-26 | Schneeglöckchen | Blüte Beginn | Berlin-Dahlem, Berlin | ROUTKLI geprüft und korrigiert | Feldwert nicht beanstandet |
2017 | 2017-02-22 | Schneeglöckchen | Blüte Beginn | Berlin-Frohnau (Ph), Berlin | ROUTKLI geprüft und korrigiert | Feldwert nicht beanstandet |
2017 | 2017-02-25 | Schneeglöckchen | Blüte Beginn | Berlin-Zehlendorf (Ph), Berlin | ROUTKLI geprüft und korrigiert | Feldwert nicht beanstandet |
2017 | 2017-02-26 | Schneeglöckchen | Blüte Beginn | Berlin-Rahnsdorf, Brandenburg | ROUTKLI geprüft und korrigiert | Feldwert nicht beanstandet |
2017 | 2017-02-22 | Schneeglöckchen | Blüte Beginn | Berlin-Köpenick (Ph), Berlin | ROUTKLI geprüft und korrigiert | Feldwert nicht beanstandet |
Es gibt ca. 1200 Jahresmelder vs. nur ca. 400 Sofortmelder, d.h. wir sollten die Daten der Jahresmelder heranziehen, wenn wir keine aktuellen Daten benötigen.
Die 1128 Stationen der Jahresmelder (Stand 2017) gibt es auf dieser Karte:
Hier noch ein Vergleich der Pflanze bei Jahresmelder vs. Sofortmelder vs. Grid-Daten. Bei den Sofortmeldungen tauchen einige Pollenallergene auf, die für die Pollenflugvorhersage recht relevant sind wie Birke und Erle. Warum die Kartoffel bei den Sofortmeldern auftaucht und nicht bei den Jahresmeldern erklärt sich mir nicht.
Die Pflanzenarten der Grid-Daten sind ähnlich reduziert wie die der Sofortmelder.
#proposal Daher würde ich vorschlagen standardmäßig auf die Daten der Jahresmelder zurückzugreifen und die geografischen Grid-Daten für uns zu verwerfen.
Ich habe für die Rohdaten der Tabelle diese querys verwendet:
# phenodata list-filenames --source=dwd --dataset=immediate --partition=recent
# phenodata list-filenames --source=dwd --dataset=annual --partition=recent
und für die Grid-Daten diese Dokumentation: ftp://ftp-cdc.dwd.de/pub/CDC/grids_germany/annual/phenology/BESCHREIBUNG_gridsgermany_annual_phenology_de.pdf
–dataset=annual | –dataset=immediate | Grid-Daten |
---|---|---|
Apfel | Apfel | Apfel |
Apfel fruehe Reife | ||
Apfel spaete Reife | Apfel spaete Reife | |
Birne | ||
Birne fruehe Reife | ||
Birne spaete Reife | ||
Beifuss | Beifuß | |
Birke | ||
Dauergruenland | Dauergruenland | Dauergrünland |
Erle | ||
Eberesche | Eberesche | |
Esche | Esche | Esche |
Europaeische-Laerche | Europäische Lärche | |
Fichte | ||
Flieder | ||
Forsythie | Forsythie | Forsythie |
Futter-Ruebe | ||
Haenge-Birke | Haenge-Birke | Hänge-Birke |
Hafer | Hafer | |
Hasel | Hasel | Hasel |
Heidekraut | Heidekraut | |
Herbstzeitlose | ||
Huflattich | Huflattich | Huflattich |
Hunds-Rose | ||
Kartoffel | ||
Kiefer | ||
Kornelkirsche | Kornelkirsche | |
Loewenzahn | Loewenzahn | Löwenzahn |
Mais | Mais | |
Pflanze Beifuss | ||
Pflaume fruehreifend | ||
Robinie | Robinie | Robinie |
Rosskastanie | Rosskastanie | Rosskastanie |
Rotbuche | Rotbuche | Rotbuche |
Rote Johannisbeere | Rote Johannisbeere | Rote Johannisbeere |
Ruebe | Ruebe | |
Rueben ohne Sortenangabe | ||
Sal-Weide | Sal-Weide | Sal-Weide |
Sauerkirsche | ||
Schlehe | ||
Schneegloeckchen | Schneegloeckchen | Schneeglöckchen |
Schwarzer Holunder | Schwarzer Holunder | Schwarzer Holunder |
Schwarz-Erle | Schwarz-Erle | |
Sommergerste | Sommergerste | |
Sommer-Linde | Sommer-Linde | Sommer-Linde |
Sonnenblume | ||
Spitz-Ahorn | ||
Stachelbeere | Stachelbeere | Stachelbeere |
Stiel-Eiche | Stiel-Eiche | Stiel-Eiche |
Suesskirsche | Suesskirsche | Süßkirsche |
Suesskirsche fruehe Reife | ||
Suesskirsche spaete Reife | ||
Tanne | ||
Weinrebe fruehe Reife | ||
Weinrebe spaete Reife | ||
Wiesen-Fuchsschwanz | Wiesen-Fuchsschwanz | Wiesen-Fuchsschwanz |
Wiesen-Knaeuelgras | Wiesen-Knäuelgras | |
Wintergerste | Wintergerste | |
Winter-Linde | ||
Winterraps | Winterraps | Winterraps |
Winterroggen | Winterroggen | Winterroggen |
Winterweizen | Winterweizen | |
Zucker-Ruebe | ||
Zweigriffliger Weissdorn | ||
Weinrebe spaete Reife |
Falls euch Fehler in den DWD-Daten auffallen, ich weiß zwar nicht wie man die meldet, dokumentiert (und häufig auch gefixed) werden sie hier:
Hier noch der DWD-Text dazu:
Schon klar ;) , mir ging es in v.a. meiner zweiten Grafik oben um eine dem DWD-Bild per Bundesland möglichst ähnliche Karte (die ja aus den Sofortmeldern gespeist wird), aber mit dem (Vorjahres-)Gradienten als Rastermap und nicht ausschließlich Höhenzügen. - Von den 1130 Jahresmeldern hatten bis vorgestern 1036 das Ereignis SCNB (Schneeglöckechen, Blühbeginn) gemeldet, da ist dann auch endlich Berlin dabei (SCNB Jahres- vs. Sofortmelder 22.3.18; animated gif):
Laß’ uns einfach beide Meldearten sinnvoll einsetzen, wir werden sie ohnehin brauchen! ;)
Während die Sofortmelder in der Regel das erste Auftreten einer Phase in ihrem Beobachtungsgebiet melden, sollen die Jahresmelder möglichst jedes Jahr am gleichen Standort und an derselben Pflanze beobachten, wann die entsprechende Phase auftritt. Die gemeldeten Termine einer Phase liegen daher bei den Sofortmeldern oft etwas vor den Terminen der anderen Meldeart.
(aus: Klimastatusbericht 2001, Die mittleren klimatischen Bedingungen, Teil (V): Phänologie und ihre Bedeutung für die Klimaüberwachung)