earth 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/earth.gemspec +2 -2
  2. data/features/automobile_fuel.feature +100 -0
  3. data/features/bus_class.feature +12 -42
  4. data/features/bus_fuel.feature +114 -0
  5. data/features/egrid_subregion.feature +113 -15
  6. data/features/support/imports/automobile_fuel_bad.csv +3 -3
  7. data/features/support/imports/automobile_fuel_good.csv +3 -3
  8. data/features/support/imports/bus_class_bad.csv +2 -3
  9. data/features/support/imports/bus_class_good.csv +2 -3
  10. data/features/support/imports/bus_fuel_bad.csv +3 -0
  11. data/features/support/imports/bus_fuel_good.csv +3 -0
  12. data/features/support/imports/egrid_subregion_bad.csv +2 -3
  13. data/features/support/imports/egrid_subregion_good.csv +2 -3
  14. data/lib/earth/automobile/automobile_fuel.rb +63 -58
  15. data/lib/earth/automobile/automobile_fuel/data_miner.rb +110 -0
  16. data/lib/earth/bus.rb +3 -0
  17. data/lib/earth/bus/bus_class.rb +21 -2
  18. data/lib/earth/bus/bus_class/data_miner.rb +79 -43
  19. data/lib/earth/bus/bus_fuel.rb +18 -0
  20. data/lib/earth/bus/bus_fuel/data_miner.rb +204 -0
  21. data/lib/earth/bus/bus_fuel_control.rb +7 -0
  22. data/lib/earth/bus/bus_fuel_control/data_miner.rb +41 -0
  23. data/lib/earth/bus/bus_fuel_year_control.rb +13 -0
  24. data/lib/earth/bus/bus_fuel_year_control/data_miner.rb +35 -0
  25. data/lib/earth/bus/data_miner.rb +3 -0
  26. data/lib/earth/fuel/fuel.rb +16 -0
  27. data/lib/earth/fuel/fuel/data_miner.rb +6 -1
  28. data/lib/earth/locality/egrid_region.rb +3 -2
  29. data/lib/earth/locality/egrid_region/data_miner.rb +8 -31
  30. data/lib/earth/locality/egrid_subregion.rb +18 -2
  31. data/lib/earth/locality/egrid_subregion/data_miner.rb +109 -56
  32. data/spec/earth/automobile/automobile_fuel_spec.rb +9 -12
  33. data/spec/earth/bus/bus_class_spec.rb +12 -0
  34. data/spec/earth/bus/bus_fuel_control_spec.rb +12 -0
  35. data/spec/earth/bus/bus_fuel_year_control_spec.rb +16 -0
  36. data/spec/earth/pet/species_spec.rb +0 -1
  37. data/spec/earth_spec.rb +2 -2
  38. metadata +46 -16
@@ -3,89 +3,142 @@ EgridSubregion.class_eval do
3
3
  schema Earth.database_options do
4
4
  string 'abbreviation'
5
5
  string 'name'
6
- float 'electricity_emission_factor'
7
- string 'electricity_emission_factor_units'
8
6
  string 'nerc_abbreviation'
9
7
  string 'egrid_region_name'
8
+ float 'net_generation'
9
+ string 'net_generation_units'
10
+ float 'electricity_co2_emission_factor'
11
+ string 'electricity_co2_emission_factor_units'
12
+ float 'electricity_co2_biogenic_emission_factor'
13
+ string 'electricity_co2_biogenic_emission_factor_units'
14
+ float 'electricity_ch4_emission_factor'
15
+ string 'electricity_ch4_emission_factor_units'
16
+ float 'electricity_n2o_emission_factor'
17
+ string 'electricity_n2o_emission_factor_units'
18
+ float 'electricity_emission_factor'
19
+ string 'electricity_emission_factor_units'
10
20
  end
11
21
 
12
- # process "define some unit conversions" do
13
- # Conversions.register :pounds_per_megawatt_hour, :kilograms_per_kilowatt_hour, 0.00045359237
14
- # Conversions.register :pounds_per_gigawatt_hour, :kilograms_per_kilowatt_hour, 0.00000045359237
15
- # end
16
- #
17
- # NOTE: the following import uses an 18 Mb zip - don't know if two imports will cause it to be downloaded twice...
18
- #
22
+ # FIXME TODO for some reason this doesn't work...
19
23
  # import "eGRID regions and electricity emission factors derived from eGRID 2007 data",
