Seite 1 von 1

Nebelwarnung für die Nacht- und Morgenstunden – Neue Versio

Verfasst: 13 Okt 2014 18:50
von Tex
Nebelwarnung für die Nacht- und Morgenstunden – Neue Version

Grundbeschreibung wie für die "24h Nebelwarnung", hier: http://www.pc-wetterstation.de/forum/vi ... php?t=8996

Zusatzbeschreibung:
Voraussetzung hierfür ist, daß man die Sonnenstunden berechnen kann. Entweder über einen Solarstrahlungssensor, Helligkeitssensor oder auch per Differenztemperatur. Ich habe hierfür die ID26 genommen. Es kann ebenso die ID42 genommen werden. ID41 UV ist ungeeignet, da bei starker Bewölkung der UV-Wert 0 sein kann und so für die Berechnung „Nacht“ simuliert.

Es müssen also folgende Zeile im 1. Teil angepaßt werden:
%ws_setmem[37]=%ws_calc[+]=%curval[26]%~%curminmaxhour[3,2,26]%~1%%

und im 2. Teil folgende Zeile:
%ws_setmem[39]=%ws_calc[+]=%curval[26]%~%curminmaxhour[3,2,26]%~1%%

Es gibt bei dieser Ausgaber der Nebelwarnung 5 verschiedene Warnstufen:

%ws_compare[3]=%ws_getmem[44]%~0~<font color="Gray">&#8658 keine Warnung~%
%ws_compare[3]=%ws_getmem[44]%~1~<font color="Blue">wahrscheinlich wird es dunstig und diesig~%
%ws_compare[3]=%ws_getmem[44]%~2~<font color="Blue">Vorsicht: Dunst, Nebelbildung möglich~%
%ws_compare[3]=%ws_getmem[44]%~3~<font color="Red">ACHTUNG: Nebelbildung wahrscheinlich!~%
%ws_compare[3]=%ws_getmem[44]%~4~<font color="Red">ACHTUNG: Nebelbildung sehr wahrscheinlich!~%

Nach Sonnenaufgang und bis 2h nach Sonnenuntergang wird dieser Text angezeigt:

%ws_compare[5]=%ws_getmem[44]%~0~<font color="Gray">&#8658 Berechnung erfolgt erst 2h nach Sonnenuntergang~%

Der Hintergrund ist einfach erklärt: die Berechnung läßt sich nicht anders über Tag „abstellen“, als durch ID26 oder ID42. Das ist aber zwingend notwendig, da diese Berechnung etwas anders aufgebaut ist, als bei der „aktuellen Nebelwarnung“.
Die TP-Tendenz betrachtet einen Zeitraum von 5 Stunden. Das wäre für eine aktuelle, kurzfristige Warnung unsinnig. Die TP-Entwicklung bzw. die Differenz von ca. 2-3h vor Sonnenuntergang zu 2-3h nach Sonnenuntergang, spiegelt eine gewisse Wahrscheinlichkeit für die Nebelbildung wider. Das ist in diese komplexe Formel mit eingearbeitet, weshalb sie eben auch nur ab 2h nach Sonnenuntergang etwas taugt. Sie berücksichtigt die aktuelle Situation und in einen viel stärkerem Maße, als die „aktuelle Nebelwarnung“, die Entwicklung der letzten Stunden. Deshab kommt es auch zu unterschiedlichen, sich ergänzenden Aussagen beider Nebelwarnungen.

Beide Nebelwarnungen zusammen (untereinander angeordnet) bilden also ein sich ergänzendes Paar!


