Now with (apparently) working absolute humidity
This commit is contained in:
parent
3874a37a86
commit
ccfc47eb79
3 changed files with 9 additions and 23 deletions
|
|
@ -1,3 +1,5 @@
|
|||
# humidity
|
||||
|
||||
Functions to compute relative humidity, absolute humidity, wet bulb temperature, given pressure and absolute temperature.
|
||||
Functions to compute relative humidity, absolute humidity, wet bulb
|
||||
temperature, and other values related to humidity of air, given
|
||||
partial data
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
(defn resolve-humidity
|
||||
"Resolve humidity equations given the data in this packet."
|
||||
[& {:keys [temperature temperature-celsius temperature-kelvin relative-humidity
|
||||
pressure-kilopascals pressure-millibars] :as packet}]
|
||||
pressure-kilopascals pressure-millibars saturation-pressure] :as packet}]
|
||||
(println packet)
|
||||
(if temperature (resolve-humidity (assoc (dissoc packet :temperature) :temperature-celsius temperature))
|
||||
(?assoc packet
|
||||
|
|
@ -21,8 +21,9 @@
|
|||
:wet-bulb-temperature (when
|
||||
(and temperature-celsius relative-humidity)
|
||||
(wet-bulb-temperature temperature-celsius relative-humidity))
|
||||
:absolute-humidity (when (and temperature-celsius relative-humidity)
|
||||
(abs-humidity temperature-celsius relative-humidity))
|
||||
:absolute-humidity (abs-humidity :relative-humidity relative-humidity
|
||||
:saturation-pressure saturation-pressure
|
||||
:temperature-kelvin temperature-kelvin)
|
||||
:pressure-kilopascals (when-not pressure-kilopascals
|
||||
(if pressure-millibars (/ pressure-millibars 10) 100))
|
||||
:pressure-millibars (when-not pressure-millibars
|
||||
|
|
@ -30,15 +31,6 @@
|
|||
:saturation-pressure (saturation-vp/saturation-vp packet))))
|
||||
|
||||
|
||||
;; the example in the paper gives this as 13.7
|
||||
(wet-bulb-temperature 20 50)
|
||||
;; by definition, this must equal 35
|
||||
(wet-bulb-temperature 35 100)
|
||||
;; from published graphs, I interpolatethis in the range 33...35
|
||||
(wet-bulb-temperature 40 70)
|
||||
|
||||
;; (resolve-humidity {:relative-humidity 100 :temperature 35})
|
||||
|
||||
(defn resolution
|
||||
"Repeatedly run `resolve-humidity`, q.v., until we can infer no further
|
||||
information."
|
||||
|
|
|
|||
|
|
@ -1,14 +1,6 @@
|
|||
(ns ^{:doc "Utility functions for humidity calculation"} humidity.utils
|
||||
(:require [clojure.math :refer [pow]]))
|
||||
|
||||
(def ^:const celsius-offset
|
||||
"Value of 0° Celsius in ° Kelvin"
|
||||
273.15)
|
||||
|
||||
(def ^:const e
|
||||
"Base of natural logarithms"
|
||||
2.71828)
|
||||
|
||||
|
||||
(defmacro expt
|
||||
"Clojure.math `pow` function does not allow ratios as exponents;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue