Seite 1 von 1

Template- Variable für Temperaturabweichung

Verfasst: 30 Mär 2016 15:07
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?

Verfasst: 30 Mär 2016 17:20
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"

Verfasst: 30 Mär 2016 17:36
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

Verfasst: 30 Mär 2016 17:51
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]

Verfasst: 30 Mär 2016 18:10
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: