Für (m)eine kleine Wetterstation habe ich mir einmal weitere Kenngrößen der Meteorologie angeschaut. Ein Wert, der hierzulande aus meiner Sicht ein Schattendasein führt, ist der Taupunkt.

In amerikanischen Wetterberichten wird diese Kennzahl oft mit den Standard-Temperaturen genannt. Der Wert des Taupunkts gibt an, bei welcher Temperatur das in der Luft enthaltene Wasserdampf kondensiert. Somit kann man eine Beurteilung über trockene oder feucht-schwüle Luft vornehmen. Der Taupunkt ist abhängig von der Temperatur und der relativen Luftfeuchte. Die physikalische Regel dazu ist, dass die Luft bei höheren Temperaturen mehr Wasserdampf enthalten kann als bei niedrigeren. Irgendwo ist mal gesagt worden, dass ab einer Taupunkttemperatur von 17 °C die Luft als schwül empfunden wird.

Eine Methode zur Bestimmung des Taupunktes ist, wenn man die Luft in einem Raum soweit herunterkühlt bis sich auf der Oberfläche z.B. eines Bleches Tau bildet, dann ist die Temperatur des Taupunktes erreicht. Experten mögen mir bitte verzeihen, wenn ich es falsch ausgedrückt habe.

Auf dem Dashboard (m)einer kleinen Wetterstation habe ich neben der Außentemperatur und -luftfeuchte nun auch die Taupunkttemperatur berechnet und dargestellt. Auch in den Chartgrafiken wird dieser Wert zur Verlaufsansicht mit eingezeichnet.

Es gibt eine Näherungsformel für die Berechnung des Taupunkts aus den genannten Werten, die ich wie folgt im Nodered hinterlegt habe:

var t = global.get("outdoor_temperature");
var r = global.get("outdoor_humidity");
var tp = 0.000;
// Konstante
var mw = 18.016; //Molekulargewicht des Wasserdampfes (kg/kmol)
var gk = 8314.3; // universelle Gaskonstante (J/(kmol*K))
var t0 = 273.15; // Absolute Temperatur von 0 °C (Kelvin)
var tk = t + t0; // Temperatur in Kelvin

var a, b;
if (t >= 0) {
    a = 7.5;
    b = 237.3;
} else if (t < 0) {
    a = 7.6;
    b = 240.7;
}
    
// Sättigungsdampfdruck (hPa)
var sdd = 6.1078 * Math.pow(10, (a*t)/(b+t));

// Dampfdruck (hPa)
var dd = sdd * (r/100);

// Wasserdampfdichte bzw. absolute Feuchte (g/m3)
var af = Math.pow(10,5) * mw/gk * dd/tk;

// v-Parameter
var v = Math.log10(dd/6.1078);

// Taupunkttemperatur (°C)
tp = Math.round( ((b*v) / (a-v))*100)/100;

Das Ergebnis ist für meine kleinen Zwecke völlig ausreichend. Und so sieht die Anzeige auf dem Dashboard aus, wobei TP die Taupunkttemperatur von 9,2 °C ankündigt.

ADIF2EXCEL - How to import and convert ADIF to Excel
Hitzeindex berechnen

Diskussion

  • Kommentatoren-Avatar
    HoVo — 01.11.2021 17:17 um 17:17

    Hallo,
    vielen, vielen Dank für diesen Artikel. Dies hatte ich schon lange gesucht.

    Gruß Holger

  • Kommentatoren-Avatar
    Andreas Maurer — 10.01.2022 09:06 um 09:06

    Da ist ein kleiner Tipper in deiner universellen Gaskonstante. 8214.3 Richtig ist 8314.3

    https://de.wikipedia.org/wiki/Gaskonstante

  • Kommentatoren-Avatar
    Fritz Mueller — 19.07.2023 13:56 um 13:56

    Hallo,
    ich finde den Artikel sehr interessant. Ich beschäftige mich seit Kurzem auch mit NodeRed. Allerdings sind meine Kenntnisse noch sehr rudimentär. Ich weiß deshalb nicht, wie ich diese Formeln in den NodeRed Flow einbauen muss. Ich habe einen Sensor DHT22 den ich mittels Wemos D1 mini und ESP_Easy in IoBroker eingebunden habe. Die Werte davon mit NodeRed auslesen und als Text anzeigen im UI ist mir schon gelungen. Nun würde ich auch gerne den Taupunkt anzeigen lassen, weiß aber nicht wie ich das Anstellen soll. Könntest Du bitte mal Dein Flowschema von NodeRed zu der Taupunktanzeige posten?
    Vielen Dank schon mal im Voraus.
    Gruß Fritz

    • Kommentatoren-Avatar
      admin — 19.07.2023 21:58 um 21:58

      Meine Flows hier darzustellen ist etwas müßig, ist auch nicht das Thema dieses Beitrags.
      Was ich anraten kann ist, dass dieses Skript in einem function-Node ausgeführt wird sobald dieser angetriggert wird. Diesen setzt du hinter deine DHT22-Mimik an den Ausgang und fütterst die Function im Eingang eben mit deinen Werten Temperatur und Luftfeuchte. Das msg-Objekt im function-Node versiehst Du mit dem Wert der Variablen tp. Setze dahinter einmal den Debug-Node. Der sollte dann eigentlich die Taupunkt-Temperatur ausgeben. Das UI-Textobjekt bei mir setzt sich aus verschiedenen Variablen zusammen, was zugegeben bei mir etwas komplexer ist und nicht einfach herausgelöst werden kann.
      Um alle Werte überall in meinen diversen Flows im Zugriff zu haben, initialisiere ich am Anfang durch einen Einmal-Timer globale Variablen. Werte von überall werden dann zur Laufzeit in die Variablen gespeichert..

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.