From 8a7202f57d8234b61fb4e84f2105709457dd27f2 Mon Sep 17 00:00:00 2001 From: Simon Brooke Date: Fri, 14 Aug 2026 10:43:30 +0100 Subject: [PATCH] Regularised names of namespaces, variables and functions. All tests pass. --- .../{absolute.clj => absolute_humidity.clj} | 4 +-- ...tual_vp.clj => actual_vapour_pressure.clj} | 2 +- src/humidity/core.clj | 26 +++++++++---------- .../{dew_point.clj => dew_point_celsius.clj} | 3 ++- .../{relative.clj => relative_humidity.clj} | 4 +-- ..._vp.clj => saturation_vapour_pressure.clj} | 4 +-- ...b.clj => wet_bulb_temperature_celsius.clj} | 4 +-- test/humidity/absolute_test.clj | 4 +-- test/humidity/core_test.clj | 2 +- test/humidity/dew_point_test.clj | 2 +- test/humidity/relative_test.clj | 6 ++--- test/humidity/saturation_vp_test.clj | 4 +-- test/humidity/wet_bulb_test.clj | 12 ++++----- 13 files changed, 39 insertions(+), 38 deletions(-) rename src/humidity/{absolute.clj => absolute_humidity.clj} (97%) rename src/humidity/{actual_vp.clj => actual_vapour_pressure.clj} (98%) rename src/humidity/{dew_point.clj => dew_point_celsius.clj} (94%) rename src/humidity/{relative.clj => relative_humidity.clj} (98%) rename src/humidity/{saturation_vp.clj => saturation_vapour_pressure.clj} (96%) rename src/humidity/{wet_bulb.clj => wet_bulb_temperature_celsius.clj} (96%) diff --git a/src/humidity/absolute.clj b/src/humidity/absolute_humidity.clj similarity index 97% rename from src/humidity/absolute.clj rename to src/humidity/absolute_humidity.clj index 8de3650..021441c 100644 --- a/src/humidity/absolute.clj +++ b/src/humidity/absolute_humidity.clj @@ -3,7 +3,7 @@ in Pascals, and relative humidity as a percentage (0...100)." :authority "https://carnotcycle.wordpress.com/2012/08/04/how-to-convert-relative-humidity-to-absolute-humidity/" :author "simon"} - humidity.absolute + humidity.absolute-humidity (:require [humidity.constants :refer [Rw]])) @@ -40,7 +40,7 @@ (def C magic-numbers) -(defn abs-humidity +(defn absolute-humidity-fn "calculate and return absolute humidity in grammes per metre3 given temperature in ° K, saturation vapour pressure in Pascals, and relative humidity as a percentage (0...100)." diff --git a/src/humidity/actual_vp.clj b/src/humidity/actual_vapour_pressure.clj similarity index 98% rename from src/humidity/actual_vp.clj rename to src/humidity/actual_vapour_pressure.clj index e04fc27..4aba809 100644 --- a/src/humidity/actual_vp.clj +++ b/src/humidity/actual_vapour_pressure.clj @@ -1,7 +1,7 @@ (ns ^{:author "simon" :authority "https://www.weather.gov/media/epz/wxcalc/vaporPressure.pdf" :doc "Compute actual vapour pressure."} - humidity.actual-vp + humidity.actual-vapour-pressure (:require [humidity.utils :refer [expt]])) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/src/humidity/core.clj b/src/humidity/core.clj index e9d94a0..4a8c768 100644 --- a/src/humidity/core.clj +++ b/src/humidity/core.clj @@ -1,15 +1,15 @@ (ns ^{:doc "Central resolver function for humidity calculations" :author "simon"} humidity.core - (:require [humidity.absolute :refer [abs-humidity]] - [humidity.actual-vp :refer [actual-vapour-pressure-fn]] + (:require [humidity.absolute-humidity :refer [absolute-humidity-fn]] + [humidity.actual-vapour-pressure :refer [actual-vapour-pressure-fn]] [humidity.constants :refer [celsius-offset Pa]] - [humidity.dew-point :refer [dew-point-celsius-fn]] - [humidity.relative :refer [rel-humidity]] - [humidity.saturation-vp :refer [saturation-vp]] + [humidity.dew-point-celsius :refer [dew-point-celsius-fn]] + [humidity.relative-humidity :refer [relative-humidity-fn]] + [humidity.saturation-vapour-pressure :refer [saturation-vapour-pressure-fn]] [humidity.utils :refer [?assoc]] [humidity.volume :refer [volume-fn]] - [humidity.wet-bulb :as wb])) + [humidity.wet-bulb-temperature-celsius :refer [wet-bulb-temperature-celsius-fn]])) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; @@ -38,14 +38,14 @@ pressure-pascals pressure-millibars relative-humidity saturation-vapour-pressure temperature temperature-celsius temperature-kelvin volume - wet-bulb-temperature] :as packet}] + wet-bulb-temperature-celsius] :as packet}] (println packet) (if temperature (resolve-humidity (assoc (dissoc packet :temperature) :temperature-celsius temperature)) - (?assoc packet + (?assoc (into (sorted-map) packet) :absolute-humidity (when-not absolute-humidity - (abs-humidity packet)) + (absolute-humidity-fn packet)) :actual-vapour-pressure (when-not actual-vapour-pressure (actual-vapour-pressure-fn packet)) :dew-point-celsius (when-not dew-point-celsius @@ -58,9 +58,9 @@ (float (/ pressure-pascals 100)) (float (/ Pa 100)))) :relative-humidity (when-not relative-humidity - (rel-humidity packet)) + (relative-humidity-fn packet)) :saturation-vapour-pressure (when-not saturation-vapour-pressure - (saturation-vp packet)) + (saturation-vapour-pressure-fn packet)) :temperature-celsius (when (and temperature-kelvin (not temperature-celsius)) @@ -70,8 +70,8 @@ (not temperature-kelvin)) (+ temperature-celsius celsius-offset)) :volume (when-not volume (volume-fn packet)) - :wet-bulb-temperature (when-not wet-bulb-temperature - (wb/wet-bulb-temperature packet))))) + :wet-bulb-temperature-celsius (when-not wet-bulb-temperature-celsius + (wet-bulb-temperature-celsius-fn packet))))) (defn resolution "Repeatedly run `resolve-humidity`, q.v., until we can infer no further diff --git a/src/humidity/dew_point.clj b/src/humidity/dew_point_celsius.clj similarity index 94% rename from src/humidity/dew_point.clj rename to src/humidity/dew_point_celsius.clj index ac97e67..936a4d1 100644 --- a/src/humidity/dew_point.clj +++ b/src/humidity/dew_point_celsius.clj @@ -2,7 +2,8 @@ :authority ["https://www.omnicalculator.com/physics/dew-point#what-is-dew-point-dew-point-definition" "https://en.wikipedia.org/wiki/Dew_point#Calculating_the_dew_point"] :doc "Function to compute the dew point, in ° Celsius, given temperature - in ° Celsius and relative humidity percentage."} humidity.dew-point + in ° Celsius and relative humidity percentage."} + humidity.dew-point-celsius (:require [clojure.math :refer [log]] [humidity.constants :refer [magnus-coefficients]])) diff --git a/src/humidity/relative.clj b/src/humidity/relative_humidity.clj similarity index 98% rename from src/humidity/relative.clj rename to src/humidity/relative_humidity.clj index 63ba264..ce356dd 100644 --- a/src/humidity/relative.clj +++ b/src/humidity/relative_humidity.clj @@ -1,6 +1,6 @@ (ns ^{:authority "https://journals.ametsoc.org/view/journals/apme/35/4/1520-0450_1996_035_0601_imfaos_2_0_co_2.xml/" :author "simon" - :doc "Function to return relative humidity."} humidity.relative + :doc "Function to return relative humidity."} humidity.relative-humidity (:require [humidity.constants :refer [e Rw]] [humidity.utils :refer [expt]])) @@ -63,7 +63,7 @@ ;; relative-humidity = ------------------------------------------- ;; 1000 x saturation-pressure -(defn rel-humidity +(defn relative-humidity-fn "Returns relative humidity (as a percentage, 0...100) given values for dew point and temperature in Celsius or for absolute humidity, saturation vapour pressure, temperature in Kelvin." diff --git a/src/humidity/saturation_vp.clj b/src/humidity/saturation_vapour_pressure.clj similarity index 96% rename from src/humidity/saturation_vp.clj rename to src/humidity/saturation_vapour_pressure.clj index 31081ac..693ddbf 100644 --- a/src/humidity/saturation_vp.clj +++ b/src/humidity/saturation_vapour_pressure.clj @@ -1,7 +1,7 @@ (ns ^{:doc "Saturation vapour pressure function" :authority "https://en.wikipedia.org/wiki/Tetens_equation" :author "simon"} - humidity.saturation-vp + humidity.saturation-vapour-pressure (:require [clojure.math :refer [pow]] [humidity.constants :refer [celsius-offset e]])) @@ -38,7 +38,7 @@ ;; constant 100 to convert to Pascals (* a (pow e (/ (* b temperature-celsius) (+ c temperature-celsius)))))) -(defn saturation-vp +(defn saturation-vapour-pressure-fn "Calculate and return saturation vapour pressure, is possible, given the data in this packet." [packet] diff --git a/src/humidity/wet_bulb.clj b/src/humidity/wet_bulb_temperature_celsius.clj similarity index 96% rename from src/humidity/wet_bulb.clj rename to src/humidity/wet_bulb_temperature_celsius.clj index 5d87968..9bdf2e4 100644 --- a/src/humidity/wet_bulb.clj +++ b/src/humidity/wet_bulb_temperature_celsius.clj @@ -1,7 +1,7 @@ (ns ^{:doc "Function to calculate wet bulb temperature (in ° C) given temperature in ° C and relative-humidity percentage (0...100)" :author "simon"} - humidity.wet-bulb + humidity.wet-bulb-temperature-celsius (:require [clojure.math :refer [atan]] [humidity.utils :refer [expt]])) @@ -34,7 +34,7 @@ (def C magic-numbers) -(defn wet-bulb-temperature +(defn wet-bulb-temperature-celsius-fn "Returns wet bulb temperature (in ° C) given this `temperature` in ° C and `relative-humidity` percentage (0...100)" [& {:keys [temperature-celsius relative-humidity]}] diff --git a/test/humidity/absolute_test.clj b/test/humidity/absolute_test.clj index 9f768be..95cc07e 100644 --- a/test/humidity/absolute_test.clj +++ b/test/humidity/absolute_test.clj @@ -1,7 +1,7 @@ (ns humidity.absolute-test (:require [clojure.test :refer [deftest is testing]] [humidity.constants :refer [celsius-offset]] - [humidity.absolute :refer [abs-humidity]])) + [humidity.absolute-humidity :refer [absolute-humidity-fn]])) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Copyright (C) 2026 Simon Brooke @@ -27,7 +27,7 @@ (testing "definitional" (let [min-expected 39.58 max-expected 39.59 - actual (abs-humidity :relative-humidity 100 + actual (absolute-humidity-fn :relative-humidity 100 :saturation-vapour-pressure 56.29 :temperature-kelvin (+ 35 celsius-offset))] (is (< min-expected actual max-expected))))) diff --git a/test/humidity/core_test.clj b/test/humidity/core_test.clj index 505df11..ca007fe 100644 --- a/test/humidity/core_test.clj +++ b/test/humidity/core_test.clj @@ -36,7 +36,7 @@ :temperature-celsius 35, :temperature-kelvin 308.15, :volume 1.1281347245103424, - :wet-bulb-temperature 35.11625928298915} + :wet-bulb-temperature-celsius 35.11625928298915} packet {:relative-humidity 100 :temperature-celsius 35} actual (resolution packet)] (is (= actual expected)))) diff --git a/test/humidity/dew_point_test.clj b/test/humidity/dew_point_test.clj index 84e9e9c..95f5a76 100644 --- a/test/humidity/dew_point_test.clj +++ b/test/humidity/dew_point_test.clj @@ -1,7 +1,7 @@ (ns humidity.dew-point-test (:require [clojure.test :refer [deftest is testing]] [humidity.constants :refer [celsius-offset]] - [humidity.dew-point :refer [dew-point-celsius-fn]])) + [humidity.dew-point-celsius :refer [dew-point-celsius-fn]])) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Copyright (C) 2026 Simon Brooke diff --git a/test/humidity/relative_test.clj b/test/humidity/relative_test.clj index b154401..fbf5acd 100644 --- a/test/humidity/relative_test.clj +++ b/test/humidity/relative_test.clj @@ -1,7 +1,7 @@ (ns humidity.relative-test (:require [clojure.test :refer [deftest is testing]] [humidity.constants :refer [celsius-offset]] - [humidity.relative :refer [rel-humidity rel-humidity]])) + [humidity.relative-humidity :refer [relative-humidity-fn relative-humidity-fn]])) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; @@ -28,10 +28,10 @@ (testing "definitional" (let [min-expected 99 max-expected 101 - actual (rel-humidity :absolute-humidity 3953.618 :saturation-vapour-pressure 5622.49 :temperature-kelvin (+ 35 celsius-offset))] + actual (relative-humidity-fn :absolute-humidity 3953.618 :saturation-vapour-pressure 5622.49 :temperature-kelvin (+ 35 celsius-offset))] (is (< min-expected actual max-expected)))) (testing "Online examples" (let [min-expected 99 max-expected 101 - actual (rel-humidity :dew-point 35 :temperature-celsius 35)] + actual (relative-humidity-fn :dew-point 35 :temperature-celsius 35)] (is (< min-expected actual max-expected))))) diff --git a/test/humidity/saturation_vp_test.clj b/test/humidity/saturation_vp_test.clj index 5d10592..b66f30b 100644 --- a/test/humidity/saturation_vp_test.clj +++ b/test/humidity/saturation_vp_test.clj @@ -1,6 +1,6 @@ (ns humidity.saturation-vp-test (:require [clojure.test :refer [deftest is testing]] - [humidity.saturation-vp :refer [saturation-vp]])) + [humidity.saturation-vapour-pressure :refer [saturation-vapour-pressure-fn]])) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; @@ -27,5 +27,5 @@ (testing "from online sources" (let [min-expected 5622 max-expected 5629 - actual (saturation-vp {:temperature-celsius 35})] + actual (saturation-vapour-pressure-fn {:temperature-celsius 35})] (is (< min-expected actual max-expected))))) diff --git a/test/humidity/wet_bulb_test.clj b/test/humidity/wet_bulb_test.clj index 902f17c..9d5350b 100644 --- a/test/humidity/wet_bulb_test.clj +++ b/test/humidity/wet_bulb_test.clj @@ -1,6 +1,6 @@ (ns humidity.wet-bulb-test (:require [clojure.test :refer [deftest is testing]] - [humidity.wet-bulb :refer [wet-bulb-temperature]])) + [humidity.wet-bulb-temperature-celsius :refer [wet-bulb-temperature-celsius-fn]])) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; @@ -28,7 +28,7 @@ (let [expected 13.7 temperature 20 rel-humidity 50 - actual (wet-bulb-temperature :temperature-celsius temperature :relative-humidity rel-humidity)] + actual (wet-bulb-temperature-celsius-fn :temperature-celsius temperature :relative-humidity rel-humidity)] (println (format "Expected: %s; actual: %s" expected actual)) (is (< (abs (- expected actual)) 0.001)))) @@ -37,7 +37,7 @@ max-expected 33 temperature 37 rel-humidity 70 - actual (wet-bulb-temperature :temperature-celsius temperature :relative-humidity rel-humidity)] + actual (wet-bulb-temperature-celsius-fn :temperature-celsius temperature :relative-humidity rel-humidity)] (println (format "Expected: %s...%s; actual: %s" min-expected max-expected actual)) (is (< min-expected actual max-expected))) @@ -45,7 +45,7 @@ max-expected 36 temperature 39.7 rel-humidity 70 - actual (wet-bulb-temperature :temperature-celsius temperature :relative-humidity rel-humidity)] + actual (wet-bulb-temperature-celsius-fn :temperature-celsius temperature :relative-humidity rel-humidity)] (println (format "Expected: %s...%s; actual: %s" min-expected max-expected actual)) (is (< min-expected actual max-expected))) @@ -53,7 +53,7 @@ max-expected 34 temperature 40 rel-humidity 60 - actual (wet-bulb-temperature :temperature-celsius temperature :relative-humidity rel-humidity)] + actual (wet-bulb-temperature-celsius-fn :temperature-celsius temperature :relative-humidity rel-humidity)] (println (format "Expected: %s...%s; actual: %s" min-expected max-expected actual)) (is (< min-expected actual max-expected))) @@ -61,6 +61,6 @@ max-expected 35 temperature 51 rel-humidity 30 - actual (wet-bulb-temperature :temperature-celsius temperature :relative-humidity rel-humidity)] + actual (wet-bulb-temperature-celsius-fn :temperature-celsius temperature :relative-humidity rel-humidity)] (println (format "Expected: %s...%s; actual: %s" min-expected max-expected actual)) (is (< min-expected actual max-expected)))))