Template- Variable für Temperaturabweichung

Fragen, Anregungen zur PC-Wetterstations-Software

Moderatoren: Werner, Tex, weneu

Antworten
loaecker
Beiträge: 299
Registriert: 26 Okt 2014 11:34

Template- Variable für Temperaturabweichung

Beitrag von loaecker »

Hallo zusammen,
ich möchte eine Template Datei erstellen, wo mir für jeden Tag die Temperaturabweichung vom Mittelwert ausgegeben wird. Leider wieß ich nicht welche Variable dafür in Frage kommt. In den ws_variables habe ich nur die Monatsvariablen für die Temperaturabweichung STDV gefunden. Gibt es die auch für die tägliche Abweichung?
Benutzeravatar
weneu
Site Admin
Beiträge: 11572
Registriert: 22 Feb 2002 01:00
Wohnort: Donauwörth
Danksagung erhalten: 18 mal
Kontaktdaten:

Beitrag von weneu »

Hallo,
Du kannst in einem Monatstemplate (template_m.txt) die normale Variable verwenden. Die bringt dann die Tageswerte.
Schau Dir dazu mal bei Beispiele bei
http://faqtemp.wernerneudeck.de
an. Und dort "Aufbau von Templates" und "praktische Beispiele"
Zuletzt geändert von weneu am 30 Mär 2016 17:43, insgesamt 1-mal geändert.
Benutzeravatar
Tex
Moderator
Beiträge: 2003
Registriert: 04 Aug 2014 17:47
Wohnort: Woldegk
Hat sich bedankt: 3 mal
Danksagung erhalten: 45 mal
Kontaktdaten:

Beitrag von Tex »

Wenn ich Lothar recht verstanden habe, möchte er für den aktuellen Tag eine brauchbare STDV-Temperaturabweichung haben. Also analog zum Jahr oder Monat die einzelne Tagesabweichung.

Oder geht es nur um die Tagesabweichungen (hier ist dann die Frage von welchem Mittelwert, Jahr oder Monat??). Das ist ja simple: Noramaltemp(Monat oder Jahr) minus Tagesmittelwert = Tagesabweichung.

Schwieriger wir es, wenn ersters ausgeben werden soll. Es liegen nämlich keinerlei STDV-Tagesmittelwerte vor. Die müßte man aus den Monatsmittelwerten des aktuellen, vergangenen und kommenden Monats anteilsmäßig für jeden Tag interpolieren, was alles andere als trivial ist. Ich bin seit 3 Wochen an sowas dran, ist aber noch Testphase, wenn es auch inzwischen zu funktionieren scheint....

Hier mal dafür das vorläufige Script zum Testen:
<tr><td align="center" width="88%"></b><font size="2" color=Black>