20
24
  # :url => 'http://www.epa.gov/cleanenergy/documents/egridzips/eGRID2007_Version1-1.zip',
21
- # :filename => 'eGRID2007V1_1_year05_aggregation.xls',
25
+ # :filename => 'eGRID2007_Version1-1/eGRID2007V1_1_year05_aggregation.xls',
22
26
  # :sheet => 'SRL05',
23
27
  # :skip => 3,
24
28
  # :select => lambda { |row| row['eGRID2007 2005 file eGRID subregion location (operator)-based sequence number'].to_i.between?(1, 26) } do
25
29
  # key 'abbreviation', :field_name => 'eGRID subregion acronym'
26
30
  # store 'name', :field_name => 'eGRID subregion name associated with eGRID subregion acronym'
27
31
  # store 'nerc_abbreviation', :field_name => 'NERC region acronym associated with the eGRID subregion acronym'
28
- # store 'electricity_ef_co2', :field_name => 'eGRID subregion annual CO2 output emission rate (lb/MWh)', :from_units => :pounds_per_megawatt_hour, :to_units => :kilograms_per_kilowatt_hour
29
- # store 'electricity_ef_ch4', :field_name => 'eGRID subregion annual CH4 output emission rate (lb/GWh)', :from_units => :pounds_per_gigawatt_hour, :to_units => :kilograms_per_kilowatt_hour
30
- # store 'electricity_ef_n2o', :field_name => 'eGRID subregion annual N2O output emission rate (lb/GWh)', :from_units => :pounds_per_gigawatt_hour, :to_units => :kilograms_per_kilowatt_hour
31
- # end
32
- #
33
- # import "US average electricity emission factors derived from eGRID 2007 data",
34
- # :url => 'http://www.epa.gov/cleanenergy/documents/egridzips/eGRID2007_Version1-1.zip',
35
- # :filename => 'eGRID2007V1_1_year05_aggregation.xls',
36
- # :sheet => 'US05',
37
- # :skip => 3,
38
- # :select => lambda { |row| row['eGRID2007 2005 file US sequence number'].to_i.is?(1) } do
39
- # key # the single row should be keyed 'US'
40
- # store 'name' # the single row should be named 'United States Average'
41
- # store 'electricity_ef_co2', :field_name => 'US annual CO2 output emission rate (lb/MWh)', :from_units => :pounds_per_megawatt_hour, :to_units => :kilograms_per_kilowatt_hour
42
- # store 'electricity_ef_ch4', :field_name => 'US annual CH4 output emission rate (lb/GWh)', :from_units => :pounds_per_gigawatt_hour, :to_units => :kilograms_per_kilowatt_hour
43
- # store 'electricity_ef_n2o', :field_name => 'US annual N2O output emission rate (lb/GWh)', :from_units => :pounds_per_gigawatt_hour, :to_units => :kilograms_per_kilowatt_hour
44
- # end
45
- #
46
- # import "the eGRID regions associated with each subregion" do
47
- # :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdGRORTJNSWRMQ1puRVprYlAtZHhDaFE&hl=en&single=true&gid=0&output=csv' do
48
- # key 'abbreviation'
49
- # store 'egrid_region_name'
50
- # end
51
- #
52
- # process "Calculate CO2e emission factor"
53
- # # multiply each gas ef by the gas GWP and sum
32
+ # store 'net_generation', :field_name => 'eGRID subregion annual net generation (MWh)', :units => 'megawatt_hours'
33
+ # store 'electricity_co2_emission_factor', :field_name => 'eGRID subregion annual CO2 output emission rate (lb/MWh)', :units => 'pounds_per_megawatt_hour'
34
+ # store 'electricity_co2_biogenic_emission_factor', :static => '0.0', :units => 'kilograms_per_kilowatt_hour'
35
+ # store 'electricity_ch4_emission_factor', :field_name => 'eGRID subregion annual CH4 output emission rate (lb/GWh)', :units => 'pounds_per_gigawatt_hour'
36
+ # store 'electricity_n2o_emission_factor', :field_name => 'eGRID subregion annual N2O output emission rate (lb/GWh)', :units => 'pounds_per_gigawatt_hour'
54
37
  # end
55
38
 
