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