[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/metar ab9604e 07/16: [metar] Fix humidity calculation w
From: |
Stefan Monnier |
Subject: |
[elpa] externals/metar ab9604e 07/16: [metar] Fix humidity calculation when Fahrenheit is used |
Date: |
Sat, 28 Nov 2020 23:16:36 -0500 (EST) |
branch: externals/metar
commit ab9604e944567559531cca5869b664e8b1d8b886
Author: Mario Lang <mlang@delysid.org>
Commit: Mario Lang <mlang@delysid.org>
[metar] Fix humidity calculation when Fahrenheit is used
---
metar.el | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/metar.el b/metar.el
index 4909f00..02e27aa 100644
--- a/metar.el
+++ b/metar.el
@@ -72,7 +72,8 @@
(cons :format "%v"
(const :tag "Temperature:" temperature)
(choice (const :tag "Degree Celsius" degC)
- (const :tag "Degree Kelvin" degK)
+ ;; calc-units doesn't convert degC to degK
+ ;(const :tag "Degree Kelvin" degK)
(const :tag "Degree Fahrenheit" degF)))))
(defvar metar-stations-info-url "http://weather.noaa.gov/data/nsd_bbsss.txt"
@@ -238,14 +239,16 @@ and NEW-UNIT should be a unit name like \"kph\" or
similar."
" ")
(cons (string-to-number value) (intern unit))))
-(defun metar-convert-temperature (string)
- "Convert a METAR temperature."
+(defun metar-convert-temperature (string &optional unit)
+ "Convert a METAR temperature.
+If optional argument UNIT is provided, convert to that unit, otherwise,
+consult `metar-units'."
(metar-convert-unit
(concat (if (= (aref string 0) ?M)
(concat "-" (substring string 1))
string)
"degC")
- (cdr (assq 'temperature metar-units))))
+ (or unit (cdr (assq 'temperature metar-units)))))
(defvar metar-url
"http://weather.noaa.gov/pub/data/observations/metar/stations/%s.TXT"
@@ -413,8 +416,9 @@ If no record was found for STATION, nil is returned."
(when (string-match metar-temperature-and-dewpoint-regexp info)
(cons (round
(metar-magnus-formula-humidity-from-dewpoint
- (save-match-data (car (metar-convert-temperature (match-string 1
info))))
- (car (metar-convert-temperature (match-string 3 info)))))
+ (save-match-data (car (metar-convert-temperature
+ (match-string 1 info) 'degC)))
+ (car (metar-convert-temperature (match-string 3 info) 'degC))))
'percent)))
(defconst metar-pressure-regexp
@@ -503,11 +507,16 @@ Otherwise, determine the best station via
latitude/longitude."
nil t))))
(let ((info (metar-decode (metar-get-record station))))
(if info
- (message "%d minutes ago at %s: %d°C, %d%% relative humidity%s"
- (/ (truncate (float-time (time-since (cdr (assoc 'timestamp
info))))) 60)
+ (message "%d minutes ago at %s: %d°%c, %d%% relative humidity%s"
+ (/ (truncate (float-time (time-since
+ (cdr (assoc 'timestamp info)))))
+ 60)
(or (metar-stations-get (cdr (assoc 'station info)) 'name)
(cdr (assoc 'station info)))
(cadr (assoc 'temperature info))
+ (cond
+ ((eq (cdr (assq 'temperature metar-units)) 'degC) ?C)
+ ((eq (cdr (assq 'temperature metar-units)) 'degF) ?F))
(cadr (assoc 'humidity info))
(if (assoc 'phenomena info)
(concat "\n" "Phenomena: "
- [elpa] branch externals/metar created (now 3b05cb3), Stefan Monnier, 2020/11/28
- [elpa] externals/metar b8949ce 02/16: Fix phenomena decoding, Stefan Monnier, 2020/11/28
- [elpa] externals/metar c45aa82 05/16: [metar] Make the length unit configurable (clouds) and simplify pressure conversion, Stefan Monnier, 2020/11/28
- [elpa] externals/metar 88ae024 04/16: Use calc-units to convert units to a user-defined setting (WIP), Stefan Monnier, 2020/11/28
- [elpa] externals/metar ab9604e 07/16: [metar] Fix humidity calculation when Fahrenheit is used,
Stefan Monnier <=
- [elpa] externals/metar 7307c42 01/16: Add metar.el., Stefan Monnier, 2020/11/28
- [elpa] externals/metar 258272f 13/16: * packages/metar/metar.el: Bump version for last two changes., Stefan Monnier, 2020/11/28
- [elpa] externals/metar e0b58d1 12/16: Add a work-around for bug#19582, present before Emacs 24.5., Stefan Monnier, 2020/11/28
- [elpa] externals/metar 5b8b9b7 14/16: Adjust for NOAA server changes., Stefan Monnier, 2020/11/28
- [elpa] externals/metar 3b05cb3 16/16: * .gitignore: New file, Stefan Monnier, 2020/11/28
- [elpa] externals/metar 8c6596d 03/16: * packages/metar/metar.el (metar-latitude-longitude-distance-haversine):, Stefan Monnier, 2020/11/28
- [elpa] externals/metar e1a8e1c 08/16: [metar] Fix metar-convert-temperature to actually DTRT, Stefan Monnier, 2020/11/28
- [elpa] externals/metar e891727 09/16: [metar] Unify station lat/lon conversion., Stefan Monnier, 2020/11/28
- [elpa] externals/metar 0f998f5 06/16: [metar] defcustom for metar-units, Stefan Monnier, 2020/11/28
- [elpa] externals/metar 6820f4e 10/16: Release 0.1., Stefan Monnier, 2020/11/28