56
- import "a list of eGRID subregions and emissions factors derived from eGRID 2007 data",
57
- :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdGRORTJNSWRMQ1puRVprYlAtZHhDaFE&hl=en&single=true&gid=0&output=csv' do
58
- key 'abbreviation'
39
+ import "eGRID subregion data",
40
+ :url => 'https://spreadsheets.google.com/pub?key=0AoQJbWqPrREqdGRORTJNSWRMQ1puRVprYlAtZHhDaFE&hl=en&single=true&gid=0&output=csv',
41
+ :select => lambda { |row| row['abbreviation'].length == 4 } do
42
+ key 'abbreviation'
59
43
  store 'name'
60
44
  store 'nerc_abbreviation'
61
45
  store 'egrid_region_name'
62
- store 'electricity_emission_factor', :units_field_name => 'electricity_emission_factor_units'
46
+ store 'net_generation', :units => 'megawatt_hours'
47
+ store 'electricity_co2_emission_factor', :field_name => 'electricty_ef_co2', :units => 'pounds_per_megawatt_hour'
48
+ store 'electricity_co2_biogenic_emission_factor', :static => '0.0', :units => 'kilograms_per_kilowatt_hour'
49
+ store 'electricity_ch4_emission_factor', :field_name => 'electricity_ef_ch4', :units => 'pounds_per_gigawatt_hour'
50
+ store 'electricity_n2o_emission_factor', :field_name => 'electricity_ef_n2o', :units => 'pounds_per_gigawatt_hour'
63
51
  end
64
52
 
65
- # FIXME TODO make this work
66
- # verify "eGRID region name should appear in egrid_regions" do
67
- # regions = EgridRegion.all.map { |region| region.name }
68
- # EgridSubregion.all.each do |subregion|
69
- # unless regions.includes? subregion.egrid_region_name
70
- # raise "Invalid eGRID region name for EgridSubregion #{subregion.name}: #{subregion.egrid_region_name} (not found in egrid_regions)"
71
- # end
72
- # end
73
- # end
53
+ process "Convert co2 emission factor to metric units" do
54
+ conversion_factor = 1.pounds.to(:kilograms) * 1.0 / 1_000.0 # kg / lbs * MWh / kWh
55
+ update_all %{ electricity_co2_emission_factor = electricity_co2_emission_factor * #{conversion_factor},
56
+ electricity_co2_emission_factor_units = 'kilograms_per_kilowatt_hour'
57
+ WHERE electricity_co2_emission_factor_units = 'pounds_per_megawatt_hour' }
58
+ end
74
59
 
75
- verify "Electricity emission factor should be greater than zero" do
76
- EgridSubregion.all.each do |subregion|
77
- unless subregion.electricity_emission_factor > 0
78
- raise "Invalid electricity emission factor for EgridSubregion #{subregion.name}: #{subregion.electricity_emission_factor} (should be > 0)"
60
+ process "Insure necessary datasets are imported" do
61
+ GreenhouseGas.run_data_miner!
62
+ end
63
+
64
+ process "Convert ch4 emission factor to metric units and co2e" do
65
+ conversion_factor = 1.pounds.to(:kilograms) * 1.0 / 1_000_000.0 # kg / lbs * GWh / kWh
66
+ gwp = GreenhouseGas[:ch4].global_warming_potential
67
+ update_all %{ electricity_ch4_emission_factor = electricity_ch4_emission_factor * #{conversion_factor} * #{gwp},
68
+ electricity_ch4_emission_factor_units = 'kilograms_co2e_per_kilowatt_hour'
69
+ WHERE electricity_ch4_emission_factor_units = 'pounds_per_gigawatt_hour' }
70
+ end
71
+
72
+ process "Convert n2o emission factor to metric units and co2e" do
73
+ conversion_factor = 1.pounds.to(:kilograms) * 1.0 / 1_000_000.0 # kg / lbs * GWh / kWh
74
+ gwp = GreenhouseGas[:n2o].global_warming_potential
75
+ update_all %{ electricity_n2o_emission_factor = electricity_n2o_emission_factor * #{conversion_factor} * #{gwp},
76
+ electricity_n2o_emission_factor_units = 'kilograms_co2e_per_kilowatt_hour'
77
+ WHERE electricity_n2o_emission_factor_units = 'pounds_per_gigawatt_hour' }
78
+ end
79
+
80
+ process "Calculate combined emission factor" do
81
+ update_all %{ electricity_emission_factor = electricity_co2_emission_factor + electricity_ch4_emission_factor + electricity_n2o_emission_factor,
82
+ electricity_emission_factor_units = 'kilograms_co2e_per_kilowatt_hour' }
83
+ end
84
+
85
+ # FIXME TODO verify egrid_region_name is found in EgridRegions
86
+ %w{ egrid_region_name }.each do |attribute|
87
+ verify "#{attribute.humanize} should never be missing" do
88
+ EgridSubregion.all.each do |subregion|
89
+ unless subregion.send("#{attribute}").present?
90
+ puts "Missing #{attribute.humanize.downcase} for EgridSubregion #{subregion.name}"
91
+ fail
92
+ end
79
93
  end