<tr><td width="22%" height="46"><font color="Gray"><b><nobr>Nebelwarnung f. d. Nacht- u. Morgenstd.* </nobr></b></font></td>
<td align="center" width="7%" height="46"><img border="0" "
%unit_off% %curminmaxhour_on%
%ws_setmem[1]=%curminmaxhour[4,12,33]%%
%ws_setmem[2]=%avgvalpast[33~-1~00~0000]%%
%ws_setmem[3]=%avgvalpast[33~-2~00~0000]%%
%ws_setmem[4]=%avgvalpast[33~-3~00~0000]%%
%ws_setmem[6]=%ws_calc[-]=%ws_getmem[2]%~%ws_getmem[3]%~1%%
%ws_setmem[7]=%ws_calc[-]=%ws_getmem[3]%~%ws_getmem[4]%~1%%
%ws_setmem[8]=%ws_compare[5]=%ws_getmem[1]%~6~0,1~0,3%%
%ws_setmem[9]=%ws_compare[1]=%ws_getmem[1]%~-6~0,1~-0,9%%
%ws_setmem[10]=%ws_compare[5]=%ws_getmem[6]%~5~0,1~0,2%%
%ws_setmem[11]=%ws_compare[1]=%ws_getmem[6]%~-5~0,1~-0,3%%
%ws_setmem[12]=%ws_compare[5]=%ws_getmem[7]%~5~0,1~0,2%%
%ws_setmem[13]=%ws_compare[1]=%ws_getmem[7]%~-5~0,1~-0,1%%
%ws_setmem[14]=%ws_calc[+]=%ws_getmem[8]%~%ws_getmem[9]%~1%%
%ws_setmem[15]=%ws_calc[+]=%ws_getmem[10]%~%ws_getmem[11]%~1%%
%ws_setmem[16]=%ws_calc[+]=%ws_getmem[12]%~%ws_getmem[13]%~1%%
%ws_setmem[17]=%ws_calc[+]=%ws_getmem[14]%~%ws_getmem[15]%~1%%
%ws_setmem[18]=%ws_calc[+]=%ws_getmem[16]%~%ws_getmem[17]%~1%%
%ws_setmem[19]=%ws_compare[2]=%curminmaxhour[4,1,34]%~0,7~-1,0~0,0%%
%ws_setmem[20]=%ws_compare[2]=%curminmaxhour[4,3,34]%~1,0~-0,7~0,0%%
%ws_setmem[21]=%ws_compare[2]=%curminmaxhour[4,6,34]%~1,0~-0,4~0,0%%
%ws_setmem[22]=%ws_compare[2]=%curminmaxhour[4,12,34]%~1,0~-0,2~0,0%%
%ws_setmem[23]=%ws_compare[2]=%avgvalpast[34~-1~00~0000]%~0,7~0,3~-0,3%%
%ws_setmem[24]=%ws_compare[2]=%avgvalpast[34~-2~00~0000]%~1,0~0,2~-0,2%%
%ws_setmem[25]=%ws_compare[2]=%avgvalpast[34~-3~00~0000]%~1,5~0,1~-0,1%%
%ws_setmem[26]=%ws_calc[+]=%ws_getmem[19]%~%ws_getmem[20]%~1%%
%ws_setmem[27]=%ws_calc[+]=%ws_getmem[21]%~%ws_getmem[22]%~1%%
%ws_setmem[28]=%ws_calc[+]=%ws_getmem[23]%~%ws_getmem[24]%~1%%
%ws_setmem[29]=%ws_calc[+]=%ws_getmem[26]%~%ws_getmem[27]%~1%%
%ws_setmem[30]=%ws_calc[+]=%ws_getmem[28]%~%ws_getmem[29]%~1%%
%ws_setmem[31]=%ws_calc[+]=%ws_getmem[30]%~%ws_getmem[25]%~1%%
%ws_setmem[32]=%ws_calc[+]=%ws_getmem[18]%~%ws_getmem[31]%~1%%
%ws_setmem[33]=%ws_calc[-]=%curval[18]%~%curminmaxhour[4,5,43]%~1%%
%ws_setmem[34]=%ws_calc[+]=%ws_getmem[32]%~%ws_getmem[33]%~1%%
%ws_setmem[35]=%ws_compare[2]=%ws_getmem[34]%~94,0~1~0%%
%ws_setmem[36]=%ws_compare[2]=%ws_getmem[34]%~96,8~1~0%%
%ws_setmem[37]=%ws_calc[+]=%curval[26]%~%curminmaxhour[3,2,26]%~1%%
%ws_setmem[38]=%ws_compare[1]=%ws_getmem[37]%~0,0~-3,0~0%%
%ws_setmem[39]=%ws_calc[+]=%ws_getmem[35]%~%ws_getmem[36]%~1%%
%ws_setmem[40]=%ws_calc[+]=%ws_getmem[38]%~%ws_getmem[39]%~1%%
%ws_compare[3]=%ws_getmem[40]%~2~src=Nebel.gif~src=no_ice.gif% %unit_on%" width="50" height="50"></td>

