Phänologischer Kalender

phenology
flowering
calendar

#41

wenn Dein *ux nativ python 2.7 kann, dann probiere auch ohne venv ;)
sudo könnte nötig sein, je nachdem, wie Du pip benutzt.


#42

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.

Phänologie und imkerliche Eingriffe bei den Bienen
#43

A post was merged into an existing topic: Feature Requests Open Hive


#44

Hey @mois,

wir haben zwar in der virtualenv Doku auch Python3 erwähnt, das Programm selbst wurde jedoch auf Python2 entwickelt und ist vermutlich noch nicht fit für Python3. Bitte erstelle einstweilen ein virtualenv für Python2:

virtualenv --no-site-packages --python=python2 .venv27

Herzliche Grüße,
Andreas.


#45

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:


Daten vom DWD verstehen, verarbeiten und darstellen
#46

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?


#47

ja, die sind aus den grid-Daten gebaut; das textuelle overlay ist mittels Deiner phenodata 0.6.4 erzeugt.


#48

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


#49

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)


#50

Auch mit so etwas habe ich Probleme, das geht noch
phenodata list-species --source=dwd

das nicht

phenodata list-species --source=dwd year=2017
phenodata list-species --source=dwd station=Berlin

… noch etwas:

Die historischen Daten haben Probleme mit der Zuckerrübe

phenodata forecast --source=dwd --dataset=annual --partition=historical --station-id=12132 --humanize

File “pandas/_libs/src/util.pxd”, line 91, in util.set_value_at_unsafe
ValueError: invalid literal for long() with base 10: ‘Zucker-R\xfcbe’


#51

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:


#52

na, mit ner GIS; in diesem Fall QGIS 2.18.17 .


#53

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=tabular:pipe

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.


#54

Die 1128 Stationen der Jahresmelder (Stand 2017) gibt es auf dieser Karte:


#55

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

#56

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:

ftp://ftp-cdc.dwd.de/pub/CDC/Error_log_CDC_ftp.txt


#57

Hier noch der DWD-Text dazu:

https://www.dwd.de/DE/klimaumwelt/aktuelle_meldungen/180308/phaenologie_koop_naturgucker_180308.html


#58

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)


#59

Danke! Dieses Problem wurde gerade mit der Version 0.6.5 behoben. Das Programm sollte nun also auch die historischen Daten aller Jahresmelder verarbeiten können, dafür benötigt es allerdings bis zu 3GB RAM und braucht bis zu fünf Minuten für die Berechnung auf zeitgemäßer Hardware, sogar mit vorgewärmtem Cache.

Anmerkung: Die Rübe musste bis auf weiteres leider ausgespart werden, siehe:


#60

phenodata 0.7.0 und phenodata 0.8.0 kümmern sich nun um ein paar Dinge mehr.

Das Programm kann nun auch Rübendaten verarbeiten.

Bei “phenodata list-stations” werden ab sofort auch die Parameter “--filter=” sowie “--sort=” akzeptiert und entsprechend ausgewertet.