80
94
  end
81
95
  end
82
96
 
83
- verify "Electricity emission factor units should be kilograms co2e per kilowatt hour" do
97
+ ["net_generation",
98
+ "electricity_co2_emission_factor",
99
+ "electricity_ch4_emission_factor",
100
+ "electricity_n2o_emission_factor",
101
+ "electricity_emission_factor" ].each do |attribute|
102
+ verify "#{attribute.humanize} should be > 0" do
103
+ EgridSubregion.all.each do |subregion|
104
+ value = subregion.send(:"#{attribute}")
105
+ unless value > 0
106
+ puts "Invalid #{attribute.humanize.downcase} for EgridSubregion #{subregion.name}: #{value} (should be > 0)"
107
+ fail
108
+ end
109
+ end
110
+ end
111
+ end
112
+
113
+ verify "Electricity co2 biogenic emission factor should be 0" do
84
114
  EgridSubregion.all.each do |subregion|
85
- unless subregion.electricity_emission_factor_units == "kilograms_co2e_per_kilowatt_hour"
86
- raise "Invalid electricity emission factor units for EgridSubregion #{subregion.name}: #{subregion.electricity_emission_factor_units} (should be kilograms_co2e_per_kilowatt_hour)"
115
+ value = subregion.electricity_co2_biogenic_emission_factor
116
+ unless value == 0
117
+ puts "Invalid electricity co2 biogenic emission factor for EgridSubregion #{subregion.name}: #{value} (should be 0)"
118
+ fail
87
119
  end
88
120
  end
89
121
  end
122
+
123
+ [["net_generation_units","megawatt_hours"],
124
+ ["electricity_co2_emission_factor_units","kilograms_per_kilowatt_hour"],
125
+ ["electricity_co2_biogenic_emission_factor_units","kilograms_per_kilowatt_hour"],
126
+ ["electricity_ch4_emission_factor_units","kilograms_co2e_per_kilowatt_hour"],
127
+ ["electricity_n2o_emission_factor_units","kilograms_co2e_per_kilowatt_hour"],
128
+ ["electricity_emission_factor_units","kilograms_co2e_per_kilowatt_hour"]].each do |pair|
129
+ attribute = pair[0]
130
+ proper_units = pair[1]
131
+ verify "#{attribute.humanize} should be #{proper_units.humanize.downcase}" do
132
+ EgridSubregion.all.each do |subregion|
133
+ units = subregion.send(:"#{attribute}")
134
+ unless units == proper_units
135
+ puts "Invalid #{attribute.humanize.downcase} for EgridSubregion #{subregion.name}: #{units} (should be #{proper_units})"
136
+ fail
137
+ end
138
+ end
139
+ end
140
+ end
141
+
142
+ # FIXME TODO verify fallbacks
90
143
  end
91
144
  end
@@ -3,17 +3,14 @@ require 'earth/automobile'
3
3
  require 'earth/automobile/data_miner'
4
4
 
5
5
  describe AutomobileFuel do
6
- before :all do
7
- AutomobileFuel.run_data_miner!
6
+ describe 'import', :slow => true do
7
+ it 'should import data without problems' do
8
+ AutomobileFuel.run_data_miner!
9
+ AutomobileFuel.all.count.should > 0
10
+ end
11
+
12
+ it 'correctly assigns hfc_emission_factor' do
13
+ AutomobileFuel.first.hfc_emission_factor.should == 0.0
14
+ end
8
15
  end
9
-
10
- it 'imports data without problems' do
11
- AutomobileFuel.all.count.should > 0
12
- end
13
- # it 'correctly assigns hfc_emission_factor' do
14
- # AutomobileTypeFuelAge.run_data_miner!
15
- # AutomobileTypeFuelYear.run_data_miner!
16
- # AutomobileTypeYear.run_data_miner!
17
- # AutomobileFuel.first.hfc_emission_factor.should == 0.0
18
- # end
19
16
  end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'BusFuel' do