<td align="center" width="52%" height="47" colspan="7"><b><font size="3"><nobr>
%unit_off%%curminmaxhour_on%
%ws_setmem[1]=%curminmaxhour[4,12,33]%%
%ws_setmem[2]=%avgvalpast[33~-1~00~0000]%%
%ws_setmem[3]=%avgvalpast[33~-2~00~0000]%%
%ws_setmem[4]=%avgvalpast[33~-3~00~0000]%%
%ws_setmem[6]=%ws_calc[-]=%ws_getmem[2]%~%ws_getmem[3]%~1%%
%ws_setmem[7]=%ws_calc[-]=%ws_getmem[3]%~%ws_getmem[4]%~1%%
%ws_setmem[8]=%ws_compare[5]=%ws_getmem[1]%~6~0,1~0,3%%
%ws_setmem[9]=%ws_compare[1]=%ws_getmem[1]%~-6~0,1~-0,9%%
%ws_setmem[10]=%ws_compare[5]=%ws_getmem[6]%~5~0,1~0,2%%
%ws_setmem[11]=%ws_compare[1]=%ws_getmem[6]%~-5~0,1~-0,3%%
%ws_setmem[12]=%ws_compare[5]=%ws_getmem[7]%~5~0,1~0,2%%
%ws_setmem[13]=%ws_compare[1]=%ws_getmem[7]%~-5~0,1~-0,1%%
%ws_setmem[14]=%ws_calc[+]=%ws_getmem[8]%~%ws_getmem[9]%~1%%
%ws_setmem[15]=%ws_calc[+]=%ws_getmem[10]%~%ws_getmem[11]%~1%%
%ws_setmem[16]=%ws_calc[+]=%ws_getmem[12]%~%ws_getmem[13]%~1%%
%ws_setmem[17]=%ws_calc[+]=%ws_getmem[14]%~%ws_getmem[15]%~1%%
%ws_setmem[18]=%ws_calc[+]=%ws_getmem[16]%~%ws_getmem[17]%~1%%
%ws_setmem[19]=%ws_compare[2]=%curminmaxhour[4,1,34]%~0,7~-1,0~0,0%%
%ws_setmem[20]=%ws_compare[2]=%curminmaxhour[4,3,34]%~1,0~-0,7~0,0%%
%ws_setmem[21]=%ws_compare[2]=%curminmaxhour[4,6,34]%~1,0~-0,4~0,0%%
%ws_setmem[22]=%ws_compare[2]=%curminmaxhour[4,12,34]%~1,0~-0,2~0,0%%
%ws_setmem[23]=%ws_compare[2]=%avgvalpast[34~-1~00~0000]%~2,0~0,2~-0,3%%
%ws_setmem[24]=%ws_compare[2]=%avgvalpast[34~-2~00~0000]%~2,0~0,1~-0,2%%
%ws_setmem[25]=%ws_compare[2]=%avgvalpast[34~-3~00~0000]%~2,0~0,0~-0,1%%
%ws_setmem[26]=%ws_calc[+]=%ws_getmem[19]%~%ws_getmem[20]%~1%%
%ws_setmem[27]=%ws_calc[+]=%ws_getmem[21]%~%ws_getmem[22]%~1%%
%ws_setmem[28]=%ws_calc[+]=%ws_getmem[23]%~%ws_getmem[24]%~1%%
%ws_setmem[29]=%ws_calc[+]=%ws_getmem[26]%~%ws_getmem[27]%~1%%
%ws_setmem[30]=%ws_calc[+]=%ws_getmem[28]%~%ws_getmem[29]%~1%%
%ws_setmem[31]=%ws_calc[+]=%ws_getmem[30]%~%ws_getmem[25]%~1%%
%ws_setmem[32]=%ws_calc[+]=%ws_getmem[18]%~%ws_getmem[31]%~1%%
%ws_setmem[33]=%ws_calc[-]=%curval[18]%~%curminmaxhour[4,5,43]%~1%%
%ws_setmem[34]=%ws_calc[+]=%ws_getmem[32]%~%ws_getmem[33]%~1%%
%ws_setmem[35]=%ws_compare[2]=%ws_getmem[34]%~93,0~1~0%%
%ws_setmem[36]=%ws_compare[2]=%ws_getmem[34]%~94,0~1~0%%
%ws_setmem[37]=%ws_compare[2]=%ws_getmem[34]%~96,8~1~0%%
%ws_setmem[38]=%ws_compare[2]=%ws_getmem[34]%~98,3~1~0%%
%ws_setmem[39]=%ws_calc[+]=%curval[26]%~%curminmaxhour[3,2,26]%~1%%
%ws_setmem[40]=%ws_compare[1]=%ws_getmem[39]%~0,0~-5,0~0%%
%ws_setmem[41]=%ws_calc[+]=%ws_getmem[35]%~%ws_getmem[36]%~1%%
%ws_setmem[42]=%ws_calc[+]=%ws_getmem[37]%~%ws_getmem[38]%~1%%
%ws_setmem[43]=%ws_calc[+]=%ws_getmem[41]%~%ws_getmem[42]%~1%%
%ws_setmem[44]=%ws_calc[+]=%ws_getmem[40]%~%ws_getmem[43]%~1%%
%ws_compare[3]=%ws_getmem[44]%~0~<font color="Gray">&#8658 keine Warnung~%
%ws_compare[3]=%ws_getmem[44]%~1~<font color="Blue">wahrscheinlich wird es dunstig und diesig~%
%ws_compare[3]=%ws_getmem[44]%~2~<font color="Blue">Vorsicht: Dunst, Nebelbildung möglich~%
%ws_compare[3]=%ws_getmem[44]%~3~<font color="Red">ACHTUNG: Nebelbildung wahrscheinlich!~%
%ws_compare[3]=%ws_getmem[44]%~4~<font color="Red">ACHTUNG: Nebelbildung sehr wahrscheinlich!~%
%ws_compare[5]=%ws_getmem[44]%~0~<font color="Gray">&#8658 Berechnung erfolgt erst 2h nach Sonnenuntergang~%
%unit_on% </b><br><b>
</nobr></font></b></td></tr>
Beide Nebelwarnungen sind so ausgelegt, daß sie nicht unsinnig zu früh warnen, aber eben auch nicht zu spät. Genau diesen Bereich muß jeder selber austesten.

