diff --git a/app/assets/javascripts/map_functions.js b/app/assets/javascripts/map_functions.js
index 4c8dcac..c71a653 100644
--- a/app/assets/javascripts/map_functions.js
+++ b/app/assets/javascripts/map_functions.js
@@ -132,5 +132,5 @@ function updateSelector(lat, lng) {
lng = lng.toFixed(1)
$('#latitude').val(lat)
$('#longitude').val(lng)
- console.log("Clicked on " + lat + "," + lng)
+ console.log(`Clicked on ${lat}, ${lng}`)
}
diff --git a/app/controllers/weather_controller.rb b/app/controllers/weather_controller.rb
index 8fb0d5a..2cbe64d 100644
--- a/app/controllers/weather_controller.rb
+++ b/app/controllers/weather_controller.rb
@@ -36,7 +36,12 @@ def et
data = response[:data].collect do |key, value|
key = JSON.parse(key.to_s)
value ||= 0.0
- {latitude: key[0], longitude: key[1], et_mm: value, et_in: value * 25.4}
+ {
+ latitude: key[0],
+ longitude: key[1],
+ et_mm: value,
+ et_in: helpers.mm_to_in(value)
+ }
end
send_data(to_csv(data, headers), filename:)
}
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 9d51b09..794f10c 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -2,18 +2,36 @@ module ApplicationHelper
FROST_COLOR = "blue"
FREEZE_COLOR = "#c5050c"
+ # unit conversions
def c_to_f(c)
- return if c.nil? || !(f.is_a? Numeric)
- c * (9.0 / 5) + 32
+ c * 1.8 + 32.0
+ rescue
end
def f_to_c(f)
- return if f.nil? || !(f.is_a? Numeric)
- (f - 32) * (5.0 / 9)
+ (f - 32.0) * (5.0 / 9.0)
+ rescue
+ end
+
+ def in_to_mm(inches)
+ inches * 25.4
+ rescue
+ end
+
+ def mm_to_in(mm)
+ mm / 25.4
+ rescue
+ end
+
+ def mj_to_kwh(mj)
+ mj / 3.6
+ rescue
end
+ # formatters
def fmt_num(num, digits = 0)
return num || "" unless num.is_a? Numeric
+ return 0 if num.zero?
sprintf("%.#{digits}f", num.round(digits))
end
diff --git a/app/models/unit_converter.rb b/app/models/unit_converter.rb
deleted file mode 100644
index 92661f4..0000000
--- a/app/models/unit_converter.rb
+++ /dev/null
@@ -1,5 +0,0 @@
-module UnitConverter
- def c_to_f(c)
- c * (9.0 / 5.0) + 32
- end
-end
diff --git a/app/views/weather/_data_tbl_et.html.erb b/app/views/weather/_data_tbl_et.html.erb
index 5ee4c8b..c1b8efc 100644
--- a/app/views/weather/_data_tbl_et.html.erb
+++ b/app/views/weather/_data_tbl_et.html.erb
@@ -28,8 +28,8 @@
<%= day[:date] %> |
<%= fmt_num(day[:value], 3) %> |
<%= fmt_num(day[:cumulative_value], 3) %> |
- <%= fmt_num(day[:value] * 2.54, 3) unless day[:value].nil? %> |
- <%= fmt_num(day[:cumulative_value] * 2.45, 3) unless day[:cumulative_value].nil? %> |
+ <%= fmt_num(in_to_mm(day[:value]), 3) unless day[:value].nil? %> |
+ <%= fmt_num(in_to_mm(day[:cumulative_value]), 3) unless day[:cumulative_value].nil? %> |
<% end %>
diff --git a/app/views/weather/_data_tbl_insol.html.erb b/app/views/weather/_data_tbl_insol.html.erb
index bbfe332..4b379c0 100644
--- a/app/views/weather/_data_tbl_insol.html.erb
+++ b/app/views/weather/_data_tbl_insol.html.erb
@@ -22,7 +22,7 @@
<%= i + 1 %> |
<%= day[:date] %> |
<%= fmt_num(day[:value], 2) %> |
- <%= fmt_num(day[:value] / 3.6, 2) unless day[:value].nil? %> |
+ <%= fmt_num(mj_to_kwh(day[:value]), 2) unless day[:value].nil? %> |
<% end %>
@@ -32,7 +32,7 @@
|
<%= k %>: |
<%= fmt_num(v, 2) %> |
- <%= fmt_num(v / 3.6, 2) unless v.nil? %> |
+ <%= fmt_num(mj_to_kwh(v), 2) unless v.nil? %> |
<% end %>
diff --git a/app/views/weather/_data_tbl_precip.html.erb b/app/views/weather/_data_tbl_precip.html.erb
index c6d32c5..363d477 100644
--- a/app/views/weather/_data_tbl_precip.html.erb
+++ b/app/views/weather/_data_tbl_precip.html.erb
@@ -25,8 +25,8 @@
<%= day[:date] %> |
<%= fmt_num(day[:value], 2) %> |
<%= fmt_num(day[:cumulative_value], 2) %> |
- <%= fmt_num(day[:value] / 25.4, 3) unless day[:value].nil? %> |
- <%= fmt_num(day[:cumulative_value] / 25.4, 3) unless day[:cumulative_value].nil? %> |
+ <%= fmt_num(mm_to_in(day[:value]), 3) unless day[:value].nil? %> |
+ <%= fmt_num(mm_to_in(day[:cumulative_value]), 3) unless day[:cumulative_value].nil? %> |
<% end %>
diff --git a/app/views/weather/precip.html.erb b/app/views/weather/precip.html.erb
index 9e09bdb..e59a4cf 100644
--- a/app/views/weather/precip.html.erb
+++ b/app/views/weather/precip.html.erb
@@ -20,7 +20,7 @@
<% if @start_date %>
Cumulative precipitation map for <%= @start_date.strftime("%b %-d") %> to <%= @date.strftime("%b %-d") %> (<%= pluralize((@start_date..@date).count, "day") %>)
<% else %>
- Precipiation map for <%= @date.strftime("%b %-d") %> (<%= pluralize((Date.current - @date).to_i, "day") %> ago)
+ Precipitation map for <%= @date.strftime("%b %-d") %> (<%= pluralize((Date.current - @date).to_i, "day") %> ago)
<% end %>
<%= render_async url_for(action: :map_image),