4
+ before :all do
5
+ Earth.init :bus, :fuel, :apply_schemas => true
6
+ end
7
+
8
+ it 'is related to fuels' do
9
+ BusFuel.run_data_miner!
10
+ BusFuel.last.fuel.should_not be_nil
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'BusFuelControl' do
4
+ before :all do
5
+ Earth.init :bus, :fuel, :apply_schemas => true
6
+ end
7
+
8
+ it 'imports successfully' do
9
+ BusFuelControl.run_data_miner!
10
+ BusFuelControl.all.count.should > 0
11
+ end
12
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'BusFuelYearControl' do
4
+ before :all do
5
+ Earth.init :bus, :fuel, :apply_schemas => true
6
+ end
7
+
8
+ it 'imports successfully' do
9
+ BusFuelYearControl.run_data_miner!
10
+ BusFuelYearControl.all.count.should > 0
11
+ end
12
+
13
+ it 'is related to BusFuelControl' do
14
+ BusFuelYearControl.first.control.should_not be_nil
15
+ end
16
+ end
@@ -11,4 +11,3 @@ describe 'Species' do
11
11
  end
12
12
  end
13
13
  end
14
-
data/spec/earth_spec.rb CHANGED
@@ -27,7 +27,7 @@ describe Earth do
27
27
  describe '.resources' do
28
28
  it 'should get a list of resources' do
29
29
  resources = Earth.resources
30
- resources.keys.count.should == 74
30
+ resources.keys.count.should == 77
31
31
  resources['FuelType'][:domain].should == 'fuel'
32
32
  end
33
33
  it 'should exclude data_miner files' do
@@ -37,7 +37,7 @@ describe Earth do
37
37
 
38
38
  describe '.resource_names' do
39
39
  it 'should get a list of all resource names' do
40
- Earth.resource_names.count.should == 74
40
+ Earth.resource_names.count.should == 77
41
41
  Earth.resource_names.should include('Aircraft')
42
42
  Earth.resource_names.should include('Industry')
43
43
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: earth
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 13
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 4
8
- - 0
9
- version: 0.4.0
9
+ - 1
10
+ version: 0.4.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Seamus Abshere
@@ -16,167 +17,178 @@ autorequire:
16
17
  bindir: bin
17
18
  cert_chain: []
18
19
 
19
- date: 2011-02-17 00:00:00 -05:00
20
+ date: 2011-02-21 00:00:00 -08:00
20
21
  default_executable:
21
22
  dependencies:
22
23
  - !ruby/object:Gem::Dependency
23
24
  name: activerecord
25
+ prerelease: false
24
26
  requirement: &id001 !ruby/object:Gem::Requirement
25
27
  none: false
26
28
  requirements:
27
29
  - - ~>
28
30
  - !ruby/object:Gem::Version
31
+ hash: 5
29
32
  segments:
30
33
  - 3
31
34
  version: "3"
32
35
  type: :runtime
33
- prerelease: false
34
36
  version_requirements: *id001
35
37
  - !ruby/object:Gem::Dependency
36
38
  name: data_miner
39
+ prerelease: false
37
40
  requirement: &id002 !ruby/object:Gem::Requirement
38
41
  none: false
39
42
  requirements:
40
43
  - - ~>
41
44
  - !ruby/object:Gem::Version
45
+ hash: 17
42
46
  segments:
43
47
  - 1
44
48
  - 1
45
49
  - 1
46
50
  version: 1.1.1
47
51
  type: :runtime
48
- prerelease: false
49
52
  version_requirements: *id002
50
53
  - !ruby/object:Gem::Dependency
51
54
  name: errata
55
+ prerelease: false
52
56
  requirement: &id003 !ruby/object:Gem::Requirement
53
57
  none: false
54
58
  requirements:
55
59
  - - ">="
56
60
  - !ruby/object:Gem::Version
61
+ hash: 3
57
62
  segments:
58
63
  - 0
59
64
  version: "0"
60
65
  type: :runtime
61
- prerelease: false
62
66
  version_requirements: *id003
63
67
  - !ruby/object:Gem::Dependency
64
68
  name: falls_back_on