Dann wünsche ich viel Erfolg beim Testen und Anpassen.

PS: es würde mich mal interessiern, wer so alles das bei sich einbaut.

Verfasst: 25 Okt 2014 12:20
von Marc S
Also erstmals Respekt für deine Arbeit. Da hast du schon was tolle geleistet

Ich habe es mal nur als Testseite eingebaut.

Einmal die 24 Stunden Version
http://www.wetter-gevenich.de/Variabeln/Test/nebel.php

und die Nachtversion

http://www.wetter-gevenich.de/Variabeln ... ebel_2.php


P.S.
http://www.wetter-gevenich.de/Wetterwarnung.php

Verfasst: 25 Okt 2014 14:20
von Tex
@Marc

Für die 24h - Version kommt demnächst noch ein Update raus. Ich habe dort noch die Windkomponente mit eingebaut. Bei (starkem) Wind wird Nebelbildung unwahrscheinlicher. Hier im Ostseehinterland (und in den Höhenlagen der Mittelgebirgsregionen) ist darauf aber leider nicht 100%-ig Verlaß, weshalb ich diese Komponente ziemlich reduzieren mußte. Klappt aber inzwischen einwandfrei.

Für die Nachtversion macht die Windkomponente wenig Sinn.

Integriert in dieses Update wird noch ein Zusatz: Warnung vor Reif und Raureif. Das ist aber bislang ungetestet - war noch kein Wetter dafür. :lol: Letzteres ist aber auch nicht so schwierig, da es dafür ziemlich klare Temperaturvorgaben gibt.

Wer beide Versionen nutzt und direkt hintereinander (untereinander) abarbeiten läßt, kann etliche Teile der (nachfolgenden) Variblen rausschmeißen, da sie sich wiederholen. Darauf gehe ich dann nochmals ein, bzw. stelle solch eine "Komplett-Nebelwarnung" ein, wenn alles fertig ist. Das erspart ziemlich viel Rechenleistung.

Verfasst: 25 Okt 2014 15:57
von wdk
Hallo Tex,
danke, super Arbeit.
Habe beide Varianten zum Testen in die custom eingebunden.
Wie es bisher aussieht funktionieren beide in etwa genau.
Voraussetzung ist auch ein richtig gut funktionierendes Hygrometer.
Gruß
Dieter

Verfasst: 25 Okt 2014 16:26
von Tex
Voraussetzung ist auch ein richtig gut funktionierendes Hygrometer.
Genau so ist es! Bei Davis gibt es kaum Probleme (es sei denn der Sensor ist betagt), bei anderen Stationstypen wird meist nur max. 95/96% angezeigt. Da muß man dann etwas tricksen (hab ich Eingangs beschrieben). Hat allerdings den Nachteil, daß in den unteren Bereichen die LF auch angehoben wird. Deshalb habe ich eine Variable am testen, die nur den oberen Bereich ab 92/93% interpoliert.

Verfasst: 26 Okt 2014 11:44
von loaecker
Hallo Tex,
habe bei mir deine Variablen in die custom.txt eingebaut. Leider wid bei mir nichts angezeigt. Habe bei mir den Solarsensor 42 eingebaut, statt 38. Die Variablen sehen bei mir so aus:

