earth 0.12.1 → 0.12.2
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/data/automobile/annual_emission_controls.csv +1 -1
- data/data/automobile/annual_fuel_consumption.csv +1 -1
- data/data/automobile/auto_fuel_data.csv +1 -1
- data/data/automobile/emission_control_techs.csv +1 -1
- data/lib/earth/automobile/automobile_activity_year_type_fuel.rb +1 -1
- data/lib/earth/automobile/automobile_activity_year_type_fuel/data_miner.rb +4 -4
- data/lib/earth/automobile/automobile_fuel.rb +3 -3
- data/lib/earth/automobile/automobile_fuel/data_miner.rb +1 -1
- data/lib/earth/automobile/automobile_type_fuel.rb +2 -2
- data/lib/earth/automobile/automobile_type_fuel/data_miner.rb +3 -3
- data/lib/earth/automobile/automobile_type_fuel_control.rb +1 -1
- data/lib/earth/automobile/automobile_type_fuel_control/data_miner.rb +1 -1
- data/lib/earth/automobile/automobile_type_fuel_year.rb +5 -5
- data/lib/earth/automobile/automobile_type_fuel_year/data_miner.rb +1 -1
- data/lib/earth/automobile/automobile_type_fuel_year_control.rb +4 -4
- data/lib/earth/automobile/automobile_type_fuel_year_control/data_miner.rb +2 -2
- data/lib/earth/version.rb +1 -1
- data/spec/earth/automobile/automobile_activity_year_type_fuel_spec.rb +1 -1
- data/spec/earth/automobile/automobile_fuel_spec.rb +1 -1
- data/spec/earth/automobile/automobile_type_fuel_spec.rb +1 -1
- data/spec/earth/automobile/automobile_type_fuel_year_control_spec.rb +6 -6
- data/spec/earth/automobile/automobile_type_fuel_year_spec.rb +6 -6
- data/spec/earth/electricity/electric_market_spec.rb +1 -1
- data/spec/earth/locality/country_spec.rb +4 -4
- data/spec/earth/locality/zip_code_spec.rb +3 -3
- metadata +4 -4
@@ -1,4 +1,4 @@
|
|
1
|
-
name,type_name,
|
1
|
+
name,type_name,fuel_family,year,control_name,total_travel_percent,source,source_detail,source_url
|
2
2
|
Light-duty trucks diesel 1985 moderate,Light-duty trucks,diesel,1985,moderate,1,EPA (2012) Table A-102,U.S. EPA (2012) Inventory of U.S. Greenhouse Gas Emissions and Sinks: 1990-2010,http://www.epa.gov/climatechange/emissions/usinventoryreport.html
|
3
3
|
Light-duty trucks diesel 1986 moderate,Light-duty trucks,diesel,1986,moderate,1,EPA (2012) Table A-102,U.S. EPA (2012) Inventory of U.S. Greenhouse Gas Emissions and Sinks: 1990-2010,http://www.epa.gov/climatechange/emissions/usinventoryreport.html
|
4
4
|
Light-duty trucks diesel 1987 moderate,Light-duty trucks,diesel,1987,moderate,1,EPA (2012) Table A-102,U.S. EPA (2012) Inventory of U.S. Greenhouse Gas Emissions and Sinks: 1990-2010,http://www.epa.gov/climatechange/emissions/usinventoryreport.html
|
@@ -1,4 +1,4 @@
|
|
1
|
-
name,activity_year,type_name,
|
1
|
+
name,activity_year,type_name,fuel_family,fuel_consumption,fuel_consumption_units,source,source_detail,source_url
|
2
2
|
1990 Light-duty trucks diesel,1990,Light-duty trucks,diesel,1118.5,million_gallons,EPA (2012) Table A-88,U.S. EPA (2012) Inventory of U.S. Greenhouse Gas Emissions and Sinks: 1990-2010,http://www.epa.gov/climatechange/emissions/usinventoryreport.html
|
3
3
|
1991 Light-duty trucks diesel,1991,Light-duty trucks,diesel,1107.8,million_gallons,EPA (2012) Table A-88,U.S. EPA (2012) Inventory of U.S. Greenhouse Gas Emissions and Sinks: 1990-2010,http://www.epa.gov/climatechange/emissions/usinventoryreport.html
|
4
4
|
1992 Light-duty trucks diesel,1992,Light-duty trucks,diesel,1224.7,million_gallons,EPA (2012) Table A-88,U.S. EPA (2012) Inventory of U.S. Greenhouse Gas Emissions and Sinks: 1990-2010,http://www.epa.gov/climatechange/emissions/usinventoryreport.html
|
@@ -1,4 +1,4 @@
|
|
1
|
-
name,code,
|
1
|
+
name,code,family,distance_key,base_fuel_name,blend_fuel_name,blend_portion
|
2
2
|
B100,BP-B100,b100,diesel,Biodiesel
|
3
3
|
B20,BP-B20,b20,diesel,Distillate Fuel Oil No. 2,Biodiesel,0.2
|
4
4
|
B5,BP-B5,b5,diesel,Distillate Fuel Oil No. 2,Biodiesel,0.05
|
@@ -1,4 +1,4 @@
|
|
1
|
-
name,type_name,
|
1
|
+
name,type_name,fuel_family,control_name,ch4_emission_factor,ch4_emission_factor_units,n2o_emission_factor,n2o_emission_factor_units,source,source_detail,source_url
|
2
2
|
Light-duty trucks diesel advanced,Light-duty trucks,diesel,advanced,0.001,grams_per_mile,0.0015,grams_per_mile,EPA (2012) Table A-103,U.S. EPA (2012) Inventory of U.S. Greenhouse Gas Emissions and Sinks: 1990-2010,http://www.epa.gov/climatechange/emissions/usinventoryreport.html
|
3
3
|
Light-duty trucks diesel moderate,Light-duty trucks,diesel,moderate,0.0009,grams_per_mile,0.0014,grams_per_mile,EPA (2012) Table A-103,U.S. EPA (2012) Inventory of U.S. Greenhouse Gas Emissions and Sinks: 1990-2010,http://www.epa.gov/climatechange/emissions/usinventoryreport.html
|
4
4
|
Light-duty trucks diesel uncontrolled,Light-duty trucks,diesel,uncontrolled,0.0011,grams_per_mile,0.0017,grams_per_mile,EPA (2012) Table A-103,U.S. EPA (2012) Inventory of U.S. Greenhouse Gas Emissions and Sinks: 1990-2010,http://www.epa.gov/climatechange/emissions/usinventoryreport.html
|
@@ -9,7 +9,7 @@ class AutomobileActivityYearTypeFuel < ActiveRecord::Base
|
|
9
9
|
col :name
|
10
10
|
col :activity_year, :type => :integer
|
11
11
|
col :type_name
|
12
|
-
col :
|
12
|
+
col :fuel_family
|
13
13
|
col :distance, :type => :float
|
14
14
|
col :distance_units
|
15
15
|
col :fuel_consumption, :type => :float
|
@@ -14,7 +14,7 @@ AutomobileActivityYearTypeFuel.class_eval do
|
|
14
14
|
key 'name', :synthesize => proc { |row| "#{row['Year']} #{type} gasoline" }
|
15
15
|
store 'activity_year', :field_name => 'Year'
|
16
16
|
store 'type_name', :static => type
|
17
|
-
store '
|
17
|
+
store 'fuel_family', :static => 'gasoline'
|
18
18
|
store 'distance', :field_name => type, :from_units => :billion_miles, :to_units => :kilometres
|
19
19
|
end
|
20
20
|
|
@@ -27,7 +27,7 @@ AutomobileActivityYearTypeFuel.class_eval do
|
|
27
27
|
key 'name', :synthesize => proc { |row| "#{row['Year']} #{type} diesel" }
|
28
28
|
store 'activity_year', :field_name => 'Year'
|
29
29
|
store 'type_name', :static => type
|
30
|
-
store '
|
30
|
+
store 'fuel_family', :static => 'diesel'
|
31
31
|
store 'distance', :field_name => type, :from_units => :billion_miles, :to_units => :kilometres
|
32
32
|
end
|
33
33
|
|
@@ -40,7 +40,7 @@ AutomobileActivityYearTypeFuel.class_eval do
|
|
40
40
|
key 'name', :synthesize => proc { |row| "#{row['Year']} #{type} alternative" }
|
41
41
|
store 'activity_year', :field_name => 'Year'
|
42
42
|
store 'type_name', :static => type
|
43
|
-
store '
|
43
|
+
store 'fuel_family', :static => 'alternative'
|
44
44
|
store 'distance', :field_name => type, :from_units => :billion_miles, :to_units => :kilometres
|
45
45
|
end
|
46
46
|
end
|
@@ -50,7 +50,7 @@ AutomobileActivityYearTypeFuel.class_eval do
|
|
50
50
|
key 'name'
|
51
51
|
store 'activity_year'
|
52
52
|
store 'type_name'
|
53
|
-
store '
|
53
|
+
store 'fuel_family'
|
54
54
|
store 'fuel_consumption', :from_units => :million_gallons, :to_units => :litres
|
55
55
|
end
|
56
56
|
end
|
@@ -8,7 +8,7 @@ class AutomobileFuel < ActiveRecord::Base
|
|
8
8
|
belongs_to :blend_fuel, :class_name => 'Fuel', :foreign_key => 'blend_fuel_name'
|
9
9
|
|
10
10
|
# for calculating gas and diesel annual distance and ch4 + n2o efs
|
11
|
-
has_many :type_fuels, :foreign_key => :
|
11
|
+
has_many :type_fuels, :foreign_key => :fuel_family, :primary_key => :family, :class_name => 'AutomobileTypeFuel'
|
12
12
|
|
13
13
|
# for fallback
|
14
14
|
class << self
|
@@ -68,7 +68,7 @@ class AutomobileFuel < ActiveRecord::Base
|
|
68
68
|
|
69
69
|
col :name
|
70
70
|
col :code
|
71
|
-
col :
|
71
|
+
col :family
|
72
72
|
col :distance_key
|
73
73
|
col :base_fuel_name
|
74
74
|
col :blend_fuel_name
|
@@ -89,7 +89,7 @@ class AutomobileFuel < ActiveRecord::Base
|
|
89
89
|
col :total_consumption_units
|
90
90
|
|
91
91
|
warn_unless_size 12
|
92
|
-
warn_if_blanks :code, :
|
92
|
+
warn_if_blanks :code, :family, :distance_key
|
93
93
|
warn_if do
|
94
94
|
if exists?("name != 'electricity' AND base_fuel_name IS NULL")
|
95
95
|
"Records missing #{col}"
|
@@ -10,7 +10,7 @@ AutomobileFuel.class_eval do
|
|
10
10
|
:url => "file://#{Earth::DATA_DIR}/automobile/auto_fuel_data.csv" do
|
11
11
|
key 'name'
|
12
12
|
store 'code'
|
13
|
-
store '
|
13
|
+
store 'family'
|
14
14
|
store 'distance_key'
|
15
15
|
store 'base_fuel_name', :nullify => true
|
16
16
|
store 'blend_fuel_name', :nullify => true
|
@@ -3,12 +3,12 @@ class AutomobileTypeFuel < ActiveRecord::Base
|
|
3
3
|
|
4
4
|
# for calculating vehicles
|
5
5
|
def latest_activity_year_type_fuel
|
6
|
-
AutomobileActivityYearTypeFuel.latest.where(:type_name => type_name, :
|
6
|
+
AutomobileActivityYearTypeFuel.latest.where(:type_name => type_name, :fuel_family => fuel_family).first
|
7
7
|
end
|
8
8
|
|
9
9
|
col :name
|
10
10
|
col :type_name
|
11
|
-
col :
|
11
|
+
col :fuel_family
|
12
12
|
col :annual_distance, :type => :float
|
13
13
|
col :annual_distance_units
|
14
14
|
col :fuel_consumption, :type => :float
|
@@ -13,9 +13,9 @@ AutomobileTypeFuel.class_eval do
|
|
13
13
|
:src => AutomobileTypeFuelYear,
|
14
14
|
:dest => AutomobileTypeFuel,
|
15
15
|
:cols => {
|
16
|
-
[:type_name, :
|
16
|
+
[:type_name, :fuel_family] => :name,
|
17
17
|
:type_name => :type_name,
|
18
|
-
:
|
18
|
+
:fuel_family => :fuel_family
|
19
19
|
}
|
20
20
|
)
|
21
21
|
end
|
@@ -23,7 +23,7 @@ AutomobileTypeFuel.class_eval do
|
|
23
23
|
process "Derive annual distance and emission factors from AutomobileTypeFuelYear" do
|
24
24
|
type_fuels = arel_table
|
25
25
|
type_fuel_years = AutomobileTypeFuelYear.arel_table
|
26
|
-
join_relation = type_fuel_years[:type_name].eq(type_fuels[:type_name]).and(type_fuel_years[:
|
26
|
+
join_relation = type_fuel_years[:type_name].eq(type_fuels[:type_name]).and(type_fuel_years[:fuel_family].eq(type_fuels[:fuel_family]))
|
27
27
|
|
28
28
|
%w{ annual_distance ch4_emission_factor n2o_emission_factor }.each do |item|
|
29
29
|
item_sql = AutomobileTypeFuelYear.where(join_relation).weighted_average_relation(:"#{item}", :weighted_by => :share_of_type).to_sql
|
@@ -7,7 +7,7 @@ AutomobileTypeFuelControl.class_eval do
|
|
7
7
|
:url => "file://#{Earth::DATA_DIR}/automobile/emission_control_techs.csv" do
|
8
8
|
key 'name'
|
9
9
|
store 'type_name'
|
10
|
-
store '
|
10
|
+
store 'fuel_family'
|
11
11
|
store 'control_name'
|
12
12
|
store 'ch4_emission_factor', :from_units => :grams_per_mile, :to_units => :kilograms_per_kilometre
|
13
13
|
store 'n2o_emission_factor', :from_units => :grams_per_mile, :to_units => :kilograms_per_kilometre
|
@@ -2,22 +2,22 @@ class AutomobileTypeFuelYear < ActiveRecord::Base
|
|
2
2
|
self.primary_key = "name"
|
3
3
|
|
4
4
|
# Used by Automobile and AutomobileTrip
|
5
|
-
def self.
|
5
|
+
def self.find_by_type_name_and_fuel_family_and_closest_year(type_name, fuel_family, year)
|
6
6
|
if year > maximum(:year)
|
7
|
-
where(:type_name => type_name, :
|
7
|
+
where(:type_name => type_name, :fuel_family => fuel_family, :year => maximum(:year)).first
|
8
8
|
else
|
9
|
-
where(:type_name => type_name, :
|
9
|
+
where(:type_name => type_name, :fuel_family => fuel_family, :year => [year, minimum(:year)].max).first
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
13
|
# for calculating ch4 and n2o ef
|
14
14
|
def type_fuel_year_controls
|
15
|
-
AutomobileTypeFuelYearControl.
|
15
|
+
AutomobileTypeFuelYearControl.find_all_by_type_name_and_fuel_family_and_closest_year(type_name, fuel_family, year)
|
16
16
|
end
|
17
17
|
|
18
18
|
col :name
|
19
19
|
col :type_name
|
20
|
-
col :
|
20
|
+
col :fuel_family
|
21
21
|
col :year, :type => :integer
|
22
22
|
col :share_of_type, :type => :float
|
23
23
|
col :annual_distance, :type => :float
|
@@ -16,7 +16,7 @@ AutomobileTypeFuelYear.class_eval do
|
|
16
16
|
:select => proc { |row| row['age'].to_i.to_s == row['age'] } do
|
17
17
|
key 'name', :synthesize => proc { |row| "#{type} #{fuel} #{2009 - row['age'].to_i}" }
|
18
18
|
store 'type_name', :static => type
|
19
|
-
store '
|
19
|
+
store 'fuel_family', :static => fuel
|
20
20
|
store 'year', :synthesize => proc { |row| 2009 - row['age'].to_i }
|
21
21
|
store 'share_of_type', :synthesize => proc { |row| row[code].to_f / (code == 'LDDV' ? 57.5 : 100) } # total percent only sums to 57.5 for diesel cars
|
22
22
|
end
|
@@ -5,11 +5,11 @@ class AutomobileTypeFuelYearControl < ActiveRecord::Base
|
|
5
5
|
belongs_to :type_fuel_control, :foreign_key => :type_fuel_control_name, :class_name => 'AutomobileTypeFuelControl'
|
6
6
|
|
7
7
|
# Used by AutomobileTypeFuelYear
|
8
|
-
def self.
|
8
|
+
def self.find_all_by_type_name_and_fuel_family_and_closest_year(type_name, fuel_family, year)
|
9
9
|
if year > maximum(:year)
|
10
|
-
where(:type_name => type_name, :
|
10
|
+
where(:type_name => type_name, :fuel_family => fuel_family, :year => maximum(:year))
|
11
11
|
else
|
12
|
-
where(:type_name => type_name, :
|
12
|
+
where(:type_name => type_name, :fuel_family => fuel_family, :year => [year, minimum(:year)].max)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
@@ -26,7 +26,7 @@ class AutomobileTypeFuelYearControl < ActiveRecord::Base
|
|
26
26
|
|
27
27
|
col :name
|
28
28
|
col :type_name
|
29
|
-
col :
|
29
|
+
col :fuel_family
|
30
30
|
col :year, :type => :integer
|
31
31
|
col :control_name
|
32
32
|
col :type_fuel_control_name
|
@@ -8,10 +8,10 @@ AutomobileTypeFuelYearControl.class_eval do
|
|
8
8
|
:url => "file://#{Earth::DATA_DIR}/automobile/annual_emission_controls.csv" do
|
9
9
|
key 'name'
|
10
10
|
store 'type_name'
|
11
|
-
store '
|
11
|
+
store 'fuel_family'
|
12
12
|
store 'year'
|
13
13
|
store 'control_name'
|
14
|
-
store 'type_fuel_control_name', :synthesize => proc { |row| [row['type_name'], row['
|
14
|
+
store 'type_fuel_control_name', :synthesize => proc { |row| [row['type_name'], row['fuel_family'], row['control_name']].join(' ') }
|
15
15
|
store 'total_travel_percent'
|
16
16
|
end
|
17
17
|
end
|
data/lib/earth/version.rb
CHANGED
@@ -16,7 +16,7 @@ describe AutomobileActivityYearTypeFuel do
|
|
16
16
|
describe 'verify', :sanity => true do
|
17
17
|
it { AAYTF.count.should == 120 }
|
18
18
|
it { AAYTF.where(:distance => nil).count.should == 0 }
|
19
|
-
it { AAYTF.where("
|
19
|
+
it { AAYTF.where("fuel_family != 'alternative' AND fuel_consumption IS NULL").count.should == 0 }
|
20
20
|
end
|
21
21
|
|
22
22
|
describe '.latest' do
|
@@ -54,7 +54,7 @@ describe AutomobileFuel do
|
|
54
54
|
|
55
55
|
it "all grades of gasoline should have same annual distance and emission factors" do
|
56
56
|
AutomobileFuel.where("name LIKE '%gasoline'").each do |fuel|
|
57
|
-
fuel.
|
57
|
+
fuel.family.should == 'gasoline'
|
58
58
|
fuel.annual_distance.should == AutomobileFuel.gasoline.annual_distance
|
59
59
|
fuel.co2_emission_factor.should == AutomobileFuel.gasoline.co2_emission_factor
|
60
60
|
fuel.ch4_emission_factor.should == AutomobileFuel.gasoline.ch4_emission_factor
|
@@ -37,7 +37,7 @@ describe AutomobileTypeFuel do
|
|
37
37
|
it 'should always be a match from 2009' do
|
38
38
|
AutomobileTypeFuel.find_each do |atf|
|
39
39
|
atf.latest_activity_year_type_fuel.type_name.should == atf.type_name
|
40
|
-
atf.latest_activity_year_type_fuel.
|
40
|
+
atf.latest_activity_year_type_fuel.fuel_family.should == atf.fuel_family
|
41
41
|
atf.latest_activity_year_type_fuel.activity_year.should == 2009
|
42
42
|
end
|
43
43
|
end
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
require 'earth/automobile/automobile_type_fuel_year_control'
|
3
3
|
|
4
4
|
describe AutomobileTypeFuelYearControl do
|
5
|
-
let(:test_year_control) { ATFYC.where(:type_name => 'Passenger cars', :
|
5
|
+
let(:test_year_control) { ATFYC.where(:type_name => 'Passenger cars', :fuel_family => 'gasoline', :year => 2005).first }
|
6
6
|
|
7
7
|
before :all do
|
8
8
|
Earth.init :automobile, :load_data_miner => true
|
@@ -19,7 +19,7 @@ describe AutomobileTypeFuelYearControl do
|
|
19
19
|
it { ATFYC.count.should == 142 }
|
20
20
|
|
21
21
|
it 'total travel percent should sum to 1' do
|
22
|
-
ATFYC.group([:type_name, :
|
22
|
+
ATFYC.group([:type_name, :fuel_family, :year]).sum(:total_travel_percent).each do |grouping_criteria, total|
|
23
23
|
total.should be_within(1e-5).of(1.0)
|
24
24
|
end
|
25
25
|
end
|
@@ -27,10 +27,10 @@ describe AutomobileTypeFuelYearControl do
|
|
27
27
|
it { ATFYC.where(:type_fuel_control_name => nil).count.should == 0 }
|
28
28
|
end
|
29
29
|
|
30
|
-
describe '.
|
31
|
-
it { ATFYC.
|
32
|
-
it { ATFYC.
|
33
|
-
it { ATFYC.
|
30
|
+
describe '.find_all_by_type_name_and_fuel_family_and_closest_year' do
|
31
|
+
it { ATFYC.find_all_by_type_name_and_fuel_family_and_closest_year('Passenger cars', 'gasoline', 1980).should == ATFYC.find_all_by_type_name_and_fuel_family_and_year('Passenger cars', 'gasoline', 1985) }
|
32
|
+
it { ATFYC.find_all_by_type_name_and_fuel_family_and_closest_year('Passenger cars', 'gasoline', 2005).should == ATFYC.find_all_by_type_name_and_fuel_family_and_year('Passenger cars', 'gasoline', 2005) }
|
33
|
+
it { ATFYC.find_all_by_type_name_and_fuel_family_and_closest_year('Passenger cars', 'gasoline', 2012).should == ATFYC.find_all_by_type_name_and_fuel_family_and_year('Passenger cars', 'gasoline', 2010) }
|
34
34
|
end
|
35
35
|
|
36
36
|
describe '#ch4_emission_factor' do
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
require 'earth/automobile/automobile_type_fuel_year'
|
3
3
|
|
4
4
|
describe AutomobileTypeFuelYear do
|
5
|
-
let(:test_atfy) { ATFY.where(:type_name => 'Passenger cars', :
|
5
|
+
let(:test_atfy) { ATFY.where(:type_name => 'Passenger cars', :fuel_family => 'gasoline', :year => 2005).first }
|
6
6
|
|
7
7
|
before :all do
|
8
8
|
Earth.init :automobile, :load_data_miner => true
|
@@ -19,7 +19,7 @@ describe AutomobileTypeFuelYear do
|
|
19
19
|
it { ATFY.count.should == 124 }
|
20
20
|
|
21
21
|
it 'shares should sum to 1' do
|
22
|
-
ATFY.sum(:share_of_type, :group => [:type_name, :
|
22
|
+
ATFY.sum(:share_of_type, :group => [:type_name, :fuel_family]).each do |groupers, total|
|
23
23
|
total.should be_within(1e-2).of(1.0)
|
24
24
|
end
|
25
25
|
end
|
@@ -37,10 +37,10 @@ describe AutomobileTypeFuelYear do
|
|
37
37
|
it { test_atfy.n2o_emission_factor_units.should == 'kilograms_co2e_per_kilometre' }
|
38
38
|
end
|
39
39
|
|
40
|
-
describe '.
|
41
|
-
it { ATFY.
|
42
|
-
it { ATFY.
|
43
|
-
it { ATFY.
|
40
|
+
describe '.find_by_type_name_and_fuel_family_and_closest_year' do
|
41
|
+
it { ATFY.find_by_type_name_and_fuel_family_and_closest_year('Passenger cars', 'gasoline', 1970).should == ATFY.find_by_type_name_and_fuel_family_and_year('Passenger cars', 'gasoline', 1979) }
|
42
|
+
it { ATFY.find_by_type_name_and_fuel_family_and_closest_year('Passenger cars', 'gasoline', 2005).should == ATFY.find_by_type_name_and_fuel_family_and_year('Passenger cars', 'gasoline', 2005) }
|
43
|
+
it { ATFY.find_by_type_name_and_fuel_family_and_closest_year('Passenger cars', 'gasoline', 2012).should == ATFY.find_by_type_name_and_fuel_family_and_year('Passenger cars', 'gasoline', 2009) }
|
44
44
|
end
|
45
45
|
|
46
46
|
describe '#type_fuel_year_controls' do
|
@@ -18,7 +18,7 @@ describe ElectricMarket do
|
|
18
18
|
|
19
19
|
it { ElectricMarket.where(:electric_utility_eia_id => nil).count.should == 0 } # some ids aren't found in our electric_utilities table
|
20
20
|
|
21
|
-
it '
|
21
|
+
it 'links 53704 to MG&E' do
|
22
22
|
ZipCode.find('53704').electric_utilities.should include(ElectricUtility.find 11479)
|
23
23
|
end
|
24
24
|
end
|
@@ -71,12 +71,12 @@ describe Country do
|
|
71
71
|
it { Country.where("rail_trip_co2_emission_factor > 0").count.should == 26 }
|
72
72
|
|
73
73
|
# spot checks
|
74
|
-
it { us.rail_passengers.should
|
74
|
+
it { us.rail_passengers.should be_within(10_000).of(4_466_991_391) }
|
75
75
|
it { us.rail_trip_distance.should be_within(5e-5).of(12.9952) }
|
76
76
|
it { us.rail_speed.should be_within(5e-5).of(32.4972) }
|
77
|
-
it { us.rail_trip_electricity_intensity.should be_within(5e-5).of(0.
|
78
|
-
it { us.rail_trip_diesel_intensity.should be_within(5e-5).of(0.
|
79
|
-
it { us.rail_trip_co2_emission_factor.should be_within(5e-5).of(0.
|
77
|
+
it { us.rail_trip_electricity_intensity.should be_within(5e-5).of(0.14051) }
|
78
|
+
it { us.rail_trip_diesel_intensity.should be_within(5e-5).of(0.01942) }
|
79
|
+
it { us.rail_trip_co2_emission_factor.should be_within(5e-5).of(0.0909) }
|
80
80
|
|
81
81
|
it { uk.rail_passengers.should == 1352150000 }
|
82
82
|
it { uk.rail_trip_distance.should be_within(5e-5).of(40.6904) }
|
@@ -16,7 +16,7 @@ describe ZipCode do
|
|
16
16
|
it { ZipCode.count.should == 43770 }
|
17
17
|
it { ZipCode.where(:state_postal_abbreviation => nil).count.should == 0 }
|
18
18
|
it { ZipCode.where('latitude IS NOT NULL AND longitude IS NOT NULL').count.should == 43191 }
|
19
|
-
it { ZipCode.where('egrid_subregion_abbreviation IS NOT NULL').count.should ==
|
19
|
+
it { ZipCode.where('egrid_subregion_abbreviation IS NOT NULL').count.should == 41333 }
|
20
20
|
it { ZipCode.where('climate_division_name IS NOT NULL').count.should == 41358 }
|
21
21
|
it { ZipCode.where('population IS NOT NULL').count.should == 33120 }
|
22
22
|
end
|
@@ -34,8 +34,8 @@ describe ZipCode do
|
|
34
34
|
|
35
35
|
describe '#latitude_longitude' do
|
36
36
|
it 'should return the lat and lng as an array of strings' do
|
37
|
-
ZipCode.find('00001').latitude_longitude.should == [
|
38
|
-
ZipCode.find('
|
37
|
+
ZipCode.find('00001').latitude_longitude.should == [nil, nil]
|
38
|
+
ZipCode.find('00210').latitude_longitude.should == ['43.005895', '-71.013202']
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: earth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.12.
|
5
|
+
version: 0.12.2
|
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: 2012-06-
|
15
|
+
date: 2012-06-15 00:00:00 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activerecord
|
@@ -681,7 +681,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
681
681
|
requirements:
|
682
682
|
- - ">="
|
683
683
|
- !ruby/object:Gem::Version
|
684
|
-
hash:
|
684
|
+
hash: 2577779194019475364
|
685
685
|
segments:
|
686
686
|
- 0
|
687
687
|
version: "0"
|
@@ -690,7 +690,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
690
690
|
requirements:
|
691
691
|
- - ">="
|
692
692
|
- !ruby/object:Gem::Version
|
693
|
-
hash:
|
693
|
+
hash: 2577779194019475364
|
694
694
|
segments:
|
695
695
|
- 0
|
696
696
|
version: "0"
|