69
+ prerelease: false
65
70
  requirement: &id004 !ruby/object:Gem::Requirement
66
71
  none: false
67
72
  requirements:
68
73
  - - ">="
69
74
  - !ruby/object:Gem::Version
75
+ hash: 25
70
76
  segments:
71
77
  - 0
72
78
  - 0
73
79
  - 3
74
80
  version: 0.0.3
75
81
  type: :runtime
76
- prerelease: false
77
82
  version_requirements: *id004
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: geokit
85
+ prerelease: false
80
86
  requirement: &id005 !ruby/object:Gem::Requirement
81
87
  none: false
82
88
  requirements:
83
89
  - - ">="
84
90
  - !ruby/object:Gem::Version
91
+ hash: 3
85
92
  segments:
86
93
  - 1
87
94
  - 5
88
95
  - 0
89
96
  version: 1.5.0
90
97
  type: :runtime
91
- prerelease: false
92
98
  version_requirements: *id005
93
99
  - !ruby/object:Gem::Dependency
94
100
  name: geokit-rails
101
+ prerelease: false
95
102
  requirement: &id006 !ruby/object:Gem::Requirement
96
103
  none: false
97
104
  requirements:
98
105
  - - ">="
99
106
  - !ruby/object:Gem::Version
107
+ hash: 3
100
108
  segments:
101
109
  - 0
102
110
  version: "0"
103
111
  type: :runtime
104
- prerelease: false
105
112
  version_requirements: *id006
106
113
  - !ruby/object:Gem::Dependency
107
114
  name: cohort_scope
115
+ prerelease: false
108
116
  requirement: &id007 !ruby/object:Gem::Requirement
109
117
  none: false
110
118
  requirements:
111
119
  - - ">="
112
120
  - !ruby/object:Gem::Version
121
+ hash: 17
113
122
  segments:
114
123
  - 0
115
124
  - 0
116
125
  - 7
117
126
  version: 0.0.7
118
127
  type: :runtime
119
- prerelease: false
120
128
  version_requirements: *id007
121
129
  - !ruby/object:Gem::Dependency
122
130
  name: conversions
131
+ prerelease: false
123
132
  requirement: &id008 !ruby/object:Gem::Requirement
124
133
  none: false
125
134
  requirements:
126
135
  - - ">="
127
136
  - !ruby/object:Gem::Version
137
+ hash: 13
128
138
  segments:
129
139
  - 1
130
140
  - 4
131
141
  - 5
132
142
  version: 1.4.5
133
143
  type: :runtime
134
- prerelease: false
135
144
  version_requirements: *id008
136
145
  - !ruby/object:Gem::Dependency
137
146
  name: weighted_average
147
+ prerelease: false
138
148
  requirement: &id009 !ruby/object:Gem::Requirement
139
149
  none: false
140
150
  requirements:
141
151
  - - ">="
142
152
  - !ruby/object:Gem::Version
153
+ hash: 23
143
154
  segments:
144
155
  - 0
145
156
  - 0
146
157
  - 4
147
158
  version: 0.0.4
148
159
  type: :runtime
149
- prerelease: false
150
160
  version_requirements: *id009
151
161
  - !ruby/object:Gem::Dependency
152
162
  name: loose_tight_dictionary
163
+ prerelease: false
153
164
  requirement: &id010 !ruby/object:Gem::Requirement
154
165
  none: false
155
166
  requirements:
156
167
  - - ">="
157
168
  - !ruby/object:Gem::Version
169
+ hash: 15
158
170
  segments:
159
171
  - 0
160
172
  - 0
161
173
  - 8
162
174
  version: 0.0.8
163
175
  type: :runtime
164
- prerelease: false
165
176
  version_requirements: *id010
166
177
  - !ruby/object:Gem::Dependency
167
178
  name: sniff
179
+ prerelease: false
168
180
  requirement: &id011 !ruby/object:Gem::Requirement
169
181
  none: false
170
182
  requirements:
171
183
  - - ~>
172
184
  - !ruby/object:Gem::Version
185
+ hash: 5
173
186
  segments:
174
187
  - 0
175
188
  - 6
176
189
  - 1
177
190
  version: 0.6.1
178
191
  type: :development
179
- prerelease: false
180
192
  version_requirements: *id011
181
193
  description: An earth-simulation environment with ActiveRecord models and data
182
194
  email: andy@rossmeissl.net
