Seite 1 von 1

Fehler in den Variablen - oder mache ich da was falsch???

Verfasst: 14 Apr 2015 21:59
von Tex
Diese Varibalen liefern immer das selbe (identische) Ergebnis, egal welchen Zeitraum ich wähle:

%season_dayavgmin[0~10042015~00000000]%
%season_dayavgmax[0~10042015~00000000]%

Ich kann es auch so schreiben:

%season_dayavgmin[2~10042015~14042015]%
%season_dayavgmax[2~10042015~14042015]%

Immer sind beide Ergebnisse identisch. Das kann ja nun nicht stimmen.

Bei einen Tavg von 9,8° kann das Tavgmin (bei gleichem Zeitraum) niemals 11,8° sein.

Nach meiner händisch überprüften Exelauswertung müßte für den angegebene Zeitraum folgendes rauskommen:

Tavg: 9,9°
Tavgmin: 4,6°
Tavgmax: 15,3°

Bis auf Tavg sind die Werte nicht nachvollziehbar die WSWIN ausgibt. Die 11,8° passen weder beim max. und schon gar nicht beim min.

Verfasst: 16 Apr 2015 00:24
von Werner
@Tex,

möglicherweise gehst Du von einer falschen Erwartung in dieser Variable aus.

z.B. hier %season_dayavgmin[2~10042015~14042015]%
Hier berücksichtigt die Auswertung nur den 10.04.2015
-> Es wird immer nur der gleiche Tag über Jahre hinweg berücksichtigt.
Die zweite Tagesangabe ist nicht relevant.

Ich denke, Du meinst eher so eine Variable:
%season_min[id~ddmmyyyy~ddmmyyyy]%

... im Programm hast Du immer die Möglichkeit das Verhalten und die Ergebnisse zu testen (Wetter, Wettervorhersage, Season_var)

Werner

Verfasst: 16 Apr 2015 08:23
von Tex
Hallo Werner,

OK, verstanden. Wenn ich Dich richtig verstanden habe, vergleicht diese Variable nur diesen einen Tag über sämtlich verfügbaren Jahre hinweg (wenn so eingestellt).
Dann ist nämlich auch klar, warum bei avgmin und avgmax immer das selbe rauskommen muß, wenn hinten die Jahreszahl das aktuelle Jahr ist.

Was ich suchte: eine Variable, die mir über einen beliebigen Zeitraum die Temperaturmaximummittelwerte und auch -minimummittelwertewerte ausgibt.

Beispiel: die Tageshöchstwerte der letzten 10 Tage als Mittelwert.

Verfasst: 16 Apr 2015 16:51
von Werner
@Tex,

in der kommenden Version gibt es ein paar neue Variablen, ich glaube ein "Abfallprodukt" davon ist so etwas was Du suchst.
Leider komme ich aus Zeitgründen nicht dazu, diese Version kurzfristig fertigzustellen.

Wenn Du diese Version möchtest, melde Dich bitte per Email bei mir.

Werner

Verfasst: 16 Apr 2015 17:48
von Tex
@ Werner

Eilt nicht. Das mit der Zeit kennt man ja.

Ich warte ja auch noch auf die neuen Speichervariablen - die nützen mir auch erst etwas, wenn sie allgemein zugänglich sind, damit die anderen User meine Wettervorhersage 3.2 nutzen können.
Bei mir läuft diese Version zwar schon, aber auch nur, weil ich etliche Grundwerte händisch eingestellt habe. Die User sollen das aber "zentral" im Kopf der Wettervorhersage machen können und nicht in der ganzen Konstruktion "rumwurschteln" müssen - da käme sonst nur Murks bei raus.
Und so habe ich noch Zeit, sie weiterhin bei allen möglichen Wetterlagen zu Testen. :lol:

Verfasst: 16 Apr 2015 22:42
von Werner
@Tex,

ok.

Hier schon einmal was jetzt schon verwirklicht ist:

- Erhöhung der Mem-Variablen von 64 auf jetzt 128
- Mehrfache Addition mit mem-Variablen
%ws_calcmem[+]=memstart~memend~Dezimalstellen% memstart=1..63, memend=2..64

Mittelwert mit mem-Variablen
%ws_calcmem[0]=memstart~memend~Dezimalstellen% memstart=1..63, memend=2..64
Kommt dabei in der Reihe “ungültige Daten“ z.B. keine Zahl vor, so ignoriert das Programm diese Mem-Variable.

Mem Addition w1+w2 %ws_calcmem2[+]=mem1~mem2~Dezimalstellen% mem1=1..64, mem2=1..64
Mem Subtraktion w1-w2 %ws_calcmem2[-]=mem1~mem2~Dezimalstellen% mem1=1..64, mem2=1..64
Mem Multiplikat. w1*w2 %ws_calcmem2[*]=mem1~mem2~Dezimalstellen% mem1=1..64, mem2=1..64
Mem Division w1/w2 %ws_calcmem2[/]=mem1~mem2~Dezimalstellen% mem1=1..64, mem2=1..64
Mem 2er Mittel (w1+w2)/2 %ws_calcmem2[2]=mem1~mem2~Dezimalstellen% mem1=1..64, mem2=1..64

Beachte!
Die calcmem2-Variable verwendet immer nur 2 Mem-Variablen-Werte
Die calcmem-Variable verwendet eine Reihe (von bis ) von Mem-Variablen.

- Für id = 34,37,39,40 (Regen, Sonnenscheinzeit, Regendauerzeit, ET) und VergleichsArt S=Monats/Jahres-Summenmittelwert S = NEU!
Mittelwert Monat/Jahr %season_monthmin[id~mm~bbbb~eeeeS]% -> mit Berücksichtigung von 0 Werten
Mittelwert Monat/Jahr %season_monthmax[id~mm~bbbb~eeeeS]% -> ohne Berücksichtigung von 0 Werten

- Tages Array *%ws_xarraydxx[id~trz~a~ddd]%
id = -1..46
trz = Trennzeichen (z.B. " " "," ";") -> 1 Zeichen!
a = 0 ->Durchschnitt
a = 1 ->Minimum
a = 2 ->Maximum
a = 3 ->Datum
a = 4 ->Summe nur gültig für ID 34,37,38,39,40
a = 5 ->Min Zeit
a = 6 ->Max Zeit
a = 7 ->Durchschnitt der Durchschnitte über Tage
a = 8 ->Minimum Durchschnitt über Tage
a = 9 ->Maximum Durchschnitt über Tage
ddd = 000->031 Tage, 1...400 Tage rückwärts

- Monats Array *%ws_xarraymxx[id~trz~a~dd]%
id = -1..46
trz = Trennzeichen (z.B. " " "," ";") -> 1 Zeichen!
a = 0 ->Durchschnitt
a = 1 ->Minimum
a = 2 ->Maximum
a = 3 ->Jahr_Monat
a = 4 ->Summe nur gültig für ID 34,37,38,39,40
a = 5 ->Min Datum_Zeit
a = 6 ->Max Datum_Zeit
a = 7 ->Durchschnitt der Durchschnitte über Monate
a = 8 ->Minimum Durchschnitt über Monate
a = 9 ->Maximum Durchschnitt über Monate
dd = 0->12 Monate, 1..36 Monate rückwärts

... da hat mich auch die Zeit überholt, was hier noch mit 64 angegeben ist/wird, ist natürlich jetzt auch 128

Werner

Verfasst: 16 Apr 2015 23:26
von Tex
Das bringt gerade bei umfangreichen Konstruktionen schon eine wesentliche Erleichterung... 8) - und verkürzt den Umfang ganz beträchtlich.