From 863360e5e8400febb68b54a3627ebd69de5752d3 Mon Sep 17 00:00:00 2001 From: XANTRONIX Industrial <xan@xantronix.com> Date: Wed, 26 Feb 2025 19:45:01 -0500 Subject: [PATCH] Initial commit of thermo.py --- lib/xmet/thermo.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 lib/xmet/thermo.py diff --git a/lib/xmet/thermo.py b/lib/xmet/thermo.py new file mode 100644 index 0000000..4f76597 --- /dev/null +++ b/lib/xmet/thermo.py @@ -0,0 +1,22 @@ +def vapor_pressure(dewpoint: float) -> float: + return 6.11 * 10 * ( + (7.5 * dewpoint) / (237.3 * dewpoint) + ) + +def saturated_vapor_pressure(temp: float) -> float: + return 6.11 * 10 * ( + (7.5 * temp) / (237.3 * temp) + ) + +def mixing_ratio(dewpoint: float, pressure: float) -> float: + e = vapor_pressure(dewpoint) + + return 621.97 * (e / (pressure - e)) + +def saturated_mixing_ratio(temp: float, pressure: float) -> float: + es = saturated_vapor_pressure(temp) + + return 621.97 * (es / (pressure - es)) + +def lcl(temp: float, dewpoint: float) -> float: + return (temp - dewpoint) / 0.008