@@ -214,6 +226,7 @@ files:
214
226
  - features/automobile_type_fuel_year_control.feature
215
227
  - features/automobile_type_year.feature
216
228
  - features/bus_class.feature
229
+ - features/bus_fuel.feature
217
230
  - features/carrier.feature
218
231
  - features/carrier_mode.feature
219
232
  - features/computation_platform.feature
@@ -262,6 +275,8 @@ files:
262
275
  - features/support/imports/automobile_type_year_good.csv
263
276
  - features/support/imports/bus_class_bad.csv
264
277
  - features/support/imports/bus_class_good.csv
278
+ - features/support/imports/bus_fuel_bad.csv
279
+ - features/support/imports/bus_fuel_good.csv
265
280
  - features/support/imports/carrier_bad.csv
266
281
  - features/support/imports/carrier_good.csv
267
282
  - features/support/imports/carrier_mode_bad.csv
@@ -349,6 +364,12 @@ files:
349
364
  - lib/earth/bus.rb
350
365
  - lib/earth/bus/bus_class.rb
351
366
  - lib/earth/bus/bus_class/data_miner.rb
367
+ - lib/earth/bus/bus_fuel.rb
368
+ - lib/earth/bus/bus_fuel/data_miner.rb
369
+ - lib/earth/bus/bus_fuel_control.rb
370
+ - lib/earth/bus/bus_fuel_control/data_miner.rb
371
+ - lib/earth/bus/bus_fuel_year_control.rb
372
+ - lib/earth/bus/bus_fuel_year_control/data_miner.rb
352
373
  - lib/earth/bus/data_miner.rb
353
374
  - lib/earth/computation.rb
354
375
  - lib/earth/computation/computation_platform.rb
@@ -461,6 +482,9 @@ files:
461
482
  - lib/earth/version.rb
462
483
  - spec/earth/air/aircraft_spec.rb
463
484
  - spec/earth/automobile/automobile_fuel_spec.rb
485
+ - spec/earth/bus/bus_class_spec.rb
486
+ - spec/earth/bus/bus_fuel_control_spec.rb
487
+ - spec/earth/bus/bus_fuel_year_control_spec.rb
464
488
  - spec/earth/pet/species_spec.rb
465
489
  - spec/earth_spec.rb
466
490
  - spec/spec_helper.rb
@@ -520,7 +544,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
520
544
  requirements:
521
545
  - - ">="
522
546
  - !ruby/object:Gem::Version
523
- hash: -3794272341704170348
547
+ hash: 3
524
548
  segments:
525
549
  - 0
526
550
  version: "0"
@@ -529,7 +553,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
529
553
  requirements:
530
554
  - - ">="
531
555
  - !ruby/object:Gem::Version
532
- hash: -3794272341704170348
556
+ hash: 3
533
557
  segments:
534
558
  - 0
535
559
  version: "0"
@@ -558,6 +582,7 @@ test_files:
558
582
  - features/automobile_type_fuel_year_control.feature
559
583
  - features/automobile_type_year.feature
560
584
  - features/bus_class.feature
585
+ - features/bus_fuel.feature
561
586
  - features/carrier.feature
562
587
  - features/carrier_mode.feature
563
588
  - features/computation_platform.feature
@@ -606,6 +631,8 @@ test_files:
606
631
  - features/support/imports/automobile_type_year_good.csv
607
632
  - features/support/imports/bus_class_bad.csv
608
633
  - features/support/imports/bus_class_good.csv
634
+ - features/support/imports/bus_fuel_bad.csv
635
+ - features/support/imports/bus_fuel_good.csv
609
636
  - features/support/imports/carrier_bad.csv
610
637
  - features/support/imports/carrier_good.csv
611
638
  - features/support/imports/carrier_mode_bad.csv
@@ -634,6 +661,9 @@ test_files:
634
661
  - features/support/imports/shipment_mode_good.csv
635
662
  - spec/earth/air/aircraft_spec.rb
636
663
  - spec/earth/automobile/automobile_fuel_spec.rb
664
+ - spec/earth/bus/bus_class_spec.rb
665
+ - spec/earth/bus/bus_fuel_control_spec.rb
666
+ - spec/earth/bus/bus_fuel_year_control_spec.rb
637
667
  - spec/earth/pet/species_spec.rb
638
668
  - spec/earth_spec.rb
639
669
  - spec/spec_helper.rb