Berechnung der Sonnenscheindauer in weewx
- ManfredK
- Beiträge: 491
- Registriert: 16 Mai 2009 07:54
- Wohnort: Ruppersthal in Niederösterreich
- Hat sich bedankt: 9 mal
- Kontaktdaten:
Berechnung der Sonnenscheindauer in weewx
Hallo,
Ich habe gestern begonne die Sonnenscheindauer in meiner weewx-Konfiguration einzubauen.
Jetzt hab ich da mal ein paar Fragen.
Wo liegt eigentlich der Unterschied in der sunduration.py (https://www.pc-wetterstation.de/weewx/u ... ration.zip)
un der sunrainduration.py (https://www.pc-wetterstation.de/weewx/u ... ration.zip)?
Wennn ich es richtig sehe, wird ja in der sunduration.py nur ein neuer Wert (sunshine_time) in der Datenbank hinzugefügt, und bei der sunrainduration.py werden insgesamt 6 neue Werte in der DB geschrieben, wobei in beiden Varianten die sunshine_time vorkommt.
Mir kommt aber vor, dass dieser Wert in den beiden Varianten nicht vergleichbar ist.
Wenn mir jemand eine Erklärung geben könnte, was bei der sunrainduration.py und bei der sunduration.py da eigentlich für Werte in die DB geschrieben werden, wäre ich sehr dankbar.
Ich habe gestern begonne die Sonnenscheindauer in meiner weewx-Konfiguration einzubauen.
Jetzt hab ich da mal ein paar Fragen.
Wo liegt eigentlich der Unterschied in der sunduration.py (https://www.pc-wetterstation.de/weewx/u ... ration.zip)
un der sunrainduration.py (https://www.pc-wetterstation.de/weewx/u ... ration.zip)?
Wennn ich es richtig sehe, wird ja in der sunduration.py nur ein neuer Wert (sunshine_time) in der Datenbank hinzugefügt, und bei der sunrainduration.py werden insgesamt 6 neue Werte in der DB geschrieben, wobei in beiden Varianten die sunshine_time vorkommt.
Mir kommt aber vor, dass dieser Wert in den beiden Varianten nicht vergleichbar ist.
Wenn mir jemand eine Erklärung geben könnte, was bei der sunrainduration.py und bei der sunduration.py da eigentlich für Werte in die DB geschrieben werden, wäre ich sehr dankbar.
- Werner
- Site Admin
- Beiträge: 5817
- Registriert: 04 Dez 2001 01:00
- Wohnort: Lackenhäuser
- Danksagung erhalten: 90 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Es handelt sich um diese Werte:
'sunshine_time' = Wert ab wann Sonnenscheindauer erfasst wird in W/m²
War früher der eigentliche Sonnenschein-Dauerwert in Minuten
wurde aber im Sommer 2023 auch auf Sekunden umgestellt (nur sunduration.py)
'sunshineDur' = Sonnenscheindauer-Wert im Archiv-Intervall in Sekunden
'rainDur' = Regendauerwert im Archiv-Intervall in Sekunden
'hailDur' = Regendauerwert (Ecowitt-Piezo) im Archiv-Intervall in Sekunden
'sunshineDur_2' Sonnenscheindauer-Wert im Archiv-Intervall in Sekunden bei zwei DAVIS-Stationen (z.B. Live oder Konsole
'rainDur_2 = Regendauer-Wert im Archiv-Intervall in Sekunden bei zwei DAVIS-Stationen (z.B. Live oder Konsole)
'sunshine_time' = Wert ab wann Sonnenscheindauer erfasst wird in W/m²
War früher der eigentliche Sonnenschein-Dauerwert in Minuten
wurde aber im Sommer 2023 auch auf Sekunden umgestellt (nur sunduration.py)
'sunshineDur' = Sonnenscheindauer-Wert im Archiv-Intervall in Sekunden
'rainDur' = Regendauerwert im Archiv-Intervall in Sekunden
'hailDur' = Regendauerwert (Ecowitt-Piezo) im Archiv-Intervall in Sekunden
'sunshineDur_2' Sonnenscheindauer-Wert im Archiv-Intervall in Sekunden bei zwei DAVIS-Stationen (z.B. Live oder Konsole
'rainDur_2 = Regendauer-Wert im Archiv-Intervall in Sekunden bei zwei DAVIS-Stationen (z.B. Live oder Konsole)
- ManfredK
- Beiträge: 491
- Registriert: 16 Mai 2009 07:54
- Wohnort: Ruppersthal in Niederösterreich
- Hat sich bedankt: 9 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Hallo Werner,
Vielen Dank für deine Erklärung.
Wenn ich nun die sunrainduration.py in Verbindung mit einer VP2 verwende. Was mache ich nun mit dem 'hailDur', 'sunshineDur_2' und 'rainDur_2'?
Ich nehme an, dass ich diese Wert trotzdem in der DB und in der 'wview_extended' anlegen muss.
Kann ich die Werte eigentlich auch für meine gesamte DB (Werte seit 2011) berechnen lassen?
Vielen Dank für deine Erklärung.
Wenn ich nun die sunrainduration.py in Verbindung mit einer VP2 verwende. Was mache ich nun mit dem 'hailDur', 'sunshineDur_2' und 'rainDur_2'?
Ich nehme an, dass ich diese Wert trotzdem in der DB und in der 'wview_extended' anlegen muss.
Kann ich die Werte eigentlich auch für meine gesamte DB (Werte seit 2011) berechnen lassen?
- Werner
- Site Admin
- Beiträge: 5817
- Registriert: 04 Dez 2001 01:00
- Wohnort: Lackenhäuser
- Danksagung erhalten: 90 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Nein!Ich nehme an, dass ich diese Wert trotzdem in der DB und in der 'wview_extended' anlegen muss
DB-Einträge sind nur erforderlich, wenn man auch History-Daten (z.B. Jahre) möchte,
Da es aber dafür in Deinem Fall gar keinen Wert gibt, sind sie auch nicht notwendig.
Nein.Kann ich die Werte eigentlich auch für meine gesamte DB (Werte seit 2011) berechnen lassen?
Dazu müsste Weewx diese von Haus aus unterstützen oder ein eigenes Programm dafür schreiben.
Ich hab diese Überlegungen schon angestellt, aber dann verworfen, da die Daten nicht unbedingt wichtig sind.
Wichtig! Dein Solarkorrekturfaktor muss stimmen!!!!
sunshine_coeff -> default ist 0.8 - ich brauche/verwende z.B. 0.92
- ManfredK
- Beiträge: 491
- Registriert: 16 Mai 2009 07:54
- Wohnort: Ruppersthal in Niederösterreich
- Hat sich bedankt: 9 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Ich habe bei meiner maxSolarRad den atc auf 0.87 gestellt. Würde dieser Wert auch sinnvollerweise beim sunshine_coeff passen?
Schade, dass sich die sunshine_time, sundshineDur und rainDur nicht nachberechnen lassen. Die maxSolarRad lässt sich nachrechnen. Die hab ich nämlich erst mit dem geändertent atc seit 2011 korrigiert.
Schade, dass sich die sunshine_time, sundshineDur und rainDur nicht nachberechnen lassen. Die maxSolarRad lässt sich nachrechnen. Die hab ich nämlich erst mit dem geändertent atc seit 2011 korrigiert.
- Werner
- Site Admin
- Beiträge: 5817
- Registriert: 04 Dez 2001 01:00
- Wohnort: Lackenhäuser
- Danksagung erhalten: 90 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Könnte passen, ich habe hier allerdings einen etwas geringeren Wert -> 0.9Würde dieser Wert auch sinnvollerweise beim sunshine_coeff passen
Vielleicht verwirkliche ich es, wenn Weewx es erlaubt auch einzelne Wert zu importieren,Schade, dass sich die sunshine_time, sundshineDur und rainDur nicht nachberechnen lassen.
den Wswin kann ja eine spezielle Weewx-Import Datei erstellen und in die könnte ich dann diese
Werte mit schreiben.
... denn diese ganzen Berechnungen/Werte sind ureigenste Wswin-Werte schon seit langem
- ManfredK
- Beiträge: 491
- Registriert: 16 Mai 2009 07:54
- Wohnort: Ruppersthal in Niederösterreich
- Hat sich bedankt: 9 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Hallo,
Ich habe nun einmal damit ich Daten in meiner Datenbak habe (vielleicht kommen ja irgendwann richtigere ), folgende Berechnung angestellt.
Damit Sonnenschein erfasst wird, habe ich 60 % der max. Solarstrahlung angenommen. Sobald nun die Solarstrahlung > als der 60 % Wert ist, habe ich in der DB 300 s für die sunshineDur eingetragen.
Jetzt habe ich im Belchertown-Skin eine Grafik erstellt, die die Sonnenscheinzeit seit 2011 darstellt
https://wetter-ruppersthal.at/graphs/?g ... nnenschein
nur sind die Werte in Sekunden, und dementsprechend extrem hoch (bis zu 6.000.000 s/a).
Hier ist der Code, der für die ersten 3 Diagramme verwendet wird:
Gibt es in weewx eine einfache Methode, wie ich diese Werte in Stunden darstellen kann?
Ich habe nun einmal damit ich Daten in meiner Datenbak habe (vielleicht kommen ja irgendwann richtigere ), folgende Berechnung angestellt.
Damit Sonnenschein erfasst wird, habe ich 60 % der max. Solarstrahlung angenommen. Sobald nun die Solarstrahlung > als der 60 % Wert ist, habe ich in der DB 300 s für die sunshineDur eingetragen.
Jetzt habe ich im Belchertown-Skin eine Grafik erstellt, die die Sonnenscheinzeit seit 2011 darstellt
https://wetter-ruppersthal.at/graphs/?g ... nnenschein
nur sind die Werte in Sekunden, und dementsprechend extrem hoch (bis zu 6.000.000 s/a).
Hier ist der Code, der für die ersten 3 Diagramme verwendet wird:
Code: Alles auswählen
[sonnenschein]
title = "Sonnescheindauer"
show_button = false
button_text = Sonnenschein
type = spline
time_length = year_specific
aggregate_interval = month
aggregate_type = sum
#gapsize = 86400000
[[sunjahr]]
title = "Sonnenscheindauer seit 2011"
time_length = all
xAxis_groupby = year
aggregate_interval = year
[[[sunshineDur]]]
name = Sonnenschein
type = column
zIndex = 0
color = "#f7f2b4"
[[sunmonat]]
title = "Sonnenscheindauer Monate-ø seit 2011"
time_length = all
xAxis_groupby = month
xAxis_categories = 'Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'
#aggregate_type = sum
aggregate_type = avg
average_type = sum
[[[sunshineDur]]]
name = Sonnenschein
type = column
zIndex = 0
color = "#f7f2b4"
[[sun2024]]
title = "Sonnenscheindauer 2024"
year_specific = 2024
xAxis_groupby = month
xAxis_categories = 'Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'
[[[sunshineDur]]]
name = Sonnenschein
type = column
zIndex = 0
color = "#f7f2b4"
- Werner
- Site Admin
- Beiträge: 5817
- Registriert: 04 Dez 2001 01:00
- Wohnort: Lackenhäuser
- Danksagung erhalten: 90 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Versuche es mal das hinzuzufügen:
Im Season skin funktioniert das (hier Darstellung in Minuten beim Tag)
Code: Alles auswählen
data_type = sunshineDur / 3600
Code: Alles auswählen
[[[daysunshine]]]
color = "#ea078b"
plot_type = bar
yscale = 0.0, 15, 2.5
[[[[sunshine_time]]]]
data_type = sunshineDur / 60
y_label = "Minuten"
label = Sonnenschein
- ManfredK
- Beiträge: 491
- Registriert: 16 Mai 2009 07:54
- Wohnort: Ruppersthal in Niederösterreich
- Hat sich bedankt: 9 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Hallo Werner,
Vielen Dank, aber beim Belchertown-Skin funktioniert es leider nicht.
Vielen Dank, aber beim Belchertown-Skin funktioniert es leider nicht.
- ManfredK
- Beiträge: 491
- Registriert: 16 Mai 2009 07:54
- Wohnort: Ruppersthal in Niederösterreich
- Hat sich bedankt: 9 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Hallo Werner,
Wäre es eigentlich möglich, dass die sunrainduration.py zusätzlich einen Stundenwert in der Datenbank schreibt?
Wäre es eigentlich möglich, dass die sunrainduration.py zusätzlich einen Stundenwert in der Datenbank schreibt?
- Werner
- Site Admin
- Beiträge: 5817
- Registriert: 04 Dez 2001 01:00
- Wohnort: Lackenhäuser
- Danksagung erhalten: 90 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Ja!
Ändern der weewx.conf
Die Datenbank muss dann noch mit sunshineDur1h
erweitert werden
und die Zurordnung zu welcher group (extensions.py) - oder eine neue Gruppe für delta 1 Stunde einführen (z.B. group_deltatime1h).
Aber ist das Sinnvoll?
Den der Season-Skin kommt damit klar,
Es ist eine Belchertown-Parameter-Sache und sollte dort gelöst werden
Ändern der weewx.conf
Code: Alles auswählen
[StdCalibrate]
[[Corrections]]
sunshineDur1h = sunshineDur / 3600 if sunshineDur is not None else None
erweitert werden
Code: Alles auswählen
sudo echo "y" | wee_database --config=/etc/weewx/weewx.conf --add-column=sunshineDur1h --type=REAL
Code: Alles auswählen
weewx.units.obs_group_dict['sunshineDur1h'] = 'group_deltatime'
Den der Season-Skin kommt damit klar,
Es ist eine Belchertown-Parameter-Sache und sollte dort gelöst werden
- ManfredK
- Beiträge: 491
- Registriert: 16 Mai 2009 07:54
- Wohnort: Ruppersthal in Niederösterreich
- Hat sich bedankt: 9 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Hallo Werner,
Vielen Dank für deinen Hinweis.
Ob es wirklich sinnvoll ist...da hast du wahrscheinlich recht. Ich verwende auch noch das neowx-material, und da hab ich auch meine Probleme die Werte richtig darzustellen.
Aber auch diese Weise kann ich einmal das 'Problem beheben'.
Vielen Dank!!
Vielen Dank für deinen Hinweis.
Ob es wirklich sinnvoll ist...da hast du wahrscheinlich recht. Ich verwende auch noch das neowx-material, und da hab ich auch meine Probleme die Werte richtig darzustellen.
Aber auch diese Weise kann ich einmal das 'Problem beheben'.
Vielen Dank!!
Zuletzt geändert von ManfredK am 05 Feb 2024 11:52, insgesamt 1-mal geändert.
- ManfredK
- Beiträge: 491
- Registriert: 16 Mai 2009 07:54
- Wohnort: Ruppersthal in Niederösterreich
- Hat sich bedankt: 9 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Hallo Werner,
Leider funktioniert es nicht wie erwartet.
weewx.conf
mit oder ohne erfolgt kein Eintrag in der weewx.sdb.
extensions.py:
und in der Datenbank sind die Einträge für sunshineDur_m und sunshineDur_h vorhanden.
Da ich damit nicht erfolgreich war, die Einträge in den beiden Spalten sunshinDur_m und sunshineDur_h sind NULL, habe ich in der weewx.conf folgenden Eintrag erweitert:
Beim Season-Skin habe ich jetzt eine History-Darstellung hinzugefügt:
auch hier kann ich die Korrektur auf Stunden nicht durchführen.
Was kann ich noch tun?
Im Übrigen, ich verwende weewx v5.0.1. Soll ich versuchsweise die v4.10.2 installieren?
Leider funktioniert es nicht wie erwartet.
weewx.conf
Code: Alles auswählen
[StdCalibrate]
[[Corrections]]
# For each type, an arbitrary calibration expression can be given.
# It should be in the units defined in the StdConvert section.
# Example:
foo = foo + 0.2
sunshineDur_h = sunshineDur/3600 if sunshineDur is not None else None, archive
sunshineDur_m = sunshineDur/60 if sunshineDur is not None else None, archive
Code: Alles auswählen
, archive
extensions.py:
Code: Alles auswählen
#
# Copyright (c) 2009-2015 Tom Keffer <tkeffer@gmail.com>
#
# See the file LICENSE.txt for your full rights.
#
"""User extensions module
This module is imported from the main executable, so anything put here will be
executed before anything else happens. This makes it a good place to put user
extensions.
"""
import locale
# This will use the locale specified by the environment variable 'LANG'
# Other options are possible. See:
# http://docs.python.org/2/library/locale.html#locale.setlocale
locale.setlocale(locale.LC_ALL, '')
import weewx.units
weewx.units.obs_group_dict['sunshine_time'] = 'group_radiation'
weewx.units.obs_group_dict['sunshineDur'] = 'group_deltatime'
weewx.units.obs_group_dict['sunshineDur_m'] = 'group_deltatime'
weewx.units.obs_group_dict['sunshineDur_h'] = 'group_deltatime'
Da ich damit nicht erfolgreich war, die Einträge in den beiden Spalten sunshinDur_m und sunshineDur_h sind NULL, habe ich in der weewx.conf folgenden Eintrag erweitert:
Code: Alles auswählen
[StdWXCalculate]
[[Calculations]]
# How to calculate derived quantities. Possible values are:
# hardware - use the value provided by hardware
# software - use the value calculated by weewx
# prefer_hardware - use value provide by hardware if available,
# otherwise use value calculated by weewx
pressure = prefer_hardware
altimeter = prefer_hardware
appTemp = prefer_hardware
barometer = prefer_hardware
cloudbase = prefer_hardware
dewpoint = prefer_hardware
ET = prefer_hardware
heatindex = prefer_hardware
humidex = prefer_hardware
inDewpoint = prefer_hardware
maxSolarRad = prefer_hardware
sunshine_time = prefer_hardware
sunshineDur = prefer_hardware
sunshineDur_m = prefer_hardware
sunshineDur_h = prefer_hardware
Beim Season-Skin habe ich jetzt eine History-Darstellung hinzugefügt:
Code: Alles auswählen
[[sunshineDur]]
obs_type = sunshineDur
aggregate_type = sum
units = s
minvalues = 0, 200000, 400000, 600000, 800000, 1000000 # Override default temperature colour scheme with rain specific scale
maxvalues = 200000, 400000, 600000, 800000, 1000000, 2000000
colours = "#E0F8E0", "#A9F5A9", "#58FA58", "#2EFE2E", "#01DF01", "#01DF01"
fontColours = "#000000", "#000000", "#000000", "#000000", "#000000", "#000000"
summary_column = true
summary_heading = Summe
Was kann ich noch tun?
Im Übrigen, ich verwende weewx v5.0.1. Soll ich versuchsweise die v4.10.2 installieren?
- Werner
- Site Admin
- Beiträge: 5817
- Registriert: 04 Dez 2001 01:00
- Wohnort: Lackenhäuser
- Danksagung erhalten: 90 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
@Manfred,
Lass mir etwas Zeit, ich muss es mir ansehen.
Habe seit Heute ein Problem mit meiner Homematic und Carrier Sense von 100%
Und noch keinen Grund dafür gefunden.
Wie ich gesehen habe, hast Du es im Belchertown Skin (Sonnenschein letztes Jahr) schon gelöst ?
Ich denke nicht.Im Übrigen, ich verwende weewx v5.0.1. Soll ich versuchsweise die v4.10.2 installieren?
Lass mir etwas Zeit, ich muss es mir ansehen.
Habe seit Heute ein Problem mit meiner Homematic und Carrier Sense von 100%
Und noch keinen Grund dafür gefunden.
Wie ich gesehen habe, hast Du es im Belchertown Skin (Sonnenschein letztes Jahr) schon gelöst ?
- ManfredK
- Beiträge: 491
- Registriert: 16 Mai 2009 07:54
- Wohnort: Ruppersthal in Niederösterreich
- Hat sich bedankt: 9 mal
- Kontaktdaten:
Re: Berechnung der Sonnenscheindauer in weewx
Hallo Werner,
Vielen Dank, dass du es dir ansehen willst. Nur keinen Stress.
In einigen Diagrammen lässt sich das ganze auch so
wie gewünscht darstellen.
https://wetter-ruppersthal.at/graphs/?graph=monatago
Aber in der Monats/Jahres-Zusammenfassung funktioniert es leider nicht.
https://wetter-ruppersthal.at/graphs/?g ... nnenschein
Vielen Dank, dass du es dir ansehen willst. Nur keinen Stress.
In einigen Diagrammen lässt sich das ganze auch so
Code: Alles auswählen
[[[sunshineDur]]]
yAxis = 1
yAxis_min = 0
yAxis_softMax = 14
type = column
aggregate_type = sum
observation_type = sunshineDur / 3600
color = red
yAxis_label = "Sonnenscheindauer in h"
name = Sonnenscheindauer
zIndex = 2
https://wetter-ruppersthal.at/graphs/?graph=monatago
Aber in der Monats/Jahres-Zusammenfassung funktioniert es leider nicht.
Code: Alles auswählen
[sonnenschein]
title = "Sonnescheindauer"
show_button = false
button_text = Sonnenschein
type = spline
time_length = year_specific
aggregate_interval = month
aggregate_type = sum
#gapsize = 86400000
[[sunjahr]]
title = "Sonnenscheindauer seit 2011"
time_length = all
xAxis_groupby = year
aggregate_interval = year
[[[sunshine]]]
name = Sonnenschein
observation_type = sunshineDur
type = column
zIndex = 0
color = "#f7f2b4"
[[sunmonat]]
title = "Sonnenscheindauer Monate-ø seit 2011"
time_length = all
xAxis_groupby = month
xAxis_categories = 'Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'
#aggregate_type = sum
aggregate_type = avg
average_type = sum
[[[sunshineDur]]]
name = Sonnenschein
type = column
zIndex = 0
color = "#f7f2b4"
[[sun2024]]
title = "Sonnenscheindauer 2024"
year_specific = 2024
xAxis_groupby = month
xAxis_categories = 'Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'
[[[sunshineDur]]]
name = Sonnenschein
type = column
zIndex = 0
color = "#f7f2b4"