%ws_compare[3]=%ws_getmem[42]%~0~<font>&#8658 keine Warnung~%
%ws_compare[3]=%ws_getmem[42]%~1~<font>wahrscheinlich wird es dunstig und diesig~%
%ws_compare[3]=%ws_getmem[42]%~2~<font>Vorsicht: Dunst, Nebelbildung möglich~%
%ws_compare[3]=%ws_getmem[42]%~3~<font>ACHTUNG: Nebelbildung wahrscheinlich!~%
%ws_compare[3]=%ws_getmem[42]%~4~<font>ACHTUNG: Nebelbildung sehr wahrscheinlich!~% %ws_compare[5]=%ws_getmem[42]%~0~<font>&#8658 Berechnung erfolgt erst 2h nach Sonnenuntergang~%

Im Prinzip habe ich weiter nichts verändert. Übrigens, meine Station ist eine Vantage Pro 2

Verfasst: 26 Okt 2014 12:02
von Marc S
HI

Da hast du leider einen kleinen Denkfehler gemacht.

%ws_getmem[42] Die 42 bezieht sich nicht auf die SensorID. Hier muss die 44 bleiben.

Du musst nur das ändern
%ws_setmem[39]=%ws_calc[+]=%curval[42]%~%curminmaxhour[3,2,42]%~1%%

Verfasst: 26 Okt 2014 12:37
von Tex
@wettermaster

Wie Marc schon sagte, nicht die %ws_getmem...% verändern, denn das ist kein Sensor! %ws_getmem...% holt IMMER nur den gespeicherten Wert aus %ws_setmem...% (mit der identischen Nummer) ab.

%curval(xx)% bezeichnet immer den Sensor (hier mit aktuellem Wert).

Also nur diese Zeile anpassen:

%ws_setmem[39]=%ws_calc[+]=%curval[26]%~%curminmaxhour[3,2,26]%~1%%

und statt der 26 die 42 einfügen.

Ich habe in der Erklärung (oben), den Hinweis noch ergänzt, da es etwas mißverständlich war. Es muß auch die obere Variable (gif - Warnbild) entsprechend angepaßt werden, wenn man sie nutzt.

Verfasst: 26 Okt 2014 13:00
von loaecker
Hallo,
vielen Dank an Marc und TEx für die schnellen Antworten. Ich stehe auf´m Schlauch. Jezt habe ich die Zeile angepasst und es funktioniert immer noch nicht. Frage: Im Zitat sehe ich eine imens lange Variablenliste, muss sich diese eingeben? Also mit den Variablen habe ich so meine Müh und Not, besonders die mit dem Index.
Oder reicht diese Eingabe:
%ws_setmem[39]=%ws_calc[+]=%curval[42]%~%curminmaxhour[3,2,42]%~1%%
%ws_compare[3]=%ws_getmem[44]%~0~<font>&#8658 keine Warnung~%
%ws_compare[3]=%ws_getmem[44]%~1~<font>wahrscheinlich wird es dunstig und diesig~%
%ws_compare[3]=%ws_getmem[44]%~2~<font>Vorsicht: Dunst, Nebelbildung möglich~%
%ws_compare[3]=%ws_getmem[44]%~3~<font>ACHTUNG: Nebelbildung wahrscheinlich!~%
%ws_compare[3]=%ws_getmem[44]%~4~<font>ACHTUNG: Nebelbildung sehr wahrscheinlich!~%

Vielleicht habe ich ja etws an den Zeilen vertauscht. :oops:

Verfasst: 26 Okt 2014 13:10
von Tex
@wettermaster

Für die Textanzeige mußt du den kompletten 2. Teil der Variablen in Deine custom.html einbauen. Denn woher soll WSWIN sonst wissen, was in "ws_setmem(39)% drinsteht. Da drin ist ja die komplette Berechnung Deiner Wetterstationsdaten - die dann erst die Warnung rausgibt.

Kopier dir den 2. Teil dieser Variablen für die Textausgabe und ändere Die ID 26 in 42 wie beschrieben um.

Verfasst: 02 Nov 2014 20:46
von loaecker
Vielen Dank nochmal an Tex. Nach langem hin und her und probieren, ist es mir endlich gelungen den Code einzubinden und zum laufen zu bringen.
:)

Verfasst: 02 Nov 2014 21:04
von Tex
@wettermaster
Wenn da noch Probleme sind - einfach fragen. helfe gerne weiter, wenn ich es kann.

Im Laufe der nächsten Woche, kommt vermutlich das update mit der "Windkomponente". läuft bei mir bislang astrein - aber ausgiebiges testen erspart nachträgliche Korrekturen. :D