<!--- Temperaturabweichung aktueller Tag STDV --->
%unit_off%
%ws_setmem[1]=%ws_normaltemp[1]%%
%ws_setmem[2]=%ws_normaltemp[2]%%
%ws_setmem[3]=%ws_normaltemp[3]%%
%ws_setmem[4]=%ws_normaltemp[4]%%
%ws_setmem[5]=%ws_normaltemp[5]%%
%ws_setmem[6]=%ws_normaltemp[6]%%
%ws_setmem[7]=%ws_normaltemp[7]%%
%ws_setmem[8]=%ws_normaltemp[8]%%
%ws_setmem[9]=%ws_normaltemp[9]%%
%ws_setmem[10]=%ws_normaltemp[10]%%
%ws_setmem[11]=%ws_normaltemp[11]%%
%ws_setmem[12]=%ws_normaltemp[12]%%
%ws_setmem[24]=%ws_calc[-]=%ws_month%~1~0%%
%ws_setmem[25]=%ws_compare[3]=%ws_month%~1~12~%ws_getmem[24]%%%
%ws_setmem[26]=%ws_calc[-]=31~%ws_day%~2%%
%ws_setmem[27]=%ws_calc1[*]=%ws_calc[/]=%ws_getmem[%ws_month%]%~30~2%~%ws_getmem[26]%~2%%
%ws_setmem[28]=%ws_calc[-]=15~%ws_day%~2%%
%ws_setmem[29]=%ws_calc1[*]=%ws_calc[/]=%ws_getmem[%ws_getmem[25]%]%~30~2%~%ws_getmem[28]%~2%%
%ws_setmem[30]=%ws_calc[+]=%ws_getmem[27]%~%ws_getmem[29]%~1%%
%ws_setmem[37]=%ws_calc[+]=%ws_month%~1~0%%
%ws_setmem[38]=%ws_compare[3]=%ws_month%~12~1~%ws_getmem[37]%%%
%ws_setmem[31]=%ws_calc[-]=45~%ws_day%~2%%
%ws_setmem[32]=%ws_calc1[*]=%ws_calc[/]=%ws_getmem[%ws_month%]%~30~2%~%ws_getmem[31]%~2%%
%ws_setmem[33]=%ws_calc[-]=%ws_day%~15~2%%
%ws_setmem[34]=%ws_calc1[*]=%ws_calc[/]=%ws_getmem[%ws_getmem[38]%]%~30~2%~%ws_getmem[33]%~2%%
%ws_setmem[35]=%ws_calc[+]=%ws_getmem[32]%~%ws_getmem[34]%~1%%
%ws_setmem[36]=%ws_compare[4]=%ws_day%~15~%ws_getmem[30]%~%ws_getmem[35]%%%
%ws_setmem[17]=%ws_calc[-]=%curminmaxhour[3,24,0]%~%ws_getmem[36]%~1%%
%ws_setmem[18]=%ws_replacestr=.~~%maxdatepast[0~-30~0~0000]%%%
%ws_setmem[19]=%ws_calc[-]=%season_avg[0~%ws_getmem[18]%~%ws_day2%%ws_month2%%ws_year%]%~%ws_getmem[16]%~1%%
%ws_setmem[20]=%ws_compare[1]=%ws_getmem[19]%~0~+~%%
%ws_setmem[21]=%ws_compare[5]=%ws_getmem[17]%~0~%ws_calc[*]=%ws_getmem[17]%~-1~0%~%ws_getmem[17]%%%
%ws_setmem[22]=%ws_compare[1]=%ws_getmem[17]%~0~zu warm~zu kalt%%
STDV Normalwert für den heutigen Tag: %ws_getmem[36]%°C <br>
<font color="BLACK"><b>für die Jahreszeit ist es heute %ws_getmem[21]%° %ws_getmem[22]%
%unit_on%
</font></b></td></tr>
Das Erbenis würde dann so aussehen:
STDV Normalwert für den heutigen Tag: 4,7°C
für die Jahreszeit ist es heute 1,0° zu warm
loaecker
Beiträge: 299
Registriert: 26 Okt 2014 11:34

Beitrag von loaecker »

Hallo Tex,
also mir geht es in erster Linie um die Tagesabweichung vom aktuellen Monat, so wie im Programm dargestellt. Du hast hier die Formel Noramaltemp(Monat oder Jahr) minus Tagesmittelwert = eingegeben. Das heißt, die Variable müsste ich mir dazu selbst bauen, oder einfach mal deine Testversion ausprobieren. Momentan pflege ich die Daten in eine Excel-Tabelle manuell ein, aber das wollte ich eben vom Programm selbst erstellen lassen.[/img]
Benutzeravatar
Tex
Moderator
Beiträge: 2003
Registriert: 04 Aug 2014 17:47
Wohnort: Woldegk
Hat sich bedankt: 3 mal
Danksagung erhalten: 45 mal
Kontaktdaten:

Beitrag von Tex »

Hallo Lothar,
das wäre dann sowas:

%ws_calc[-]=%curminmaxhour[3,24,0]%~%ws_normaltemp[%ws_month%]%~1%

Ist aber nur für den aktuellen Tag. Wenn Du eine Tabelle aller Tage eines Monats haben willst, mußt Du das so aufbauen (hab ich jetzt nicht getestet):

%ws_calc[-]=%avgvalpast[0~01~03~2016]%~%ws_normaltemp[3]%~1%
%ws_calc[-]=%avgvalpast[0~02~03~2016]%~%ws_normaltemp[3]%~1%
%ws_calc[-]=%avgvalpast[0~03~03~2016]%~%ws_normaltemp[3]%~1%


Jetzt für den Monat März angelegt.

Der Nachteil: nur für den 15. eines Monats wird der richtige Wert ausgeben. Denn der 31.3. ist in der Regel wärmer wie der 15.3. --- und der 1.3. ist kälter wie der 15.3.
Insofern sind diese Vergleich leicht hinkend, weil sie sich auf einen Monatsmittelwert beziehen, der meisten nur in der Monatsmitte den richtigen Wert für einen Tag angibt. Das kannst Du ja aus den Monatsübergängen ersehen: 29.02. zum 01.03.: nur einen Tag auseinander aber starke STDV-Abweichungen bei gleicher Tagesmitteltemperatur.

Mein Script oben könnte man theoretisch für jeden definierten festen Tag erweitern, also für 365 Tage eines Jahres. Allerdings sollte man sich da besser einen extra leistungstarken Rechner für zulegen - wird nämlich absolut megamäßig von der Abarbeitungszeit, wenn man das fürs Jahr anlegen will.. :lol:
Antworten