earth 0.11.5 → 0.11.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/earth.gemspec
CHANGED
@@ -5,7 +5,7 @@ require "earth/version"
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "earth"
|
7
7
|
s.version = Earth::VERSION
|
8
|
-
s.date = "2011-12-
|
8
|
+
s.date = "2011-12-20"
|
9
9
|
s.platform = Gem::Platform::RUBY
|
10
10
|
s.authors = ["Seamus Abshere", "Derek Kastner", "Andy Rossmeissl"]
|
11
11
|
s.email = %q{andy@rossmeissl.net}
|
@@ -4,12 +4,13 @@ class CountryLodgingClass < ActiveRecord::Base
|
|
4
4
|
col :name
|
5
5
|
col :country_iso_3166_code
|
6
6
|
col :lodging_class_name
|
7
|
-
col :
|
8
|
-
col :electricity_intensity_units
|
7
|
+
col :cbecs_detailed_activity
|
9
8
|
col :natural_gas_intensity, :type => :float
|
10
9
|
col :natural_gas_intensity_units
|
11
10
|
col :fuel_oil_intensity, :type => :float
|
12
11
|
col :fuel_oil_intensity_units
|
12
|
+
col :electricity_intensity, :type => :float
|
13
|
+
col :electricity_intensity_units
|
13
14
|
col :district_heat_intensity, :type => :float
|
14
15
|
col :district_heat_intensity_units
|
15
16
|
col :weighting, :type => :float
|
@@ -1,40 +1,41 @@
|
|
1
1
|
CountryLodgingClass.class_eval do
|
2
2
|
data_miner do
|
3
|
-
import "
|
4
|
-
:url => 'https://docs.google.com/spreadsheet/pub?key=
|
5
|
-
|
6
|
-
|
7
|
-
store '
|
8
|
-
store '
|
9
|
-
store 'electricity_intensity', :units_field_name => 'electricity_intensity_units'
|
10
|
-
store 'natural_gas_intensity', :units_field_name => 'natural_gas_intensity_units'
|
11
|
-
store 'fuel_oil_intensity', :units_field_name => 'fuel_oil_intensity_units'
|
12
|
-
store 'district_heat_intensity', :units_field_name => 'district_heat_intensity_units'
|
13
|
-
store 'weighting'
|
3
|
+
import "a curated list of country lodging classes",
|
4
|
+
:url => 'https://docs.google.com/spreadsheet/pub?key=0AoQJbWqPrREqdENYYWdiRm9LSjVZQ0tJRWplT1JNNVE&output=csv' do
|
5
|
+
key 'name'
|
6
|
+
store 'country_iso_3166_code'
|
7
|
+
store 'lodging_class_name'
|
8
|
+
store 'cbecs_detailed_activity'
|
14
9
|
end
|
15
10
|
|
16
|
-
process "
|
17
|
-
|
18
|
-
where(:natural_gas_intensity_units => 'hundred_cubic_feet_per_room_night').update_all(%{
|
19
|
-
natural_gas_intensity = 1.0 * natural_gas_intensity * #{conversion_factor},
|
20
|
-
natural_gas_intensity_units = 'cubic_metres_per_room_night'
|
21
|
-
})
|
11
|
+
process "Ensure CommercialBuildingEnergyConsumptionSurveyResponse is populated" do
|
12
|
+
CommercialBuildingEnergyConsumptionSurveyResponse.run_data_miner!
|
22
13
|
end
|
23
14
|
|
24
|
-
process "
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
15
|
+
process "Calculate US lodging class fuel intensities from CommercialBuildingEnergyConsumptionSurveyResponse" do
|
16
|
+
where(:country_iso_3166_code => 'US').each do |lodging_class|
|
17
|
+
cbecs_responses = CommercialBuildingEnergyConsumptionSurveyResponse.where(:detailed_activity => lodging_class.cbecs_detailed_activity)
|
18
|
+
intensities = {}
|
19
|
+
|
20
|
+
[:natural_gas, :fuel_oil, :electricity, :district_heat].each do |fuel|
|
21
|
+
intensities[fuel] = cbecs_responses.inject(0) do |sum, response|
|
22
|
+
next sum unless response.send("#{fuel}_use").present?
|
23
|
+
occupied_room_nights = 365.0 / 7.0 / 12.0 * response.months_used * response.weekly_hours / 24.0 * response.lodging_rooms * 0.59
|
24
|
+
sum + (response.weighting * response.send("#{fuel}_use") / occupied_room_nights)
|
25
|
+
end / cbecs_responses.sum(:weighting)
|
26
|
+
end
|
27
|
+
|
28
|
+
lodging_class.natural_gas_intensity = intensities[:natural_gas]
|
29
|
+
lodging_class.natural_gas_intensity_units = 'cubic_metres_per_room_night'
|
30
|
+
lodging_class.fuel_oil_intensity = intensities[:fuel_oil]
|
31
|
+
lodging_class.fuel_oil_intensity_units = 'litres_per_room_night'
|
32
|
+
lodging_class.electricity_intensity = intensities[:electricity]
|
33
|
+
lodging_class.electricity_intensity_units = 'kilowatt_hours_per_room_night'
|
34
|
+
lodging_class.district_heat_intensity = intensities[:district_heat]
|
35
|
+
lodging_class.district_heat_intensity_units = 'megajoules_per_room_night'
|
36
|
+
lodging_class.weighting = (lodging_class.lodging_class_name == 'Motel' or lodging_class.lodging_class_name == 'Inn') ? cbecs_responses.sum(:weighting) / 2.0 : cbecs_responses.sum(:weighting) # hack to ensure that we don't double-weight motels and inns when we calculate US national average lodging fuel intensities
|
37
|
+
lodging_class.save!
|
38
|
+
end
|
38
39
|
end
|
39
40
|
end
|
40
41
|
end
|
data/lib/earth/version.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: earth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.11.
|
5
|
+
version: 0.11.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Seamus Abshere
|
@@ -12,7 +12,7 @@ autorequire:
|
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
14
|
|
15
|
-
date: 2011-12-
|
15
|
+
date: 2011-12-20 00:00:00 -05:00
|
16
16
|
default_executable:
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
@@ -644,7 +644,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
644
644
|
requirements:
|
645
645
|
- - ">="
|
646
646
|
- !ruby/object:Gem::Version
|
647
|
-
hash:
|
647
|
+
hash: -222319721383199393
|
648
648
|
segments:
|
649
649
|
- 0
|
650
650
|
version: "0"
|
@@ -653,7 +653,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
653
653
|
requirements:
|
654
654
|
- - ">="
|
655
655
|
- !ruby/object:Gem::Version
|
656
|
-
hash:
|
656
|
+
hash: -222319721383199393
|
657
657
|
segments:
|
658
658
|
- 0
|
659
659
|
version: "0"
|